quickchr Maintainer Workflow
Start
- Read
AGENTS.md and .github/copilot-instructions.md.
- Read only the matching
.github/instructions/*.md files for the files or
behavior being changed.
- For QEMU, CHR, RouterOS REST, provisioning, networking, or test behavior,
prefer repo evidence over external memory. This project is the reference
implementation for quickchr behavior.
Source Routing
- Source/library code:
.github/instructions/general.instructions.md.
- QEMU launch, channels, platform detection:
.github/instructions/qemu.instructions.md.
- Provisioning and first boot:
.github/instructions/provisioning.instructions.md.
- RouterOS REST and blocking endpoints:
.github/instructions/routeros-rest.instructions.md.
- Bun HTTP/fetch behavior:
.github/instructions/bun-http.instructions.md.
- Tests and live CHR requirements:
.github/instructions/testing.instructions.md.
- Examples:
.github/instructions/examples.instructions.md.
- GitHub Actions and CI diagnosis:
.github/instructions/ci.instructions.md.
Use rosetta MCP for RouterOS documentation search and command/property lookup
when available. Use live quickchr/CHR experiments for behavior that must be
grounded in RouterOS runtime behavior.
Verification
Choose the narrowest checks that cover the change:
bun run check
bun test test/unit/
QUICKCHR_INTEGRATION=1 bun test test/integration/<file>.test.ts
Run integration tests for any change that interacts with RouterOS, QEMU monitor,
serial, QGA, provisioning, packages, device-mode, license, networking, or
machine lifecycle. Always clean up CHR instances in finally blocks.
Done Criteria
- Code follows Bun/ESM/library-layer rules.
- Relevant unit, integration, smoke, or lint checks have been run or explicitly
reported as not run.
- Significant behavior changes are reflected in
DESIGN.md, the relevant GitHub
issue, CHANGELOG.md (if user-facing), MANUAL.md, examples, and/or shared
RouterOS skills as appropriate. Work is tracked in Issues, not BACKLOG.md (see
CONTRIBUTING.md "Tracking work").
- Failing tests are investigated before changing timeouts, skips, or platform
gates.
1---2name: quickchr-maintainer3description: Maintain the quickchr Bun/TypeScript CLI and library. Use when changing src, tests, examples, CI, docs, QEMU/CHR behavior, RouterOS REST/provisioning logic, or release/package metadata in this repo.4---56# quickchr Maintainer Workflow78## Start9101. Read `AGENTS.md` and `.github/copilot-instructions.md`.112. Read only the matching `.github/instructions/*.md` files for the files or12 behavior being changed.133. For QEMU, CHR, RouterOS REST, provisioning, networking, or test behavior,14 prefer repo evidence over external memory. This project is the reference15 implementation for quickchr behavior.1617## Source Routing1819- Source/library code: `.github/instructions/general.instructions.md`.20- QEMU launch, channels, platform detection:21 `.github/instructions/qemu.instructions.md`.22- Provisioning and first boot:23 `.github/instructions/provisioning.instructions.md`.24- RouterOS REST and blocking endpoints:25 `.github/instructions/routeros-rest.instructions.md`.26- Bun HTTP/fetch behavior: `.github/instructions/bun-http.instructions.md`.27- Tests and live CHR requirements:28 `.github/instructions/testing.instructions.md`.29- Examples: `.github/instructions/examples.instructions.md`.30- GitHub Actions and CI diagnosis: `.github/instructions/ci.instructions.md`.3132Use rosetta MCP for RouterOS documentation search and command/property lookup33when available. Use live quickchr/CHR experiments for behavior that must be34grounded in RouterOS runtime behavior.3536## Verification3738Choose the narrowest checks that cover the change:3940```sh41bun run check42bun test test/unit/43QUICKCHR_INTEGRATION=1 bun test test/integration/<file>.test.ts44```4546Run integration tests for any change that interacts with RouterOS, QEMU monitor,47serial, QGA, provisioning, packages, device-mode, license, networking, or48machine lifecycle. Always clean up CHR instances in `finally` blocks.4950## Done Criteria5152- Code follows Bun/ESM/library-layer rules.53- Relevant unit, integration, smoke, or lint checks have been run or explicitly54 reported as not run.55- Significant behavior changes are reflected in `DESIGN.md`, the relevant GitHub56 issue, `CHANGELOG.md` (if user-facing), `MANUAL.md`, examples, and/or shared57 RouterOS skills as appropriate. Work is tracked in Issues, not `BACKLOG.md` (see58 CONTRIBUTING.md "Tracking work").59- Failing tests are investigated before changing timeouts, skips, or platform60 gates.