Skip to content

Latest commit

 

History

153 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bm

An extremely fast Claude Code skill manager.

Python uv Ruff Checked with mypy License: MIT Tests Version skills.sh

Install 75+ Claude Code skills in one command. Edit once, reflect everywhere via symlinks.


Table of Contents


New? Start Here 🚀

Forward Deployed Engineer?FDE Onboarding Guide

Read the FDE principles, install Ghostty + Raycast, then run bm setup --yes — that's it. The CLI handles everything else.


Highlights

  • One command installbm install symlinks all 75+ skills into Claude Code instantly.
  • 🧹 One command cleanupbm uninstall --all removes bm-managed installed skills without deleting source files.
  • 🔎 Agent-friendly suggestionsbm suggest --intent "improve seo" --install --cache recommends, installs, and caches relevant skills without loading every skill into context.
  • Symlink-first — skills live in the repo; edit once and changes reflect everywhere with no reinstall.
  • 🎯 Project skill lifecycle — create scoped skills with bm skill add x --project p, promote to general when proven.
  • 🔧 Registry tracking — every installed skill is recorded in ~/.bm/registry.json, however it was installed.
  • Claude-native JSON output — every command supports --json so agents can query bm status --json directly.
  • Plugin guidancebm plugins detects Superpowers and Double Shot Latte and walks you through any missing installs.
  • Zero config — path constants computed from repo root at import time; works from any directory.
  • 📝 Saved prompts — save, search, star, and reuse prompt templates. Export as Claude Code /commands.
  • 🔄 Auto-sync hooks — git hooks auto-run bm install on pull/checkout when skills or prompts change.
  • 💡 Dashboard tips — random helpful hints shown on bm dashboard so you discover features without reading docs.

How bm Keeps Context Clean

flowchart LR
    request[Task request: improve seo] --> intent[bm suggest --intent improve seo --json]
    project[Project files] --> scan[bm suggest . --json]
    intent --> rank[Rank matching skills]
    scan --> rank[Rank matching skills]
    rank --> install[bm suggest --intent improve seo --install --cache]
    install --> claude[Claude Code sees only useful skills]
    install --> cache[~/.bm/suggestions.json]
    claude --> cleanup[bm uninstall --all --yes]
    cleanup --> clean[No skill clutter left behind]
Loading

The default path is intentionally reversible: scan first, install only what matches, cache the recommendation set for the agent, then unlink bm-managed skills when the session ends. Source skills stay in the repo; external skills stay untouched.

Why This Design Is Highly Optimal

  • Low context pressure — agents can call bm context --global --json for a grouped catalog, or bm suggest --intent "improve seo" --top 4 --install --cache for only the skills relevant to the task.
  • Reversible installs — symlink-first install and bm uninstall --all --yes make cleanup cheap, so experimentation does not permanently clutter Claude Code.
  • Machine-readable contracts — JSON commands keep stdout clean for Codex/Claude automation and move human diagnostics to Rich output or stderr.
  • Fast path plus fallback — PyO3 handles hot filesystem/parsing helpers when native wheels are available; pure Python fallback keeps source/editable installs working.
  • Release proof, not vibes — CI verifies lint, types, tests, schemas, Rust tests, sdist builds, native wheel builds, and that each native wheel actually contains bm._native.

Release Flow

flowchart TD
    pr[Draft PR] --> gates[Quality gates]
    gates --> python[Ruff + mypy + basedpyright + pytest]
    gates --> rust[Cargo test + maturin wheel]
    rust --> verify[Verify wheel contains bm._native]
    python --> tag[v1.10.2 tag]
    verify --> tag
    tag --> publish[PyPI trusted publish]
    tag --> release[GitHub Release]
    release --> skills[skills.sh refresh]
Loading

Installation

Requirements: Python 3.11+, Claude Code

uv tool install benmore-bm
# or
pipx install benmore-bm

Contributor installs can stay editable against this repository:

git clone https://github.com/Benmore-Studio/Benmore-Meridian
cd Benmore-Meridian
uv tool install --editable ./bm

Quick Start

# Symlink all 75+ skills into Claude Code
bm install

# Verify skill status
bm status

# Check plugin requirements (Superpowers, Double Shot Latte)
bm plugins

# Full health check
bm doctor

Open Claude Code in any project — all skills are live.

For a smaller context footprint, install only the skills that match a project:

bm suggest . --top 4 --install --cache
bm suggest --intent "improve seo" --top 4 --install --cache
bm uninstall --all --yes     # remove bm-managed installed skills later

Update to latest:

git pull
bm update    # git pull + reinstalls all skills

Commands

Core

Command Description
bm install [--rsync] [--dry-run] Symlink all skills → ~/.claude/skills/ (idempotent)
bm uninstall [names...] [--all] [--dry-run] Unlink bm-managed installed skills without deleting source files
bm status [--json] Show skill status as rich table or JSON
bm update [name] [--rsync] [--dry-run] git pull + reinstall one or all skills
bm plugins Detect and guide Superpowers / Double Shot Latte install
bm doctor Full health check: skills + plugins + registry

Skills

Command Description
bm skill add <name> Scaffold a new general skill
bm skill add <name> --project <p> Scaffold a project-scoped skill
bm skill list [--project <p>] [--json] List skills, optionally filtered by project
bm skill generalize <name> Promote a project skill to general
bm skill info <name> Show path, scope, status, and source
bm skill remove <name> [--dry-run] Uninstall a skill from ~/.claude/skills/ and registry ✨ v1.1
bm skill write <name> Interactively generate a new SKILL.md with guided prompts ✨ v1.1
bm skill add-external <source> --skill <name> Install a skill from plugins/agents directories ✨ v1.3

Discovery ✨ v1.3

Command Description
bm suggest [path] [--intent <task>] [--top N] [--install] [--cache] [--json] Scan project or task intent → ranked skill suggestions; optionally install/cache them
bm context [path] [--top N] [--global] [--json] [--copy] Generate project context, recommendations, and optional full grouped skill catalog
bm explore [path] Deep scan → writes docs/bm-suggestions.md report
bm debrief [--since <tag>] [--limit N] [--json] Surface skill candidates from recent git history

Registry

Command Description
bm registry sync [--dry-run] Scan ~/.claude/skills/ and reconcile registry
bm registry list [--json] List all registered skills

Prompts ✨ v1.6

Command Description
bm prompt list [--tag T] [--starred] [--popular] [--json] Browse saved prompts with filters
bm prompt add <name> [-p project] Create a reusable prompt template
bm prompt search <query> [--tag T] Fuzzy-search prompts by name, description, or tags
bm prompt info <name> Show full prompt content and metadata
bm prompt copy <name> [args...] Render with arguments → clipboard
bm prompt export <name> / --all Symlink → ~/.claude/commands/ (becomes /command)
bm prompt unexport <name> Remove from Claude Code commands
bm prompt star/unstar <name> Bookmark favorite prompts
bm prompt remove <name> Delete a prompt

Hooks ✨ v1.6

Command Description
bm hooks install Install post-merge + post-checkout hooks for auto-sync
bm hooks remove Remove bm-managed hooks (preserves others)
bm hooks status Check which hooks are installed
bm install --quiet Silent mode for hooks and automation

Tools

Command Description
bm tools list Show available developer CLI tools with install status ✨ v1.1
bm tools install [name...] Install tools via Homebrew (macOS) or apt (Linux) ✨ v1.1

All commands support --help for detailed usage.


Skills

Skills are markdown files (SKILL.md) that give Claude Code domain expertise and step-by-step workflows for specialized tasks. They live in skills/ and are symlinked to ~/.claude/skills/ where Claude Code picks them up automatically.

Available Skills

Category Skills
🚀 Production django-production, frontend-productionize, productionize-app, fastapi-templates, vercel-cli
🔒 Security & Compliance dependency-security-audit, audit-trail, gdpr-compliance, multi-tenant-guard, multi-tenant-scan, hipaa-compliance-guard, security-compliance-audit, healthcare-audit-logger, django-react-2fa, otp-verification, role-based-authentication, universal-auth, service-invariant-guard
🌐 SEO ai-seo, seo-audit, programmatic-seo
📱 Mobile django-auth-react-native, expo-deployment, expo-push-notifications, django-react-2fa
📄 Documents pdf, xlsx, presentation-maker, release-notes
🔧 Dev Tools mcp-builder, modern-terminal-setup, skill-creator, find-skills
🤝 Workflow feature-alignment, github-pr-review-workflow, receiving-code-review
💳 Payments stripe-integration
🏗️ PCS (scoped) pcs-migration, pcs-new-service, pcs-add-endpoint, + 4 more

Full inventory: skills/SKILLS_INVENTORY.md

Creating a Skill

# 1. Scaffold a new skill
bm skill add my-skill

# 2. Edit the generated SKILL.md
$EDITOR skills/my-skill/SKILL.md

# 3. Activate via symlink
bm install

# 4. Invoke it in Claude Code
# "Run my-skill on this project"

Project Skill Lifecycle

Skills start project-scoped and graduate to general when proven:

# Create scoped to a project
bm skill add deploy-hook --project my-project

# Edit and test in Claude Code
$EDITOR skills/my-project/deploy-hook/SKILL.md
bm install

# Promote when it proves universally useful
bm skill generalize deploy-hook
# → moves skills/my-project/deploy-hook/ → skills/deploy-hook/
# → updates symlink and registry

Claude-Native JSON Output

# Claude agents can query bm directly
bm status --json          # [{name, status, scope, project}, ...]
bm registry list --json   # [{name, source, scope, install_method, ...}, ...]
bm skill list --json      # [{name, scope, project, path}, ...]

Plugin Ecosystem

bm integrates with two Claude Code plugin marketplaces. Run bm plugins to check your install status and get setup instructions.

Advanced skills for systematic debugging, test-driven development, parallel subagent execution, git worktrees, and more. Installs into ~/.claude/skills/superpowers/.

Compound engineering workflows: browser automation, frontend design, brainstorming, PR review, and agent-native architecture patterns.

# Check which plugins are installed
bm plugins

# Doctor will also surface missing plugins
bm doctor

Developer Tools

bm can install a curated set of modern CLI tools via Homebrew (macOS) or apt (Linux):

bm tools list                          # see available tools + install status
bm tools install ripgrep fzf lazygit   # install specific tools
bm tools install                       # install everything
Tool Purpose Install
ripgrep Extremely fast grep replacement (rg) brew install ripgrep
fzf Fuzzy finder for shell history, files, git brew install fzf
lazygit Terminal UI for git branches and diffs brew install lazygit
bat cat with syntax highlighting and git markers brew install bat
eza Modern ls with icons and git status brew install eza
zoxide Smarter cd — jump to frecent directories brew install zoxide
delta Syntax-highlighted git diff viewer brew install git-delta
gh GitHub CLI — PRs, issues, releases brew install gh

Technology Stack

Tool Purpose
Claude Code AI coding assistant — skill runtime
uv Python package manager
Ruff Python linter and formatter
Typer CLI framework built on Click + type annotations
Rich Terminal UI — tables, panels, progress bars
mypy Static type checker (strict mode, 0 errors)
pytest Test framework
ripgrep Fast code search referenced in dev skills
fzf Fuzzy finder referenced in terminal skills
lazygit Git TUI referenced in dev tooling skills

Repository Structure

Benmore-Meridian/
├── bm/                    # The bm CLI tool
│   ├── bm/                # Python package
│   │   ├── cli.py         # All commands (Typer)
│   │   ├── installer.py   # Symlink-first install + SKILL.md validation
│   │   ├── registry.py    # ~/.bm/registry.json persistence
│   │   ├── dryrun.py      # DryRunContext — safe preview of any write ✨ v1.1
│   │   ├── validator.py   # SKILL.md frontmatter validation ✨ v1.1
│   │   ├── tools.py       # Developer tool definitions ✨ v1.1
│   │   ├── status.py      # Installed/missing/broken detection
│   │   ├── plugins.py     # Superpowers + Double Shot Latte detection
│   │   ├── updater.py     # git pull + reinstall orchestration
│   │   ├── config.py      # Path constants + REPO_ROOT discovery
│   │   └── models.py      # All dataclasses and enums
│   ├── native/            # Optional PyO3 helper crate
│   ├── tests/             # 94 tests, mypy, basedpyright, ruff clean
│   └── README.md          # Full bm command reference + architecture
├── skills/                # 75+ Claude Code skills (symlinked to ~/.claude/skills/)
├── guides/                # Developer onboarding documentation
│   ├── django/            # Production readiness (3 complementary guides)
│   ├── deployment/        # Heroku, DigitalOcean, CI/CD, React Native
│   ├── development/       # Dev workflow, Claude Code ecosystem
│   ├── review/            # PR review with AI
│   └── toolkit/           # Environment setup
└── docs/                  # Design specs + implementation plans

Guides

Guide Description
FDE Onboarding Start here if you're new — full setup in one command
Django Production Simple → detailed → comprehensive productionization
Deployment Heroku, DigitalOcean (6 ops guides), CI/CD, React Native
Development Workflow Meeting notes → production, Claude Code ecosystem
PR Review AI-assisted review + GitHub Projects setup
Developer Toolkit Environment setup checklist (ripgrep, gh, uv, etc.)
Claude Code Training Training deck for onboarding engineers to Claude Code workflows and skills

Contributing

Guides for deployment, Django, CI/CD, and team workflows live in guides/. See guides/README.md for the full index.

Public project policies:

# Run the full check suite before submitting
cd bm
uv run ruff format --check bm/ tests/
uv run ruff check bm/ tests/
uv run mypy bm/
uv run --extra dev basedpyright
uv run pytest tests/ -q
cargo test --manifest-path native/Cargo.toml

Pull requests welcome. When adding a new skill, follow the project skill lifecycle above — start scoped, generalize when proven.


Part of Benmore-Meridian — the Claude Code skills repo for Benmore Studio.

About

Optimized CLI + Skills

Resources

Code of conduct

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages