Tooling

MakrellTS already has a meaningful tooling shape. The TypeScript track is not only about language forms; it also lives inside the normal build, test, and runtime expectations of JS and TS projects.

Current areas

The current tooling emphasis includes:

  • CLI usage

  • build workflow

  • type-checking and linting

  • browser and bundler integration

  • implementation material for import and runtime behaviour

Relevant implementation material in the repo

Some useful implementation-oriented files are:

  • impl/ts/src/browser.ts

  • impl/ts/src/meta_worker.ts

  • impl/ts/COMPATIBILITY.md

  • impl/ts/IMPORT_MODEL.md

Basic workflow

Install the CLI:

bun add -g makrellts

Run a source file:

makrellts hello.mrts

Emit generated JavaScript:

makrellts hello.mrts --emit-js

Check a file and emit diagnostics:

makrellts check hello.mrts --json

Repository development workflow

From impl/ts:

bun install
bun run build
bun run test
bun run typecheck

Why this matters

The TypeScript track is often most useful when it fits ordinary JS/TS development practice rather than forcing a separate mental model. Build, typecheck, lint, and browser-related tooling are therefore part of the language story, not just peripheral maintenance tasks.

Suggested workflow

A practical local workflow is:

  1. install makrellts

  2. run a small source file through the CLI

  3. use check and --emit-js when needed

  4. switch to the repo workflow when you are working on MakrellTS itself

Where to continue