Skip to content

bguidolim/mcs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

153 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⚑ Managed Claude Stack (mcs)

Your Claude Code environment β€” packaged, portable, and reproducible.

Swift 6.0+ macOS License: MIT Homebrew GitHub Sponsors


Warning

This project is under active development. Expect breaking changes, bugs, and incomplete features. Migrations between versions are not guaranteed. Use at your own risk.


πŸš€ Quick Start

1. Install

brew install bguidolim/tap/managed-claude-stack

2. Add tech packs

# this is a real tech pack as example
# more info about tech packs: https://github.com/bguidolim/mcs?tab=readme-ov-file#-whats-in-a-tech-pack
mcs pack add bguidolim/mcs-continuous-learning

3. Sync a project

cd ~/Developer/my-project
mcs sync

4. Verify everything

mcs doctor

That's it. Your MCP servers, plugins, hooks, skills, commands, agents, settings, and templates are all in place.

πŸ“‹ Prerequisites
  • macOS 13+ (Apple Silicon or Intel)
  • Xcode Command Line Tools
    xcode-select --install
  • Claude Code CLI (claude)
  • Homebrew

The Problem

You've spent hours getting Claude Code just right β€” MCP servers, plugins, hooks, skills, custom commands, fine-tuned settings. Then:

  • πŸ–₯️ New machine? Start over from scratch.
  • πŸ‘₯ Onboarding a teammate? "Just follow this 47-step wiki page."
  • πŸ“‚ Different projects? Copy-paste configs, hope nothing drifts.
  • πŸ”„ Something broke? Good luck figuring out what changed.

The Solution

mcs is a configuration engine for Claude Code β€” like Ansible for your AI development environment. Package everything into shareable tech packs (Git repos with a techpack.yaml manifest), then sync them across any project, any machine, in seconds.

Without mcs With mcs
Install MCP servers one by one mcs pack add + mcs sync
Hand-edit settings.json per project Managed settings composition
Copy hooks between projects manually Auto-installed per-project from packs
Configuration drifts silently mcs doctor --fix detects and repairs
Rebuild from memory on new machines Fully reproducible in minutes
No way to share your setup Push a pack, anyone can mcs pack add it

πŸ” Real-World Examples

Packs are modular β€” mix and match what you need instead of one monolith:

Pack Description Highlights
mcs-core-pack Foundational settings, plugins, git workflows, and code navigation Serena (LSP), plan mode, /commit, PR review agents, session-start git status
mcs-continuous-learning Persistent memory and knowledge management across sessions Ollama embeddings, semantic search via docs-mcp-server, auto-extracted learnings
mcs-ios-pack Xcode integration, simulator management, and Apple documentation XcodeBuildMCP, Sosumi docs, auto-detected project config, simulator hooks

πŸ’‘ Use these as a starting point β€” fork one to build your own, or combine all three with mcs pack add for a complete setup.


βš™οΈ How It Works

 Tech Packs          mcs sync          Your Project
 (Git repos)  -----> (engine)  -----> (configured)
                        |
                   .---------.
                   |         |
                   v         v
              Per-Project  Global
              artifacts    artifacts
  1. Select which packs to apply (interactive multi-select or --all)
  2. Resolve prompts (auto-detect project files, ask for config values)
  3. Install artifacts to the right locations (skills, hooks, commands, agents, settings, MCP servers)
  4. Track everything for convergence β€” re-running mcs sync adds what's missing, removes what's deselected, and updates what changed

Use mcs sync --global for global-scope components (Homebrew packages, plugins, global MCP servers). See Architecture for artifact locations and the full sync flow.


πŸ“¦ What's in a Tech Pack?

A tech pack is a Git repo with a techpack.yaml manifest. It can bundle MCP servers, plugins, hooks, skills, commands, agents, settings, templates, and doctor checks β€” anything mcs can install, verify, and uninstall.

πŸ“– Full guide: Creating Tech Packs Β· Schema reference: techpack-schema.md


🎯 Use Cases

  • πŸ§‘β€πŸ’» Solo Developer β€” New Mac? One mcs pack add + mcs sync and your entire Claude Code environment is back. No wiki, no notes, no memory required.
  • πŸ‘₯ Teams β€” Create a team pack with your org's MCP servers, approved plugins, and coding standards. Every developer gets the same setup with mcs sync --all.
  • 🌐 Open Source β€” Ship a tech pack with your repo. Contributors run mcs sync and get the right MCP servers, skills, and conventions automatically.
  • πŸ§ͺ Experimentation β€” Try a different set of MCP servers, swap packs, roll back. mcs converges cleanly β€” deselected packs are fully removed, no leftovers.

πŸ›‘οΈ Safety & Trust

mcs is designed to be non-destructive and transparent. Timestamped backups before modifying user content, --dry-run to preview changes, section markers to preserve your edits in CLAUDE.local.md, and SHA-256 trust verification for pack scripts. Lockfiles (mcs.lock.yaml) pin pack versions for reproducible environments.

πŸ“– Full details: Architecture > Safety & Trust


πŸ” Verifying Your Setup with Poirot

After mcs sync, want to confirm everything landed correctly? Poirot is a native macOS companion that gives you a visual overview of your Claude Code configuration β€” MCP servers, settings, sessions, and more β€” all in one place.

The perfect complement to mcs: configure your environment with mcs, then use Poirot to see exactly what's installed and running.


πŸ“š Documentation

Document Description
πŸ“– CLI Reference Complete command reference (sync, pack, doctor, export, cleanup)
πŸ“– Creating Tech Packs Step-by-step guide to building your first pack
πŸ“‹ Tech Pack Schema Complete techpack.yaml field reference
πŸ—οΈ Architecture Internal design, sync flow, safety guarantees, and extension points
πŸ”§ Troubleshooting Common issues and fixes

πŸ› οΈ Development

swift build                                            # Build
swift test                                             # Run tests
swift build -c release --arch arm64 --arch x86_64      # Universal binary

See Architecture for project structure and design decisions.

🀝 Contributing

Tech pack ideas and engine improvements are welcome!

  1. Fork the repo
  2. Create a feature branch
  3. Run swift test
  4. Open a PR

For building new packs, start with Creating Tech Packs.


πŸ’› Support

If mcs saves you time, consider sponsoring the project.

MIT License · Made with ❀️ by Bruno Guidolim

About

Reproducible AI infrastructure for Claude Code

Resources

License

Stars

Watchers

Forks

Contributors

Languages