@every-env/compound-plugin 0.1.0

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.
Files changed (226) hide show
  1. package/.claude-plugin/marketplace.json +37 -0
  2. package/.github/workflows/deploy-docs.yml +39 -0
  3. package/AGENTS.md +48 -0
  4. package/CLAUDE.md +380 -0
  5. package/LICENSE +21 -0
  6. package/README.md +65 -0
  7. package/bun.lock +30 -0
  8. package/docs/css/docs.css +675 -0
  9. package/docs/css/style.css +2886 -0
  10. package/docs/index.html +1046 -0
  11. package/docs/js/main.js +225 -0
  12. package/docs/pages/agents.html +649 -0
  13. package/docs/pages/changelog.html +495 -0
  14. package/docs/pages/commands.html +523 -0
  15. package/docs/pages/getting-started.html +582 -0
  16. package/docs/pages/mcp-servers.html +409 -0
  17. package/docs/pages/skills.html +611 -0
  18. package/docs/solutions/plugin-versioning-requirements.md +77 -0
  19. package/docs/specs/claude-code.md +67 -0
  20. package/docs/specs/codex.md +59 -0
  21. package/docs/specs/opencode.md +57 -0
  22. package/package.json +26 -0
  23. package/plans/grow-your-own-garden-plugin-architecture.md +102 -0
  24. package/plans/landing-page-launchkit-refresh.md +279 -0
  25. package/plugins/coding-tutor/.claude-plugin/plugin.json +9 -0
  26. package/plugins/coding-tutor/README.md +37 -0
  27. package/plugins/coding-tutor/commands/quiz-me.md +1 -0
  28. package/plugins/coding-tutor/commands/sync-tutorials.md +25 -0
  29. package/plugins/coding-tutor/commands/teach-me.md +1 -0
  30. package/plugins/coding-tutor/skills/coding-tutor/SKILL.md +214 -0
  31. package/plugins/coding-tutor/skills/coding-tutor/scripts/create_tutorial.py +207 -0
  32. package/plugins/coding-tutor/skills/coding-tutor/scripts/index_tutorials.py +193 -0
  33. package/plugins/coding-tutor/skills/coding-tutor/scripts/quiz_priority.py +190 -0
  34. package/plugins/coding-tutor/skills/coding-tutor/scripts/setup_tutorials.py +118 -0
  35. package/plugins/compound-engineering/.claude-plugin/plugin.json +33 -0
  36. package/plugins/compound-engineering/CHANGELOG.md +393 -0
  37. package/plugins/compound-engineering/CLAUDE.md +90 -0
  38. package/plugins/compound-engineering/LICENSE +21 -0
  39. package/plugins/compound-engineering/README.md +219 -0
  40. package/plugins/compound-engineering/agents/design/design-implementation-reviewer.md +94 -0
  41. package/plugins/compound-engineering/agents/design/design-iterator.md +197 -0
  42. package/plugins/compound-engineering/agents/design/figma-design-sync.md +172 -0
  43. package/plugins/compound-engineering/agents/docs/ankane-readme-writer.md +50 -0
  44. package/plugins/compound-engineering/agents/research/best-practices-researcher.md +100 -0
  45. package/plugins/compound-engineering/agents/research/framework-docs-researcher.md +83 -0
  46. package/plugins/compound-engineering/agents/research/git-history-analyzer.md +42 -0
  47. package/plugins/compound-engineering/agents/research/repo-research-analyst.md +113 -0
  48. package/plugins/compound-engineering/agents/review/agent-native-reviewer.md +246 -0
  49. package/plugins/compound-engineering/agents/review/architecture-strategist.md +52 -0
  50. package/plugins/compound-engineering/agents/review/code-simplicity-reviewer.md +85 -0
  51. package/plugins/compound-engineering/agents/review/data-integrity-guardian.md +70 -0
  52. package/plugins/compound-engineering/agents/review/data-migration-expert.md +97 -0
  53. package/plugins/compound-engineering/agents/review/deployment-verification-agent.md +159 -0
  54. package/plugins/compound-engineering/agents/review/dhh-rails-reviewer.md +45 -0
  55. package/plugins/compound-engineering/agents/review/julik-frontend-races-reviewer.md +222 -0
  56. package/plugins/compound-engineering/agents/review/kieran-python-reviewer.md +104 -0
  57. package/plugins/compound-engineering/agents/review/kieran-rails-reviewer.md +86 -0
  58. package/plugins/compound-engineering/agents/review/kieran-typescript-reviewer.md +95 -0
  59. package/plugins/compound-engineering/agents/review/pattern-recognition-specialist.md +57 -0
  60. package/plugins/compound-engineering/agents/review/performance-oracle.md +110 -0
  61. package/plugins/compound-engineering/agents/review/security-sentinel.md +93 -0
  62. package/plugins/compound-engineering/agents/workflow/bug-reproduction-validator.md +67 -0
  63. package/plugins/compound-engineering/agents/workflow/every-style-editor.md +64 -0
  64. package/plugins/compound-engineering/agents/workflow/lint.md +16 -0
  65. package/plugins/compound-engineering/agents/workflow/pr-comment-resolver.md +69 -0
  66. package/plugins/compound-engineering/agents/workflow/spec-flow-analyzer.md +113 -0
  67. package/plugins/compound-engineering/commands/agent-native-audit.md +277 -0
  68. package/plugins/compound-engineering/commands/changelog.md +137 -0
  69. package/plugins/compound-engineering/commands/create-agent-skill.md +8 -0
  70. package/plugins/compound-engineering/commands/deepen-plan.md +546 -0
  71. package/plugins/compound-engineering/commands/deploy-docs.md +112 -0
  72. package/plugins/compound-engineering/commands/feature-video.md +342 -0
  73. package/plugins/compound-engineering/commands/generate_command.md +162 -0
  74. package/plugins/compound-engineering/commands/heal-skill.md +142 -0
  75. package/plugins/compound-engineering/commands/lfg.md +19 -0
  76. package/plugins/compound-engineering/commands/plan_review.md +7 -0
  77. package/plugins/compound-engineering/commands/release-docs.md +211 -0
  78. package/plugins/compound-engineering/commands/report-bug.md +150 -0
  79. package/plugins/compound-engineering/commands/reproduce-bug.md +99 -0
  80. package/plugins/compound-engineering/commands/resolve_parallel.md +34 -0
  81. package/plugins/compound-engineering/commands/resolve_pr_parallel.md +49 -0
  82. package/plugins/compound-engineering/commands/resolve_todo_parallel.md +35 -0
  83. package/plugins/compound-engineering/commands/test-browser.md +339 -0
  84. package/plugins/compound-engineering/commands/triage.md +310 -0
  85. package/plugins/compound-engineering/commands/workflows/compound.md +202 -0
  86. package/plugins/compound-engineering/commands/workflows/plan.md +466 -0
  87. package/plugins/compound-engineering/commands/workflows/review.md +514 -0
  88. package/plugins/compound-engineering/commands/workflows/work.md +363 -0
  89. package/plugins/compound-engineering/commands/xcode-test.md +331 -0
  90. package/plugins/compound-engineering/skills/agent-browser/SKILL.md +223 -0
  91. package/plugins/compound-engineering/skills/agent-native-architecture/SKILL.md +435 -0
  92. package/plugins/compound-engineering/skills/agent-native-architecture/references/action-parity-discipline.md +409 -0
  93. package/plugins/compound-engineering/skills/agent-native-architecture/references/agent-execution-patterns.md +467 -0
  94. package/plugins/compound-engineering/skills/agent-native-architecture/references/agent-native-testing.md +582 -0
  95. package/plugins/compound-engineering/skills/agent-native-architecture/references/architecture-patterns.md +478 -0
  96. package/plugins/compound-engineering/skills/agent-native-architecture/references/dynamic-context-injection.md +338 -0
  97. package/plugins/compound-engineering/skills/agent-native-architecture/references/files-universal-interface.md +301 -0
  98. package/plugins/compound-engineering/skills/agent-native-architecture/references/from-primitives-to-domain-tools.md +359 -0
  99. package/plugins/compound-engineering/skills/agent-native-architecture/references/mcp-tool-design.md +506 -0
  100. package/plugins/compound-engineering/skills/agent-native-architecture/references/mobile-patterns.md +871 -0
  101. package/plugins/compound-engineering/skills/agent-native-architecture/references/product-implications.md +443 -0
  102. package/plugins/compound-engineering/skills/agent-native-architecture/references/refactoring-to-prompt-native.md +317 -0
  103. package/plugins/compound-engineering/skills/agent-native-architecture/references/self-modification.md +269 -0
  104. package/plugins/compound-engineering/skills/agent-native-architecture/references/shared-workspace-architecture.md +680 -0
  105. package/plugins/compound-engineering/skills/agent-native-architecture/references/system-prompt-design.md +250 -0
  106. package/plugins/compound-engineering/skills/andrew-kane-gem-writer/SKILL.md +184 -0
  107. package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/database-adapters.md +231 -0
  108. package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/module-organization.md +121 -0
  109. package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/rails-integration.md +183 -0
  110. package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/resources.md +119 -0
  111. package/plugins/compound-engineering/skills/andrew-kane-gem-writer/references/testing-patterns.md +261 -0
  112. package/plugins/compound-engineering/skills/compound-docs/SKILL.md +510 -0
  113. package/plugins/compound-engineering/skills/compound-docs/assets/critical-pattern-template.md +34 -0
  114. package/plugins/compound-engineering/skills/compound-docs/assets/resolution-template.md +93 -0
  115. package/plugins/compound-engineering/skills/compound-docs/references/yaml-schema.md +65 -0
  116. package/plugins/compound-engineering/skills/compound-docs/schema.yaml +176 -0
  117. package/plugins/compound-engineering/skills/create-agent-skills/SKILL.md +299 -0
  118. package/plugins/compound-engineering/skills/create-agent-skills/references/api-security.md +226 -0
  119. package/plugins/compound-engineering/skills/create-agent-skills/references/be-clear-and-direct.md +531 -0
  120. package/plugins/compound-engineering/skills/create-agent-skills/references/best-practices.md +404 -0
  121. package/plugins/compound-engineering/skills/create-agent-skills/references/common-patterns.md +595 -0
  122. package/plugins/compound-engineering/skills/create-agent-skills/references/core-principles.md +437 -0
  123. package/plugins/compound-engineering/skills/create-agent-skills/references/executable-code.md +175 -0
  124. package/plugins/compound-engineering/skills/create-agent-skills/references/iteration-and-testing.md +474 -0
  125. package/plugins/compound-engineering/skills/create-agent-skills/references/official-spec.md +185 -0
  126. package/plugins/compound-engineering/skills/create-agent-skills/references/recommended-structure.md +168 -0
  127. package/plugins/compound-engineering/skills/create-agent-skills/references/skill-structure.md +372 -0
  128. package/plugins/compound-engineering/skills/create-agent-skills/references/using-scripts.md +113 -0
  129. package/plugins/compound-engineering/skills/create-agent-skills/references/using-templates.md +112 -0
  130. package/plugins/compound-engineering/skills/create-agent-skills/references/workflows-and-validation.md +510 -0
  131. package/plugins/compound-engineering/skills/create-agent-skills/templates/router-skill.md +73 -0
  132. package/plugins/compound-engineering/skills/create-agent-skills/templates/simple-skill.md +33 -0
  133. package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-reference.md +96 -0
  134. package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-script.md +93 -0
  135. package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-template.md +74 -0
  136. package/plugins/compound-engineering/skills/create-agent-skills/workflows/add-workflow.md +120 -0
  137. package/plugins/compound-engineering/skills/create-agent-skills/workflows/audit-skill.md +138 -0
  138. package/plugins/compound-engineering/skills/create-agent-skills/workflows/create-domain-expertise-skill.md +605 -0
  139. package/plugins/compound-engineering/skills/create-agent-skills/workflows/create-new-skill.md +191 -0
  140. package/plugins/compound-engineering/skills/create-agent-skills/workflows/get-guidance.md +121 -0
  141. package/plugins/compound-engineering/skills/create-agent-skills/workflows/upgrade-to-router.md +161 -0
  142. package/plugins/compound-engineering/skills/create-agent-skills/workflows/verify-skill.md +204 -0
  143. package/plugins/compound-engineering/skills/dhh-rails-style/SKILL.md +185 -0
  144. package/plugins/compound-engineering/skills/dhh-rails-style/references/architecture.md +653 -0
  145. package/plugins/compound-engineering/skills/dhh-rails-style/references/controllers.md +303 -0
  146. package/plugins/compound-engineering/skills/dhh-rails-style/references/frontend.md +510 -0
  147. package/plugins/compound-engineering/skills/dhh-rails-style/references/gems.md +266 -0
  148. package/plugins/compound-engineering/skills/dhh-rails-style/references/models.md +359 -0
  149. package/plugins/compound-engineering/skills/dhh-rails-style/references/testing.md +338 -0
  150. package/plugins/compound-engineering/skills/dspy-ruby/SKILL.md +594 -0
  151. package/plugins/compound-engineering/skills/dspy-ruby/assets/config-template.rb +359 -0
  152. package/plugins/compound-engineering/skills/dspy-ruby/assets/module-template.rb +326 -0
  153. package/plugins/compound-engineering/skills/dspy-ruby/assets/signature-template.rb +143 -0
  154. package/plugins/compound-engineering/skills/dspy-ruby/references/core-concepts.md +265 -0
  155. package/plugins/compound-engineering/skills/dspy-ruby/references/optimization.md +623 -0
  156. package/plugins/compound-engineering/skills/dspy-ruby/references/providers.md +338 -0
  157. package/plugins/compound-engineering/skills/every-style-editor/SKILL.md +134 -0
  158. package/plugins/compound-engineering/skills/every-style-editor/references/EVERY_WRITE_STYLE.md +529 -0
  159. package/plugins/compound-engineering/skills/file-todos/SKILL.md +251 -0
  160. package/plugins/compound-engineering/skills/file-todos/assets/todo-template.md +155 -0
  161. package/plugins/compound-engineering/skills/frontend-design/SKILL.md +42 -0
  162. package/plugins/compound-engineering/skills/gemini-imagegen/SKILL.md +237 -0
  163. package/plugins/compound-engineering/skills/gemini-imagegen/requirements.txt +2 -0
  164. package/plugins/compound-engineering/skills/gemini-imagegen/scripts/compose_images.py +157 -0
  165. package/plugins/compound-engineering/skills/gemini-imagegen/scripts/edit_image.py +144 -0
  166. package/plugins/compound-engineering/skills/gemini-imagegen/scripts/gemini_images.py +263 -0
  167. package/plugins/compound-engineering/skills/gemini-imagegen/scripts/generate_image.py +133 -0
  168. package/plugins/compound-engineering/skills/gemini-imagegen/scripts/multi_turn_chat.py +216 -0
  169. package/plugins/compound-engineering/skills/git-worktree/SKILL.md +302 -0
  170. package/plugins/compound-engineering/skills/git-worktree/scripts/worktree-manager.sh +345 -0
  171. package/plugins/compound-engineering/skills/rclone/SKILL.md +150 -0
  172. package/plugins/compound-engineering/skills/rclone/scripts/check_setup.sh +60 -0
  173. package/plugins/compound-engineering/skills/skill-creator/SKILL.md +209 -0
  174. package/plugins/compound-engineering/skills/skill-creator/scripts/init_skill.py +303 -0
  175. package/plugins/compound-engineering/skills/skill-creator/scripts/package_skill.py +110 -0
  176. package/plugins/compound-engineering/skills/skill-creator/scripts/quick_validate.py +65 -0
  177. package/src/commands/convert.ts +156 -0
  178. package/src/commands/install.ts +221 -0
  179. package/src/commands/list.ts +37 -0
  180. package/src/converters/claude-to-codex.ts +124 -0
  181. package/src/converters/claude-to-opencode.ts +392 -0
  182. package/src/index.ts +20 -0
  183. package/src/parsers/claude.ts +248 -0
  184. package/src/targets/codex.ts +91 -0
  185. package/src/targets/index.ts +29 -0
  186. package/src/targets/opencode.ts +48 -0
  187. package/src/types/claude.ts +88 -0
  188. package/src/types/codex.ts +23 -0
  189. package/src/types/opencode.ts +54 -0
  190. package/src/utils/codex-agents.ts +64 -0
  191. package/src/utils/files.ts +64 -0
  192. package/src/utils/frontmatter.ts +65 -0
  193. package/tests/claude-parser.test.ts +89 -0
  194. package/tests/cli.test.ts +289 -0
  195. package/tests/codex-agents.test.ts +62 -0
  196. package/tests/codex-converter.test.ts +121 -0
  197. package/tests/codex-writer.test.ts +76 -0
  198. package/tests/converter.test.ts +171 -0
  199. package/tests/fixtures/custom-paths/.claude-plugin/plugin.json +8 -0
  200. package/tests/fixtures/custom-paths/agents/default-agent.md +5 -0
  201. package/tests/fixtures/custom-paths/commands/default-command.md +5 -0
  202. package/tests/fixtures/custom-paths/custom-agents/custom-agent.md +5 -0
  203. package/tests/fixtures/custom-paths/custom-commands/custom-command.md +5 -0
  204. package/tests/fixtures/custom-paths/custom-hooks/hooks.json +7 -0
  205. package/tests/fixtures/custom-paths/custom-skills/custom-skill/SKILL.md +5 -0
  206. package/tests/fixtures/custom-paths/hooks/hooks.json +7 -0
  207. package/tests/fixtures/custom-paths/skills/default-skill/SKILL.md +5 -0
  208. package/tests/fixtures/invalid-command-path/.claude-plugin/plugin.json +5 -0
  209. package/tests/fixtures/invalid-hooks-path/.claude-plugin/plugin.json +5 -0
  210. package/tests/fixtures/invalid-mcp-path/.claude-plugin/plugin.json +5 -0
  211. package/tests/fixtures/mcp-file/.claude-plugin/plugin.json +5 -0
  212. package/tests/fixtures/mcp-file/.mcp.json +6 -0
  213. package/tests/fixtures/sample-plugin/.claude-plugin/plugin.json +30 -0
  214. package/tests/fixtures/sample-plugin/agents/agent-one.md +10 -0
  215. package/tests/fixtures/sample-plugin/agents/security-reviewer.md +7 -0
  216. package/tests/fixtures/sample-plugin/commands/command-one.md +7 -0
  217. package/tests/fixtures/sample-plugin/commands/model-command.md +8 -0
  218. package/tests/fixtures/sample-plugin/commands/nested/command-two.md +9 -0
  219. package/tests/fixtures/sample-plugin/commands/pattern-command.md +7 -0
  220. package/tests/fixtures/sample-plugin/commands/skill-command.md +7 -0
  221. package/tests/fixtures/sample-plugin/commands/todo-command.md +7 -0
  222. package/tests/fixtures/sample-plugin/hooks/hooks.json +156 -0
  223. package/tests/fixtures/sample-plugin/skills/skill-one/SKILL.md +6 -0
  224. package/tests/frontmatter.test.ts +20 -0
  225. package/tests/opencode-writer.test.ts +62 -0
  226. package/tsconfig.json +14 -0
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "every-marketplace",
3
+ "owner": {
4
+ "name": "Kieran Klaassen",
5
+ "url": "https://github.com/kieranklaassen"
6
+ },
7
+ "metadata": {
8
+ "description": "Plugin marketplace for Claude Code extensions",
9
+ "version": "1.0.0"
10
+ },
11
+ "plugins": [
12
+ {
13
+ "name": "compound-engineering",
14
+ "description": "AI-powered development tools that get smarter with every use. Make each unit of engineering work easier than the last. Includes 27 specialized agents, 23 commands, and 14 skills.",
15
+ "version": "2.27.0",
16
+ "author": {
17
+ "name": "Kieran Klaassen",
18
+ "url": "https://github.com/kieranklaassen",
19
+ "email": "kieran@every.to"
20
+ },
21
+ "homepage": "https://github.com/kieranklaassen/compound-engineering-plugin",
22
+ "tags": ["ai-powered", "compound-engineering", "workflow-automation", "code-review", "quality", "knowledge-management", "image-generation"],
23
+ "source": "./plugins/compound-engineering"
24
+ },
25
+ {
26
+ "name": "coding-tutor",
27
+ "description": "Personalized coding tutorials that build on your existing knowledge and use your actual codebase for examples. Includes spaced repetition quizzes to reinforce learning. Includes 3 commands and 1 skill.",
28
+ "version": "1.2.1",
29
+ "author": {
30
+ "name": "Nityesh Agarwal"
31
+ },
32
+ "homepage": "https://github.com/kieranklaassen/compound-engineering-plugin",
33
+ "tags": ["coding", "programming", "tutorial", "learning", "spaced-repetition", "education"],
34
+ "source": "./plugins/coding-tutor"
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,39 @@
1
+ name: Deploy Documentation to GitHub Pages
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ paths:
7
+ - 'plugins/compound-engineering/docs/**'
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ contents: read
12
+ pages: write
13
+ id-token: write
14
+
15
+ concurrency:
16
+ group: "pages"
17
+ cancel-in-progress: false
18
+
19
+ jobs:
20
+ deploy:
21
+ environment:
22
+ name: github-pages
23
+ url: ${{ steps.deployment.outputs.page_url }}
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - name: Checkout
27
+ uses: actions/checkout@v4
28
+
29
+ - name: Setup Pages
30
+ uses: actions/configure-pages@v4
31
+
32
+ - name: Upload artifact
33
+ uses: actions/upload-pages-artifact@v3
34
+ with:
35
+ path: 'plugins/compound-engineering/docs'
36
+
37
+ - name: Deploy to GitHub Pages
38
+ id: deployment
39
+ uses: actions/deploy-pages@v4
package/AGENTS.md ADDED
@@ -0,0 +1,48 @@
1
+ # Agent Instructions
2
+
3
+ This repository contains a Bun/TypeScript CLI that converts Claude Code plugins into other agent platform formats.
4
+
5
+ ## Working Agreement
6
+
7
+ - **Branching:** Create a feature branch for any non-trivial change. If already on the correct branch for the task, keep using it; do not create additional branches or worktrees unless explicitly requested.
8
+ - **Safety:** Do not delete or overwrite user data. Avoid destructive commands.
9
+ - **Testing:** Run `bun test` after changes that affect parsing, conversion, or output.
10
+ - **Output Paths:** Keep OpenCode output at `opencode.json` and `.opencode/{agents,skills,plugins}`.
11
+ - **ASCII-first:** Use ASCII unless the file already contains Unicode.
12
+
13
+ ## Adding a New Target Provider (e.g., Codex)
14
+
15
+ Use this checklist when introducing a new target provider:
16
+
17
+ 1. **Define the target entry**
18
+ - Add a new handler in `src/targets/index.ts` with `implemented: false` until complete.
19
+ - Use a dedicated writer module (e.g., `src/targets/codex.ts`).
20
+
21
+ 2. **Define types and mapping**
22
+ - Add provider-specific types under `src/types/`.
23
+ - Implement conversion logic in `src/converters/` (from Claude → provider).
24
+ - Keep mappings explicit: tools, permissions, hooks/events, model naming.
25
+
26
+ 3. **Wire the CLI**
27
+ - Ensure `convert` and `install` support `--to <provider>` and `--also`.
28
+ - Keep behavior consistent with OpenCode (write to a clean provider root).
29
+
30
+ 4. **Tests (required)**
31
+ - Extend fixtures in `tests/fixtures/sample-plugin`.
32
+ - Add spec coverage for mappings in `tests/converter.test.ts`.
33
+ - Add a writer test for the new provider output tree.
34
+ - Add a CLI test for the provider (similar to `tests/cli.test.ts`).
35
+
36
+ 5. **Docs**
37
+ - Update README with the new `--to` option and output locations.
38
+
39
+ ## When to Add a Provider
40
+
41
+ Add a new provider when at least one of these is true:
42
+
43
+ - A real user/workflow needs it now.
44
+ - The target format is stable and documented.
45
+ - There’s a clear mapping for tools/permissions/hooks.
46
+ - You can write fixtures + tests that validate the mapping.
47
+
48
+ Avoid adding a provider if the target spec is unstable or undocumented.
package/CLAUDE.md ADDED
@@ -0,0 +1,380 @@
1
+ # Every Marketplace - Claude Code Plugin Marketplace
2
+
3
+ This repository is a Claude Code plugin marketplace that distributes the `compound-engineering` plugin to developers building with AI-powered tools.
4
+
5
+ ## Repository Structure
6
+
7
+ ```
8
+ every-marketplace/
9
+ ├── .claude-plugin/
10
+ │ └── marketplace.json # Marketplace catalog (lists available plugins)
11
+ ├── docs/ # Documentation site (GitHub Pages)
12
+ │ ├── index.html # Landing page
13
+ │ ├── css/ # Stylesheets
14
+ │ ├── js/ # JavaScript
15
+ │ └── pages/ # Reference pages
16
+ └── plugins/
17
+ └── compound-engineering/ # The actual plugin
18
+ ├── .claude-plugin/
19
+ │ └── plugin.json # Plugin metadata
20
+ ├── agents/ # 24 specialized AI agents
21
+ ├── commands/ # 13 slash commands
22
+ ├── skills/ # 11 skills
23
+ ├── mcp-servers/ # 2 MCP servers (playwright, context7)
24
+ ├── README.md # Plugin documentation
25
+ └── CHANGELOG.md # Version history
26
+ ```
27
+
28
+ ## Philosophy: Compounding Engineering
29
+
30
+ **Each unit of engineering work should make subsequent units of work easier—not harder.**
31
+
32
+ When working on this repository, follow the compounding engineering process:
33
+
34
+ 1. **Plan** → Understand the change needed and its impact
35
+ 2. **Delegate** → Use AI tools to help with implementation
36
+ 3. **Assess** → Verify changes work as expected
37
+ 4. **Codify** → Update this CLAUDE.md with learnings
38
+
39
+ ## Working with This Repository
40
+
41
+ ### Adding a New Plugin
42
+
43
+ 1. Create plugin directory: `plugins/new-plugin-name/`
44
+ 2. Add plugin structure:
45
+ ```
46
+ plugins/new-plugin-name/
47
+ ├── .claude-plugin/plugin.json
48
+ ├── agents/
49
+ ├── commands/
50
+ └── README.md
51
+ ```
52
+ 3. Update `.claude-plugin/marketplace.json` to include the new plugin
53
+ 4. Test locally before committing
54
+
55
+ ### Updating the Compounding Engineering Plugin
56
+
57
+ When agents, commands, or skills are added/removed, follow this checklist:
58
+
59
+ #### 1. Count all components accurately
60
+
61
+ ```bash
62
+ # Count agents
63
+ ls plugins/compound-engineering/agents/*.md | wc -l
64
+
65
+ # Count commands
66
+ ls plugins/compound-engineering/commands/*.md | wc -l
67
+
68
+ # Count skills
69
+ ls -d plugins/compound-engineering/skills/*/ 2>/dev/null | wc -l
70
+ ```
71
+
72
+ #### 2. Update ALL description strings with correct counts
73
+
74
+ The description appears in multiple places and must match everywhere:
75
+
76
+ - [ ] `plugins/compound-engineering/.claude-plugin/plugin.json` → `description` field
77
+ - [ ] `.claude-plugin/marketplace.json` → plugin `description` field
78
+ - [ ] `plugins/compound-engineering/README.md` → intro paragraph
79
+
80
+ Format: `"Includes X specialized agents, Y commands, and Z skill(s)."`
81
+
82
+ #### 3. Update version numbers
83
+
84
+ When adding new functionality, bump the version in:
85
+
86
+ - [ ] `plugins/compound-engineering/.claude-plugin/plugin.json` → `version`
87
+ - [ ] `.claude-plugin/marketplace.json` → plugin `version`
88
+
89
+ #### 4. Update documentation
90
+
91
+ - [ ] `plugins/compound-engineering/README.md` → list all components
92
+ - [ ] `plugins/compound-engineering/CHANGELOG.md` → document changes
93
+ - [ ] `CLAUDE.md` → update structure diagram if needed
94
+
95
+ #### 5. Rebuild documentation site
96
+
97
+ Run the release-docs command to update all documentation pages:
98
+
99
+ ```bash
100
+ claude /release-docs
101
+ ```
102
+
103
+ This will:
104
+ - Update stats on the landing page
105
+ - Regenerate reference pages (agents, commands, skills, MCP servers)
106
+ - Update the changelog page
107
+ - Validate all counts match actual files
108
+
109
+ #### 6. Validate JSON files
110
+
111
+ ```bash
112
+ cat .claude-plugin/marketplace.json | jq .
113
+ cat plugins/compound-engineering/.claude-plugin/plugin.json | jq .
114
+ ```
115
+
116
+ #### 6. Verify before committing
117
+
118
+ ```bash
119
+ # Ensure counts in descriptions match actual files
120
+ grep -o "Includes [0-9]* specialized agents" plugins/compound-engineering/.claude-plugin/plugin.json
121
+ ls plugins/compound-engineering/agents/*.md | wc -l
122
+ ```
123
+
124
+ ### Marketplace.json Structure
125
+
126
+ The marketplace.json follows the official Claude Code spec:
127
+
128
+ ```json
129
+ {
130
+ "name": "marketplace-identifier",
131
+ "owner": {
132
+ "name": "Owner Name",
133
+ "url": "https://github.com/owner"
134
+ },
135
+ "metadata": {
136
+ "description": "Marketplace description",
137
+ "version": "1.0.0"
138
+ },
139
+ "plugins": [
140
+ {
141
+ "name": "plugin-name",
142
+ "description": "Plugin description",
143
+ "version": "1.0.0",
144
+ "author": { ... },
145
+ "homepage": "https://...",
146
+ "tags": ["tag1", "tag2"],
147
+ "source": "./plugins/plugin-name"
148
+ }
149
+ ]
150
+ }
151
+ ```
152
+
153
+ **Only include fields that are in the official spec.** Do not add custom fields like:
154
+
155
+ - `downloads`, `stars`, `rating` (display-only)
156
+ - `categories`, `featured_plugins`, `trending` (not in spec)
157
+ - `type`, `verified`, `featured` (not in spec)
158
+
159
+ ### Plugin.json Structure
160
+
161
+ Each plugin has its own plugin.json with detailed metadata:
162
+
163
+ ```json
164
+ {
165
+ "name": "plugin-name",
166
+ "version": "1.0.0",
167
+ "description": "Plugin description",
168
+ "author": { ... },
169
+ "keywords": ["keyword1", "keyword2"],
170
+ "components": {
171
+ "agents": 15,
172
+ "commands": 6,
173
+ "hooks": 2
174
+ },
175
+ "agents": {
176
+ "category": [
177
+ {
178
+ "name": "agent-name",
179
+ "description": "Agent description",
180
+ "use_cases": ["use-case-1", "use-case-2"]
181
+ }
182
+ ]
183
+ },
184
+ "commands": {
185
+ "category": ["command1", "command2"]
186
+ }
187
+ }
188
+ ```
189
+
190
+ ## Documentation Site
191
+
192
+ The documentation site is at `/docs` in the repository root (for GitHub Pages). This site is built with plain HTML/CSS/JS (based on Evil Martians' LaunchKit template) and requires no build step to view.
193
+
194
+ ### Documentation Structure
195
+
196
+ ```
197
+ docs/
198
+ ├── index.html # Landing page with stats and philosophy
199
+ ├── css/
200
+ │ ├── style.css # Main styles (LaunchKit-based)
201
+ │ └── docs.css # Documentation-specific styles
202
+ ├── js/
203
+ │ └── main.js # Interactivity (theme toggle, mobile nav)
204
+ └── pages/
205
+ ├── getting-started.html # Installation and quick start
206
+ ├── agents.html # All 24 agents reference
207
+ ├── commands.html # All 13 commands reference
208
+ ├── skills.html # All 11 skills reference
209
+ ├── mcp-servers.html # MCP servers reference
210
+ └── changelog.html # Version history
211
+ ```
212
+
213
+ ### Keeping Docs Up-to-Date
214
+
215
+ **IMPORTANT:** After ANY change to agents, commands, skills, or MCP servers, run:
216
+
217
+ ```bash
218
+ claude /release-docs
219
+ ```
220
+
221
+ This command:
222
+ 1. Counts all current components
223
+ 2. Reads all agent/command/skill/MCP files
224
+ 3. Regenerates all reference pages
225
+ 4. Updates stats on the landing page
226
+ 5. Updates the changelog from CHANGELOG.md
227
+ 6. Validates counts match across all files
228
+
229
+ ### Manual Updates
230
+
231
+ If you need to update docs manually:
232
+
233
+ 1. **Landing page stats** - Update the numbers in `docs/index.html`:
234
+ ```html
235
+ <span class="stat-number">24</span> <!-- agents -->
236
+ <span class="stat-number">13</span> <!-- commands -->
237
+ ```
238
+
239
+ 2. **Reference pages** - Each page in `docs/pages/` documents all components in that category
240
+
241
+ 3. **Changelog** - `docs/pages/changelog.html` mirrors `CHANGELOG.md` in HTML format
242
+
243
+ ### Viewing Docs Locally
244
+
245
+ Since the docs are static HTML, you can view them directly:
246
+
247
+ ```bash
248
+ # Open in browser
249
+ open docs/index.html
250
+
251
+ # Or start a local server
252
+ cd docs
253
+ python -m http.server 8000
254
+ # Then visit http://localhost:8000
255
+ ```
256
+
257
+ ## Testing Changes
258
+
259
+ ### Test Locally
260
+
261
+ 1. Install the marketplace locally:
262
+
263
+ ```bash
264
+ claude /plugin marketplace add /Users/yourusername/every-marketplace
265
+ ```
266
+
267
+ 2. Install the plugin:
268
+
269
+ ```bash
270
+ claude /plugin install compound-engineering
271
+ ```
272
+
273
+ 3. Test agents and commands:
274
+ ```bash
275
+ claude /review
276
+ claude agent kieran-rails-reviewer "test message"
277
+ ```
278
+
279
+ ### Validate JSON
280
+
281
+ Before committing, ensure JSON files are valid:
282
+
283
+ ```bash
284
+ cat .claude-plugin/marketplace.json | jq .
285
+ cat plugins/compound-engineering/.claude-plugin/plugin.json | jq .
286
+ ```
287
+
288
+ ## Common Tasks
289
+
290
+ ### Adding a New Agent
291
+
292
+ 1. Create `plugins/compound-engineering/agents/new-agent.md`
293
+ 2. Update plugin.json agent count and agent list
294
+ 3. Update README.md agent list
295
+ 4. Test with `claude agent new-agent "test"`
296
+
297
+ ### Adding a New Command
298
+
299
+ 1. Create `plugins/compound-engineering/commands/new-command.md`
300
+ 2. Update plugin.json command count and command list
301
+ 3. Update README.md command list
302
+ 4. Test with `claude /new-command`
303
+
304
+ ### Adding a New Skill
305
+
306
+ 1. Create skill directory: `plugins/compound-engineering/skills/skill-name/`
307
+ 2. Add skill structure:
308
+ ```
309
+ skills/skill-name/
310
+ ├── SKILL.md # Skill definition with frontmatter (name, description)
311
+ └── scripts/ # Supporting scripts (optional)
312
+ ```
313
+ 3. Update plugin.json description with new skill count
314
+ 4. Update marketplace.json description with new skill count
315
+ 5. Update README.md with skill documentation
316
+ 6. Update CHANGELOG.md with the addition
317
+ 7. Test with `claude skill skill-name`
318
+
319
+ **Skill file format (SKILL.md):**
320
+ ```markdown
321
+ ---
322
+ name: skill-name
323
+ description: Brief description of what the skill does
324
+ ---
325
+
326
+ # Skill Title
327
+
328
+ Detailed documentation...
329
+ ```
330
+
331
+ ### Updating Tags/Keywords
332
+
333
+ Tags should reflect the compounding engineering philosophy:
334
+
335
+ - Use: `ai-powered`, `compound-engineering`, `workflow-automation`, `knowledge-management`
336
+ - Avoid: Framework-specific tags unless the plugin is framework-specific
337
+
338
+ ## Commit Conventions
339
+
340
+ Follow these patterns for commit messages:
341
+
342
+ - `Add [agent/command name]` - Adding new functionality
343
+ - `Remove [agent/command name]` - Removing functionality
344
+ - `Update [file] to [what changed]` - Updating existing files
345
+ - `Fix [issue]` - Bug fixes
346
+ - `Simplify [component] to [improvement]` - Refactoring
347
+
348
+ Include the Claude Code footer:
349
+
350
+ ```
351
+ 🤖 Generated with [Claude Code](https://claude.com/claude-code)
352
+
353
+ Co-Authored-By: Claude <noreply@anthropic.com>
354
+ ```
355
+
356
+ ## Resources to search for when needing more information
357
+
358
+ - [Claude Code Plugin Documentation](https://docs.claude.com/en/docs/claude-code/plugins)
359
+ - [Plugin Marketplace Documentation](https://docs.claude.com/en/docs/claude-code/plugin-marketplaces)
360
+ - [Plugin Reference](https://docs.claude.com/en/docs/claude-code/plugins-reference)
361
+
362
+ ## Key Learnings
363
+
364
+ _This section captures important learnings as we work on this repository._
365
+
366
+ ### 2024-11-22: Added gemini-imagegen skill and fixed component counts
367
+
368
+ Added the first skill to the plugin and discovered the component counts were wrong (said 15 agents, actually had 17). Created a comprehensive checklist for updating the plugin to prevent this in the future.
369
+
370
+ **Learning:** Always count actual files before updating descriptions. The counts appear in multiple places (plugin.json, marketplace.json, README.md) and must all match. Use the verification commands in the checklist above.
371
+
372
+ ### 2024-10-09: Simplified marketplace.json to match official spec
373
+
374
+ The initial marketplace.json included many custom fields (downloads, stars, rating, categories, trending) that aren't part of the Claude Code specification. We simplified to only include:
375
+
376
+ - Required: `name`, `owner`, `plugins`
377
+ - Optional: `metadata` (with description and version)
378
+ - Plugin entries: `name`, `description`, `version`, `author`, `homepage`, `tags`, `source`
379
+
380
+ **Learning:** Stick to the official spec. Custom fields may confuse users or break compatibility with future versions.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Every
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,65 @@
1
+ # Compound Marketplace
2
+
3
+ A Claude Code plugin marketplace featuring the **Compound Engineering Plugin** — tools that make each unit of engineering work easier than the last.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ /plugin marketplace add https://github.com/kieranklaassen/compound-engineering-plugin
9
+ /plugin install compound-engineering
10
+ ```
11
+
12
+ ## OpenCode + Codex support (experimental)
13
+
14
+ This repo includes a Bun/TypeScript CLI that converts Claude Code plugins to OpenCode and Codex.
15
+
16
+ ```bash
17
+ # convert the compound-engineering plugin into OpenCode format
18
+ bunx @every-env/compound-plugin install compound-engineering --to opencode
19
+
20
+ # convert to Codex format
21
+ bunx @every-env/compound-plugin install compound-engineering --to codex
22
+ ```
23
+
24
+ Local dev:
25
+
26
+ ```bash
27
+ bun run src/index.ts install ./plugins/compound-engineering --to opencode
28
+ ```
29
+
30
+ OpenCode output is written to `~/.opencode` by default, with `opencode.json` at the root and `agents/`, `skills/`, and `plugins/` alongside it.
31
+ Both provider targets are experimental and may change as the formats evolve.
32
+ Codex output is written to `~/.codex/prompts` and `~/.codex/skills`, with each Claude command converted into both a prompt and a skill (the prompt instructs Codex to load the corresponding skill). Generated Codex skill descriptions are truncated to 1024 characters (Codex limit).
33
+
34
+ ## Workflow
35
+
36
+ ```
37
+ Plan → Work → Review → Compound → Repeat
38
+ ```
39
+
40
+ | Command | Purpose |
41
+ |---------|---------|
42
+ | `/workflows:plan` | Turn feature ideas into detailed implementation plans |
43
+ | `/workflows:work` | Execute plans with worktrees and task tracking |
44
+ | `/workflows:review` | Multi-agent code review before merging |
45
+ | `/workflows:compound` | Document learnings to make future work easier |
46
+
47
+ Each cycle compounds: plans inform future plans, reviews catch more issues, patterns get documented.
48
+
49
+ ## Philosophy
50
+
51
+ **Each unit of engineering work should make subsequent units easier—not harder.**
52
+
53
+ Traditional development accumulates technical debt. Every feature adds complexity. The codebase becomes harder to work with over time.
54
+
55
+ Compound engineering inverts this. 80% is in planning and review, 20% is in execution:
56
+ - Plan thoroughly before writing code
57
+ - Review to catch issues and capture learnings
58
+ - Codify knowledge so it's reusable
59
+ - Keep quality high so future changes are easy
60
+
61
+ ## Learn More
62
+
63
+ - [Full component reference](plugins/compound-engineering/README.md) - all agents, commands, skills
64
+ - [Compound engineering: how Every codes with agents](https://every.to/chain-of-thought/compound-engineering-how-every-codes-with-agents)
65
+ - [The story behind compounding engineering](https://every.to/source-code/my-ai-had-already-fixed-the-code-before-i-saw-it)
package/bun.lock ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "lockfileVersion": 1,
3
+ "workspaces": {
4
+ "": {
5
+ "name": "compound-plugin",
6
+ "dependencies": {
7
+ "citty": "^0.1.6",
8
+ "js-yaml": "^4.1.0",
9
+ },
10
+ "devDependencies": {
11
+ "bun-types": "^1.0.0",
12
+ },
13
+ },
14
+ },
15
+ "packages": {
16
+ "@types/node": ["@types/node@25.0.9", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw=="],
17
+
18
+ "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="],
19
+
20
+ "bun-types": ["bun-types@1.3.6", "", { "dependencies": { "@types/node": "*" } }, "sha512-OlFwHcnNV99r//9v5IIOgQ9Uk37gZqrNMCcqEaExdkVq3Avwqok1bJFmvGMCkCE0FqzdY8VMOZpfpR3lwI+CsQ=="],
21
+
22
+ "citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="],
23
+
24
+ "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="],
25
+
26
+ "js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="],
27
+
28
+ "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
29
+ }
30
+ }