Skip to main content

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

Metadata

Release files for jaymd96-guild 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jaymd96-guild 0.1.1
File Size Uploaded
jaymd96_guild-0.1.1.tar.gz 39.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jaymd96-guild 0.1.1
File Interpreter ABI Platform
jaymd96_guild-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 68.4 kB

Release files / jaymd96_guild-0.1.1.tar.gz

Download URL jaymd96_guild-0.1.1.tar.gz
Size 39.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c728f878df5e285ff1c4c33f234761c40ca5ef9c97163dcf94348cc68ae39c30
BLAKE2b-256 checksum
How to use checksums
38c57eb2bbff12adbe4601847514a8d80c14716909bc82652d4b1f17b66402cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1

Release files / jaymd96_guild-0.1.1-py3-none-any.whl

Download URL jaymd96_guild-0.1.1-py3-none-any.whl
Size 29.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
541bebfa9acb3321ea2c8d125bc1fd1af387f9a4609a93ad86d458029e021a35
BLAKE2b-256 checksum
How to use checksums
fa885a66324566265492c0694563a5570928af572b10813c519d9ee67e147516
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page