bmad-method 6.10.1-next.20 → 6.10.1-next.21
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/package.json +1 -1
- package/src/bmm-skills/4-implementation/bmad-dev-auto/spec-template.md +2 -2
- package/src/bmm-skills/4-implementation/bmad-dev-auto/step-02-plan.md +2 -2
- package/src/bmm-skills/4-implementation/bmad-quick-dev/customize.toml +23 -0
- package/src/bmm-skills/4-implementation/bmad-quick-dev/spec-template.md +2 -2
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-02-plan.md +2 -2
- package/src/bmm-skills/4-implementation/bmad-quick-dev/step-03-implement.md +6 -2
package/package.json
CHANGED
|
@@ -48,10 +48,10 @@ warnings: [] # optional: machine-readable warnings for orchestration, e.g. overs
|
|
|
48
48
|
|
|
49
49
|
## Code Map
|
|
50
50
|
|
|
51
|
-
<!-- Agent-populated during planning. Annotated paths prevent blind codebase searching. -->
|
|
51
|
+
<!-- Agent-populated during planning: the distilled investigation map, so the spec carries what exploration found and the implementation handoff need only point here. Annotated paths prevent blind codebase searching. Entries may drill to symbol/line and carry reuse pointers ("mirror X at FILE:LINE") or read-only evidence, where they save the implementer a search. -->
|
|
52
52
|
|
|
53
53
|
- `FILE` -- ROLE_OR_RELEVANCE
|
|
54
|
-
- `FILE` -- ROLE_OR_RELEVANCE
|
|
54
|
+
- `FILE:LINE` -- ROLE_OR_RELEVANCE; reuse pointer or READ-ONLY evidence when relevant
|
|
55
55
|
|
|
56
56
|
## Tasks & Acceptance
|
|
57
57
|
|
|
@@ -12,8 +12,8 @@ deferred_work_file: '{implementation_artifacts}/deferred-work.md'
|
|
|
12
12
|
## INSTRUCTIONS
|
|
13
13
|
|
|
14
14
|
1. Draft resume check. If `{spec_file}` exists with `status: draft`, read it and capture the verbatim `<intent-contract>...</intent-contract>` block as `preserved_intent_contract`. Otherwise `preserved_intent_contract` is empty.
|
|
15
|
-
2. Investigate codebase. _Read the code yourself for narrow, localized tasks. Isolate deep exploration in synchronous subagents: instruct them to give you distilled summaries only, and plan from those summaries._
|
|
16
|
-
3. Read `./spec-template.md` fully. Fill it out based on the intent and investigation. If `{preserved_intent_contract}` is non-empty, substitute it for the `<intent-contract>` block in your filled spec before writing. Write the result to `{spec_file}`.
|
|
15
|
+
2. Investigate codebase. _Read the code yourself for narrow, localized tasks. Isolate deep exploration in synchronous subagents: instruct them to give you distilled summaries only, and plan from those summaries._ Decide which findings actually matter for execution — the specific files, symbols/lines, reuse points, and read-only constraints — and carry those forward for the Code Map. This is where the investigation lands: the spec preserves it so it is never re-narrated to the implementer at dispatch time.
|
|
16
|
+
3. Read `./spec-template.md` fully. Fill it out based on the intent and investigation. Drain the investigation into the `## Code Map` section — annotated paths, symbol/line anchors, reuse pointers, and read-only evidence — so the spec is the implementer's investigation map and the step-03 handoff need only point at it. If `{preserved_intent_contract}` is non-empty, substitute it for the `<intent-contract>` block in your filled spec before writing. Write the result to `{spec_file}`.
|
|
17
17
|
4. Self-review against READY FOR DEVELOPMENT standard.
|
|
18
18
|
5. If intent gaps exist, do not fantasize and do not leave open questions. Multiple defensible readings of the intent that lead to observably different outcomes, with nothing in the intent to select between them, are an intent gap — do not resolve one by picking a reading. HALT with status `blocked`, blocking condition `intent gap`, and include the unanswered questions and evidence gathered.
|
|
19
19
|
6. Warning check. If step-01 carried `multiple-goals`, add it to `{spec_file}` frontmatter `warnings`. If `{spec_file}` exceeds 1600 tokens, add `oversized` to frontmatter `warnings`. Continue either way.
|
|
@@ -33,6 +33,29 @@ persistent_facts = [
|
|
|
33
33
|
|
|
34
34
|
on_complete = ""
|
|
35
35
|
|
|
36
|
+
# Handoff for the implementation subagent in step 03 — nailed down here the same
|
|
37
|
+
# way the review layers below are, so the main session never improvises a fat
|
|
38
|
+
# dispatch prompt. The spec is the subagent's sole source of truth; investigation
|
|
39
|
+
# findings belong in the spec's Code Map (see step 02), not re-narrated here.
|
|
40
|
+
# {spec_file} is substituted at run time. An override may replace the whole recipe
|
|
41
|
+
# (e.g. drive an external coding tool via bash).
|
|
42
|
+
|
|
43
|
+
implementation_handoff = """
|
|
44
|
+
Launch a subagent with no prior conversation context, with this prompt:
|
|
45
|
+
|
|
46
|
+
> Read {spec_file} fully and implement it. The spec is the sole source of truth for this change; its Code Map is your investigation map, and its Spec Change Log entries are binding constraints, not history.
|
|
47
|
+
>
|
|
48
|
+
> Guardrails:
|
|
49
|
+
>
|
|
50
|
+
> - Work in the current project. Before starting, load every file listed in the spec frontmatter `context:`.
|
|
51
|
+
> - Do not edit the spec file itself.
|
|
52
|
+
> - Do not commit or push — that happens later in the workflow.
|
|
53
|
+
> - Do not revert or overwrite changes unrelated to this spec.
|
|
54
|
+
> - Run the verification described in the spec, plus focused checks for the code you touched.
|
|
55
|
+
>
|
|
56
|
+
> When done, report: files changed with one line each, verification commands run and their outcomes, any files changed beyond the spec's tasks and why each was needed, anything you could not complete and why, and residual risks.
|
|
57
|
+
"""
|
|
58
|
+
|
|
36
59
|
# Review layers for the review step. `instruction` is the layer's whole
|
|
37
60
|
# execution recipe — subagents by default, but an override may run anything
|
|
38
61
|
# (e.g. an external reviewer via bash). {diff_output} is substituted at run
|
|
@@ -46,10 +46,10 @@ context: [] # optional: `{project-root}/`-prefixed paths to project-wide standar
|
|
|
46
46
|
|
|
47
47
|
## Code Map
|
|
48
48
|
|
|
49
|
-
<!-- Agent-populated during planning. Annotated paths prevent blind codebase searching. -->
|
|
49
|
+
<!-- Agent-populated during planning: the distilled investigation map, so the spec carries what exploration found and the implementation handoff need only point here. Annotated paths prevent blind codebase searching. Entries may drill to symbol/line and carry reuse pointers ("mirror X at FILE:LINE") or read-only evidence, where they save the implementer a search. -->
|
|
50
50
|
|
|
51
51
|
- `FILE` -- ROLE_OR_RELEVANCE
|
|
52
|
-
- `FILE` -- ROLE_OR_RELEVANCE
|
|
52
|
+
- `FILE:LINE` -- ROLE_OR_RELEVANCE; reuse pointer or READ-ONLY evidence when relevant
|
|
53
53
|
|
|
54
54
|
## Tasks & Acceptance
|
|
55
55
|
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
## INSTRUCTIONS
|
|
9
9
|
|
|
10
10
|
1. Draft resume check. If `{spec_file}` exists with `status: draft`, read it and capture the verbatim `<frozen-after-approval>...</frozen-after-approval>` block as `preserved_intent`. Otherwise `preserved_intent` is empty.
|
|
11
|
-
2. Investigate codebase. _Isolate deep exploration in synchronous subagents/tasks where available. To prevent context snowballing, instruct subagents to give you distilled summaries only._
|
|
12
|
-
3. Read `./spec-template.md` fully. Fill it out based on the intent and investigation, resolving the template's `date` field to the current system date. If `preserved_intent` is non-empty, replace the `<frozen-after-approval>` block in the spec you just filled out with `preserved_intent`, before writing. Write the result to `{spec_file}`.
|
|
11
|
+
2. Investigate codebase. _Isolate deep exploration in synchronous subagents/tasks where available. To prevent context snowballing, instruct subagents to give you distilled summaries only._ Decide which findings actually matter for execution — the specific files, symbols/lines, reuse points, and read-only constraints — and carry those forward for the Code Map. This is where the investigation lands: the spec preserves it so it is never re-narrated to the implementer at dispatch time.
|
|
12
|
+
3. Read `./spec-template.md` fully. Fill it out based on the intent and investigation, resolving the template's `date` field to the current system date. Drain the investigation into the `## Code Map` section — annotated paths, symbol/line anchors, reuse pointers, and read-only evidence — so the spec is the implementer's investigation map and the step-03 handoff need only point at it. If `preserved_intent` is non-empty, replace the `<frozen-after-approval>` block in the spec you just filled out with `preserved_intent`, before writing. Write the result to `{spec_file}`.
|
|
13
13
|
4. Self-review against READY FOR DEVELOPMENT standard.
|
|
14
14
|
5. If intent gaps exist, do not fantasize, do not leave open questions, HALT and ask the human.
|
|
15
15
|
6. Token count check (see SCOPE STANDARD). If spec exceeds 1600 tokens:
|
|
@@ -26,9 +26,13 @@ Change `{spec_file}` status to `in-progress` in the frontmatter before starting
|
|
|
26
26
|
|
|
27
27
|
Follow `./sync-sprint-status.md` with `target_status` = `in-progress`.
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
Execute the implementation handoff below: substitute the runtime placeholders (e.g. `{spec_file}`) into it, then follow it verbatim.
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
{workflow.implementation_handoff}
|
|
32
|
+
|
|
33
|
+
Do not add goal restatements, file lists, ownership boundaries, investigation detail, acceptance criteria, or CLAUDE.md/house-style rules to the dispatch — the spec is the subagent's sole source of truth, and that material already lives in it (investigation findings in its Code Map, the rest in the spec body). One line of sanctioned hedging belongs in the spec at planning time, not in the dispatch. If no subagents are available, implement directly from the spec. If the platform allows, keep the subagent available for re-engagement after it returns — step-04 may send it review fixes.
|
|
34
|
+
|
|
35
|
+
The handoff directs the subagent to load the spec's `context:` files itself, so never pre-load and paste those files into the dispatch. Only when you implement directly (no subagent available) do you load a non-empty `context:` list yourself before starting.
|
|
32
36
|
|
|
33
37
|
**Path formatting rule:** Any markdown links written into `{spec_file}` must use paths relative to `{spec_file}`'s directory so they are clickable in VS Code. Any file paths displayed in terminal/conversation output must use CWD-relative format with `:line` notation (e.g., `src/path/file.ts:42`) for terminal clickability. No leading `/` in either case.
|
|
34
38
|
|