Add FastAPI server capabilities to an existing Python project with uvicorn, OpenAPI docs, and configuration management
Install git hooks to prevent common workflow mistakes
Set up macOS launchd service for auto-starting Python applications
Initialize complete Python project with comprehensive documentation, development environment, and tooling. Use when creating a new Python project from scratch.
Generate semantic versioned releases with changelog and GitHub releases
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A Claude Code plugin for setting up project working environments.
plinth:python-project-init - Initialize complete Python project with Click-based CLI, documentation, and toolingplinth:fastapi-sweetener - Add FastAPI server capabilities to existing Python project as CLI subcommandplinth:macos-launchd-service - Generate complete launchd service infrastructure for auto-starting Python applicationsplinth:releaserator - Automated release process with semantic versioning and changelog generationplinth:git-workflow-hooks - Install git hooks to prevent common workflow mistakes (blocks manual version tag pushes)Session management and project tracking skills have moved to the handoff plugin:
handoff:project-tracking - Establish token-efficient documentation structurehandoff:session-pickup - Read CONTEXT.md to resume work in under 2 minuteshandoff:session-wrapup - Update docs and commit at end of sessionClone the repository and add it to your Claude Code plugins:
git clone https://github.com/pborenstein/plinth.git ~/.claude/plugins/plinth
Or add as a dependency in your project's .claude/settings.json:
{
"plugins": ["~/.claude/plugins/plinth"]
}
/plinth:python-project-init
Creates a complete Python project from scratch:
pyproject.toml with uv configuration, Click for CLIREADME.md and CLAUDE.md for documentation.gitignore and test structureAfter creation: cd project && uv sync && uv run package --version
CLI uses Click groups, ready for subcommands (e.g., adding server with fastapi-sweetener).
Setting up auto-start service for Python applications:
/plinth:macos-launchd-service
Generates complete service infrastructure:
launchd/install.sh - Automated service installerlaunchd/{project}.plist.template - Service configurationdev.sh - Development mode with auto-reloadview-logs.sh - Log viewer with modesServices auto-start on login, auto-restart on crash, and log to ~/Library/Logs/.
See macos-launchd-service README for complete guide.
Adding FastAPI server to a Python project:
/plinth:fastapi-sweetener
Adds FastAPI server capabilities to an existing Python project (created with python-project-init):
{package}/server.py - FastAPI app with OpenAPI, CORS, lifespan management{package}/config.py - Configuration loader (JSON/YAML){package}/cli.py - Adds server subcommand (converts to Click if needed)pyproject.toml - Adds fastapi, uvicorn, click dependenciesconfig.example.json and .env.exampleTypical workflow:
/plinth:python-project-init # Create base CLI project
# ... develop CLI functionality ...
/plinth:fastapi-sweetener # Add API server later
Result:
myproject --help # Shows CLI subcommands
myproject hello # Runs CLI command
myproject server # Starts FastAPI server
myproject server --reload --port 8080 # Dev mode
See fastapi-sweetener README for complete guide.
Creating a release:
/plinth:releaserator
Automates the entire release process:
.claude-plugin/plugin.json versionPrerequisites:
brew install gh)gh auth login)Workflow:
git status # Verify clean
/plinth:releaserator # Create release
Version bumping follows Conventional Commits:
BREAKING CHANGE: or feat!:feat: commitsfix: or perf: commitsdocs:, chore:, etc.Changelog format: Keep A Changelog
See releaserator README for complete guide.
npx claudepluginhub pborenstein/plinthToken-efficient project tracking with session pickup/wrapup and multi-project meta-repo support
Project scaffolding and orientation: /project:init zero-to-GitHub-repo orchestration (repo creation, CLAUDE.md via the native /init, CI/CD wiring), /project:next prioritized next-step report, /project:lite quick low-token reference.
Project-agnostic task and release management framework with 8 streamlined skills: /task, /idea, /release, /docs, /setup, /update, /tests, /help. Features a gated release pipeline with automatic subagent orchestration.
Project initialization and management - setup, modernization, and continuous development workflows
Context-Driven Development plugin that transforms Claude Code into a project management tool with structured workflow: Context → Spec & Plan → Implement
Semantic version bumping for plugins with git tags and commits
Scaffold new projects and add features with best-practice templates