diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..fa39ee7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,55 @@ +# Contributing to stoke + +Read the role instructions in [`.ceremony/`](.ceremony/) first. This file +contains only facts specific to the stoke repository. + +## Review panel + +| Identity | +| --- | +| `codex-bot-andresmgsl` | +| `glm-bot-andresmgsl` | +| `claude-bot-andresmgsl` | +| `kimi-bot-andresmgsl` | + +The `panel=` line in [`.github/labels.conf`](.github/labels.conf) is +authoritative; this table is its human-readable restatement. + +## The `scope:*` set + +| Scope | Covers | +| --- | --- | +| `scope:cli` | `src/` — the command surface (`cli.js`, `api.js`, and `config.js`) | +| `scope:packaging` | `scripts/` and the release workflow — Debian package builds, registry publishing, and the APT install path | +| `scope:manifests` | `manifests/` — fleet repository registry data | +| `scope:ci` | `.forgejo/workflows/` — test and label gates | +| `scope:docs` | `README.md` and `docs/` — the prose contract | + +These names and path descriptions restate the scope rows in +[`.github/labels.conf`](.github/labels.conf). + +## Drills + +Stoke currently practises no drill. The repository has no `drills/` directory; +releases use stoke's own tag-driven +[`.forgejo/workflows/release.yml`](.forgejo/workflows/release.yml), not the +ceremony release flow; and the maintainer-created `blocker:drill-pending` label +(label 252) carries no open item. + +If the open ruling in #27 adopts ceremony's release workflow, that work must +update this section. This description of the current route takes no position on +the ruling's alternatives. + +## Code conventions + +- The package uses CommonJS: `package.json` declares `"type": "commonjs"`, and + files under `src/` use `require()` and `module.exports` rather than ESM. +- Tests use Node's built-in `node:test` module, live in `test/*.test.js`, and run + through `node --test`; there is no separate test framework dependency. +- `package.json` requires Node.js 22.12.0 or newer. +- Shell programs under `scripts/` use the `#!/usr/bin/env bash` shebang. + +## Work issue ownership + +Only triage mints work issues; anyone may file a proposal, which triage converts +or refuses.