Learn to code with interactive lessons and a built-in CLI simulator.
Haki is a free, interactive learning platform where you practice CLI commands, Git workflows, and programming fundamentals directly in the browser. No setup required.
| Path | Topics | Status |
|---|---|---|
| CLI / Bash | Navigation, files, permissions, pipes | Available |
| Git | Init, commit, push, branches, merge | Available (unlocks after CLI) |
- Interactive Q/A lessons with hints
- Built-in terminal simulator with real filesystem
- Practical exercises (TP) with task validation
- Progress tracking (localStorage)
- Bilingual: French & English
- Monaco code editor for C visualization (compiler MVP)
git clone https://github.com/aeryflux/haki.git
cd haki
npm install
npm run devOpen localhost:3004.
| Component | Technology |
|---|---|
| Framework | Vite + React + TypeScript |
| Editor | Monaco Editor |
| Visualization | D3.js |
| State | Zustand |
| Design | @aeryflux/design tokens |
| Deploy | GitHub Pages |
haki/
├── src/
│ ├── components/
│ │ ├── Editor/ # Monaco code editor
│ │ ├── Visualizer/ # Compilation phase viewer
│ │ ├── Terminal.tsx # CLI simulator (11 commands)
│ │ └── TPView.tsx # Practical exercise view
│ ├── data/paths/
│ │ ├── cli.ts # CLI/Bash learning path
│ │ └── git.ts # Git learning path
│ ├── stores/
│ │ └── compiler.ts # Zustand store
│ ├── types/ # TypeScript definitions
│ ├── i18n.tsx # Internationalization
│ └── App.tsx # Main app
├── .github/workflows/
│ ├── deploy.yml # GitHub Pages deploy
│ └── tests.yml # CI tests + lint
└── public/
npm test # Run vitest
npm run lint # ESLintThe free courses (CLI, Git) will continue to evolve. Future paths may include:
- C/C++ compilation visualization (compiler MVP already in codebase)
- Docker basics
- SQL fundamentals
See CONTRIBUTING.md for development setup.
See CHANGELOG.md for version history.
- godbolt.org - Compiler Explorer
- pythontutor.com - Visual debugger