@duypham93/openkit 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.opencode/README.md +47 -0
- package/.opencode/install-manifest.json +41 -0
- package/.opencode/lib/artifact-scaffolder.js +111 -0
- package/.opencode/lib/contract-consistency.js +218 -0
- package/.opencode/lib/parallel-execution-rules.js +261 -0
- package/.opencode/lib/runtime-paths.js +95 -0
- package/.opencode/lib/runtime-summary.js +82 -0
- package/.opencode/lib/state-guard.js +99 -0
- package/.opencode/lib/task-board-rules.js +375 -0
- package/.opencode/lib/work-item-store.js +280 -0
- package/.opencode/lib/workflow-state-controller.js +1739 -0
- package/.opencode/lib/workflow-state-rules.js +331 -0
- package/.opencode/opencode.json +93 -0
- package/.opencode/package.json +3 -0
- package/.opencode/tests/artifact-scaffolder.test.js +733 -0
- package/.opencode/tests/multi-work-item-runtime.test.js +369 -0
- package/.opencode/tests/parallel-execution-runtime.test.js +259 -0
- package/.opencode/tests/session-start-hook.test.js +357 -0
- package/.opencode/tests/state-guard.test.js +124 -0
- package/.opencode/tests/task-board-rules.test.js +204 -0
- package/.opencode/tests/work-item-store.test.js +380 -0
- package/.opencode/tests/workflow-behavior.test.js +149 -0
- package/.opencode/tests/workflow-contract-consistency.test.js +387 -0
- package/.opencode/tests/workflow-state-cli.test.js +1275 -0
- package/.opencode/tests/workflow-state-controller.test.js +1038 -0
- package/.opencode/work-items/feature-001/state.json +70 -0
- package/.opencode/work-items/index.json +13 -0
- package/.opencode/workflow-state.js +489 -0
- package/.opencode/workflow-state.json +70 -0
- package/AGENTS.md +265 -0
- package/README.md +401 -0
- package/agents/architect-agent.md +63 -0
- package/agents/ba-agent.md +56 -0
- package/agents/code-reviewer.md +77 -0
- package/agents/fullstack-agent.md +115 -0
- package/agents/master-orchestrator.md +60 -0
- package/agents/pm-agent.md +56 -0
- package/agents/qa-agent.md +124 -0
- package/agents/tech-lead-agent.md +60 -0
- package/assets/install-bundle/README.md +7 -0
- package/assets/install-bundle/opencode/README.md +11 -0
- package/assets/install-bundle/opencode/agents/ArchitectAgent.md +63 -0
- package/assets/install-bundle/opencode/agents/BAAgent.md +56 -0
- package/assets/install-bundle/opencode/agents/CodeReviewer.md +77 -0
- package/assets/install-bundle/opencode/agents/FullstackAgent.md +115 -0
- package/assets/install-bundle/opencode/agents/MasterOrchestrator.md +60 -0
- package/assets/install-bundle/opencode/agents/PMAgent.md +56 -0
- package/assets/install-bundle/opencode/agents/QAAgent.md +124 -0
- package/assets/install-bundle/opencode/agents/TechLeadAgent.md +60 -0
- package/assets/install-bundle/opencode/commands/brainstorm.md +44 -0
- package/assets/install-bundle/opencode/commands/delivery.md +45 -0
- package/assets/install-bundle/opencode/commands/execute-plan.md +44 -0
- package/assets/install-bundle/opencode/commands/migrate.md +61 -0
- package/assets/install-bundle/opencode/commands/quick-task.md +45 -0
- package/assets/install-bundle/opencode/commands/task.md +46 -0
- package/assets/install-bundle/opencode/commands/write-plan.md +50 -0
- package/assets/install-bundle/opencode/context/core/lane-selection.md +54 -0
- package/assets/install-bundle/opencode/skills/brainstorming/SKILL.md +51 -0
- package/assets/install-bundle/opencode/skills/code-review/SKILL.md +48 -0
- package/assets/install-bundle/opencode/skills/subagent-driven-development/SKILL.md +79 -0
- package/assets/install-bundle/opencode/skills/systematic-debugging/SKILL.md +61 -0
- package/assets/install-bundle/opencode/skills/test-driven-development/SKILL.md +48 -0
- package/assets/install-bundle/opencode/skills/using-skills/SKILL.md +39 -0
- package/assets/install-bundle/opencode/skills/verification-before-completion/SKILL.md +137 -0
- package/assets/install-bundle/opencode/skills/writing-plans/SKILL.md +68 -0
- package/assets/install-bundle/opencode/skills/writing-specs/SKILL.md +47 -0
- package/assets/opencode.json.template +11 -0
- package/assets/openkit-install.json.template +19 -0
- package/bin/openkit.js +9 -0
- package/commands/brainstorm.md +44 -0
- package/commands/delivery.md +45 -0
- package/commands/execute-plan.md +44 -0
- package/commands/migrate.md +61 -0
- package/commands/quick-task.md +45 -0
- package/commands/task.md +46 -0
- package/commands/write-plan.md +50 -0
- package/context/core/approval-gates.md +146 -0
- package/context/core/code-quality.md +42 -0
- package/context/core/issue-routing.md +85 -0
- package/context/core/lane-selection.md +54 -0
- package/context/core/project-config.md +143 -0
- package/context/core/session-resume.md +85 -0
- package/context/core/workflow-state-schema.md +224 -0
- package/context/core/workflow.md +442 -0
- package/context/navigation.md +94 -0
- package/docs/adr/README.md +6 -0
- package/docs/architecture/2026-03-20-task-intake-dashboard.md +54 -0
- package/docs/architecture/README.md +7 -0
- package/docs/briefs/2026-03-20-task-intake-dashboard.md +48 -0
- package/docs/briefs/README.md +7 -0
- package/docs/governance/README.md +25 -0
- package/docs/governance/adr-policy.md +27 -0
- package/docs/governance/definition-of-done.md +17 -0
- package/docs/governance/naming-conventions.md +21 -0
- package/docs/governance/severity-levels.md +12 -0
- package/docs/maintainer/README.md +51 -0
- package/docs/operations/README.md +79 -0
- package/docs/operations/internal-records/2026-03-24-release-checklist.md +79 -0
- package/docs/operations/internal-records/2026-03-24-simplified-install-ux.md +36 -0
- package/docs/operations/internal-records/README.md +18 -0
- package/docs/operations/runbooks/README.md +23 -0
- package/docs/operations/runbooks/openkit-daily-usage.md +288 -0
- package/docs/operations/runbooks/workflow-state-smoke-tests.md +302 -0
- package/docs/operator/README.md +50 -0
- package/docs/plans/2026-03-20-task-intake-dashboard.md +49 -0
- package/docs/plans/2026-03-21-openkit-full-delivery-multi-task-runtime.md +521 -0
- package/docs/plans/2026-03-23-openkit-global-install-runtime.md +157 -0
- package/docs/plans/README.md +7 -0
- package/docs/qa/2026-03-20-task-intake-dashboard.md +41 -0
- package/docs/qa/README.md +7 -0
- package/docs/specs/2026-03-20-task-intake-dashboard.md +50 -0
- package/docs/specs/2026-03-21-openkit-full-delivery-multi-task-runtime.md +462 -0
- package/docs/specs/README.md +7 -0
- package/docs/templates/README.md +36 -0
- package/docs/templates/adr-template.md +18 -0
- package/docs/templates/architecture-template.md +31 -0
- package/docs/templates/implementation-plan-template.md +32 -0
- package/docs/templates/migration-baseline-checklist.md +48 -0
- package/docs/templates/migration-plan-template.md +52 -0
- package/docs/templates/migration-report-template.md +74 -0
- package/docs/templates/migration-verify-checklist.md +39 -0
- package/docs/templates/product-brief-template.md +32 -0
- package/docs/templates/qa-report-template.md +37 -0
- package/docs/templates/quick-task-template.md +36 -0
- package/docs/templates/spec-template.md +31 -0
- package/hooks/hooks.json +16 -0
- package/hooks/session-start +162 -0
- package/package.json +24 -0
- package/registry.json +328 -0
- package/skills/brainstorming/SKILL.md +51 -0
- package/skills/code-review/SKILL.md +48 -0
- package/skills/subagent-driven-development/SKILL.md +79 -0
- package/skills/systematic-debugging/SKILL.md +61 -0
- package/skills/test-driven-development/SKILL.md +48 -0
- package/skills/using-skills/SKILL.md +39 -0
- package/skills/verification-before-completion/SKILL.md +137 -0
- package/skills/writing-plans/SKILL.md +68 -0
- package/skills/writing-specs/SKILL.md +47 -0
- package/src/audit/vietnamese-detection.js +259 -0
- package/src/cli/commands/detect-vietnamese.js +24 -0
- package/src/cli/commands/doctor.js +33 -0
- package/src/cli/commands/help.js +33 -0
- package/src/cli/commands/init.js +25 -0
- package/src/cli/commands/install-global.js +26 -0
- package/src/cli/commands/install.js +25 -0
- package/src/cli/commands/run.js +63 -0
- package/src/cli/commands/uninstall.js +32 -0
- package/src/cli/commands/upgrade.js +25 -0
- package/src/cli/conflict-output.js +19 -0
- package/src/cli/index.js +56 -0
- package/src/global/doctor.js +101 -0
- package/src/global/ensure-install.js +32 -0
- package/src/global/install-state.js +73 -0
- package/src/global/launcher.js +51 -0
- package/src/global/materialize.js +123 -0
- package/src/global/paths.js +85 -0
- package/src/global/uninstall.js +25 -0
- package/src/global/workspace-state.js +63 -0
- package/src/install/asset-manifest.js +284 -0
- package/src/install/conflicts.js +43 -0
- package/src/install/discovery.js +138 -0
- package/src/install/install-state.js +136 -0
- package/src/install/materialize.js +158 -0
- package/src/install/merge-policy.js +145 -0
- package/src/runtime/doctor.js +281 -0
- package/src/runtime/launcher.js +49 -0
- package/src/runtime/opencode-layering.js +135 -0
- package/src/runtime/openkit-managed-summary.js +27 -0
- package/tests/cli/openkit-cli.test.js +417 -0
- package/tests/global/doctor.test.js +130 -0
- package/tests/global/ensure-install.test.js +105 -0
- package/tests/install/discovery.test.js +124 -0
- package/tests/install/install-state.test.js +346 -0
- package/tests/install/materialize.test.js +244 -0
- package/tests/install/merge-policy.test.js +177 -0
- package/tests/runtime/doctor.test.js +430 -0
- package/tests/runtime/launcher.test.js +230 -0
- package/tests/runtime/module-boundary.test.js +16 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
# Repository Agent Guide
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This repository is currently a minimal documentation-first workspace.
|
|
6
|
+
Its near-term goal is to become an OpenCode kit shaped by two influences:
|
|
7
|
+
|
|
8
|
+
- OpenAgents Control as a reference for agent orchestration concepts
|
|
9
|
+
- superpowers as a reference for agent workflow discipline and reusable skills
|
|
10
|
+
|
|
11
|
+
Treat that direction as a planned target, not as an already implemented stack.
|
|
12
|
+
|
|
13
|
+
## Current State
|
|
14
|
+
|
|
15
|
+
This repository implements the **OpenKit AI Software Factory**, a mode-aware workflow kit for daily software work:
|
|
16
|
+
|
|
17
|
+
- `Quick Task` for narrow, low-risk tasks that should move fast
|
|
18
|
+
- `Migration` for project upgrades, framework migrations, dependency modernization, and compatibility remediation
|
|
19
|
+
- `Full Delivery` for feature work that benefits from the full multi-role team flow
|
|
20
|
+
|
|
21
|
+
The live quick lane uses `Quick Task+` successor semantics while preserving the dedicated runtime modes: `quick`, `migration`, and `full`. Treat `Quick Task+` as the current semantics of the `quick` lane, not as a third mode.
|
|
22
|
+
|
|
23
|
+
The kit is structured into several core directories:
|
|
24
|
+
|
|
25
|
+
- `agents/`: Definitions for the primary team roles plus helper subagents such as `code-reviewer.md`
|
|
26
|
+
- `skills/`: Composable workflow procedures (TDD, brainstorming, planning, debugging)
|
|
27
|
+
- `commands/`: User-facing triggers such as `/task`, `/quick-task`, `/migrate`, `/delivery`, `/brainstorm`, `/write-plan`, and `/execute-plan`
|
|
28
|
+
- `context/`: Shared intelligence (`navigation.md`, `core/code-quality.md`, `core/workflow.md`)
|
|
29
|
+
- `hooks/`: Session bootstrap integration (`session-start`)
|
|
30
|
+
- `.opencode/`: Configuration for the OpenCode environment
|
|
31
|
+
- `docs/templates/`: Source-of-truth templates for workflow artifacts
|
|
32
|
+
- `docs/tasks/`: Lightweight task cards for quick-mode traceability when needed
|
|
33
|
+
- `docs/operator/`: Operator-facing index layer for daily routing
|
|
34
|
+
- `docs/maintainer/`: Maintainer-facing index layer for repository upkeep routing
|
|
35
|
+
- `docs/governance/`: Naming, severity, ADR, and definition-of-done policy
|
|
36
|
+
- `docs/operations/`: Runbook and operations guidance
|
|
37
|
+
|
|
38
|
+
Current repository facts:
|
|
39
|
+
|
|
40
|
+
- The current workflow contract is the hard-split design described in `context/core/workflow.md`
|
|
41
|
+
- `context/core/workflow.md` is the canonical workflow-semantics document for lane behavior, stages, escalation, approvals, and quick-lane artifact expectations
|
|
42
|
+
- Historical planning and example docs have been intentionally pruned from the working tree; prefer current runtime docs and git history when older rationale is needed
|
|
43
|
+
- `npm install -g openkit`, `openkit run`, `openkit doctor`, `openkit upgrade`, and `openkit uninstall` now define the preferred operator path for the global OpenKit kit
|
|
44
|
+
- `.opencode/opencode.json` is present as the runtime manifest for this kit
|
|
45
|
+
- `.opencode/workflow-state.json` is present as the active external compatibility mirror for the active work item
|
|
46
|
+
- `.opencode/work-items/` is present as the internal per-item workflow backing store for managed runtime state
|
|
47
|
+
- `.opencode/workflow-state.js` now supports the live mode-aware workflow state contract
|
|
48
|
+
- No repo-native build command is currently defined for application code
|
|
49
|
+
- No repo-native lint command is currently defined for application code
|
|
50
|
+
- No repo-native test command is currently defined for application code
|
|
51
|
+
- No `.cursorrules` file was found
|
|
52
|
+
- No `.cursor/rules/` directory was found
|
|
53
|
+
- No `.github/copilot-instructions.md` file was found
|
|
54
|
+
|
|
55
|
+
Do not assume package managers, frameworks, CI workflows, test runners, or deployment tooling that are not explicitly added to the repository.
|
|
56
|
+
|
|
57
|
+
## Planned Direction
|
|
58
|
+
|
|
59
|
+
The kit foundation is now established. The next phase is to use this team to build actual application source trees, proving the effectiveness of the:
|
|
60
|
+
|
|
61
|
+
- explicit orchestration and handoff points between agents
|
|
62
|
+
- reusable instructions in the `skills/` directory
|
|
63
|
+
- stronger validation loops before work is considered complete
|
|
64
|
+
- quick-lane speed for daily tasks without losing the full-delivery path for feature work
|
|
65
|
+
|
|
66
|
+
Approved follow-on direction from FEATURE-002 also includes:
|
|
67
|
+
|
|
68
|
+
- further refining the existing quick lane after the current `Quick Task+` successor semantics while keeping lane semantics explicit and mode-aware
|
|
69
|
+
- hardening runtime bootstrap, diagnostics, and workflow-level verification
|
|
70
|
+
|
|
71
|
+
The next product-layer direction is the global OpenKit kit layered over OpenCode while preserving the checked-in authoring and compatibility runtime. In this repository today:
|
|
72
|
+
|
|
73
|
+
- the global install path is implemented for the `openkit` CLI and stores the managed kit inside the OpenCode home directory, materializing it automatically on first `openkit run`
|
|
74
|
+
- `.opencode/opencode.json` remains the checked-in authoring and compatibility runtime manifest
|
|
75
|
+
- `registry.json` remains checked-in local metadata describing repository surfaces and profiles
|
|
76
|
+
- `.opencode/install-manifest.json` remains additive local install metadata for this repository
|
|
77
|
+
- project artifacts stay local to the target repository, while kit installation and workspace state are managed through the global OpenKit path
|
|
78
|
+
|
|
79
|
+
Until application code lands, test runners and build tooling remain targets rather than current capabilities.
|
|
80
|
+
|
|
81
|
+
Continue to use the current `Quick Task`, `Migration`, and `Full Delivery` contract, current command names, and current workflow-state enums unless a later implemented change updates them.
|
|
82
|
+
|
|
83
|
+
## Source Of Truth Files
|
|
84
|
+
|
|
85
|
+
Use the following order when deciding what is authoritative:
|
|
86
|
+
|
|
87
|
+
1. Direct user instructions in the current session
|
|
88
|
+
2. Root `AGENTS.md`
|
|
89
|
+
3. `context/core/workflow.md` for the canonical live workflow contract
|
|
90
|
+
4. Companion core workflow docs for local operational details:
|
|
91
|
+
- `context/core/approval-gates.md`
|
|
92
|
+
- `context/core/issue-routing.md`
|
|
93
|
+
- `context/core/session-resume.md`
|
|
94
|
+
- `context/core/project-config.md`
|
|
95
|
+
- `context/core/workflow-state-schema.md`
|
|
96
|
+
5. Repository files that actually exist in the working tree
|
|
97
|
+
|
|
98
|
+
Phase-1 IA note:
|
|
99
|
+
|
|
100
|
+
- `docs/operator/` and `docs/maintainer/` are index layers for audience-specific routing only
|
|
101
|
+
- they do not replace canonical sources under `context/core/`, `docs/governance/`, `docs/operations/`, or the artifact directories
|
|
102
|
+
|
|
103
|
+
Historical and roadmap note for maintainers:
|
|
104
|
+
|
|
105
|
+
- Most historical planning docs were intentionally pruned from the working tree during repository cleanup.
|
|
106
|
+
- If you need older rationale, inspect git history instead of assuming archived docs still exist in-tree.
|
|
107
|
+
|
|
108
|
+
If guidance conflicts with repository state, trust the repository state and update documentation instead of inventing missing pieces.
|
|
109
|
+
|
|
110
|
+
## Repo Navigation Guidance
|
|
111
|
+
|
|
112
|
+
- Start with `AGENTS.md` for repository-wide rules, then use `context/navigation.md` to locate the specific workflow or standards docs you need
|
|
113
|
+
- Use `docs/operator/README.md` for operator wayfinding and `docs/maintainer/README.md` for maintainer wayfinding when audience-specific routing helps
|
|
114
|
+
- Treat `docs/` as the current center of gravity for repository knowledge
|
|
115
|
+
- Verify file existence before referencing paths in plans or instructions
|
|
116
|
+
- Prefer small, targeted edits over broad speculative restructuring
|
|
117
|
+
- When new top-level areas are introduced, add them to this guide
|
|
118
|
+
- If a task is resumable, read `.opencode/workflow-state.json` as the active compatibility mirror, then inspect `.opencode/work-items/` when task-aware full-delivery context is relevant
|
|
119
|
+
- When resuming workflow, determine `mode` first, then load the mode-appropriate artifact context
|
|
120
|
+
|
|
121
|
+
Because the repository is still minimal, agents should explain assumptions plainly and avoid acting as if hidden infrastructure exists.
|
|
122
|
+
|
|
123
|
+
## Build, Lint, And Test Commands
|
|
124
|
+
|
|
125
|
+
Current state:
|
|
126
|
+
|
|
127
|
+
- No repository-native build command is currently defined for application code
|
|
128
|
+
- No repository-native lint command is currently defined for application code
|
|
129
|
+
- No repository-native test command is currently defined for application code
|
|
130
|
+
- No single canonical package manager or language toolchain has been established for future generated applications
|
|
131
|
+
- Node.js is a documented runtime dependency for the workflow-state utility only, not for future application code by default
|
|
132
|
+
- The workflow-state CLI exists and is aligned with the live stage and approval model documented in this repository
|
|
133
|
+
- The repository-local runtime still boots from `.opencode/opencode.json`; do not claim that a root `opencode.json` entrypoint already exists unless the file is added
|
|
134
|
+
|
|
135
|
+
Rules for agents:
|
|
136
|
+
|
|
137
|
+
- Do not claim that `npm`, `pnpm`, `bun`, `yarn`, `pytest`, `cargo`, `go test`, or similar commands are available unless supporting files are added
|
|
138
|
+
- When introducing tooling in the future, document the actual command in this file and in `context/core/project-config.md` at the same time
|
|
139
|
+
- If validation is not possible because tooling does not exist yet, say so explicitly in your report
|
|
140
|
+
- Use `.opencode/workflow-state.js` for workflow-state inspection and mutation when you need explicit state operations
|
|
141
|
+
|
|
142
|
+
Future patterns to adopt once tooling exists:
|
|
143
|
+
|
|
144
|
+
- JavaScript example only: `pnpm build`
|
|
145
|
+
- JavaScript example only: `pnpm lint`
|
|
146
|
+
- JavaScript example only: `pnpm test`
|
|
147
|
+
- Python example only: `pytest`
|
|
148
|
+
- Rust example only: `cargo test`
|
|
149
|
+
|
|
150
|
+
These are illustrative patterns, not current repository commands.
|
|
151
|
+
|
|
152
|
+
## Workflow Artifacts And State
|
|
153
|
+
|
|
154
|
+
The operating system layer is file-backed and should stay explicit.
|
|
155
|
+
|
|
156
|
+
- Runtime manifest: `.opencode/opencode.json`
|
|
157
|
+
- Runtime manifest for the checked-in authoring surface: `.opencode/opencode.json`
|
|
158
|
+
- Active compatibility mirror: `.opencode/workflow-state.json`
|
|
159
|
+
- Per-item backing store: `.opencode/work-items/`
|
|
160
|
+
- Workflow-state CLI: `node .opencode/workflow-state.js ...`
|
|
161
|
+
- Artifact templates: `docs/templates/`
|
|
162
|
+
- Operational runbooks: `docs/operations/runbooks/`
|
|
163
|
+
|
|
164
|
+
Global-kit compatibility contract:
|
|
165
|
+
|
|
166
|
+
- Treat the global OpenKit install path as additive over the checked-in runtime surfaces.
|
|
167
|
+
- Do not describe registry or install-manifest metadata as plugin-only, remote-only, or destructive-install machinery.
|
|
168
|
+
- Keep docs and metadata aligned about what exists now versus what is only planned.
|
|
169
|
+
|
|
170
|
+
Required artifact outputs by mode:
|
|
171
|
+
|
|
172
|
+
- Quick Task -> optional `docs/tasks/YYYY-MM-DD-<task>.md`; bounded planning happens in the live `quick_plan` stage and does not require a separate mandatory doc artifact
|
|
173
|
+
- Migration -> optional `docs/architecture/YYYY-MM-DD-<migration>.md` and `docs/plans/YYYY-MM-DD-<migration>.md` when baseline and staged strategy need durable artifacts
|
|
174
|
+
- Full Delivery / PM -> `docs/briefs/YYYY-MM-DD-<feature>.md`
|
|
175
|
+
- Full Delivery / BA -> `docs/specs/YYYY-MM-DD-<feature>.md`
|
|
176
|
+
- Full Delivery / Architect -> `docs/architecture/YYYY-MM-DD-<feature>.md`
|
|
177
|
+
- Full Delivery / Tech Lead -> `docs/plans/YYYY-MM-DD-<feature>.md`
|
|
178
|
+
- Full Delivery / QA -> `docs/qa/YYYY-MM-DD-<feature>.md`
|
|
179
|
+
- Architect decisions -> `docs/adr/YYYY-MM-DD-<decision>.md`
|
|
180
|
+
- Full Delivery execution task board -> `.opencode/work-items/<work_item_id>/tasks.json` when the implemented runtime creates one
|
|
181
|
+
|
|
182
|
+
Quick lane note:
|
|
183
|
+
|
|
184
|
+
- `Quick Task+` successor semantics are live in the current `quick` lane
|
|
185
|
+
- `quick_plan` is a required quick stage
|
|
186
|
+
- task cards remain optional unless a later implemented change makes them mandatory
|
|
187
|
+
- quick mode still has no task board; execution task boards belong only to full-delivery work items
|
|
188
|
+
|
|
189
|
+
Migration lane note:
|
|
190
|
+
|
|
191
|
+
- migration mode uses `migration_*` stages for baseline, strategy, upgrade, and verification work
|
|
192
|
+
- migration mode is the right lane when compatibility risk and staged upgrade sequencing dominate the task
|
|
193
|
+
- migration mode is not TDD-first by default; validation centers on baseline evidence, regression checks, and compatibility verification
|
|
194
|
+
- migration mode is behavior-preserving by default; refactor only to create seams or adapters that make the upgrade safe
|
|
195
|
+
- migration mode still has no task board; execution task boards belong only to full-delivery work items
|
|
196
|
+
|
|
197
|
+
## Single-Test Guidance
|
|
198
|
+
|
|
199
|
+
There is no current repo-native single-test command because no test toolchain is defined yet.
|
|
200
|
+
|
|
201
|
+
When a test framework is added, document exact single-test commands here. Until then, future maintainers may use patterns like these as references only:
|
|
202
|
+
|
|
203
|
+
- JavaScript example only: `pnpm test -- --runInBand path/to/test`
|
|
204
|
+
- JavaScript example only: `pnpm vitest path/to/test`
|
|
205
|
+
- Python example only: `pytest path/to/test.py -k name`
|
|
206
|
+
- Rust example only: `cargo test test_name`
|
|
207
|
+
|
|
208
|
+
Label any such command as an example until the repository adopts that toolchain.
|
|
209
|
+
|
|
210
|
+
## Code Style And Engineering Standards
|
|
211
|
+
|
|
212
|
+
These standards are intentionally conservative so they are useful before a full codebase exists.
|
|
213
|
+
|
|
214
|
+
- **Imports:** Import only what a file uses. Prefer explicit imports over wildcard imports. Keep import groups stable and easy to scan. Remove unused imports in the same change that introduces them.
|
|
215
|
+
- **Formatting:** Follow the configured formatter or linter once one exists. Before that, favor readable defaults: consistent indentation and predictable line wrapping. Do not reformat unrelated files just because you touched the repository.
|
|
216
|
+
- **Type discipline:** Prefer explicit types, schemas, or contracts when the language supports them. Avoid broad `any`-style escapes unless the surrounding codebase already relies on them and the reason is documented. Make nullability, optional fields, and error cases explicit.
|
|
217
|
+
- **Naming:** Use descriptive names that reflect domain intent. Avoid abbreviations unless they are already standard in the repository or ecosystem. Match existing naming patterns before introducing new ones.
|
|
218
|
+
- **Function and file scope:** Keep files focused on one primary responsibility. Keep functions small enough that intent is obvious without heavy commentary. Split large or mixed-responsibility work into smaller units when that reduces ambiguity.
|
|
219
|
+
- **Error handling:** Fail loudly enough that the next agent can diagnose the issue. Do not swallow errors without recording why that is safe. Return or raise structured errors when the surrounding stack supports it.
|
|
220
|
+
- **Tests:** Add or update tests when behavior changes and a test framework exists. If no test framework exists yet, describe the missing validation path in your report. Prefer tests that validate behavior and acceptance criteria rather than implementation trivia.
|
|
221
|
+
- **Documentation updates:** Update relevant docs when commands, workflows, assumptions, or architecture change. Keep `AGENTS.md` aligned with the real repository state. Do not leave future agents to infer decisions from code alone.
|
|
222
|
+
- **Avoid hidden assumptions:** State assumptions directly when requirements or tooling are incomplete. Do not claim integrations, services, folders, or automation that are not present. Prefer factual wording over aspirational wording in current-state sections.
|
|
223
|
+
|
|
224
|
+
## Workflow Expectations
|
|
225
|
+
|
|
226
|
+
Use `context/core/workflow.md` as the canonical workflow reference and adapt it to the repository's current scale.
|
|
227
|
+
|
|
228
|
+
- Choose the lane early: `Quick Task` for bounded low-risk work, `Migration` for upgrades and modernization, `Full Delivery` for feature and higher-risk work
|
|
229
|
+
- Record and respect the routing profile behind the lane choice: work intent, behavior delta, dominant uncertainty, and scope shape should support the chosen mode instead of contradicting it
|
|
230
|
+
- Treat `Quick Task+` as the live successor semantics of the existing quick lane, not as permission to invent a third mode, rename commands, or change enums unless the repository explicitly does so
|
|
231
|
+
- Plan before coding. Even quick tasks need a clear objective, acceptance bullets, and validation path
|
|
232
|
+
- Keep responsibilities explicit. Quick mode follows the canonical `quick_*` stage chain in `context/core/workflow.md`, migration mode follows the canonical `migration_*` stage chain, and full mode uses the broader delivery team
|
|
233
|
+
- In the implemented full runtime, feature-level ownership still follows the stage owner while task-level ownership may be distributed through the full-delivery execution task board
|
|
234
|
+
- Use feedback loops. Implementation is not complete until validation has run or the lack of validation tooling has been called out clearly
|
|
235
|
+
- Do not skip review or validation because a task looks simple
|
|
236
|
+
- Route issues by type and by mode: quick bugs loop within quick mode, migration bugs and compatibility flaws loop within migration mode, but product or requirement ambiguity must escalate to full delivery
|
|
237
|
+
- Treat parallel support conservatively: only rely on task-board coordination, active-work-item switching, and task-level owner commands that the checked-in runtime actually enforces
|
|
238
|
+
- Do not create commits unless the user explicitly asks for them, even if agent-level instructions mention frequent commit opportunities
|
|
239
|
+
|
|
240
|
+
In a minimal repository, one agent may perform several roles. Preserve the role boundaries conceptually even when one worker executes multiple steps.
|
|
241
|
+
|
|
242
|
+
## Cursor And Copilot Rules Status
|
|
243
|
+
|
|
244
|
+
Current known status:
|
|
245
|
+
|
|
246
|
+
- `.cursorrules` is absent
|
|
247
|
+
- `.cursor/rules/` is absent
|
|
248
|
+
- `.github/copilot-instructions.md` is absent
|
|
249
|
+
|
|
250
|
+
Do not claim editor-specific rule coverage until those files are added.
|
|
251
|
+
|
|
252
|
+
## Maintenance Instructions
|
|
253
|
+
|
|
254
|
+
- Update this file when new tooling, directories, workflows, or rule files are introduced
|
|
255
|
+
- Replace example commands with actual commands as soon as the repository adopts a concrete stack
|
|
256
|
+
- Keep the distinction between current state and planned direction obvious
|
|
257
|
+
- Prefer small factual updates over long narrative rewrites
|
|
258
|
+
- If another document becomes authoritative for workflow, name it explicitly here
|
|
259
|
+
|
|
260
|
+
## Working Agreement For Future Contributors
|
|
261
|
+
|
|
262
|
+
- Be accurate first
|
|
263
|
+
- Be explicit about what exists today
|
|
264
|
+
- Be clear about what is planned but not yet implemented
|
|
265
|
+
- Leave the repository easier for the next agent to understand
|