56 lines
2.2 KiB
Markdown
56 lines
2.2 KiB
Markdown
# 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](https://forgejo.heavyduty.builders/heavy-duty/stoke/issues/new?template=proposal.yml),
|
|
which triage converts or refuses.
|