bmad-method 6.10.1-next.33 → 6.10.1-next.35
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 +4 -3
- package/src/bmm-skills/4-implementation/bmad-agent-dev/customize.toml +1 -1
- package/src/bmm-skills/4-implementation/bmad-build/customize.toml +38 -0
- package/src/bmm-skills/4-implementation/bmad-build/render.py +7 -0
- package/src/bmm-skills/4-implementation/bmad-build/step-05-present.md +6 -9
- package/src/bmm-skills/4-implementation/bmad-build/step-oneshot.md +9 -10
- package/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md +52 -1490
- package/src/bmm-skills/4-implementation/bmad-retrospective/customize.toml +2 -2
- package/src/bmm-skills/4-implementation/bmad-retrospective/references/acceptance-verdict.md +55 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/references/aggregate-views.md +17 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/references/evidence-gathering.md +24 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/references/retro-document.md +84 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/references/team-discussion.md +22 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/scripts/__pycache__/sprint_status.cpython-311.pyc +0 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/scripts/git_evidence.py +304 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/scripts/sprint_status.py +746 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/scripts/tests/__pycache__/test_git_evidence.cpython-311-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/scripts/tests/__pycache__/test_sprint_status.cpython-311-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/scripts/tests/test_git_evidence.py +750 -0
- package/src/bmm-skills/4-implementation/bmad-retrospective/scripts/tests/test_sprint_status.py +1580 -0
- package/src/scripts/__pycache__/config_utils.cpython-311.pyc +0 -0
- package/src/scripts/tests/__pycache__/test_config_utils.cpython-311.pyc +0 -0
- package/src/scripts/tests/__pycache__/test_resolve_config.cpython-311.pyc +0 -0
- package/src/scripts/tests/__pycache__/test_resolve_customization.cpython-311.pyc +0 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "bmad-method",
|
|
4
|
-
"version": "6.10.1-next.
|
|
4
|
+
"version": "6.10.1-next.35",
|
|
5
5
|
"description": "Breakthrough Method of Agile AI-driven Development",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"agile",
|
|
@@ -40,14 +40,15 @@
|
|
|
40
40
|
"lint:fix": "eslint . --ext .js,.cjs,.mjs,.yaml --fix",
|
|
41
41
|
"lint:md": "markdownlint-cli2 \"**/*.md\"",
|
|
42
42
|
"prepare": "command -v husky >/dev/null 2>&1 && husky || exit 0",
|
|
43
|
-
"quality": "npm run format:check && npm run lint && npm run lint:md && npm run docs:build && npm run test:site-url && npm run test:install && npm run test:urls && npm run test:renderer && npm run test:build-auto-contract && npm run validate:refs && npm run validate:skills && npm run docs:validate-sidebar",
|
|
43
|
+
"quality": "npm run format:check && npm run lint && npm run lint:md && npm run docs:build && npm run test:site-url && npm run test:install && npm run test:urls && npm run test:renderer && npm run test:retrospective && npm run test:build-auto-contract && npm run validate:refs && npm run validate:skills && npm run docs:validate-sidebar",
|
|
44
44
|
"rebundle": "node tools/installer/bundlers/bundle-web.js rebundle",
|
|
45
|
-
"test": "npm run test:refs && npm run test:install && npm run test:urls && npm run test:site-url && npm run test:channels && npm run test:renderer && npm run test:build-auto-contract && npm run test:skills && npm run lint && npm run lint:md && npm run format:check",
|
|
45
|
+
"test": "npm run test:refs && npm run test:install && npm run test:urls && npm run test:site-url && npm run test:channels && npm run test:renderer && npm run test:retrospective && npm run test:build-auto-contract && npm run test:skills && npm run lint && npm run lint:md && npm run format:check",
|
|
46
46
|
"test:build-auto-contract": "node test/test-build-auto-contract.js",
|
|
47
47
|
"test:channels": "node test/test-installer-channels.js",
|
|
48
48
|
"test:install": "node test/test-installation-components.js",
|
|
49
49
|
"test:refs": "node test/test-file-refs-csv.js",
|
|
50
50
|
"test:renderer": "uv run --python 3.11 python -m unittest src/scripts/tests/test_config_utils.py src/scripts/tests/test_resolve_config.py src/scripts/tests/test_resolve_customization.py && node test/test-build-renderer.js && node test/test-build-auto-renderer.js",
|
|
51
|
+
"test:retrospective": "uv run --python 3.11 src/bmm-skills/4-implementation/bmad-retrospective/scripts/tests/test_git_evidence.py && uv run --python 3.11 src/bmm-skills/4-implementation/bmad-retrospective/scripts/tests/test_sprint_status.py",
|
|
51
52
|
"test:site-url": "node test/test-site-url.mjs",
|
|
52
53
|
"test:skills": "node test/test-validate-skills.js",
|
|
53
54
|
"test:urls": "node test/test-parse-source-urls.js",
|
|
@@ -33,6 +33,44 @@ persistent_facts = [
|
|
|
33
33
|
|
|
34
34
|
on_complete = ""
|
|
35
35
|
|
|
36
|
+
# How Build opens a completed spec for human review. The default deliberately
|
|
37
|
+
# opens the repository root first and the spec second in a reused VS Code
|
|
38
|
+
# window so relative review links resolve in the correct workspace. Override
|
|
39
|
+
# this with the application and equivalent behavior you prefer. Set it to an
|
|
40
|
+
# empty string to disable automatic opening and all related completion output.
|
|
41
|
+
# Example requests for bmad-customize: "Open completed specs in Cursor and
|
|
42
|
+
# reuse the project window" or "Do not open completed specs automatically."
|
|
43
|
+
#
|
|
44
|
+
# Example `open_spec` override instructions for bmad-build.user.toml:
|
|
45
|
+
# {project-root} and {spec_file} are substituted at run time.
|
|
46
|
+
#
|
|
47
|
+
# VS Code and compatible GUI editors — shipped default uses `code`; Cursor,
|
|
48
|
+
# Windsurf, Antigravity, Zed, and similar editors can substitute their launcher.
|
|
49
|
+
# Preserve reuse-window behavior when the launcher supports it, and always pass
|
|
50
|
+
# the repository root first and the spec second:
|
|
51
|
+
# Run `code -r "{project-root}" "{spec_file}"`, root first.
|
|
52
|
+
# Run `cursor -r "{project-root}" "{spec_file}"`, root first.
|
|
53
|
+
# Run `windsurf -r "{project-root}" "{spec_file}"`, root first.
|
|
54
|
+
# Run `zed "{project-root}" "{spec_file}"`, root first.
|
|
55
|
+
#
|
|
56
|
+
# IntelliJ IDEA — its CLI accepts one path per invocation:
|
|
57
|
+
# Run `idea "{project-root}"` to open the project, then
|
|
58
|
+
# `idea "{spec_file}"` to open the spec in that project.
|
|
59
|
+
#
|
|
60
|
+
# Vim — keep repository context as the working directory:
|
|
61
|
+
# Run `cd "{project-root}" && vim "{spec_file}"`.
|
|
62
|
+
#
|
|
63
|
+
# Emacs — reuse an Emacs server without waiting for the buffer to close:
|
|
64
|
+
# Run `cd "{project-root}" && emacsclient -n "{spec_file}"`.
|
|
65
|
+
#
|
|
66
|
+
# For every non-empty override, also tell Build to note in the completion summary
|
|
67
|
+
# that the spec was sent to the chosen editor and contains a Suggested Review
|
|
68
|
+
# Order, then include the default navigation tip shown below.
|
|
69
|
+
|
|
70
|
+
open_spec = """
|
|
71
|
+
Run `code -r "{project-root}" "{spec_file}"` — the repository root first so VS Code opens in the right context, then the spec file. Always double-quote both paths to handle spaces and special characters. If `code` is unavailable or the command fails, skip gracefully and tell the user the spec file path instead. In the completion summary, note that the spec was sent to VS Code and that it contains a Suggested Review Order, then add this navigation tip: "Ctrl+click (Cmd+click on macOS) the links in the Suggested Review Order to jump to each stop."
|
|
72
|
+
"""
|
|
73
|
+
|
|
36
74
|
# Handoff for the implementation subagent in step 03. The whole execution
|
|
37
75
|
# recipe — a subagent by default, but an override may run it any other way
|
|
38
76
|
# (a different model, an external coding tool via bash). {spec_file} is
|
|
@@ -391,6 +391,13 @@ def main():
|
|
|
391
391
|
|
|
392
392
|
skill_dir = script_dir.replace(os.sep, "/")
|
|
393
393
|
workflow = resolve_workflow(root, skill_dir, skill_name)
|
|
394
|
+
open_spec = workflow.get("open_spec")
|
|
395
|
+
if not isinstance(open_spec, str):
|
|
396
|
+
print(
|
|
397
|
+
"HALT and report to the user: customization `workflow.open_spec` "
|
|
398
|
+
"must be a string"
|
|
399
|
+
)
|
|
400
|
+
sys.exit(1)
|
|
394
401
|
workflow = expand_review_layer_skill_roots(workflow, skill_dir)
|
|
395
402
|
|
|
396
403
|
out_dir = posixpath.join(root, "_bmad", "render", skill_name)
|
|
@@ -54,20 +54,17 @@ Change `{spec_file}` status to `done` in the frontmatter.
|
|
|
54
54
|
|
|
55
55
|
Follow `./sync-sprint-status.md` with `target_status` = `review`.
|
|
56
56
|
|
|
57
|
-
### Commit and
|
|
57
|
+
### Commit and Complete
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
- If `code` is not available (command fails), skip gracefully and tell the user the spec file path instead.
|
|
59
|
+
If version control is available and the tree is dirty, create a local commit with a conventional message derived from the spec title.
|
|
60
|
+
|
|
61
|
+
{workflow.open_spec}
|
|
63
62
|
|
|
64
63
|
### Display Summary
|
|
65
64
|
|
|
66
|
-
Display summary of your work to the user, including the commit hash if one was created. Any file paths shown in conversation/terminal output must use CWD-relative format (no leading `/`) with `:line` notation (e.g., `src/path/file.ts:42`) for terminal clickability — the goal is to make paths clickable in terminal emulators.
|
|
65
|
+
Display summary of your work to the user, including the commit hash if one was created. Any file paths shown in conversation/terminal output must use CWD-relative format (no leading `/`) with `:line` notation (e.g., `src/path/file.ts:42`) for terminal clickability — the goal is to make paths clickable in terminal emulators.
|
|
67
66
|
|
|
68
|
-
|
|
69
|
-
- **Navigation tip:** "Ctrl+click (Cmd+click on macOS) the links in the Suggested Review Order to jump to each stop."
|
|
70
|
-
- Offer to push and/or create a pull request.
|
|
67
|
+
Offer to push and/or create a pull request.
|
|
71
68
|
|
|
72
69
|
Workflow complete.
|
|
73
70
|
|
|
@@ -56,16 +56,15 @@ If version control is available and the tree is dirty, create a local commit wit
|
|
|
56
56
|
|
|
57
57
|
### Present
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
3. Offer to push and/or create a pull request.
|
|
59
|
+
{workflow.open_spec}
|
|
60
|
+
|
|
61
|
+
Display a summary in conversation output, including:
|
|
62
|
+
|
|
63
|
+
- The commit hash (if one was created).
|
|
64
|
+
- List of files changed with one-line descriptions. Any file paths shown in conversation/terminal output must use CWD-relative format (no leading `/`) with `:line` notation (e.g., `src/path/file.ts:42`) for terminal clickability — this differs from spec-file links which use spec-file-relative paths.
|
|
65
|
+
- Review findings breakdown: patches applied, items deferred, items rejected. If all findings were rejected, say so.
|
|
66
|
+
|
|
67
|
+
Offer to push and/or create a pull request.
|
|
69
68
|
|
|
70
69
|
HALT and wait for human input.
|
|
71
70
|
|