devmethod-ai 0.3.1 → 0.4.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/.agents/skills/devmethod-architecture/SKILL.md +14 -0
- package/.agents/skills/devmethod-correct-course/SKILL.md +12 -0
- package/.agents/skills/devmethod-design/SKILL.md +14 -0
- package/.agents/skills/devmethod-explore/SKILL.md +12 -0
- package/.agents/skills/devmethod-frame/SKILL.md +12 -0
- package/.agents/skills/devmethod-handoff/SKILL.md +14 -0
- package/.agents/skills/devmethod-implement/SKILL.md +14 -0
- package/.agents/skills/devmethod-integrate/SKILL.md +14 -0
- package/.agents/skills/devmethod-next/SKILL.md +14 -0
- package/.agents/skills/devmethod-plan/SKILL.md +14 -0
- package/.agents/skills/devmethod-ready/SKILL.md +14 -0
- package/.agents/skills/devmethod-review/SKILL.md +18 -0
- package/.agents/skills/devmethod-status/SKILL.md +12 -0
- package/.agents/skills/devmethod-verify/SKILL.md +14 -0
- package/.agents/skills/project-foundation/SKILL.md +1 -1
- package/.agents/skills/project-foundation/assets/START_HERE.md +1 -1
- package/.agents/skills/project-foundation/references/operating-commands.md +19 -15
- package/.agents/skills/scoped-delivery/assets/REVIEW.md +2 -2
- package/.agents/skills/scoped-delivery/references/review-format.md +26 -0
- package/COMPATIBILITY.md +5 -3
- package/README.md +26 -24
- package/START_HERE.md +1 -1
- package/dist/cli.js +3 -1
- package/dist/commands.js +20 -0
- package/dist/doctor.js +4 -2
- package/dist/init.js +3 -2
- package/docs/ADR-009-visible-workflow-commands.md +11 -0
- package/docs/COMMANDS-VALIDATION.md +13 -0
- package/docs/COMMANDS.md +36 -0
- package/docs/RELEASE-0.4.0.md +15 -0
- package/docs/REVIEW-GUIDE.md +2 -0
- package/docs/REVIEWS.md +4 -22
- package/package.json +1 -1
- package/scripts/package-smoke.mjs +8 -2
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-architecture
|
|
3
|
+
description: Discuss structural alternatives and record an explicit choice or delegation before dependent detail. Use for the DevMethod architecture command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod architecture
|
|
7
|
+
|
|
8
|
+
Execute the `architecture` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `architecture` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Use [decision-architecture](../decision-architecture/SKILL.md) for this stage’s detailed procedure.
|
|
13
|
+
|
|
14
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-correct-course
|
|
3
|
+
description: Reconcile a scope or decision change with affected plans, tickets and evidence. Use for the DevMethod correct-course command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod correct-course
|
|
7
|
+
|
|
8
|
+
Execute the `correct-course` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `correct-course` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-design
|
|
3
|
+
description: Create or apply product design using the existing design workflow and approved directions. Use for the DevMethod design command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod design
|
|
7
|
+
|
|
8
|
+
Execute the `design` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `design` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Use [design-to-code](../design-to-code/SKILL.md) for this stage’s detailed procedure.
|
|
13
|
+
|
|
14
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-explore
|
|
3
|
+
description: Research existing solutions and discuss evidence, uncertainty and product direction. Use for the DevMethod explore command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod explore
|
|
7
|
+
|
|
8
|
+
Execute the `explore` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `explore` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-frame
|
|
3
|
+
description: Define product need, scope, exclusions and observable success criteria. Use for the DevMethod frame command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod frame
|
|
7
|
+
|
|
8
|
+
Execute the `frame` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `frame` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-handoff
|
|
3
|
+
description: Record a dated, concise handoff linked to canonical mission state and evidence. Use for the DevMethod handoff command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod handoff
|
|
7
|
+
|
|
8
|
+
Execute the `handoff` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `handoff` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Use [scoped-delivery](../scoped-delivery/SKILL.md) for this stage’s detailed procedure.
|
|
13
|
+
|
|
14
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-implement
|
|
3
|
+
description: Implement an authorized ticket, run relevant checks and review the resulting change. Use for the DevMethod implement command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod implement
|
|
7
|
+
|
|
8
|
+
Execute the `implement` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `implement` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Use [scoped-delivery](../scoped-delivery/SKILL.md) for this stage’s detailed procedure.
|
|
13
|
+
|
|
14
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-integrate
|
|
3
|
+
description: Prepare or perform authorized integration while respecting repository gates. Use for the DevMethod integrate command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod integrate
|
|
7
|
+
|
|
8
|
+
Execute the `integrate` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `integrate` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Use [scoped-delivery](../scoped-delivery/SKILL.md) for this stage’s detailed procedure.
|
|
13
|
+
|
|
14
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-next
|
|
3
|
+
description: Inspect real mission state and select the next authorized slice without starting it. Use for the DevMethod next command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod next
|
|
7
|
+
|
|
8
|
+
Execute the `next` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `next` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Use [scoped-delivery](../scoped-delivery/SKILL.md) for this stage’s detailed procedure.
|
|
13
|
+
|
|
14
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-plan
|
|
3
|
+
description: Discuss delivery scope and organize useful milestones and executable tickets. Use for the DevMethod plan command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod plan
|
|
7
|
+
|
|
8
|
+
Execute the `plan` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `plan` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Use [scoped-delivery](../scoped-delivery/SKILL.md) for this stage’s detailed procedure.
|
|
13
|
+
|
|
14
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-ready
|
|
3
|
+
description: Assess a ticket’s scope, dependencies and acceptance criteria without starting implementation. Use for the DevMethod ready command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod ready
|
|
7
|
+
|
|
8
|
+
Execute the `ready` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `ready` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Use [scoped-delivery](../scoped-delivery/SKILL.md) for this stage’s detailed procedure.
|
|
13
|
+
|
|
14
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-review
|
|
3
|
+
description: Review actual code changes, contracts and evidence, execute relevant checks and report actionable findings. Use for the DevMethod review command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod review
|
|
7
|
+
|
|
8
|
+
Execute the `review` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `review` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Use [scoped-delivery](../scoped-delivery/SKILL.md) for this stage’s detailed procedure.
|
|
13
|
+
|
|
14
|
+
Follow [the review workflow](../scoped-delivery/references/review-workflow.md): inspect the actual diff and relevant interactions, execute applicable checks, and report findings with locations, impact, evidence and proposed corrections. Distinguish checked, failed and uninspected scope. Do not modify product code unless corrections were requested. Review artifacts may be written as part of the requested review.
|
|
15
|
+
|
|
16
|
+
For a substantial review, use [the review record](../scoped-delivery/assets/REVIEW.md). A missing browser renderer or CLI does not block inspection or the findings report. The optional `devmethod review` shell utility presents existing results; invoking it or its fictional demo never performs this review.
|
|
17
|
+
|
|
18
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-status
|
|
3
|
+
description: Report actual progress, evidence gaps and blockers without changing records or running checks. Use for the DevMethod status command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod status
|
|
7
|
+
|
|
8
|
+
Execute the `status` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `status` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devmethod-verify
|
|
3
|
+
description: Execute missing or invalidated checks and report evidence for the inspected revision. Use for the DevMethod verify command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevMethod verify
|
|
7
|
+
|
|
8
|
+
Execute the `verify` stage now for the user's supplied ticket, mission, paths or revision. This is an agent workflow, not a shell command or a request for usage instructions. Do not ask the user to run npx or install a CLI to execute this stage.
|
|
9
|
+
|
|
10
|
+
Read [the stage contract](../project-foundation/references/operating-commands.md) and [project context routing](../project-foundation/SKILL.md), then apply only `verify` and its relevant references. Preserve the supplied arguments, existing decisions, authorizations and stage scope. Reuse available context; clarify only a missing target that materially changes the work. Do not run other stages merely because they are suggested next.
|
|
11
|
+
|
|
12
|
+
Use [scoped-delivery](../scoped-delivery/SKILL.md) for this stage’s detailed procedure.
|
|
13
|
+
|
|
14
|
+
Return the concrete outcome, verification limits and one next command from the stage contract.
|
|
@@ -30,7 +30,7 @@ This kit formalizes a complete method: exploration → framing → design → ar
|
|
|
30
30
|
|
|
31
31
|
For a new change, select the quick, standard, or major path using [work sizing](references/work-sizing.md). These paths select relevant stages; they do not add commands or require fourteen separate turns. A clear small fix can perform readiness, implementation, review, and verification together under existing authorization.
|
|
32
32
|
|
|
33
|
-
Read [the operating commands](references/operating-commands.md) for any invocation with a stage, or to structure a new project, epic, or slice. In Codex,
|
|
33
|
+
Read [the operating commands](references/operating-commands.md) for any invocation with a stage, or to structure a new project, epic, or slice. In Codex, select `$devmethod-status`; in Claude Code or Cursor, select `/devmethod-status`. Each installed stage has a `devmethod-<stage>` entry, including `devmethod-review`. Existing `project-foundation <stage>` invocations remain supported. Execute the selected stage in the agent without asking the user to run npx. The commands do not replace project commands.
|
|
34
34
|
|
|
35
35
|
For `explore`, use [existing solutions research](references/exploration.md) when product uncertainty warrants it. For an open `architecture`, resolve `decision-architecture` and discuss credible options in the conversation before detailing the dependent architecture. Preserve accepted choices and explicit delegations; invoking `plan` does not adopt a proposal. For `plan`, use [delivery planning](references/delivery-planning.md) to discuss useful outcomes and scope before fixing tickets.
|
|
36
36
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
DevMethod offers six independent modules; this installation contains the modules you selected. If this is a staging directory, review and copy its installed skill folder into the project while preserving existing files. If you installed directly into the project, the selected skills are already in place. If a version already exists, compare changes before updating it. Keep `PROJECT_PROFILE.md` and complete the stack, commands, scope, deployment permissions, and data requirements from the project before adoption. `ENGINEERING_POLICY.template.md` retains the included policy; merge it with `CONTRIBUTING.md` and existing instructions.
|
|
4
4
|
|
|
5
|
-
In Codex, start with `$
|
|
5
|
+
In Codex, start with `$devmethod-status`; for a review select `$devmethod-review` and add a ticket, PR or changed paths. In Claude Code or Cursor use `/devmethod-status` or `/devmethod-review`. All fourteen documented stages are exposed by a full installation. Module subsets expose stages backed by installed procedures. Once installed, run stages directly in the agent: no npx is needed. Existing `project-foundation <stage>` invocations still work. For an open-ended request:
|
|
6
6
|
|
|
7
7
|
> Use the `project-foundation` skill for this project. Read existing instructions and sources, complete the profile without reinventing decisions, then deliver the following scope: [my objective]. Apply only relevant modules. Preserve the approved mockup, architecture boundaries, and React rules. Progress to a verified result within this scope.
|
|
8
8
|
|
|
@@ -4,7 +4,11 @@ These commands describe a reusable work path. They are not shell commands and do
|
|
|
4
4
|
|
|
5
5
|
## Native invocation
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Each documented stage has a discoverable `devmethod-<stage>` skill. In Codex invoke `$devmethod-review TASK-1`; in Claude Code or Cursor invoke `/devmethod-review TASK-1`. Select it in the host's skill menu and supply the target. No npx, terminal launcher or CLI installation is required to run the agent workflow after the skills are installed.
|
|
8
|
+
|
|
9
|
+
The equivalent `$project-foundation review TASK-1` (Codex) and `/project-foundation review TASK-1` (Claude Code/Cursor) remain supported. Table entries omit the host prefix: recommend the qualified `devmethod-<stage>` invocation when installed, otherwise the compatible `project-foundation <stage>` form. Never register bare `/review` or `/verify`, which may conflict with host commands. If the host is unknown, use `DevMethod review TASK-1` in natural language.
|
|
10
|
+
|
|
11
|
+
The default installation exposes all fourteen stages. Module subsets expose only commands whose procedure is installed; foundation commands remain available. Do not claim a missing module was loaded. These skills instruct the connected agent to do the work; they do not turn the installer into an autonomous executor.
|
|
8
12
|
|
|
9
13
|
An unknown stage displays available stages without starting work. With no stage, read the current state and apply `status`. Routing is an instruction to the model, not a deterministic parser or execution guarantee.
|
|
10
14
|
|
|
@@ -14,20 +18,20 @@ Use [work sizing](work-sizing.md) to select relevant stages. A quick change may
|
|
|
14
18
|
|
|
15
19
|
| Command | Purpose | Suggested next step |
|
|
16
20
|
|---|---|---|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
|
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
21
|
+
| `devmethod-explore` | Research existing solutions proportionately and discuss evidence and next direction | `devmethod-frame` |
|
|
22
|
+
| `devmethod-frame` | Define value, scope, exclusions, and metrics | `devmethod-design` or `devmethod-architecture` |
|
|
23
|
+
| `devmethod-design` | Create/select visual direction, master and derived screens, or apply approved UX; resolve design-to-code for visual work | `devmethod-design` for unfinished visual scope, then `devmethod-architecture` |
|
|
24
|
+
| `devmethod-architecture` | Discuss structural alternatives and record choice/delegation before dependent detail | `devmethod-plan` |
|
|
25
|
+
| `devmethod-plan` | Discuss useful delivery scope, then milestones and near-term tickets; stay conditional on open decisions | `devmethod-ready` |
|
|
26
|
+
| `devmethod-ready <ticket>` | Verify scope, DoD, dependencies, contract, and tests | `devmethod-implement <ticket>` |
|
|
27
|
+
| `devmethod-implement <ticket>` | Deliver a coherent slice with focused tests | `devmethod-review <ticket>` |
|
|
28
|
+
| `devmethod-review <ticket>` | Review diff, architecture, contracts, tests, and risks | `devmethod-verify` or `devmethod-implement` |
|
|
29
|
+
| `devmethod-verify <ticket>` | Run documented checks and assess evidence | `devmethod-integrate <ticket>` |
|
|
30
|
+
| `devmethod-integrate <ticket>` | Prepare a PR/merge under repository policy | `devmethod-next` |
|
|
31
|
+
| `devmethod-correct-course` | Address a scope change or invalidated decision | `devmethod-architecture` or `devmethod-plan` |
|
|
32
|
+
| `devmethod-next` | Resume from real status and select the next slice | appropriate command |
|
|
33
|
+
| `devmethod-status` | Distinguish planned, in progress, PR, merged, and deployed | `devmethod-next` or `devmethod-correct-course` |
|
|
34
|
+
| `devmethod-handoff` | Create a concise checkpoint for another session or agent | `devmethod-next` |
|
|
31
35
|
|
|
32
36
|
## Responsibility and minimal context
|
|
33
37
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Structured review authoring
|
|
2
2
|
|
|
3
|
-
Reuse the existing review convention, or docs/missions/<mission-id>/reviews/<review-id>/review.json. The JSON owns results. Derive REVIEW.md
|
|
3
|
+
Reuse the existing review convention, or docs/missions/<mission-id>/reviews/<review-id>/review.json. The JSON owns results. The review itself needs no CLI or npx: inspect and report within the agent. Keep small reviews in the conversation or existing tracker. For substantial structured records, follow [the installed format reference](../references/review-format.md). Derive REVIEW.md from the same record; if a browser artifact is requested and the renderer is available, use the package's `devmethod review --review … --output … --markdown …` command; it validates records but never performs checks. Existing Markdown remains readable through `--legacy`; do not invent missing fields during migration.
|
|
4
4
|
|
|
5
|
-
Begin only with known scope and sources. Replace the placeholders below, then add checks/findings/evidence using format 1 documented in the package's docs/REVIEWS.md and complete examples/review/review.json. These package references are not files automatically installed into the application root. The packaged `--demo` viewer can export
|
|
5
|
+
Begin only with known scope and sources. Replace the placeholders below, then add checks/findings/evidence using format 1 documented in the package's docs/REVIEWS.md and complete examples/review/review.json. These package references are not files automatically installed into the application root. The optional packaged `--demo` viewer can export fictional format examples; never reuse its results as real evidence or launch it instead of reviewing. If the renderer is unavailable, deliver the review findings and record; state only the browser export limitation rather than asking for installation to continue.
|
|
6
6
|
|
|
7
7
|
```json
|
|
8
8
|
{
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Review record format
|
|
2
|
+
|
|
3
|
+
## One versioned source
|
|
4
|
+
|
|
5
|
+
Use existing conventions, or `docs/missions/<mission-id>/reviews/<review-id>/review.json`, with generated `REVIEW.md` and deliberately included `preuves/`. Tickets link stable finding IDs; the report and UI derive results from the JSON. Do not maintain another independent score or status table.
|
|
6
|
+
|
|
7
|
+
Format 1 is shared by the optional CLI and browser validator. This installed reference supports authoring without fetching the npm package. Schema conformance never proves that a check ran.
|
|
8
|
+
|
|
9
|
+
| Object | Required fields and ownership |
|
|
10
|
+
|---|---|
|
|
11
|
+
| Review | format, id, title, project, mission, tickets, date, scope, exclusions, revision, technologies, sources, checks, findings, evidence, limits, policy, summary |
|
|
12
|
+
| revision | commit (recorded revision label), dirty (explicit uncommitted changes); no automatic Git execution |
|
|
13
|
+
| technologies | name, version, detectedFrom (actual manifest/lockfile/source evidence) |
|
|
14
|
+
| ticket | id, title, url (HTTPS or null; local/unpublished destinations remain unavailable) |
|
|
15
|
+
| source | id, title, kind (documentation/skill/project), publisher, technology, version, url, consultedAt, access (consulted/unavailable/unverified), usage, compatibility, provenance; consulted requires a date |
|
|
16
|
+
| check | id, title, domain, kind (automated/manual), status (passed/failed/not-run/blocked/out-of-scope), result, reason, evidenceIds, revision, targets; unexecuted/excluded checks need a reason |
|
|
17
|
+
| finding | id, title, domain, severity (critical/major/moderate/minor), severityReason, confidence (confirmed/suspected), resolution (open/in-progress/resolved/accepted-risk), location, trigger, expected, observed, impact, reproduction, evidenceIds, correction, tradeoffs, sourceIds, ticketIds, verification, resolutionEvidenceIds, targets |
|
|
18
|
+
| location | path or component description, line (positive integer or null), component (text or null); display metadata, never arbitrary file access |
|
|
19
|
+
| evidence | id, title, kind (text/log/screenshot/diagram), content (text alternative or excerpt), url (HTTPS or null), image (null or explicit PNG/JPEG object) |
|
|
20
|
+
| image | mime=image/png or image/jpeg, base64, alt, origin=captured/explanatory, privacyReviewed=true; only deliberately included reviewed images, not filesystem paths or remote images |
|
|
21
|
+
| policy | blockingSeverities, requireAllChecks, rationale; project-owned explicit policy, no numeric risk score |
|
|
22
|
+
|
|
23
|
+
A confirmed finding still needs evidence or reproduction. A resolved finding requires resolution evidence IDs; schema validation checks the references, **not the truth of execution or whether the fix really works**. Authors must retain the original evidence and supply fresh verification. Closing a panel never changes resolution. Finding counts include all resolution states and stay independent from filtered results; uncertain unresolved findings have a separate count. Failed-check counts are separate from finding counts.
|
|
24
|
+
|
|
25
|
+
A blocking confirmed open finding or a failed check requires corrections. Otherwise a blocked check yields blocked; no passed checks, an unresolved suspected finding, or required unrun checks yields incomplete. Otherwise the conclusion is ready **on the verified scope**, with exclusions and limits still visible. This conclusion does not authorize integration/deployment or replace repository policy.
|
|
26
|
+
|
package/COMPATIBILITY.md
CHANGED
|
@@ -4,14 +4,16 @@ Historical platform assessment date: 2026-09-12; those results apply only to the
|
|
|
4
4
|
|
|
5
5
|
| Host | Export directory | Invocation | Evidence |
|
|
6
6
|
|---|---|---|---|
|
|
7
|
-
| Codex | `.agents/skills/<name>/SKILL.md` | `$project-foundation status` | Local payload/export tests; method exercised with Codex in this session |
|
|
8
|
-
| Claude Code | `.claude/skills/<name>/SKILL.md` | `/project-foundation status` | Official format reviewed; export tests; authenticated native session pending |
|
|
9
|
-
| Cursor Agent | `.cursor/skills/<name>/SKILL.md` | `/project-foundation status` | Official format reviewed; export tests; authenticated native session pending |
|
|
7
|
+
| Codex | `.agents/skills/<name>/SKILL.md` | `$devmethod-status` (legacy `$project-foundation status`) | Local payload/export tests; method exercised with Codex in this session |
|
|
8
|
+
| Claude Code | `.claude/skills/<name>/SKILL.md` | `/devmethod-status` (legacy `/project-foundation status`) | Official format reviewed; export tests; authenticated native session pending |
|
|
9
|
+
| Cursor Agent | `.cursor/skills/<name>/SKILL.md` | `/devmethod-status` (legacy `/project-foundation status`) | Official format reviewed; export tests; authenticated native session pending |
|
|
10
10
|
|
|
11
11
|
The earlier validation environment lacked native executables/credentials. On 2026-09-13, version probes found Codex CLI 0.147.0 and Claude Code 2.1.238; Cursor CLI was not found on PATH. The subsequent delegated pilot executed six authenticated Codex invocations; see [reviewed native results](docs/NATIVE-PILOT-RESULTS.md) for the narrow fixture coverage, budget stop and incomplete comparison. Passing installer tests does not prove host discovery, model behavior or UI command completion. No Claude Code or Cursor version is claimed as runtime-tested. Therefore these profiles are provisionally compatible, not certified end-to-end.
|
|
12
12
|
|
|
13
13
|
Official references: [Claude Code skills](https://code.claude.com/docs/en/skills), [Claude Code memory](https://code.claude.com/docs/en/memory), [Cursor skills](https://cursor.com/docs/skills), [Codex skills](https://developers.openai.com/codex/skills). A host version or organization policy may change discovery or execution.
|
|
14
14
|
|
|
15
|
+
Version 0.4.0 adds discoverable stage adapters; [current command validation](docs/COMMANDS-VALIDATION.md) distinguishes installation checks from unverified menu discovery and model execution. Historical native results above do not validate these new adapters.
|
|
16
|
+
|
|
15
17
|
## Native smoke protocol
|
|
16
18
|
|
|
17
19
|
Run separately in authenticated Codex, Claude Code and Cursor Agent sessions. Use a disposable local repo with only the chosen profile. Record date, exact host version, model, discovery result, commands, artifacts read, actual check output and observed next commands. Redact credentials and personal data. Keep the evaluation transcript local until reviewed for publication.
|
package/README.md
CHANGED
|
@@ -28,11 +28,11 @@ The video uses illustrative Codex commands with real generated images and record
|
|
|
28
28
|
|
|
29
29
|

|
|
30
30
|
|
|
31
|
-
DevMethod
|
|
31
|
+
DevMethod exposes fourteen `devmethod-*` workflow commands in the agent’s skill menu. The six procedure modules and existing `project-foundation <stage>` invocations remain supported.
|
|
32
32
|
|
|
33
33
|
A reusable workflow for taking a software project from exploration to delivery: decisions, UX, architecture, tickets, development, tests, review and handoff. Six focused skills support fourteen workflow stages, each ending with evidence, limitations and one suggested next command.
|
|
34
34
|
|
|
35
|
-
**DevMethod 0.
|
|
35
|
+
**DevMethod 0.4.0.** [Direct agent commands and migration](docs/RELEASE-0.4.0.md) · [0.3 workflow changes](docs/RELEASE-0.3.0.md). This release exposes the documented stages directly in the agent, including review without a terminal launcher. It retains the research, decision dialogue, mission templates and browser review viewer introduced in 0.3. Check the registry and GitHub release for publication evidence.
|
|
36
36
|
|
|
37
37
|
For developers and small teams using coding agents in new or existing repositories. Requires Node.js 22+ and npm; Git is required for context provenance. Application examples have separate framework/database prerequisites. DevMethod records scope, decisions and verification; it does not certify agent output, infer all dependencies, deploy applications or run an autonomous backlog. Installation and deterministic fixture results are separate from native host validation. See [compatibility](COMPATIBILITY.md).
|
|
38
38
|
|
|
@@ -43,18 +43,18 @@ Start with [missions and the tested source quick start](docs/MISSIONS.md), the [
|
|
|
43
43
|
Requires Node.js 22+ and npm. Install into a fresh staging directory first:
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
|
-
npx --yes devmethod-ai@0.
|
|
46
|
+
npx --yes devmethod-ai@0.4.0 init --tool codex --dest ../foundation-staging
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
Choose `codex`, `claude` or `cursor`. If you omit `--tool`, an interactive terminal asks. For example:
|
|
50
50
|
|
|
51
51
|
```bash
|
|
52
|
-
npx --yes devmethod-ai@0.
|
|
52
|
+
npx --yes devmethod-ai@0.4.0 init --tool claude --dest ../foundation-staging --dry-run
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
Remove `--dry-run` to write. Select a subset with `--modules decision-architecture,scoped-delivery`; `project-foundation` is always included. Without `--modules`, all six modules are installed. The installer refuses divergent files and duplicate skills across host directories. It never edits AGENTS.md, CLAUDE.md or your package.json. Review the staging output, then merge only what the project needs.
|
|
56
56
|
|
|
57
|
-
The installer has no runtime dependencies and makes no network requests after npm obtains the package. To pin the final version, use `npx --yes devmethod-ai@0.
|
|
57
|
+
The installer has no runtime dependencies and makes no network requests after npm obtains the package. To pin the final version, use `npx --yes devmethod-ai@0.4.0 init ...`. To pin a reviewed repository commit instead, use: `npx --yes --package=github:montassarkhalloufi/DevMethod#<commit-sha> devmethod init ...`.
|
|
58
58
|
|
|
59
59
|
Complete PROJECT_PROFILE.md with your real stack, commands, scope, deployment permissions and data requirements. Merge AGENTS.foundation.md into the project's existing instructions only after review. Claude Code reads CLAUDE.md: preserve its current content and, if the project has AGENTS.md, optionally add `@AGENTS.md` to import it. Keep existing accepted architecture decisions authoritative.
|
|
60
60
|
|
|
@@ -102,28 +102,30 @@ Risk and repository policy override apparent size. Reuse accepted UI, architectu
|
|
|
102
102
|
|
|
103
103
|
## Run the workflow
|
|
104
104
|
|
|
105
|
-
In Codex: `$
|
|
105
|
+
In Codex: select `$devmethod-status` or `$devmethod-review TASK-1`.
|
|
106
106
|
|
|
107
|
-
In Claude Code or Cursor: `/
|
|
107
|
+
In Claude Code or Cursor: select `/devmethod-status` or `/devmethod-review TASK-1`.
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
After installation, these commands run the workflow in your agent without npx. For example, `$devmethod-review` inspects actual changes, runs relevant checks and reports findings; it does not merely open the viewer. Existing `project-foundation <stage>` syntax remains valid. Partial module installs expose only stages supported by the selected modules. See [command discovery and updates](docs/COMMANDS.md).
|
|
110
|
+
|
|
111
|
+
Select an action below and add its target. These are prompts to the skill, not shell commands or standalone `/verify` commands. They do not create a background autonomous loop.
|
|
110
112
|
|
|
111
113
|
| Action | Result |
|
|
112
114
|
|---|---|
|
|
113
|
-
| `explore` | Dated research on existing solutions, uncertainty and next direction |
|
|
114
|
-
| `frame` | Product scope, exclusions and success measures |
|
|
115
|
-
| `design` | Visual directions, selected mockups and UX criteria; image tooling depends on the host |
|
|
116
|
-
| `architecture` | Conversation and explicit choice/delegation before dependent detail |
|
|
117
|
-
| `plan` | Useful scope discussion, conditional milestones and near-term tickets |
|
|
118
|
-
| `ready TASK-1` | Readiness assessment before implementation |
|
|
119
|
-
| `implement TASK-1` | Scoped code, tests and corrections |
|
|
120
|
-
| `review TASK-1` | Evidence-backed inspection, structured findings, checks, sources and report |
|
|
121
|
-
| `verify TASK-1` | Executed checks and remaining gates |
|
|
122
|
-
| `integrate TASK-1` | Delivery under existing permissions |
|
|
123
|
-
| `correct-course` | Resolve changed scope or blocked decisions |
|
|
124
|
-
| `next` | Select the next authorized slice |
|
|
125
|
-
| `status` | Current evidenced implementation status |
|
|
126
|
-
| `handoff` | Resumable checkpoint |
|
|
115
|
+
| `devmethod-explore` | Dated research on existing solutions, uncertainty and next direction |
|
|
116
|
+
| `devmethod-frame` | Product scope, exclusions and success measures |
|
|
117
|
+
| `devmethod-design` | Visual directions, selected mockups and UX criteria; image tooling depends on the host |
|
|
118
|
+
| `devmethod-architecture` | Conversation and explicit choice/delegation before dependent detail |
|
|
119
|
+
| `devmethod-plan` | Useful scope discussion, conditional milestones and near-term tickets |
|
|
120
|
+
| `devmethod-ready TASK-1` | Readiness assessment before implementation |
|
|
121
|
+
| `devmethod-implement TASK-1` | Scoped code, tests and corrections |
|
|
122
|
+
| `devmethod-review TASK-1` | Evidence-backed inspection, structured findings, checks, sources and report |
|
|
123
|
+
| `devmethod-verify TASK-1` | Executed checks and remaining gates |
|
|
124
|
+
| `devmethod-integrate TASK-1` | Delivery under existing permissions |
|
|
125
|
+
| `devmethod-correct-course` | Resolve changed scope or blocked decisions |
|
|
126
|
+
| `devmethod-next` | Select the next authorized slice |
|
|
127
|
+
| `devmethod-status` | Current evidenced implementation status |
|
|
128
|
+
| `devmethod-handoff` | Resumable checkpoint |
|
|
127
129
|
|
|
128
130
|
See [research, decision dialogue and mission migration](docs/WORKFLOW-0.3.md). See the [full command contract](.agents/skills/project-foundation/references/operating-commands.md). A failed check returns to correction; a blocked gate leads to handoff or replanning. Tests, code review and native permissions remain necessary.
|
|
129
131
|
|
|
@@ -133,12 +135,12 @@ See [research, decision dialogue and mission migration](docs/WORKFLOW-0.3.md). S
|
|
|
133
135
|
|
|
134
136
|
[Detailed recorded Lisière chain](docs/media/full-chain-4k/README.md) · [Short Clair demo](docs/media/from-zero/README.md) · [Run Clair](examples/clair-from-zero/README.md). Clair is a separate from-zero example. The featured film retains the Lisière story and adds an explicitly separate fictional review example.
|
|
135
137
|
|
|
136
|
-
## Inspect a review in your browser
|
|
138
|
+
## Inspect a review in your browser (optional)
|
|
137
139
|
|
|
138
140
|
Generate a local interactive report from the packaged fictional demo:
|
|
139
141
|
|
|
140
142
|
```sh
|
|
141
|
-
npx --yes devmethod-ai@0.
|
|
143
|
+
npx --yes devmethod-ai@0.4.0 review --demo --output review.html --open
|
|
142
144
|
```
|
|
143
145
|
|
|
144
146
|
The command generates `review.html` and opens it in your browser without a local server. On a headless machine, omit `--open`; if opening fails, the file remains available. For your own results, use `--review relative/review.json`; add `--markdown REVIEW.md` for the derived report. Search and filter findings, inspect evidence and source provenance, and export the same results. Existing Markdown remains readable with `--legacy`. See [review commands, format and trust limits](docs/REVIEWS.md). The CLI presents recorded results; it does not perform an automatic code review.
|
package/START_HERE.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
DevMethod offers six independent modules; this installation contains the modules you selected. If this is a staging directory, review and copy its installed skill folder into the project while preserving existing files. If you installed directly into the project, the selected skills are already in place. If a version already exists, compare changes before updating it. Keep `PROJECT_PROFILE.md` and complete the stack, commands, scope, deployment permissions, and data requirements from the project before adoption. `ENGINEERING_POLICY.template.md` retains the included policy; merge it with `CONTRIBUTING.md` and existing instructions.
|
|
4
4
|
|
|
5
|
-
In Codex, start with `$
|
|
5
|
+
In Codex, start with `$devmethod-status`; for a review select `$devmethod-review` and add a ticket, PR or changed paths. In Claude Code or Cursor use `/devmethod-status` or `/devmethod-review`. All fourteen documented stages are exposed by a full installation. Module subsets expose stages backed by installed procedures. Once installed, run stages directly in the agent: no npx is needed. Existing `project-foundation <stage>` invocations still work. For an open-ended request:
|
|
6
6
|
|
|
7
7
|
> Use the `project-foundation` skill for this project. Read existing instructions and sources, complete the profile without reinventing decisions, then deliver the following scope: [my objective]. Apply only relevant modules. Preserve the approved mockup, architecture boundaries, and React rules. Progress to a verified result within this scope.
|
|
8
8
|
|
package/dist/cli.js
CHANGED
|
@@ -32,7 +32,9 @@ Non-interactive init calls require --tool. Destination defaults to the current d
|
|
|
32
32
|
All six modules are included by default; project-foundation is always included.
|
|
33
33
|
Existing divergent files block installation; there is no overwrite option.
|
|
34
34
|
The installer is offline. npx may download the package before it runs.
|
|
35
|
-
|
|
35
|
+
After installation, select devmethod-review (or any documented devmethod-<stage>)
|
|
36
|
+
in your agent. No npx is needed to run a workflow. Full installs expose 14 stages;
|
|
37
|
+
subsets expose commands backed by installed modules. project-foundation <stage> still works.
|
|
36
38
|
Use the host-native skill syntax; these are not executable CLI subcommands.
|
|
37
39
|
The JSON plan inspector is read-only. Markdown PLAN/tickets and legacy missions
|
|
38
40
|
are agent-readable guidance; init never creates or migrates mission records.
|
package/dist/commands.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Native stage entry points; module selection remains the six-module contract. */
|
|
2
|
+
export const stageOwners = {
|
|
3
|
+
'devmethod-explore': 'project-foundation',
|
|
4
|
+
'devmethod-frame': 'project-foundation',
|
|
5
|
+
'devmethod-design': 'design-to-code',
|
|
6
|
+
'devmethod-architecture': 'decision-architecture',
|
|
7
|
+
'devmethod-plan': 'scoped-delivery',
|
|
8
|
+
'devmethod-ready': 'scoped-delivery',
|
|
9
|
+
'devmethod-implement': 'scoped-delivery',
|
|
10
|
+
'devmethod-review': 'scoped-delivery',
|
|
11
|
+
'devmethod-verify': 'scoped-delivery',
|
|
12
|
+
'devmethod-integrate': 'scoped-delivery',
|
|
13
|
+
'devmethod-correct-course': 'project-foundation',
|
|
14
|
+
'devmethod-next': 'scoped-delivery',
|
|
15
|
+
'devmethod-status': 'project-foundation',
|
|
16
|
+
'devmethod-handoff': 'scoped-delivery',
|
|
17
|
+
};
|
|
18
|
+
export function commandSkills(selected) {
|
|
19
|
+
return Object.entries(stageOwners).filter(([, owner]) => selected.includes('project-foundation') && selected.includes(owner)).map(([name]) => name);
|
|
20
|
+
}
|
package/dist/doctor.js
CHANGED
|
@@ -2,6 +2,7 @@ import * as fs from 'node:fs';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { createHash } from 'node:crypto';
|
|
4
4
|
import { tools, modules, templates } from './init.js';
|
|
5
|
+
import { commandSkills } from './commands.js';
|
|
5
6
|
import { parseJson, checkPath, stat } from './filesystem.js';
|
|
6
7
|
function object(value) {
|
|
7
8
|
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
@@ -15,6 +16,7 @@ export function validateManifest(value) {
|
|
|
15
16
|
!object(value.files))
|
|
16
17
|
throw new Error('Expected a DevMethod format 2 manifest with a supported host and unique modules including project-foundation.');
|
|
17
18
|
const root = tools[value.tool];
|
|
19
|
+
const supportedSkills = [...value.skills, ...commandSkills(value.skills)];
|
|
18
20
|
const required = [...templates, 'DEVMETHOD-LICENSE', ...value.skills.map(name => `${root}/${name}/SKILL.md`)];
|
|
19
21
|
for (const name of required) {
|
|
20
22
|
if (!Object.hasOwn(value.files, name))
|
|
@@ -25,7 +27,7 @@ export function validateManifest(value) {
|
|
|
25
27
|
const parts = name.split('/');
|
|
26
28
|
const safe = parts.every(part => /^[a-zA-Z0-9._-]+$/.test(part) && part !== '.' && part !== '..');
|
|
27
29
|
const rootFile = templates.includes(name) || name === 'DEVMETHOD-LICENSE';
|
|
28
|
-
const skillFile = parts.slice(0, 2).join('/') === root &&
|
|
30
|
+
const skillFile = parts.slice(0, 2).join('/') === root && supportedSkills.includes(parts[2]) &&
|
|
29
31
|
((parts.length === 4 && parts[3] === 'SKILL.md') ||
|
|
30
32
|
(parts.length >= 5 && ['assets', 'references'].includes(parts[3] ?? '') && name.endsWith('.md')));
|
|
31
33
|
if (!safe || (!rootFile && !skillFile))
|
|
@@ -93,7 +95,7 @@ export function diagnose(destination) {
|
|
|
93
95
|
add('error', 'file-unreadable', error instanceof Error ? error.message : String(error), relative);
|
|
94
96
|
}
|
|
95
97
|
}
|
|
96
|
-
for (const name of manifest.skills) {
|
|
98
|
+
for (const name of [...manifest.skills, ...commandSkills(manifest.skills)]) {
|
|
97
99
|
for (const root of Object.values(tools)) {
|
|
98
100
|
if (root === tools[manifest.tool])
|
|
99
101
|
continue;
|
package/dist/init.js
CHANGED
|
@@ -2,6 +2,7 @@ import * as fs from 'node:fs';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { createHash } from 'node:crypto';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { commandSkills } from './commands.js';
|
|
5
6
|
import { parseJson, checkPath, stat } from './filesystem.js';
|
|
6
7
|
export const tools = { codex: '.agents/skills', claude: '.claude/skills', cursor: '.cursor/skills' };
|
|
7
8
|
export const modules = ['project-foundation', 'decision-architecture', 'design-to-code', 'react-feature-engineering', 'reliable-ai-integration', 'scoped-delivery'];
|
|
@@ -35,7 +36,7 @@ export function initialize(options) {
|
|
|
35
36
|
throw new Error('Install outside the distribution directory');
|
|
36
37
|
if (stat(destination) && !stat(destination)?.isDirectory())
|
|
37
38
|
throw new Error('Destination must be a directory');
|
|
38
|
-
for (const name of selected) {
|
|
39
|
+
for (const name of [...selected, ...commandSkills(selected)]) {
|
|
39
40
|
for (const otherRoot of Object.values(tools)) {
|
|
40
41
|
if (otherRoot !== tools[options.tool] && stat(path.join(destination, otherRoot, name)))
|
|
41
42
|
throw new Error(`Duplicate skill in another host directory: ${otherRoot}/${name}`);
|
|
@@ -104,7 +105,7 @@ export function initialize(options) {
|
|
|
104
105
|
/** The exact host-profiled payload shipped with this CLI. */
|
|
105
106
|
export function bundledFiles(tool, selected) {
|
|
106
107
|
const files = new Map();
|
|
107
|
-
for (const name of selected) {
|
|
108
|
+
for (const name of [...selected, ...commandSkills(selected)]) {
|
|
108
109
|
const source = path.join(packageRoot, '.agents/skills', name);
|
|
109
110
|
checkPath(source);
|
|
110
111
|
for (const relative of walk(source)) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# ADR 009: Discoverable workflow commands
|
|
2
|
+
|
|
3
|
+
Status: accepted for implementation under the user's explicit request, 2026-09-13.
|
|
4
|
+
|
|
5
|
+
The user requested that documented workflow commands, especially review, be exposed and execute in the agent without npx. Keeping only stage arguments meets neither discoverability nor the selected interaction. Registering bare review/plan commands could collide with host commands. Expose fourteen namespaced devmethod-* skills as short adapters to the existing stage contract and procedure modules. Preserve project-foundation invocations and the six-module selection contract. This amends ADR 001's entry-point restriction without changing its filesystem or permission boundaries.
|
|
6
|
+
|
|
7
|
+
A full installation ships all entry points; subsets include only entries backed by selected procedures. Manifest file hashes include adapters, while skills continues to identify selected procedure modules. Validation permits only the known applicable adapter paths and continues to accept old manifests without them. Initialization checks cross-host duplicates and preflights conflicts before writing. Update preview reports additions without overwriting existing installations.
|
|
8
|
+
|
|
9
|
+
The agent performs a review with installed instructions and resources; the optional presentation CLI does not perform checks. Install the structured format reference to remove the former dependence on package documentation. This release does not change the design workflow, browser UI, mission schemas or permission model.
|
|
10
|
+
|
|
11
|
+
Revisit if native-host testing shows ambiguous automatic routing, discovery limits or real demand for a different grouping. More commands do not establish superiority over another method. Automated packaging/integrity tests and manual instruction inspection are not native model execution evidence.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Command validation
|
|
2
|
+
|
|
3
|
+
Candidate: 0.4.0, based on main 18e003f. Date: 2026-09-13.
|
|
4
|
+
|
|
5
|
+
Local checks on the candidate worktree: `npm ci --ignore-scripts`, `npm test` (95 passed), `npm run test:greenfield` (24 passed), `npm run check:docs`, skill-creator quick validation (14 adapters), `npm pack --dry-run`, and packed smoke tests passed. HTTP fixture tests required permission to bind localhost outside the filesystem/network sandbox; no assertion was bypassed.
|
|
6
|
+
|
|
7
|
+
Packed smoke used the actual npm 0.3.1 archive as its migration baseline. Full Codex/Claude/Cursor installations include all 14 adapters and the review format reference; hashes, subset installation, read-only diagnostics and local-customization conflicts passed. The legacy profile and customized foundation bytes remained intact. The public CLI still presents results rather than performing review.
|
|
8
|
+
|
|
9
|
+
Release CI and registry results are attached to the corresponding PR/GitHub release after execution. This file records local candidate evidence, not a prior assertion of remote success.
|
|
10
|
+
|
|
11
|
+
Manual instruction inspection: each adapter executes its named stage using the existing contract, preserves arguments and authorization, and does not automatically run the suggested next stage. Review points to the installed procedure and format; it distinguishes actual inspection from optional CLI rendering. Existing architecture dialogue, conditional plans, exploration and design rules remain in their owners.
|
|
12
|
+
|
|
13
|
+
Limits: no fresh authenticated Codex, Claude Code or Cursor invocation or menu-discovery check has been run for these adapters. File links, frontmatter and install checks alone do not establish conversational behavior. Existing comparative studies do not measure this release.
|
package/docs/COMMANDS.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Run DevMethod in your agent
|
|
2
|
+
|
|
3
|
+
Version 0.4.0 exposes every documented workflow stage as a discoverable skill. Install the skills once using the existing installer. Afterwards select a command in the agent and supply its target; no npx invocation or running DevMethod service is needed.
|
|
4
|
+
|
|
5
|
+
| Workflow | Codex | Claude Code / Cursor |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| Explore | `$devmethod-explore` | `/devmethod-explore` |
|
|
8
|
+
| Frame | `$devmethod-frame` | `/devmethod-frame` |
|
|
9
|
+
| Design | `$devmethod-design` | `/devmethod-design` |
|
|
10
|
+
| Architecture | `$devmethod-architecture` | `/devmethod-architecture` |
|
|
11
|
+
| Plan | `$devmethod-plan` | `/devmethod-plan` |
|
|
12
|
+
| Ready | `$devmethod-ready TASK-1` | `/devmethod-ready TASK-1` |
|
|
13
|
+
| Implement | `$devmethod-implement TASK-1` | `/devmethod-implement TASK-1` |
|
|
14
|
+
| Review | `$devmethod-review TASK-1` | `/devmethod-review TASK-1` |
|
|
15
|
+
| Verify | `$devmethod-verify TASK-1` | `/devmethod-verify TASK-1` |
|
|
16
|
+
| Integrate | `$devmethod-integrate TASK-1` | `/devmethod-integrate TASK-1` |
|
|
17
|
+
| Correct course | `$devmethod-correct-course` | `/devmethod-correct-course` |
|
|
18
|
+
| Next | `$devmethod-next` | `/devmethod-next` |
|
|
19
|
+
| Status | `$devmethod-status` | `/devmethod-status` |
|
|
20
|
+
| Handoff | `$devmethod-handoff` | `/devmethod-handoff` |
|
|
21
|
+
|
|
22
|
+
The entry points load the existing [stage contract](../.agents/skills/project-foundation/references/operating-commands.md) and relevant procedure. They are not separate copies of the method. The old `project-foundation <stage>` syntax remains supported. No bare `/review` is registered over the host's own command.
|
|
23
|
+
|
|
24
|
+
A full installation exposes all fourteen commands. Foundation-only installs expose explore, frame, correct-course and status. Design requires design-to-code; architecture requires decision-architecture; plan, ready, implement, review, verify, integrate, next and handoff require scoped-delivery. Module selection and the manifest's six module names are unchanged. Other technical modules remain available when selected.
|
|
25
|
+
|
|
26
|
+
## Review actual work
|
|
27
|
+
|
|
28
|
+
For example, select `$devmethod-review` and add `the current uncommitted diff against HEAD`. The agent reads actual changes and relevant contracts, executes applicable checks and reports located findings, evidence and limits. A clear ticket, PR, revision or path selection can replace that target. An ambiguous scope is clarified only when it affects the review.
|
|
29
|
+
|
|
30
|
+
A review does not silently fix product code. Small reviews can stay in the conversation; substantial reviews use the existing tracker or the installed structured review format. Checks that were not run remain explicitly unverified. A browser viewer is optional: the shell command `devmethod review --review ...` validates and displays recorded results, but cannot conduct the review. The agent must not ask you to run npx as a prerequisite to inspection or launch fictional demo results instead of reviewing your code.
|
|
31
|
+
|
|
32
|
+
## Adopt into an existing project
|
|
33
|
+
|
|
34
|
+
Install the candidate into a fresh staging directory with the same host and selected modules. Compare it with your existing installation. Copy the new `devmethod-*` folders and merge the relevant foundation/delivery resources, preserving local customizations. Do not overwrite the filled project profile, instructions, mission records or a divergent skill. Keep the previous manifest until you have intentionally reconciled all adopted baseline files; never replace hashes merely to hide modifications. `update-preview` can classify changes read-only; it does not apply them.
|
|
35
|
+
|
|
36
|
+
Do not run `init` over a customized installation expecting it to upgrade: conflicts block all writes. Both legacy single-file missions and PLAN/tickets missions remain readable, with no automatic migration. If the host does not discover the added skills, reload/reopen its session and inspect its configured skill directory. As a fallback ask it to read the installed `devmethod-review/SKILL.md` directly. Discovery and model behavior need host-specific verification; file installation tests alone do not prove autocomplete behavior.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# DevMethod 0.4.0
|
|
2
|
+
|
|
3
|
+
## Direct workflow commands
|
|
4
|
+
|
|
5
|
+
All fourteen documented stages now have discoverable devmethod-* skill entries. Select `$devmethod-review` in Codex or `/devmethod-review` in Claude Code/Cursor and add the review target. The agent inspects the work and executes relevant checks without requiring the user to launch npx. The optional CLI remains a renderer/validator for recorded review results.
|
|
6
|
+
|
|
7
|
+
This additive pre-1.0 minor release preserves project-foundation invocations, the six procedure modules, approved design behavior, legacy missions and installation conflict protection. Module subsets install only entry points backed by available procedures. Manifest integrity and read-only update previews cover the added files. Review record documentation is installed with scoped-delivery.
|
|
8
|
+
|
|
9
|
+
## Migration
|
|
10
|
+
|
|
11
|
+
Follow [command adoption](COMMANDS.md#adopt-into-an-existing-project): stage a fresh installation and intentionally merge adapters/resources. Do not overwrite divergent skills or filled project context. No mission or instruction migration runs automatically. Old manifests remain readable by the new CLI; older CLI versions may reject manifests containing new adapter paths, so use the matching or newer CLI for diagnostics.
|
|
12
|
+
|
|
13
|
+
## Verification
|
|
14
|
+
|
|
15
|
+
Candidate checks and publication evidence are recorded in [command validation](COMMANDS-VALIDATION.md). Automated checks cover installation, hashes, links, module subsets, conflicts, legacy preview and the packed CLI. Manual instruction inspection is distinct from a native model run. Host autocomplete and fresh native execution remain unverified unless explicitly recorded there. No new BMAD superiority claim is made.
|
package/docs/REVIEW-GUIDE.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
DevMethod 0.3 adds a review workflow and an offline browser interface. Version 0.3.1 expands the documentation and the existing narrated film with this journey. The CLI presents recorded results; it does not inspect code or run tests on your behalf.
|
|
4
4
|
|
|
5
|
+
After skills installation, invoke `$devmethod-review <target>` in Codex or `/devmethod-review <target>` in Claude Code/Cursor to perform the review without npx. The terminal commands below are optional presentation utilities for recorded results.
|
|
6
|
+
|
|
5
7
|
## Try the packaged example
|
|
6
8
|
|
|
7
9
|
Use Node.js 22+ from a normal project directory, with a fresh output filename:
|
package/docs/REVIEWS.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Review results, reports and browser consultation
|
|
2
2
|
|
|
3
|
-
The agent's `project-foundation review`
|
|
3
|
+
The agent's `devmethod-review` command (also `project-foundation review`) performs project-aware inspection under [the review workflow](../.agents/skills/scoped-delivery/references/review-workflow.md). The CLI `devmethod review` only validates and presents recorded results. It never runs repository commands, discovers evidence on disk, or performs the review itself.
|
|
4
|
+
|
|
5
|
+
After skills installation, invoke `$devmethod-review <target>` in Codex or `/devmethod-review <target>` in Claude Code/Cursor to perform the review without npx. The terminal commands below are optional presentation utilities for recorded results.
|
|
4
6
|
|
|
5
7
|
## Use the installed package
|
|
6
8
|
|
|
@@ -26,27 +28,7 @@ Existing outputs are never overwritten. Choose a fresh path for a newer snapshot
|
|
|
26
28
|
|
|
27
29
|
## One versioned source
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Format 1 is validated by the same pure model in the CLI and browser. See the [complete fictional example](../examples/review/review.json) and [compiled validator](../dist/review-model.js). Unknown formats, unknown/missing fields, duplicate IDs, invalid destinations and dangling references are rejected with errors that omit source contents. Arrays are bounded to 256 items, text fields to 16,384 characters, and input to 4 MiB. Image data has a separate limit of approximately 1 MiB per PNG/JPEG.
|
|
32
|
-
|
|
33
|
-
| Object | Required fields and ownership |
|
|
34
|
-
|---|---|
|
|
35
|
-
| Review | format, id, title, project, mission, tickets, date, scope, exclusions, revision, technologies, sources, checks, findings, evidence, limits, policy, summary |
|
|
36
|
-
| revision | commit (recorded revision label), dirty (explicit uncommitted changes); no automatic Git execution |
|
|
37
|
-
| technologies | name, version, detectedFrom (actual manifest/lockfile/source evidence) |
|
|
38
|
-
| ticket | id, title, url (HTTPS or null; local/unpublished destinations remain unavailable) |
|
|
39
|
-
| source | id, title, kind (documentation/skill/project), publisher, technology, version, url, consultedAt, access (consulted/unavailable/unverified), usage, compatibility, provenance; consulted requires a date |
|
|
40
|
-
| check | id, title, domain, kind (automated/manual), status (passed/failed/not-run/blocked/out-of-scope), result, reason, evidenceIds, revision, targets; unexecuted/excluded checks need a reason |
|
|
41
|
-
| finding | id, title, domain, severity (critical/major/moderate/minor), severityReason, confidence (confirmed/suspected), resolution (open/in-progress/resolved/accepted-risk), location, trigger, expected, observed, impact, reproduction, evidenceIds, correction, tradeoffs, sourceIds, ticketIds, verification, resolutionEvidenceIds, targets |
|
|
42
|
-
| location | path or component description, line (positive integer or null), component (text or null); display metadata, never arbitrary file access |
|
|
43
|
-
| evidence | id, title, kind (text/log/screenshot/diagram), content (text alternative or excerpt), url (HTTPS or null), image (null or explicit PNG/JPEG object) |
|
|
44
|
-
| image | mime=image/png or image/jpeg, base64, alt, origin=captured/explanatory, privacyReviewed=true; only deliberately included reviewed images, not filesystem paths or remote images |
|
|
45
|
-
| policy | blockingSeverities, requireAllChecks, rationale; project-owned explicit policy, no numeric risk score |
|
|
46
|
-
|
|
47
|
-
A confirmed finding still needs evidence or reproduction. A resolved finding requires resolution evidence IDs; schema validation checks the references, **not the truth of execution or whether the fix really works**. Authors must retain the original evidence and supply fresh verification. Closing a panel never changes resolution. Finding counts include all resolution states and stay independent from filtered results; uncertain unresolved findings have a separate count. Failed-check counts are separate from finding counts.
|
|
48
|
-
|
|
49
|
-
A blocking confirmed open finding or a failed check requires corrections. Otherwise a blocked check yields blocked; no passed checks, an unresolved suspected finding, or required unrun checks yields incomplete. Otherwise the conclusion is ready **on the verified scope**, with exclusions and limits still visible. This conclusion does not authorize integration/deployment or replace repository policy.
|
|
31
|
+
The [installed review format reference](../.agents/skills/scoped-delivery/references/review-format.md) owns fields, statuses and conclusion rules. It is shipped with scoped-delivery so authoring does not require a package download. The [complete fictional example](../examples/review/review.json) and [compiled validator](../dist/review-model.js) support optional browser export. Use one result owner and derive reports from it.
|
|
50
32
|
|
|
51
33
|
## Browser journey
|
|
52
34
|
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@ try {
|
|
|
15
15
|
run('tar', ['-xzf', '-'], root, 0, fs.readFileSync(path.resolve(archive)));
|
|
16
16
|
const pkg = path.join(root, 'package'); const cli = path.join(pkg, 'dist/cli.js');
|
|
17
17
|
const call = (args, expected = 0) => run(process.execPath, [cli, ...args], root, expected);
|
|
18
|
-
assert.equal(JSON.parse(fs.readFileSync(path.join(pkg, 'package.json'))).version, '0.
|
|
18
|
+
assert.equal(JSON.parse(fs.readFileSync(path.join(pkg, 'package.json'))).version, '0.4.0');
|
|
19
19
|
run(process.execPath, ['scripts/check-docs.mjs'], pkg);
|
|
20
20
|
assert.match(call(['--help']), /Markdown PLAN\/tickets and legacy missions/);
|
|
21
21
|
for (const resource of ['project-foundation/references/exploration.md', 'project-foundation/references/delivery-planning.md', 'project-foundation/assets/EXISTANT.md', 'project-foundation/assets/OPPORTUNITES.md', 'project-foundation/assets/CADRAGE.md', 'project-foundation/assets/REGLES.md', 'scoped-delivery/assets/PLAN.md', 'scoped-delivery/assets/TICKET.md', 'scoped-delivery/assets/REPRISE.md', 'scoped-delivery/assets/MISSION.md', 'scoped-delivery/assets/REVIEW.md', 'scoped-delivery/references/review-workflow.md']) {
|
|
@@ -37,6 +37,12 @@ try {
|
|
|
37
37
|
const project = path.join(root, host);
|
|
38
38
|
call(['init', '--tool', host, '--dest', project]);
|
|
39
39
|
assert.equal(JSON.parse(call(['doctor', '--dest', project, '--json'])).status, 'ok');
|
|
40
|
+
const skillRoot = { codex: '.agents/skills', claude: '.claude/skills', cursor: '.cursor/skills' }[host];
|
|
41
|
+
const entries = fs.readdirSync(path.join(project, skillRoot)).filter(name => name.startsWith('devmethod-'));
|
|
42
|
+
assert.equal(entries.length, 14);
|
|
43
|
+
assert.ok(entries.includes('devmethod-review'));
|
|
44
|
+
for (const name of entries) assert.ok(fs.statSync(path.join(project, skillRoot, name, 'SKILL.md')).size > 0);
|
|
45
|
+
assert.ok(fs.statSync(path.join(project, skillRoot, 'scoped-delivery/references/review-format.md')).size > 0);
|
|
40
46
|
const profile = path.join(project, 'PROJECT_PROFILE.md'); fs.appendFileSync(profile, '\nFictional local customization.\n');
|
|
41
47
|
const before = fs.readFileSync(profile);
|
|
42
48
|
const preview = JSON.parse(call(['update-preview', '--dest', project, '--json']));
|
|
@@ -75,5 +81,5 @@ try {
|
|
|
75
81
|
assert.deepEqual([fs.readFileSync(customized), fs.readFileSync(profile)], before);
|
|
76
82
|
console.log(`Actual legacy tarball: ${upstreamChanged ? 'local/upstream conflict' : 'unchanged upstream with local customization'} detected; filled profile/custom skill preserved.`);
|
|
77
83
|
}
|
|
78
|
-
console.log('Packed 0.
|
|
84
|
+
console.log('Packed 0.4.0: three host installs, subset, customization preservation, mission/context/staleness/planning and documentation links passed. No native host execution.');
|
|
79
85
|
} finally { fs.rmSync(root, { recursive: true, force: true }); }
|