# 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/`, release workflow, package manifests, changelog, and fragments — release packaging and version surfaces | | `scope:manifests` | `manifests/` — fleet repository registry data | | `scope:ci` | `.forgejo/workflows/`, `.github/`, and `.ceremony/` — the test, label, and governance gates | | `scope:docs` | root Markdown 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.