A tiny programming language that compiles to WebAssembly.
This is a monorepo managed with pnpm workspaces:
packages/compiler- The TinyWhale compiler librarypackages/cli- Command-line interface for TinyWhalepackages/diagnostics- Shared diagnostic types and definitionspackages/lsp- Language Server Protocol implementation
- mise - Development tool version manager and task runner
- Node.js 24.12.0 (automatically installed via mise)
- pnpm 10.26.0 (automatically installed via mise)
-
Install mise if you haven't already:
curl https://mise.run | sh -
Install tools and dependencies:
mise install mise run install
All tasks are defined in mise.toml and run via mise:
mise run install- Install dependenciesmise run build- Build all packagesmise run test- Run testsmise run check- Lint and format (Biome, with auto-fix)mise run typecheck- TypeScript type checkingmise run clean- Clean build artifactsmise run generate-grammar- Regenerate Ohm grammar bundlesmise run cli <file>- Run the TinyWhale CLI
The project uses mise as the task runner. All tasks are defined in mise.toml.
MIT