A MoonBit implementation of the just command runner
Dependencies
moon update
moon run --target native . -- --version
moon run --target native . -- --helpdefault: build
build profile="debug":
echo "building {{profile}}"
test: build "release"
echo "testing"moon run --target native . -- build release
moon run --target native . -- --list
moon run --target native . -- --dry-run testmoon build --release --target native .
_build/native/release/build/MoonJust.exe --versionmoonx --target wasm ZSeanYves/MoonJust@0.1.2 build
moonx --target wasm ZSeanYves/MoonJust@0.1.2 --versionmoon build --release --target wasm .| Area | Current implementation |
|---|---|
| Language | UTF-8 byte spans, lexer, parser, attributes, expressions, recipes, formatter, Markdown extraction |
| Project loading | justfile discovery, explicit/stdin input, imports, optional imports, modules, canonical graph identity |
| Evaluation | lazy variables, recipe arguments, settings, 83 builtins, host-gated effects, SemVer, regexp, hashing |
| Queries | check, format, init, list, show, summary, usage, groups, variables, evaluate, dump, JSON inspection |
| Execution | dependencies, bounded jobs, line/script recipes, dry-run, captured/live output, cancellation, cache |
| Environment | dotenv discovery and commands, overrides, shell/tempdir, child environment, project/recipe directories |
| Platforms | Linux, macOS, Windows Native; linear-memory Wasm through MoonBit host adapters |
main
-> application.classify_request
-> application.prepare_project
-> project.load_snapshot
-> query | planner
-> runtime.execute_plan
-> application.render_response
-> main.write_and_exit| Path | Responsibility |
|---|---|
| main.mbt, runtime_*.mbt | Root executable, target selection, final output and exit |
| internal/application | Request routing, project preparation, orchestration, response/error mapping |
| internal/project | Immutable project input, loaded graph, compilation, working-directory facts |
| internal/query | Read-only query models, deterministic ordering, rendering support |
| internal/planner | Dependency traversal, recipe expansion, dry-run and execution-plan construction |
| internal/runtime | Coordination, process lifecycle, output, cancellation and cache execution |
| internal/host | Capability contracts plus fs, native, process, wasm, and testkit adapters |
| internal/lexer through internal/evaluator | Language front end, semantic model, values and builtins |
| tests | MoonBit behavior, compatibility, platform and paired benchmark runners |
| docs/development | Historical ADRs and delivery reports |
| docs/maintenance | Current maintenance work records |
moon update
moon check --target native
moon check --target wasm
moon test --target native
moon test --target wasm
moon info && moon fmt
moon publish --dry-runcargo install just --version 1.57.0 --locked
moon build --release --target native .
moon build --release --target native ./tests/benchmark
moon run --target native ./tests/compat -- \
--candidate _build/native/release/build/MoonJust.exe \
--official just \
--verify-snapshots --strict-coverage \
--coverage-report _build/coverage.json
moon run --target native ./tests/platform -- \
--candidate _build/native/release/build/MoonJust.exe \
--official just
_build/native/release/build/tests/benchmark/benchmark.exe \
--candidate _build/native/release/build/MoonJust.exe \
--official just \
--target native \
--profile full --enforce \
--output _build/performance-gate-native.json
_build/native/release/build/tests/benchmark/benchmark.exe \
--candidate _build/wasm/release/build/MoonJust.wasm \
--candidate-runner moonrun \
--official just \
--target wasm \
--profile full --enforce \
--output _build/performance-gate-wasm.jsonInstall
Download zipA MoonBit implementation of the just command runner
Dependencies