Skip to content

refactor(installer): remove legacy workflow, task, and agent IDE generators#2078

Merged
alexeyv merged 3 commits intomainfrom
rip-legacy-generators
Mar 20, 2026
Merged

refactor(installer): remove legacy workflow, task, and agent IDE generators#2078
alexeyv merged 3 commits intomainfrom
rip-legacy-generators

Conversation

@alexeyv
Copy link
Copy Markdown
Collaborator

@alexeyv alexeyv commented Mar 20, 2026

Summary

  • Remove WorkflowCommandGenerator, TaskToolCommandGenerator, and AgentCommandGenerator from IDE skill installation
  • All platforms now use skill_format exclusively via installVerbatimSkills — the old generators were no-ops because collectSkills claims every directory before legacy collectors run
  • Delete workflow-command-generator.js and task-tool-command-generator.js (715 lines removed)
  • Simplify installToTarget, installToMultipleTargets, printSummary, and IDE manager detail builder to skills-only
  • Update test fixture from old agent format to SKILL.md format

Test plan

  • Fresh install produces identical .claude/skills/ output (43 skills, content-identical to baseline)
  • _bmad/ directory identical between baseline and post-change (only timestamps differ)
  • All 235 installation component tests pass
  • Full npm run quality passes (format, lint, markdown lint, docs build, tests, ref validation, skill validation)

…rators

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.
@augmentcode
Copy link
Copy Markdown

augmentcode bot commented Mar 20, 2026

🤖 Augment PR Summary

Summary: This PR refactors IDE skill installation to drop legacy agent/workflow/task/tool generators and rely exclusively on the native skill_format pipeline.

Changes:

  • Removes WorkflowCommandGenerator, TaskToolCommandGenerator, and related wiring from config-driven IDE installs
  • Deletes the legacy generator modules (hundreds of lines of no-longer-used code)
  • Simplifies installToTarget/installToMultipleTargets to install verbatim skills from _config/skill-manifest.csv only
  • Adjusts installer result reporting (detail/printSummary) to be skills-only
  • Updates installation-component tests to use a minimal SKILL.md-based fixture and to assert skills-only counts/output

Technical Notes: The installer now treats skill-manifest.csv as the single source of truth for IDE output; legacy collectors/generators are removed because they were effectively bypassed by skill collection behavior.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 20, 2026

📝 Walkthrough

Walkthrough

The pull request transitions the IDE installer from an agent/workflow-based architecture to a skill-first approach. Legacy artifact generators for workflows, tasks, and tools are removed entirely. The installer now only processes fixtures containing _config/skill-manifest.csv and generates skills via verbatim installation. Tests are updated to reflect skill-format fixtures and simplified reporting expectations.

Changes

Cohort / File(s) Summary
Test Fixture and Expectations
test/test-installation-components.js
Updated createTestBmadFixture() to generate skill-first fixtures with _config/skill-manifest.csv, core/bmad-master/SKILL.md, and bmad-skill-manifest.yaml. Removed previous agent/workflow/task/tool manifest and artifact files. Test Suite 31 expectations simplified to report single skills count instead of separate agents/workflows counts.
Core Installer Logic
tools/cli/installers/lib/ide/_config-driven.js, tools/cli/installers/lib/ide/manager.js
Removed all agent/workflow/task/tool artifact writing logic from _config-driven.js. Installer now only processes config.skill_format and delegates to installVerbatimSkills(). installToMultipleTargets() aggregates only skills. IdeManager.setup() simplified to report single skill count via `skillDirectories
Artifact Generator Classes
tools/cli/installers/lib/ide/shared/workflow-command-generator.js, tools/cli/installers/lib/ide/shared/task-tool-command-generator.js
Removed entire WorkflowCommandGenerator class (179 lines) responsible for reading workflow manifests and generating launcher files. Removed entire TaskToolCommandGenerator class (368 lines) responsible for reading task/tool manifests and generating command files.
Minor Documentation
tools/cli/installers/lib/ide/shared/agent-command-generator.js
Removed a single descriptive comment comparing the class to WorkflowCommandGenerator. No functional changes.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and clearly describes the main change: removing legacy workflow, task, and agent IDE generators from the installer.
Description check ✅ Passed The description is directly related to the changeset, providing a clear summary of what was removed and why, along with detailed test verification.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch rip-legacy-generators

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
test/test-installation-components.js (1)

67-82: Add one non-SKILL.md file to the shared fixture.

With only SKILL.md here, the install suites still pass if installVerbatimSkills() regresses to copying just the launcher and drops the rest of the skill directory. A tiny workflow.md plus one representative assertion would keep coverage on the new verbatim-copy path.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@test/test-installation-components.js` around lines 67 - 82, Add a
non-SKILL.md file into the shared fixture so the verbatim-copy path is
exercised: in test-installation-components.js, after creating SKILL.md and
bmad-skill-manifest.yaml (using skillDir), write a small workflow.md (or
workflow.yaml) file into skillDir with one or two lines of content and ensure
the manifest/fixture reflects it if needed; also add one minimal assertion in
the same test that the installed skill directory contains that workflow.md (so
installVerbatimSkills is validated to copy full directory, not just the
launcher).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@tools/cli/installers/lib/ide/_config-driven.js`:
- Around line 117-119: The current early-return when (!config.skill_format)
incorrectly reports success after setup()/cleanup() may have removed an install;
change that branch to fail loudly: instead of returning { success: true,
results: { skills: 0 } }, return or throw a failure indicating an invalid
installer config (e.g., set success: false and include an error message
referencing missing config.skill_format) so callers and process exit codes
reflect the error; update the check in _config-driven.js that references
config.skill_format and ensure any caller of setup()/cleanup() propagates
non-zero exit behavior.

---

Nitpick comments:
In `@test/test-installation-components.js`:
- Around line 67-82: Add a non-SKILL.md file into the shared fixture so the
verbatim-copy path is exercised: in test-installation-components.js, after
creating SKILL.md and bmad-skill-manifest.yaml (using skillDir), write a small
workflow.md (or workflow.yaml) file into skillDir with one or two lines of
content and ensure the manifest/fixture reflects it if needed; also add one
minimal assertion in the same test that the installed skill directory contains
that workflow.md (so installVerbatimSkills is validated to copy full directory,
not just the launcher).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 3b06f4d1-83dd-477e-9090-1ba507e16cd4

📥 Commits

Reviewing files that changed from the base of the PR and between a2839cb and c23b2db.

📒 Files selected for processing (6)
  • test/test-installation-components.js
  • tools/cli/installers/lib/ide/_config-driven.js
  • tools/cli/installers/lib/ide/manager.js
  • tools/cli/installers/lib/ide/shared/agent-command-generator.js
  • tools/cli/installers/lib/ide/shared/task-tool-command-generator.js
  • tools/cli/installers/lib/ide/shared/workflow-command-generator.js
💤 Files with no reviewable changes (3)
  • tools/cli/installers/lib/ide/shared/agent-command-generator.js
  • tools/cli/installers/lib/ide/shared/workflow-command-generator.js
  • tools/cli/installers/lib/ide/shared/task-tool-command-generator.js

alexeyv and others added 2 commits March 20, 2026 13:26
- 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>
@alexeyv
Copy link
Copy Markdown
Collaborator Author

alexeyv commented Mar 20, 2026

F4 (nitpick): Add non-SKILL.md fixture file for verbatim-copy coverage

Fixed in 6c761bb. Added workflow.md to the test fixture in createTestBmadFixture() and added an assertion in Suite 32 (Ona Native Skills) confirming non-SKILL.md files are copied verbatim.

@alexeyv alexeyv merged commit 1cb9135 into main Mar 20, 2026
5 checks passed
@alexeyv alexeyv deleted the rip-legacy-generators branch March 20, 2026 21:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant