repo layout

One repo, two implementations of one spec, and the checks that keep them honest.

cli/ rust cli: the wh binary web/ next.js app: the web terminal shared/ explain spec: prompt template, preprocessing rules, provider wording, and golden fixtures both implementations must reproduce docs/ these pages, as mdx; merging to main publishes them readme/ the logo and the animated svgs embedded in the readme scripts/ check-docs.mjs, the guard ci runs over docs/

shared/ is spec once, implement twice: change the spec first, then both implementations, and the golden fixtures under shared/fixtures/ must be reproduced byte for byte by the rust and the typescript preprocessors.

building

cd cli && cargo build --release # binary at target/release/wh cd cli && cargo test # unit + integration (isolated git config) cd web && npm test # vitest: grammar, preprocessing, providers, usage cd web && npm run build

ci and releases

ci runs fmt, clippy, tests, a 3.2 MiB size gate on the binary (3355443 bytes), the web tests and build, the docs check, and a style check (no em dashes). Tagged releases (v*) build the four binaries listed in install and open a draft github release with checksums.

gpl-3.0 license.

search $
↑↓ navigate · enter open · esc close