An open API service indexing awesome lists of open source software.

https://github.com/mcs-cli/mcs

Managed Claude Stack - Reproducible AI infrastructure for Claude Code
https://github.com/mcs-cli/mcs

agent agentic-ai claude-code convergence portability reproducibility

Last synced: about 2 months ago
JSON representation

Managed Claude Stack - Reproducible AI infrastructure for Claude Code

Awesome Lists containing this project

README

          



mcs

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

[![Swift 6.0+](https://img.shields.io/badge/Swift-6.0+-F05138.svg?logo=swift&logoColor=white)](https://swift.org)
[![macOS](https://img.shields.io/badge/macOS-13+-000000.svg?logo=apple&logoColor=white)](https://www.apple.com/macos/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![Homebrew](https://img.shields.io/badge/Homebrew-tap-FBB040.svg?logo=homebrew&logoColor=white)](https://github.com/mcs-cli/homebrew-tap)
[![Tech Packs](https://img.shields.io/badge/Tech_Packs-Browse-8B5CF6.svg)](https://techpacks.mcs-cli.dev)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/mcs-cli/mcs)

## ๐Ÿš€ Quick Start

### 1. Install

```bash
brew install mcs-cli/tap/mcs
```

### 2. Add tech packs

Browse available packs at **[techpacks.mcs-cli.dev](https://techpacks.mcs-cli.dev)**, then add them:

```bash
mcs pack add owner/pack-name
```

### 3. Sync a project

```bash
cd ~/Developer/my-project
mcs sync
```

### 4. Verify everything

```bash
mcs doctor
```

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

---

## 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 |

---

## ๐Ÿ” Explore Tech Packs

Packs are modular โ€” mix and match what you need instead of one monolith. Browse the full catalog, search by category, and find install commands:

**[techpacks.mcs-cli.dev](https://techpacks.mcs-cli.dev)**

> ๐Ÿ’ก Can't find what you need? Build your own โ€” see [Creating Tech Packs](docs/creating-tech-packs.md).

---

## โš™๏ธ 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](docs/architecture.md) 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.

Use `mcs pack validate` to check your pack for structural errors and best practices before sharing.

๐Ÿ“– **Full guide:** [Creating Tech Packs](docs/creating-tech-packs.md) ยท **Schema reference:** [techpack-schema.md](docs/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** โ€” Use `mcs export` to create a tech pack from your repo's config. 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](docs/architecture.md#safety--trust)

---

## ๐Ÿ” Verifying Your Setup with Poirot

After `mcs sync`, want to confirm everything landed correctly? [**Poirot**](https://github.com/leonardocardoso/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](docs/cli.md) | Complete command reference (`sync`, `pack`, `doctor`, `export`, `cleanup`, `check-updates`, `config`) |
| ๐Ÿ“– [Creating Tech Packs](docs/creating-tech-packs.md) | Step-by-step guide to building your first pack |
| ๐Ÿ“‹ [Tech Pack Schema](docs/techpack-schema.md) | Complete `techpack.yaml` field reference |
| ๐Ÿ—๏ธ [Architecture](docs/architecture.md) | Internal design, sync flow, safety guarantees, and extension points |
| ๐Ÿ”ง [Troubleshooting](docs/troubleshooting.md) | Common issues and fixes |

---

## ๐Ÿ› ๏ธ Development

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

See [Architecture](docs/architecture.md) 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](docs/creating-tech-packs.md).

---

## ๐Ÿ’› Support

If `mcs` saves you time, consider [sponsoring the project](https://github.com/sponsors/bguidolim).

**MIT License** ยท Made with โค๏ธ by [Bruno Guidolim](https://github.com/bguidolim) ยท [mcs-cli](https://github.com/mcs-cli)