Thanks for your interest in contributing to JavaScript Visualized!
# Clone the repo
git clone https://github.com/kleysonmorais/javascript-visualized.git
cd javascript-visualized
# Install dependencies
npm install
# Start dev server
npm run dev
# Run tests
npm test
# Run tests once (CI mode)
npm run test:run
# Run with coverage
npm run test:coverage
# Build for production
npm run buildsrc/engine/— the execution engine (parser + interpreter). This is where JS execution logic livessrc/components/— React UI components. Each visualization panel is insrc/components/visualizer/src/types/— all TypeScript interfacessrc/store/— Zustand state managementsrc/constants/— theme colors, code examples, palettes
- Add the AST visitor in
src/engine/interpreter.ts(e.g.visitForOfStatement) - Ensure it produces correct
ExecutionStepsnapshots withmemoryBlocksandheap - Add tests in
src/engine/__tests__/ - The UI should render automatically (it reads from
currentStep)
- Add the example to
src/constants/examples.ts - Provide
id,title,description,category, andcode - Ensure the code produces meaningful visualization when run
- TypeScript strict mode — no
any - TailwindCSS for all styling — no raw CSS (except Monaco decorations and scrollbar globals)
- Framer Motion for animations
- Tests for all engine changes
- Create a feature branch from
main - Write or update tests
- Ensure
npm run test:runpasses - Keep PRs focused — one feature or fix per PR