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>
This commit is contained in:
229
CLAUDE.md
Normal file
229
CLAUDE.md
Normal file
@@ -0,0 +1,229 @@
|
||||
# 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:**
|
||||
```bash
|
||||
# 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:
|
||||
|
||||
```json
|
||||
{
|
||||
"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:
|
||||
|
||||
```json
|
||||
{
|
||||
"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:
|
||||
```bash
|
||||
claude /plugin marketplace add /Users/yourusername/every-marketplace
|
||||
```
|
||||
|
||||
2. Install the plugin:
|
||||
```bash
|
||||
claude /plugin install compounding-engineering
|
||||
```
|
||||
|
||||
3. Test agents and commands:
|
||||
```bash
|
||||
claude /review
|
||||
claude agent kieran-rails-reviewer "test message"
|
||||
```
|
||||
|
||||
### Validate JSON
|
||||
|
||||
Before committing, ensure JSON files are valid:
|
||||
```bash
|
||||
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
|
||||
|
||||
- [Claude Code Plugin Documentation](https://docs.claude.com/en/docs/claude-code/plugins)
|
||||
- [Plugin Marketplace Documentation](https://docs.claude.com/en/docs/claude-code/plugin-marketplaces)
|
||||
- [Compounding Engineering Plugin](https://github.com/EveryInc/compounding-engineering-plugin)
|
||||
|
||||
## 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.
|
||||
Reference in New Issue
Block a user