Files
claude-engineering-plugin/CLAUDE.md
Kieran Klaassen 77de729c0b Initial commit: Every Marketplace for Claude Code
Official plugin marketplace featuring the Compounding Engineering plugin with 15 specialized agents, 6 commands, and 2 automated hooks. This marketplace embodies the compounding engineering philosophy where each unit of work makes future work easier.

Key features:
- Compounding Engineering plugin with AI-powered development tools
- Complete marketplace infrastructure with CLAUDE.md documentation
- Simplified structure following official Claude Code specifications

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 13:37:38 -07:00

6.9 KiB

Every Marketplace - Claude Code Plugin Marketplace

This repository is a Claude Code plugin marketplace that distributes the compounding-engineering plugin to developers building with AI-powered tools.

Repository Structure

every-marketplace/
├── .claude-plugin/
│   └── marketplace.json          # Marketplace catalog (lists available plugins)
└── plugins/
    └── compounding-engineering/   # The actual plugin
        ├── .claude-plugin/
        │   └── plugin.json        # Plugin metadata
        ├── agents/                # 15 specialized AI agents
        ├── commands/              # 6 slash commands
        ├── hooks/                 # 2 automated hooks
        └── README.md              # Plugin documentation

Philosophy: Compounding Engineering

Each unit of engineering work should make subsequent units of work easier—not harder.

When working on this repository, follow the compounding engineering process:

  1. Plan → Understand the change needed and its impact
  2. Delegate → Use AI tools to help with implementation
  3. Assess → Verify changes work as expected
  4. Codify → Update this CLAUDE.md with learnings

Working with This Repository

Adding a New Plugin

  1. Create plugin directory: plugins/new-plugin-name/
  2. Add plugin structure:
    plugins/new-plugin-name/
    ├── .claude-plugin/plugin.json
    ├── agents/
    ├── commands/
    └── README.md
    
  3. Update .claude-plugin/marketplace.json to include the new plugin
  4. Test locally before committing

Updating the Compounding Engineering Plugin

When agents or commands are added/removed:

  1. Scan for actual files:

    # Count agents
    ls plugins/compounding-engineering/agents/*.md | wc -l
    
    # Count commands
    ls plugins/compounding-engineering/commands/*.md | wc -l
    
  2. Update plugin.json at plugins/compounding-engineering/.claude-plugin/plugin.json:

    • Update components.agents count
    • Update components.commands count
    • Update agents object to reflect which agents exist
    • Update commands object to reflect which commands exist
  3. Update plugin README at plugins/compounding-engineering/README.md:

    • Update agent/command counts in the intro
    • Update the agent/command lists to match what exists
  4. Update marketplace.json at .claude-plugin/marketplace.json:

    • Usually doesn't need changes unless changing plugin description/tags

Marketplace.json Structure

The marketplace.json follows the official Claude Code spec:

{
  "name": "marketplace-identifier",
  "owner": {
    "name": "Owner Name",
    "url": "https://github.com/owner"
  },
  "metadata": {
    "description": "Marketplace description",
    "version": "1.0.0"
  },
  "plugins": [
    {
      "name": "plugin-name",
      "description": "Plugin description",
      "version": "1.0.0",
      "author": { ... },
      "homepage": "https://...",
      "tags": ["tag1", "tag2"],
      "source": "./plugins/plugin-name"
    }
  ]
}

Only include fields that are in the official spec. Do not add custom fields like:

  • downloads, stars, rating (display-only)
  • categories, featured_plugins, trending (not in spec)
  • type, verified, featured (not in spec)

Plugin.json Structure

Each plugin has its own plugin.json with detailed metadata:

{
  "name": "plugin-name",
  "version": "1.0.0",
  "description": "Plugin description",
  "author": { ... },
  "keywords": ["keyword1", "keyword2"],
  "components": {
    "agents": 15,
    "commands": 6,
    "hooks": 2
  },
  "agents": {
    "category": [
      {
        "name": "agent-name",
        "description": "Agent description",
        "use_cases": ["use-case-1", "use-case-2"]
      }
    ]
  },
  "commands": {
    "category": ["command1", "command2"]
  }
}

Testing Changes

Test Locally

  1. Install the marketplace locally:

    claude /plugin marketplace add /Users/yourusername/every-marketplace
    
  2. Install the plugin:

    claude /plugin install compounding-engineering
    
  3. Test agents and commands:

    claude /review
    claude agent kieran-rails-reviewer "test message"
    

Validate JSON

Before committing, ensure JSON files are valid:

cat .claude-plugin/marketplace.json | jq .
cat plugins/compounding-engineering/.claude-plugin/plugin.json | jq .

Common Tasks

Adding a New Agent

  1. Create plugins/compounding-engineering/agents/new-agent.md
  2. Update plugin.json agent count and agent list
  3. Update README.md agent list
  4. Test with claude agent new-agent "test"

Adding a New Command

  1. Create plugins/compounding-engineering/commands/new-command.md
  2. Update plugin.json command count and command list
  3. Update README.md command list
  4. Test with claude /new-command

Updating Tags/Keywords

Tags should reflect the compounding engineering philosophy:

  • Use: ai-powered, compounding-engineering, workflow-automation, knowledge-management
  • Avoid: Framework-specific tags unless the plugin is framework-specific

Commit Conventions

Follow these patterns for commit messages:

  • Add [agent/command name] - Adding new functionality
  • Remove [agent/command name] - Removing functionality
  • Update [file] to [what changed] - Updating existing files
  • Fix [issue] - Bug fixes
  • Simplify [component] to [improvement] - Refactoring

Include the Claude Code footer:

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

Resources

Key Learnings

This section captures important learnings as we work on this repository.

2025-10-09: Simplified marketplace.json to match official spec

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:

  • Required: name, owner, plugins
  • Optional: metadata (with description and version)
  • Plugin entries: name, description, version, author, homepage, tags, source

Learning: Stick to the official spec. Custom fields may confuse users or break compatibility with future versions.

2025-10-09: Updated tags to reflect philosophy over technology

Changed from Rails-specific tags (rails, ruby, testing) to philosophy-driven tags (ai-powered, compounding-engineering, workflow-automation, knowledge-management). This better represents what the plugin actually does.

Learning: Tags should describe the value proposition, not just the technology stack.