Contributing
Weaver is open source (MIT) and contributions are welcome. The full guide lives in the repo:
CONTRIBUTING.md.
Quick start
Section titled “Quick start”git clone https://github.com/sean35mm/weavercd weavernpm install # tooling + bundled dashboard editor; SQLite is built into Node/Bunnode src/cli.ts --help # run directly — no build neededThe bar
Section titled “The bar”- Tests must pass on both Node and Bun:
npm testandnpm run test:bun. npm run typecheckmust be clean.npm run buildverifies generated dashboard assets, TypeScript, and a temporary standalone binary.- Use Conventional Commits (
feat:,fix:,chore:, …) — they drive versioning and the changelog. - Keep the CLI core zero-runtime-dependency where practical (
picomatchis its only runtime dependency). Toast UI Editor and DOMPurify are intentionally bundled into the dashboard asset and lazily loaded only by dashboard commands. - Validation stays lenient at the CLI boundary — never throw a stack trace at an agent, and
checkmust never crash a tool call. - The CLI is the universal engine — don’t add a hard dependency on any single harness.
- The scratchpad dashboard is a writable, bearer-authenticated loopback UI. Changes must preserve revision CAS, draft/conflict safety, sanitization, and deterministic generated assets.
See AGENTS.md for an orientation
aimed at agents working on the repo, and Releasing for how releases are cut.