Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,16 @@
"source": {
"source": "git-subdir",
"url": "johantor/crew",
"path": "plugins/crew"
"path": "plugin"
},
"description": "Team-style feature delivery for Claude Code: a captain agent plans the work and delegates each step to backend, frontend, test, and design specialists behind hook-enforced guardrails, with a consolidated review gate before anything ships. Also pays down tech debt one verified, gated batch at a time."
},
{
"name": "board",
"source": {
"source": "github",
"repo": "johantor/board"
"source": "git-subdir",
"url": "johantor/board",
"path": "plugin"
},
"description": "A local kanban board of every Claude Code session: what needs you, what is running, what you closed today. Hooks log each session's state, a small Node server on 127.0.0.1 shows it as cards, and a click copies the resume command. Crew runs show their subagents on the session's card."
}
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ claude plugin install crew@johantor # and board@johantor

## Maintaining

Each plugin lives in the `plugin/` folder of its repository, and the entries install that folder
only (`git-subdir`), so a repo's site and tooling never reach users.

A plugin entry's `name` and `description` copy the plugin's own `plugin.json`, which is
canonical. CI (`validate.yml`) fetches each `plugin.json` from its repository and fails on a
mismatch, so update the entry here when a plugin changes its description.
Expand Down
Loading