Commit Graph

1709 Commits

Author SHA1 Message Date
Alex Verkhovsky 1a78916e3c
Merge branch 'main' into fix/issue-2066-user-name-spaces 2026-03-21 15:39:19 -06:00
Alex Verkhovsky 10282a4a14
fix(quick-dev): use absolute paths in code -r invocations (#2087)
* fix(quick-dev): use absolute paths in code -r invocations

Agent CWD may differ from the project root in worktree setups,
causing relative paths to silently fail. Resolve paths via
git rev-parse --show-toplevel before invoking code -r.

* fix(quick-dev): add CWD fallback when git rev-parse fails

Adds graceful fallback to current working directory when
git rev-parse --show-toplevel fails (VCS unavailable).
2026-03-21 15:37:04 -06:00
Alex Verkhovsky a59ae5c842
fix(quick-dev): make file path references clickable (#2085)
* fix(quick-dev): make file path references clickable

Spec-file links use paths relative to the spec file's
directory (clickable in VS Code). Terminal output paths
use CWD-relative format for terminal clickability.

* fix(quick-dev): add :line suffix to step-oneshot path example

Aligns the file path example in step-oneshot.md with the clickable
`:line` format already enforced in step-03-implement.md and
step-05-present.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 12:20:45 -06:00
majiayu000 4d153c35da
fix: use execFileSync to preserve spaces in CLI arguments
Replace execSync with execFileSync in npx wrapper so that
argument values containing spaces (e.g. --user-name "CI Bot")
are passed as discrete array elements instead of being split
by the shell.

Fixes #2066

Signed-off-by: majiayu000 <1835304752@qq.com>
2026-03-21 19:53:58 +08:00
Alex Verkhovsky ad9cb7a177
refactor(installer): remove dead .agent.yaml/.xml fallback logic (#2084) 2026-03-21 01:52:39 -06:00
Alex Verkhovsky 93a1e1dc46
refactor(installer): remove dead task/tool/workflow manifest code (#2083)
* refactor(installer): discover skills by SKILL.md instead of manifest YAML

Switch skill discovery gate from requiring bmad-skill-manifest.yaml with
type: skill to detecting any directory with a valid SKILL.md (frontmatter
name + description, name matches directory name). Delete 34 stub manifests
that carried no data beyond type: skill. Agent manifests (9) are retained
for persona metadata consumed by agent-manifest.csv.

* refactor(installer): remove dead task/tool/workflow manifest code

The remove-skill-manifest-yaml branch deleted the scanners that
discover tasks, tools, and workflows but left behind the code that
writes their manifest CSVs. Remove collectTasks/Tools/Workflows,
writeTaskManifest/ToolManifest/WorkflowManifest, their helpers, and
the now-unreachable getPreservedCsvRows/upgradeRowToSchema methods.
Update installer pre-registration and test assertions accordingly.
2026-03-21 00:12:40 -06:00
Alex Verkhovsky 31ae226bb4
refactor(installer): discover skills by SKILL.md instead of manifest YAML (#2082)
Switch skill discovery gate from requiring bmad-skill-manifest.yaml with
type: skill to detecting any directory with a valid SKILL.md (frontmatter
name + description, name matches directory name). Delete 34 stub manifests
that carried no data beyond type: skill. Agent manifests (9) are retained
for persona metadata consumed by agent-manifest.csv.
2026-03-21 00:11:23 -06:00
Alex Verkhovsky c28206dca4
refactor(installer): remove dead agent compilation pipeline (#2080)
* refactor(installer): remove dead agent compilation pipeline

Delete 9 files (~2,600 lines) that compiled .agent.yaml to .md.
No .agent.yaml files exist in the source tree — agents now ship
as pre-built SKILL.md. Clean up all references in installer,
module manager, custom handler, base IDE, UI, and tests.

* refactor(custom-handler): remove dead install/copy/find methods

CustomHandler.install(), copyDirectory(), and findFilesRecursively()
are never called — custom modules are installed via moduleManager.install()
since Dec 2025. Also removes unused FileOps import and constructor.

Verified with before/after clean-installer comparison (codex + custom
modules with custom.yaml): output is identical.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(installer): remove dead compilation refs from docs and module manager

Address review findings from PR #2080 triage:
- Remove compile-agents from CLI action docs (en, fr, zh-cn)
- Remove dead vendorCrossModuleWorkflows() and .agent.yaml skip logic
- Clean stale compilation-era comments in manifest-generator

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 22:52:02 -06:00
Emmanuel Atsé 1a6f8d52bc
docs: i18n: Add complete French translation (#2073)
* docs: i18n(fr): add complete French translation

Add comprehensive French (fr-FR) translation covering all documentation
sections and website configuration:

- Core docs, How-to guides, Explanations, References
- Website config: astro.config.mjs locale setup, fr-FR.json i18n strings
- Assets: French workflow map diagram and quick-dev diagram

Terminology standardized on "Quick Dev" (replacing legacy "Quick Flow").

* docs(fr): remove references to deleted phase-4 agent personas

Remove all references to deleted phase-4 agent personas from French
documentation, matching upcoming PR #2020 changes:

- Remove agent personas: dev/Amelia, pm/John, qa/Quinn, sm/Bob,
  quick-flow-solo-dev/Barry, bmad-master
- Replace deleted agent skill invocations with equivalent workflow skills
  (bmad-dev-story, bmad-qa-generate-e2e-tests, bmad-quick-dev, etc.)
- Depersonalize QA references ("Quinn" → "QA Intégré" / "Workflow QA")
- Simplify workflow invocation instructions (remove "invoke agent" pattern)
- Fix upgrade-to-v6.md SM/Scrum Master references

* docs(fr): fix typos

---------

Co-authored-by: Alex Verkhovsky <alexey.verkhovsky@gmail.com>
2026-03-20 17:10:49 -06:00
Alex Verkhovsky 1cb913523e
refactor(installer): remove legacy workflow, task, and agent IDE generators (#2078)
* refactor(installer): remove legacy workflow, task, and agent IDE generators

All platforms now use skill_format exclusively. The old
WorkflowCommandGenerator, TaskToolCommandGenerator, and
AgentCommandGenerator code paths in _config-driven.js were
no-ops — collectSkills claims every directory before the
legacy collectors run, making their manifests empty.

Removed:
- workflow-command-generator.js (deleted)
- task-tool-command-generator.js (deleted)
- writeAgentArtifacts, writeWorkflowArtifacts, writeTaskToolArtifacts
- AgentCommandGenerator import from _config-driven.js
- Legacy artifact_types/agents/workflows/tasks result fields

Simplified installToTarget, installToMultipleTargets, printSummary,
and IDE manager detail builder to skills-only.

Updated test fixture to use SKILL.md format instead of old agent format.

* fix(installer): address PR review findings from #2078

- Fix temp dir leak in test fixture cleanup (use path.dirname)
- Fail loudly when skill_format missing instead of silent success
- Add workflow.md to test fixture for verbatim-copy coverage

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 15:18:47 -06:00
Emmanuel Atsé a2839cbee0
docs: fix duplicate sidebar order number (#2071)
how-to/ customize-bmad.md and project-context.md had the same order
number

Co-authored-by: Alex Verkhovsky <alexey.verkhovsky@gmail.com>
2026-03-20 11:38:35 -06:00
Alex Verkhovsky 6a73623f33
refactor(core-skills): flatten 7 skills by inlining workflow.md into SKILL.md (#2077)
Inline workflow.md content directly into SKILL.md for: editorial-review-prose,
editorial-review-structure, help, index-docs, review-adversarial-general,
review-edge-case-hunter, and shard-doc. Deletes the now-redundant workflow.md
files. No behavioral change — same pattern as advanced-elicitation in PR #2076.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 11:29:19 -06:00
Emmanuel Atsé 3ca957e229
docs(zh-cn): correct anchor links to match Chinese headings (#2072)
Co-authored-by: Alex Verkhovsky <alexey.verkhovsky@gmail.com>
2026-03-20 11:20:02 -06:00
Alex Verkhovsky 9725b0ae90
refactor(skill): flatten advanced-elicitation by inlining workflow into SKILL.md (#2076)
Merge workflow.md content directly into SKILL.md and delete the
now-redundant workflow file.  The frontmatter `agent_party` variable
moves into SKILL.md; all relative file references (`./methods.csv`)
remain valid.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 11:08:53 -06:00
Alex Verkhovsky 182550407c
fix(code-review): update sprint-status to done after review completes (#2074)
* fix(code-review): update sprint-status to done after review completes

The code-review workflow ended without updating sprint-status.yaml from
"review" to "done", leaving stories stuck in review status. The dev-story
workflow implies code-review handles this transition but it was dropped
during the v6.2.0 step-file architecture refactor.

- Add sprint_status path to workflow initialization
- Track story_key in step-01 when discovered from sprint status
- Add step-04 section 6 to update sprint-status.yaml and story file
- Add step-04 section 7 with next-step options

Closes #2043

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(code-review): address PR review findings — split gating, story_key guard, HALT

- Split section 6 guard: story file status gated on spec_file only,
  sprint-status sync sub-gated on story_key separately
- Add conditional branch for manual choice in multi-story path so
  story_key is cleared when user declines a story selection
- Add HALT directive after Next steps menu to prevent LLM runaway

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 10:56:08 -06:00
dependabot[bot] 4b2389231f
chore(deps): bump h3 from 1.15.5 to 1.15.8 (#2064)
Bumps [h3](https://github.com/h3js/h3) from 1.15.5 to 1.15.8.
- [Release notes](https://github.com/h3js/h3/releases)
- [Changelog](https://github.com/h3js/h3/blob/main/CHANGELOG.md)
- [Commits](https://github.com/h3js/h3/compare/v1.15.5...v1.15.8)

---
updated-dependencies:
- dependency-name: h3
  dependency-version: 1.15.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Verkhovsky <alexey.verkhovsky@gmail.com>
2026-03-20 01:13:25 -06:00
Alex Verkhovsky 9088d4958b
fix(code-review): restore actionable review output with interactive choices (#2055)
* fix(code-review): restore actionable review output with interactive choices

The March 15 rewrite (PR #2007) removed the ability to auto-fix patches,
create action items in story files, and handle deferred/spec findings.
This restores interactive post-review actions:

- Deferred findings: auto-written to deferred-work.md and checked off in story
- Intent gap/bad spec: conversation with downgrade-to-patch, patch-spec,
  reset-to-ready-for-dev, or dismiss options
- Patch findings: fix automatically, create action items, or show details

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* refactor(code-review): simplify triage to decision-needed/patch/defer/dismiss

Replace 5-bucket classification (intent_gap, bad_spec, patch, defer, reject)
with 4 pragmatic buckets. Findings always written to story file first.
Decision-needed findings gate patch handling — resolve ambiguity before fixing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(code-review): address PR review findings in step-04-present

Replace undefined curly-brace placeholders with angle-bracket syntax,
add HALT guard before patch menu, guard spec_file references for
no-spec mode, and backtick category names for consistency.

* feat(code-review): add HALT guards, batch option, defer reason, final summary

Add strong HALT guards after decision-needed and patch menus to prevent
auto-progression. Add batch-apply option 0 for >3 patch findings. Prompt
for defer reason and append to story file and deferred-work.md. Show
boxed final summary with counts. Polish clean-review shortcut in triage.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 01:07:04 -06:00
Alex Verkhovsky 0d2863f77f
fix: separate subagent launch from skill invocation in code review (#2069)
* fix: separate subagent launch from skill invocation in code review

The step-02-review prompt fused "invoke skill X" with "in a subagent"
into one instruction, causing LLMs to search for a named agent instead
of launching a generic subagent that uses the skill. Aligns with the
working pattern in quick-dev step-04: upfront gate with inline fallback,
and "Invoke via the skill" as a separate concern from subagent setup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(code-review): address PR review findings on subagent fallback wording

Capitalize "Markdown" (proper noun) in Acceptance Auditor prompt and
simplify fallback trigger from "context-free subagents" to "subagents"
to eliminate ambiguity about when the fallback activates.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 01:04:51 -06:00
Brian a092209267
refactor(analysis): consolidate product brief skills and clean up research (#2070)
Replace bmad-create-product-brief (step-based wizard) and
bmad-product-brief-preview (multi-agent) with a single unified
bmad-product-brief skill. Remove accidentally duplicated market
research step files and template. Update research skill
descriptions to use more natural trigger language.
2026-03-19 20:48:47 -05:00
Murat K Ozcan 1786d1debc
fix: tea agent start (#2067)
* fix: tea agent start

* fix: addressed PR comment
2026-03-19 11:40:43 -05:00
Alex Verkhovsky 4cb58ba9f3
Merge pull request #2065 from bmad-code-org/fix-quick-fixes-doc
docs: rewrite quick-fixes how-to around Quick Dev
2026-03-19 00:14:43 -06:00
Alex Verkhovsky 871d921072 docs: fix stale Quick Flow reference in quick-dev explainer opening
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 00:07:17 -06:00
Alex Verkhovsky 3fad46849f docs: rewrite quick-fixes how-to around Quick Dev workflow
Remove DEV agent references and simplify to Quick Dev as the single
entry point. Show free-form intent examples, add deferred work section,
clarify that Quick Dev commits for you.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 00:05:30 -06:00
Alex Verkhovsky 3bb953f18b
Merge pull request #2063 from bmad-code-org/fix-quick-dev-explainer
docs: restore design philosophy to quick-flow explainer
2026-03-18 23:51:35 -06:00
Alex Verkhovsky 43c59f0cff docs: replace quick-flow explainer with quick-dev, remove stale Quick Spec refs
Quick Flow was an umbrella for quick-spec + quick-dev. Quick Spec is
gone and the new preview was promoted to bmad-quick-dev, so the explainer
should be about quick-dev directly. Replaces quick-flow.md with the
original quick-dev-new-preview.md content (renamed), including the
diagram reference. zh-cn uses the original hand-written Chinese
translation. Also removes stale Quick Spec references from agents.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 23:47:49 -06:00
Frank 3c8d865457
fix: update src/core and src/bmm path references to match renamed directories (#2053)
The v6.2.0 release renamed src/core to src/core-skills and src/bmm to
src/bmm-skills, but the installer CLI code still referenced the old
directory names, causing ENOENT crashes during installation.

Updated all path references across 7 files in tools/cli/ including
path.join() calls, string comparisons, regex patterns, and comments.

Fixes #2052

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-03-18 19:29:16 -05:00
Alex Verkhovsky 1b8424cf6d
Merge pull request #2058 from bmad-code-org/fix-elicitation-trigger
fix: add Use when trigger to advanced-elicitation description
2026-03-18 17:21:40 -06:00
Alex Verkhovsky 9973b3c35a
Merge branch 'main' into fix-elicitation-trigger 2026-03-18 17:20:52 -06:00
Alex Verkhovsky 1a0da0278f
Merge pull request #2051 from bmad-code-org/feat-deterministic-skill-validator
feat(tools): add deterministic skill validator for CI
2026-03-18 17:20:30 -06:00
Alex Verkhovsky 52ebc3330d
Merge branch 'main' into fix-elicitation-trigger 2026-03-18 17:18:11 -06:00
Alex Verkhovsky 8b13628496 fix: add Use if trigger to advanced-elicitation description
Clears the SKILL-06 validator finding for missing trigger phrase.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 16:46:43 -06:00
Alex Verkhovsky 642b6a0cf4 ci: add validate:skills to GitHub quality workflow
The deterministic skill validator was in the npm quality chain but
missing from the GitHub Actions workflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 14:38:09 -06:00
Alex Verkhovsky fd1e24c5c2 fix: address PR review findings in skill validator
- Guard against YAML comment lines in parseFrontmatterMultiline
- Broaden PATH-02 to detect any installed_path mention, not just variable refs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 14:35:52 -06:00
Alex Verkhovsky 84bade9a95
Merge branch 'main' into feat-deterministic-skill-validator 2026-03-18 10:13:59 -06:00
Alex Verkhovsky 4f1894908c refactor: tighten SKILL-04 regex, broaden WF-01/WF-02, remove forbidden names
- SKILL-04: require bmad- prefix, enforce single dashes via regex
  ^bmad-[a-z0-9]+(-[a-z0-9]+)*$, drop FORBIDDEN_NAME_SUBSTRINGS
- WF-01/WF-02: check all .md files (not just workflow.md) for stray
  name/description frontmatter, with tech-writer exception
- Update skill-validator.md prompt to match all rule changes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 08:02:01 -06:00
Alex Verkhovsky 7a214cc7d8 fix: tighten frontmatter parsing and add SKILL-07 body content check
- Require \n---\n (not just \n---) for closing frontmatter delimiter
  in both parseFrontmatter and parseFrontmatterMultiline, with fallback
  for files ending in \n---
- Add SKILL-07: SKILL.md must have non-empty body content after
  frontmatter (L2 instructions are required)
- Update rule count to 14

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 08:02:01 -06:00
Alex Verkhovsky ac5cb552c0 refactor: discover skills by walking src instead of hardcoded paths
Replace SKILL_LOCATIONS array and AGENT_LOCATION constant with a single
walk from SRC_DIR. Any directory under src/ containing SKILL.md is a
skill — no need to enumerate locations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 08:02:00 -06:00
Alex Verkhovsky be555aad8b
Merge pull request #2049 from bmad-code-org/fix-clickable-spec-link-convention
feat(quick-dev): clickable spec link at step-02 checkpoint and CWD-relative path convention
2026-03-18 00:13:04 -06:00
Alex Verkhovsky 22035ef015
Merge branch 'main' into feat-deterministic-skill-validator 2026-03-18 00:11:46 -06:00
Alex Verkhovsky f0e43f02e2 feat(quick-dev): add clickable spec link at step-02 checkpoint and CWD-relative path convention
Step-02 now displays the finalized spec file path as a CWD-relative
clickable link after approval. Step-05 clarifies the dual convention:
project-root-relative paths (leading /) for spec-file content, CWD-relative
paths (no leading /) for terminal/conversation output. One-shot review
order explicitly uses CWD-relative path:line format.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 00:09:25 -06:00
Brian 0380656de6
refactor: consolidate agents into phase-based skill directories (#2050)
* refactor: consolidate agents into phase-based skill directories

Remove separate agent/workflow/skill directories (src/bmm/agents,
src/bmm/workflows, src/core/skills, src/utility/agent-components) and
reorganize all content into phase-based structures under src/bmm-skills
(1-analysis, 2-plan-workflows, 3-solutioning, 4-implementation) and
src/core-skills. Eliminates the agent/skill distinction by treating
agents as skills within their workflow phase.

* fix: update broken file references to use new bmm-skills paths

* docs: update all references for unified bmad-quick-dev workflow

Remove all references to the old separate bmad-quick-spec and
bmad-quick-dev-new-preview workflows. The new bmad-quick-dev is a
unified workflow that handles intent clarification, planning,
implementation, review, and presentation in a single run.

Updated files across English docs, Chinese translations, source
skill manifests, website diagram, and build tooling.
2026-03-18 01:01:33 -05:00
Alex Verkhovsky 5a1f356e2c feat(tools): add deterministic skill validator for CI
Add tools/validate-skills.js — a Node CLI that checks 13 deterministic
rules (SKILL-01–06, WF-01–02, PATH-02, STEP-01/06/07, SEQ-02) across
all skill directories. Runs in under a second, exits non-zero on HIGH+
findings in strict mode, and outputs JSON for the inference validator.

- Add validate:skills npm script to quality chain
- Update skill-validator.md with first-pass integration instructions
- Update AGENTS.md push gate documentation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 23:49:01 -06:00
Alex Verkhovsky 21c2a48ab2
Merge pull request #2048 from bmad-code-org/chore-remove-agent-schema
chore: remove dead agent schema validation infrastructure
2026-03-17 20:51:43 -06:00
Alex Verkhovsky ebbc6d2a33
Merge branch 'main' into chore-remove-agent-schema 2026-03-17 20:41:12 -06:00
Alex Verkhovsky f0c7cf41c7 chore: remove dead agent schema validation infrastructure
The *.agent.yaml format was replaced by SKILL.md-based agents.
Zero agent YAML files remain in src/, so remove the Zod schema,
validator CLI, fixture-based test suite (52 fixtures), unit tests,
CLI integration tests, and the CI steps that invoked them.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 20:20:12 -06:00
Brian 0580164bdc
fix: restore bmad-create-prd task to workflows directory (#2047)
Moves bmad-create-prd from src/core/tasks/ to
src/bmm/workflows/2-plan-workflows/ to align with current project structure.
2026-03-17 21:18:45 -05:00
Alex Verkhovsky 72f6963253
Merge pull request #2045 from bmad-code-org/fix-quick-dev-workflow-preamble
fix(quick-dev): replace role statement with step-following mandate
2026-03-17 19:56:06 -06:00
Alex Verkhovsky 3bae0cba6a
Merge branch 'main' into fix-quick-dev-workflow-preamble 2026-03-17 19:48:16 -06:00
Alex Verkhovsky e84874e9f0
Merge pull request #2044 from bmad-code-org/fix/oneshot-step-separation
refactor(quick-flow): separate one-shot into self-contained step file
2026-03-17 19:47:33 -06:00
Alex Verkhovsky fcd0873d22 fix(quick-flow): address review findings on step files
- Remove name/description from step-03-implement.md frontmatter (STEP-06)
- Remove name/description from step-oneshot.md frontmatter (STEP-06)
- Fix {project_root} to {project-root} placeholder convention
- Replace undefined {changed_files} with natural language

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 19:18:39 -06:00