mirror of
https://github.com/EveryInc/compound-engineering-plugin.git
synced 2026-06-19 15:41:46 +02:00
043e785dff
Addresses #20 - Split project into multiple plugins New plugin structure: - compound-engineering-core: 17 agents, 14 commands, 8 skills (framework-agnostic) - rails-dev: 4 agents, 4 skills (DHH/37signals style) - python-dev: 1 agent (Python review) - typescript-dev: 2 agents (TS/JS review) - frontend-design: 3 agents, 1 skill, Playwright MCP Original compound-engineering becomes meta-package with docs commands. Migration guide included in plans/split-into-multiple-plugins.md 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
329 lines
10 KiB
Markdown
329 lines
10 KiB
Markdown
# Split compound-engineering into Multiple Plugins
|
|
|
|
**Issue:** [#20](https://github.com/EveryInc/compound-engineering-plugin/issues/20)
|
|
**Type:** Enhancement / Refactor
|
|
**Date:** 2025-12-15
|
|
|
|
## Overview
|
|
|
|
Split the monolithic `compound-engineering` plugin (27 agents, 17 commands, 13 skills) into focused, composable plugins following Anthropic's plugin organization pattern.
|
|
|
|
## Current State
|
|
|
|
```
|
|
compound-engineering/
|
|
├── agents/
|
|
│ ├── design/ (3 agents)
|
|
│ ├── docs/ (1 agent)
|
|
│ ├── research/ (4 agents)
|
|
│ ├── review/ (14 agents)
|
|
│ └── workflow/ (5 agents)
|
|
├── commands/ (17 commands)
|
|
├── skills/ (13 skills)
|
|
└── mcp-servers/ (2: playwright, context7)
|
|
```
|
|
|
|
## Proposed Split
|
|
|
|
### Core Plugin: `compound-engineering-core`
|
|
|
|
**Philosophy:** The foundational workflow that makes engineering compound. Includes all agents referenced by core commands.
|
|
|
|
| Component | Items |
|
|
|-----------|-------|
|
|
| **Commands** | `workflows:plan`, `workflows:review`, `workflows:work`, `workflows:compound`, `resolve_pr_parallel`, `plan_review`, `generate_command`, `heal-skill`, `report-bug`, `release-docs`, `deploy-docs`, `resolve_parallel`, `resolve_todo_parallel`, `reproduce-bug`, `triage`, `changelog` |
|
|
| **Skills** | `compound-docs`, `file-todos`, `git-worktree`, `skill-creator`, `create-agent-skills`, `gemini-imagegen`, `agent-native-architecture`, `every-style-editor` |
|
|
| **Agents** | `repo-research-analyst`, `best-practices-researcher`, `framework-docs-researcher`, `spec-flow-analyzer`, `git-history-analyzer`, `code-simplicity-reviewer`, `pattern-recognition-specialist`, `architecture-strategist`, `performance-oracle`, `security-sentinel`, `data-integrity-guardian`, `data-migration-expert`, `deployment-verification-agent`, `agent-native-reviewer`, `bug-reproduction-validator`, `pr-comment-resolver`, `every-style-editor` |
|
|
| **MCP** | `context7` |
|
|
|
|
**Rationale:** Everything needed for the core workflow. `/workflows:review` references these review agents, so they must be in core. Plugin dev tools included for self-improvement.
|
|
|
|
---
|
|
|
|
### Plugin: `rails-dev`
|
|
|
|
**Focus:** Ruby/Rails development with DHH/37signals style.
|
|
|
|
| Component | Items |
|
|
|-----------|-------|
|
|
| **Skills** | `dhh-rails-style`, `dhh-ruby-style`, `andrew-kane-gem-writer`, `dspy-ruby` |
|
|
| **Agents** | `kieran-rails-reviewer`, `dhh-rails-reviewer`, `ankane-readme-writer`, `lint` |
|
|
|
|
**Rationale:** Everything Ruby/Rails in one place. Install this if you're a Rails dev.
|
|
|
|
---
|
|
|
|
### Plugin: `python-dev`
|
|
|
|
**Focus:** Python development and review.
|
|
|
|
| Component | Items |
|
|
|-----------|-------|
|
|
| **Agents** | `kieran-python-reviewer` |
|
|
|
|
**Rationale:** Python-specific tooling. Small now, can grow.
|
|
|
|
---
|
|
|
|
### Plugin: `typescript-dev`
|
|
|
|
**Focus:** TypeScript/JavaScript development and review.
|
|
|
|
| Component | Items |
|
|
|-----------|-------|
|
|
| **Agents** | `kieran-typescript-reviewer`, `julik-frontend-races-reviewer` |
|
|
|
|
**Rationale:** TypeScript/JS-specific tooling.
|
|
|
|
---
|
|
|
|
### Plugin: `frontend-design`
|
|
|
|
**Focus:** Design implementation, iteration, and Figma sync.
|
|
|
|
| Component | Items |
|
|
|-----------|-------|
|
|
| **Agents** | `figma-design-sync`, `design-iterator`, `design-implementation-reviewer` |
|
|
| **Skills** | `frontend-design` |
|
|
| **MCP** | `playwright` |
|
|
|
|
**Rationale:** Design-focused tooling that requires Playwright for screenshots.
|
|
|
|
---
|
|
|
|
## Summary Table
|
|
|
|
| Plugin | Agents | Commands | Skills | MCP | Framework |
|
|
|--------|--------|----------|--------|-----|-----------|
|
|
| `compound-engineering-core` | 17 | 14 | 8 | 1 | Any |
|
|
| `rails-dev` | 4 | 0 | 4 | 0 | Ruby/Rails |
|
|
| `python-dev` | 1 | 0 | 0 | 0 | Python |
|
|
| `typescript-dev` | 2 | 0 | 0 | 0 | TS/JS |
|
|
| `frontend-design` | 3 | 0 | 1 | 1 | Any |
|
|
| `compound-engineering` (meta) | 0 | 3 | 0 | 0 | N/A |
|
|
| **Total** | **27** | **17** | **13** | **2** | |
|
|
|
|
## Benefits
|
|
|
|
1. **Composability** - Users install only what they need
|
|
2. **Clarity** - Clear purpose for each plugin
|
|
3. **Maintainability** - Smaller, focused codebases
|
|
4. **Discoverability** - Easier to find relevant tools
|
|
5. **Alignment** - Matches Anthropic's official plugin structure
|
|
|
|
---
|
|
|
|
## Migration Guide
|
|
|
|
### For Existing Users
|
|
|
|
**Before (single plugin):**
|
|
```bash
|
|
claude /plugin install compound-engineering
|
|
```
|
|
|
|
**After (choose what you need):**
|
|
```bash
|
|
# Everyone needs core
|
|
claude /plugin install compound-engineering-core
|
|
|
|
# Add framework-specific plugins as needed
|
|
claude /plugin install rails-dev # Ruby/Rails developers
|
|
claude /plugin install python-dev # Python developers
|
|
claude /plugin install typescript-dev # TypeScript/JS developers
|
|
claude /plugin install frontend-design # Design-focused work
|
|
```
|
|
|
|
**Install everything at once:**
|
|
```bash
|
|
# One-liner to install all plugins
|
|
claude /plugin install compound-engineering-core rails-dev python-dev typescript-dev frontend-design
|
|
```
|
|
|
|
**Or keep the original plugin as a meta-package:**
|
|
```bash
|
|
# Install the meta-package (installs all 5 automatically)
|
|
claude /plugin install compound-engineering
|
|
```
|
|
|
|
### Migration Scenarios
|
|
|
|
| If you used... | Install these plugins |
|
|
|----------------|----------------------|
|
|
| Just the workflow commands | `compound-engineering-core` |
|
|
| Rails code review | `compound-engineering-core` + `rails-dev` |
|
|
| Python code review | `compound-engineering-core` + `python-dev` |
|
|
| TypeScript code review | `compound-engineering-core` + `typescript-dev` |
|
|
| Design iteration/Figma | `compound-engineering-core` + `frontend-design` |
|
|
| Everything | All 5 plugins |
|
|
|
|
### What Moves Where
|
|
|
|
#### compound-engineering-core (install first, always)
|
|
|
|
**Commands (14):**
|
|
- `workflows:plan`, `workflows:review`, `workflows:work`, `workflows:compound`
|
|
- `resolve_pr_parallel`, `plan_review`
|
|
- `generate_command`, `heal-skill`, `create-agent-skill`
|
|
- `resolve_parallel`, `resolve_todo_parallel`, `reproduce-bug`, `triage`, `changelog`
|
|
|
|
*Note: `report-bug`, `release-docs`, `deploy-docs` stay in the meta-package for project-level management.*
|
|
|
|
**Skills:**
|
|
- `compound-docs`, `file-todos`, `git-worktree`
|
|
- `skill-creator`, `create-agent-skills`
|
|
- `gemini-imagegen`, `agent-native-architecture`
|
|
- `every-style-editor`
|
|
|
|
**Agents:**
|
|
- Research: `repo-research-analyst`, `best-practices-researcher`, `framework-docs-researcher`, `spec-flow-analyzer`, `git-history-analyzer`
|
|
- Review: `code-simplicity-reviewer`, `pattern-recognition-specialist`, `architecture-strategist`, `performance-oracle`, `security-sentinel`, `data-integrity-guardian`, `data-migration-expert`, `deployment-verification-agent`, `agent-native-reviewer`
|
|
- Workflow: `bug-reproduction-validator`, `pr-comment-resolver`, `every-style-editor`
|
|
|
|
**MCP Servers:** `context7`
|
|
|
|
---
|
|
|
|
#### rails-dev (Ruby/Rails developers)
|
|
|
|
**Skills:**
|
|
- `dhh-rails-style` - 37signals Rails conventions
|
|
- `dhh-ruby-style` - DHH Ruby style
|
|
- `andrew-kane-gem-writer` - Gem writing patterns
|
|
- `dspy-ruby` - DSPy for Ruby
|
|
|
|
**Agents:**
|
|
- `kieran-rails-reviewer` - Opinionated Rails review
|
|
- `dhh-rails-reviewer` - DHH-style Rails review
|
|
- `ankane-readme-writer` - Ankane-style READMEs
|
|
- `lint` - Ruby/Rails linting
|
|
|
|
---
|
|
|
|
#### python-dev (Python developers)
|
|
|
|
**Agents:**
|
|
- `kieran-python-reviewer` - Opinionated Python review
|
|
|
|
---
|
|
|
|
#### typescript-dev (TypeScript/JS developers)
|
|
|
|
**Agents:**
|
|
- `kieran-typescript-reviewer` - Opinionated TypeScript review
|
|
- `julik-frontend-races-reviewer` - Frontend race condition review
|
|
|
|
---
|
|
|
|
#### frontend-design (Design work)
|
|
|
|
**Skills:**
|
|
- `frontend-design` - Frontend design patterns
|
|
|
|
**Agents:**
|
|
- `figma-design-sync` - Sync with Figma designs
|
|
- `design-iterator` - Iterative design improvement
|
|
- `design-implementation-reviewer` - Design implementation review
|
|
|
|
**MCP Servers:** `playwright` (for screenshots)
|
|
|
|
---
|
|
|
|
## Implementation Steps
|
|
|
|
### Phase 1: Repository Structure
|
|
|
|
- [ ] Create new plugin directories in marketplace root:
|
|
```
|
|
plugins/
|
|
├── compound-engineering-core/
|
|
├── rails-dev/
|
|
├── python-dev/
|
|
├── typescript-dev/
|
|
└── frontend-design/
|
|
```
|
|
- [ ] Each plugin gets standard structure:
|
|
```
|
|
plugin-name/
|
|
├── .claude-plugin/
|
|
│ └── plugin.json
|
|
├── agents/
|
|
├── commands/
|
|
├── skills/
|
|
├── mcp-servers/ (if applicable)
|
|
├── CHANGELOG.md
|
|
└── README.md
|
|
```
|
|
|
|
### Phase 2: Move Components
|
|
|
|
- [ ] Copy agents to appropriate plugin directories
|
|
- [ ] Copy commands to appropriate plugin directories
|
|
- [ ] Copy skills to appropriate plugin directories
|
|
- [ ] Copy MCP server configs
|
|
|
|
### Phase 3: Update Metadata
|
|
|
|
- [ ] Create plugin.json for each new plugin
|
|
- [ ] Update marketplace.json with all 5 plugins
|
|
- [ ] Write README.md for each plugin
|
|
- [ ] Create CHANGELOG.md for each plugin
|
|
|
|
### Phase 4: Documentation
|
|
|
|
- [ ] Update docs site with new plugin structure
|
|
- [ ] Create migration guide page
|
|
- [ ] Update getting-started with new install instructions
|
|
- [ ] Add "which plugins do I need?" decision tree
|
|
|
|
### Phase 5: Testing
|
|
|
|
- [ ] Test each plugin installs independently
|
|
- [ ] Test core plugin works standalone
|
|
- [ ] Test framework plugins work with core
|
|
- [ ] Verify no broken agent references
|
|
|
|
### Phase 6: Release
|
|
|
|
- [ ] Deprecate old `compound-engineering` plugin (keep for 30 days)
|
|
- [ ] Release all 5 new plugins
|
|
- [ ] Announce migration path
|
|
- [ ] Update issue #20
|
|
|
|
---
|
|
|
|
## Backward Compatibility
|
|
|
|
**Recommendation: Keep `compound-engineering` as meta-package**
|
|
|
|
The original `compound-engineering` plugin becomes a thin wrapper that installs all 5 plugins:
|
|
|
|
```json
|
|
{
|
|
"name": "compound-engineering",
|
|
"version": "3.0.0",
|
|
"description": "Meta-package: installs all compound-engineering plugins (core, rails-dev, python-dev, typescript-dev, frontend-design)",
|
|
"dependencies": [
|
|
"compound-engineering-core",
|
|
"rails-dev",
|
|
"python-dev",
|
|
"typescript-dev",
|
|
"frontend-design"
|
|
]
|
|
}
|
|
```
|
|
|
|
**Benefits:**
|
|
- Existing users run `claude /plugin update compound-engineering` and get the new structure
|
|
- New users can still install everything with one command
|
|
- No breaking change for current users
|
|
- Clear path to selective installation if desired
|
|
|
|
---
|
|
|
|
## References
|
|
|
|
- Anthropic's plugin structure: https://github.com/anthropics/claude-code/tree/main/plugins
|
|
- Current plugin: `/plugins/compound-engineering/`
|
|
- Issue: #20
|