Contributing
Welcome. StitchCraft is built to be easy to change safely: the rules are checked by machines, common changes follow playbooks, and every behaviour has a requirement and a test.
Start here
- Read
AGENTS.mdat the repository root (the short contract for humans and agents) and the architecture map. - Pick a step from the roadmap or an issue labelled
good first issue. - Set up: install Rust (the toolchain in
rust-toolchain.tomlinstalls itself), thenrustup target add wasm32-unknown-unknown. Thewasm-goldensgate needswasm32-wasip1too, and wasmtime, andcargo xtask ciskips it without them. - Before every push:
cargo xtask ci.
Playbooks
| Change | Playbook |
|---|---|
| Add a stitch type | New stitch type |
| Add or change a parameter | New parameter |
| Add a machine format | New format |
| Add a diagnostic | New diagnostic |
| Review a PR | Review checklist |
| Write docs, messages or help text | Writing style |
Ground rules
- Never copy GPL code: Ink/Stitch’s source (GPL-3.0) may be read to understand its behaviour, but nothing from it is copied or transliterated. Write the behaviour into the design docs in your own words and code from them (ADR-0012).
- No panics, no
unsafe, deterministic output — the lints will tell you (guardrails). - One roadmap step per PR, its id in the title; requirements and cases first.
- Docs in the same PR as the behaviour change; never hand-write a parameter’s reference.
- Be kind. Reviews are about code, not people.