Compare commits

..

7 Commits

Author SHA1 Message Date
yeomin4242 3e2085975a docs(ko-kr): update sidebar order for multiple explanation and reference documents 2026-06-11 02:47:24 -07:00
yeomin4242 0674ce7381 docs(ko-kr): add Korean translation for workflow map diagram and update iframe references 2026-06-11 02:47:24 -07:00
yeomin4242 1d1a4070d5 docs(ko-kr): add Korean translations for AI banner and announcement components 2026-06-11 02:47:24 -07:00
yeomin4242 5cf4e72092 docs(ko-kr): add Korean translations for sidebar and banner components 2026-06-11 02:47:24 -07:00
yeomin4242 92417e748b docs(ko-kr): add Korean translation for BMAD docs 2026-06-11 02:47:24 -07:00
PinkyD fdd65dc3d9
fix(skills): pass diff output inline to the blind-hunter reviewer (#2463)
The Blind Hunter subagent intentionally has no tool access, but the
review steps never said how {diff_output} should be delivered. Orchestrators
typically wrote the diff to a temp file and asked the agent to read it,
which silently fails (0 tool calls), and the 10-finding requirement then
pushes the agent to hallucinate findings against code it never saw.

State explicitly that the diff is passed inline in the subagent prompt,
in both bmad-code-review step 2 and bmad-quick-dev step 4.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 11:23:26 -05:00
Aristo Rinjuang 397b2a5c87
feat: add CodeWhale as supported installer platform (#2459)
CodeWhale uses .codewhale/skills/ (project) and
~/.codewhale/skills/ (global) for skill directories,
matching the existing config-driven installer pattern.

- platform-codes.yaml: codewhale entry after codex
- test: Test 12b validates install target and setup
2026-06-08 22:29:35 -05:00
4 changed files with 44 additions and 2 deletions

View File

@ -18,7 +18,7 @@ failed_layers: '' # set at runtime: comma-separated list of layers that failed o
2. Launch parallel subagents without conversation context. If subagents are not available, generate prompt files in `{implementation_artifacts}` — one per reviewer role below — and HALT. Ask the user to run each in a separate session (ideally a different LLM) and paste back the findings. When findings are pasted, resume from this point and proceed to step 3. 2. Launch parallel subagents without conversation context. If subagents are not available, generate prompt files in `{implementation_artifacts}` — one per reviewer role below — and HALT. Ask the user to run each in a separate session (ideally a different LLM) and paste back the findings. When findings are pasted, resume from this point and proceed to step 3.
- **Blind Hunter** — receives `{diff_output}` only. No spec, no context docs, no project access. Invoke via the `bmad-review-adversarial-general` skill. - **Blind Hunter** — receives inline `{diff_output}` only. No spec, no context docs, no project access. Invoke via the `bmad-review-adversarial-general` skill.
- **Edge Case Hunter** — receives `{diff_output}` and read access to the project. Invoke via the `bmad-review-edge-case-hunter` skill. - **Edge Case Hunter** — receives `{diff_output}` and read access to the project. Invoke via the `bmad-review-edge-case-hunter` skill.

View File

@ -25,7 +25,7 @@ Do NOT `git add` anything — this is read-only inspection.
Launch three subagents without conversation context. If no sub-agents are available, generate three review prompt files in `{implementation_artifacts}` — one per reviewer role below — and HALT. Ask the human to run each in a separate session (ideally a different LLM) and paste back the findings. Launch three subagents without conversation context. If no sub-agents are available, generate three review prompt files in `{implementation_artifacts}` — one per reviewer role below — and HALT. Ask the human to run each in a separate session (ideally a different LLM) and paste back the findings.
- **Blind hunter** — receives `{diff_output}` only. No spec, no context docs, no project access. Invoke via the `bmad-review-adversarial-general` skill. - **Blind hunter** — receives inline `{diff_output}` only. No spec, no context docs, no project access. Invoke via the `bmad-review-adversarial-general` skill.
- **Edge case hunter** — receives `{diff_output}` and read access to the project. Invoke via the `bmad-review-edge-case-hunter` skill. - **Edge case hunter** — receives `{diff_output}` and read access to the project. Invoke via the `bmad-review-edge-case-hunter` skill.
- **Acceptance auditor** — receives `{diff_output}`, `{spec_file}`, and read access to the project. Must also read the docs listed in `{spec_file}` frontmatter `context`. Checks for violations of acceptance criteria, rules, and principles from the spec and context docs. - **Acceptance auditor** — receives `{diff_output}`, `{spec_file}`, and read access to the project. Must also read the docs listed in `{spec_file}` frontmatter `context`. Checks for violations of acceptance criteria, rules, and principles from the spec and context docs.

View File

@ -446,6 +446,41 @@ async function runTests() {
// Test 12: Removed — ancestor conflict check no longer applies (no IDE inherits skills from parent dirs) // Test 12: Removed — ancestor conflict check no longer applies (no IDE inherits skills from parent dirs)
// ============================================================
// Test 12b: CodeWhale Native Skills Install
// ============================================================
console.log(`${colors.yellow}Test Suite 12b: CodeWhale Native Skills${colors.reset}\n`);
try {
clearCache();
const platformCodes12b = await loadPlatformCodes();
const codewhaleInstaller = platformCodes12b.platforms.codewhale?.installer;
assert(codewhaleInstaller?.target_dir === '.codewhale/skills', 'CodeWhale target_dir uses native skills path');
const tempProjectDir12b = await fs.mkdtemp(path.join(os.tmpdir(), 'bmad-codewhale-test-'));
const installedBmadDir12b = await createTestBmadFixture();
const ideManager12b = new IdeManager();
await ideManager12b.ensureInitialized();
const result12b = await ideManager12b.setup('codewhale', tempProjectDir12b, installedBmadDir12b, {
silent: true,
selectedModules: ['bmm'],
});
assert(result12b.success === true, 'CodeWhale setup succeeds against temp project');
const skillFile12b = path.join(tempProjectDir12b, '.codewhale', 'skills', 'bmad-master', 'SKILL.md');
assert(await fs.pathExists(skillFile12b), 'CodeWhale install writes SKILL.md directory output');
await fs.remove(tempProjectDir12b);
await fs.remove(path.dirname(installedBmadDir12b));
} catch (error) {
assert(false, 'CodeWhale native skills migration test succeeds', error.message);
}
console.log('');
// ============================================================ // ============================================================
// Test 13: Cursor Native Skills Install // Test 13: Cursor Native Skills Install
// ============================================================ // ============================================================

View File

@ -70,6 +70,13 @@ platforms:
target_dir: .agents/skills target_dir: .agents/skills
global_target_dir: ~/.codex/skills global_target_dir: ~/.codex/skills
codewhale:
name: "CodeWhale"
preferred: false
installer:
target_dir: .codewhale/skills
global_target_dir: ~/.codewhale/skills
codebuddy: codebuddy:
name: "CodeBuddy" name: "CodeBuddy"
preferred: false preferred: false