Skip to main content

Scaffold and manage Claude Code plugin marketplaces.

Project description

guild

Scaffold and manage Claude Code plugin marketplaces.

guild is an opinionated CLI that creates, validates, and builds plugin marketplace repositories for Claude Code. It pairs with psclaude which consumes the marketplaces guild produces.

Install

pip install jaymd96-guild

Quick Start

# Create a new marketplace
guild init my-marketplace --owner "Your Name"
cd my-marketplace

# Add plugins
guild add code-review --description "Automated code review"
guild add test-generator --description "Generate test cases"

# Edit the generated files
$EDITOR plugins/code-review/CLAUDE.md
$EDITOR plugins/code-review/skills/

# Build marketplace.json (regenerated from source)
guild build

# Validate everything
guild validate

Commands

Command Description
guild init [path] Scaffold a new marketplace repo
guild add <name> Create a new local plugin
guild remove <name> Remove a local plugin
guild build Regenerate marketplace.json and README
guild validate Check structure and conventions
guild list Show all plugins (local + external)
guild version <plugin> <ver> Set a plugin's version

Marketplace Structure

my-marketplace/
├── guild.toml                    # Source of truth for config
├── marketplace.json              # Generated — never hand-edit
├── README.md                     # Generated — plugin catalogue
├── .github/workflows/
│   ├── validate.yml              # PR gate
│   └── release.yml               # Tag → GitHub release
└── plugins/
    └── code-review/
        ├── plugin.toml           # Name, version, description
        ├── CLAUDE.md             # Instructions for Claude
        └── skills/
            └── review.md         # Skill prompt

Opinions

  1. marketplace.json is generated — edit guild.toml and plugin.toml, not the output
  2. Local-first — plugins live in the repo by default; external sources are the escape hatch
  3. One plugin, one directory — no nesting, no sharing skills between plugins
  4. Kebab-case names — derived from directory name, enforced by validation
  5. Every plugin has a CLAUDE.md — instructions are mandatory, not optional
  6. Skills are markdown.md files only, no subdirectories
  7. Versions are explicit — every plugin declares a version in plugin.toml
  8. External sources in guild.toml — one place to audit dependencies
  9. Validation is structural — checks conventions, not content quality
  10. CI included — GitHub Actions workflows ship with every new marketplace

External Plugins

Register plugins from GitHub, npm, pip, or any git URL in guild.toml:

[marketplace]
name = "my-tools"
owner = "James"

[external.deploy-helper]
source = "github"
repo = "acme/deploy-helper"
ref = "v2.1.0"

[external.linter]
source = "npm"
package = "@acme/claude-linter"
version = "^1.0"

Consuming with psclaude

from psclaude import PsClaude

client = PsClaude(
    marketplaces=["jaymd96/my-marketplace"],
    install=["code-review@my-marketplace"],
)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jaymd96_guild-0.1.1.tar.gz (39.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jaymd96_guild-0.1.1-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file jaymd96_guild-0.1.1.tar.gz.

File metadata

  • Download URL: jaymd96_guild-0.1.1.tar.gz
  • Upload date:
  • Size: 39.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1

File hashes

Hashes for jaymd96_guild-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c728f878df5e285ff1c4c33f234761c40ca5ef9c97163dcf94348cc68ae39c30
MD5 9971a563a145d42383a4e167de9ade80
BLAKE2b-256 38c57eb2bbff12adbe4601847514a8d80c14716909bc82652d4b1f17b66402cc

See more details on using hashes here.

File details

Details for the file jaymd96_guild-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: jaymd96_guild-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 29.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1

File hashes

Hashes for jaymd96_guild-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 541bebfa9acb3321ea2c8d125bc1fd1af387f9a4609a93ad86d458029e021a35
MD5 692680f29fcfb0793a1e6931ea5f0359
BLAKE2b-256 fa885a66324566265492c0694563a5570928af572b10813c519d9ee67e147516

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page