-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
188 lines (173 loc) · 22.9 KB
/
index.html
File metadata and controls
188 lines (173 loc) · 22.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MCS — Managed Claude Stack</title>
<meta name="description" content="Package your Claude Code MCP servers, hooks, skills, and settings into shareable tech packs. Sync across machines and teams in seconds. Like Ansible for AI dev.">
<meta name="keywords" content="Claude Code, MCP servers, AI development, configuration management, tech packs, CLI tools, developer tools, Anthropic, Claude, hooks, plugins, macOS">
<meta name="author" content="Bruno Guidolim">
<meta name="theme-color" content="#0d1117">
<meta property="og:title" content="MCS — Managed Claude Stack">
<meta property="og:description" content="Package your Claude Code MCP servers, hooks, skills, and settings into shareable tech packs. Sync across machines and teams in seconds. Like Ansible for AI dev.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://mcs-cli.dev">
<meta property="og:site_name" content="MCS">
<meta property="og:image" content="https://mcs-cli.dev/assets/og-image.png">
<meta property="og:image:width" content="2048">
<meta property="og:image:height" content="2048">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="MCS — Managed Claude Stack">
<meta name="twitter:description" content="Package your Claude Code MCP servers, hooks, skills, and settings into shareable tech packs. Sync across machines and teams in seconds. Like Ansible for AI dev.">
<meta name="twitter:image" content="https://mcs-cli.dev/assets/og-image.png">
<link rel="canonical" href="https://mcs-cli.dev">
<link rel="icon" type="image/svg+xml" href="assets/favicon.svg">
<link rel="preconnect" href="https://api.fontshare.com">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&f[]=satoshi@400,500,700,900&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/style.css">
<script src="https://cdn.telemetrydeck.com/websdk/telemetrydeck.min.js" data-app-id="3FEA8C20-0C56-4803-AB19-223CDAF5975E"></script>
<noscript><style>.fade-in{opacity:1;transform:none}.terminal-body{visibility:visible}</style></noscript>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "MCS",
"alternateName": "Managed Claude Stack",
"description": "A configuration engine for Claude Code. Package MCP servers, hooks, skills, commands, and settings into shareable tech packs.",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "macOS",
"url": "https://mcs-cli.dev",
"codeRepository": "https://github.com/mcs-cli/mcs",
"license": "https://opensource.org/licenses/MIT",
"programmingLanguage": "Swift"
}
</script>
</head>
<body>
<nav class="nav"><div class="nav-inner"><a href="/" class="nav-brand"><svg width="36" height="24" viewBox="0 0 54 38" fill="none"><defs><linearGradient id="nav-gv" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stop-color="#a855f7"/><stop offset="100%" stop-color="#2dd4bf"/></linearGradient><linearGradient id="nav-gh" x1="0" y1="0" x2="1" y2="0"><stop offset="0%" stop-color="#a855f7"/><stop offset="100%" stop-color="#2dd4bf"/></linearGradient></defs><rect x="0" y="2" width="22" height="8" rx="4" fill="#a855f7"/><rect x="0" y="15" width="22" height="8" rx="4" fill="#8b5cf6" opacity="0.8"/><rect x="0" y="29" width="22" height="8" rx="4" fill="#2dd4bf" opacity="0.6"/><path d="M26 5 C33 5,35 14,43 19 C35 24,33 33,26 33" fill="none" stroke="url(#nav-gh)" stroke-width="2.5" stroke-linecap="round"/><circle cx="48" cy="19" r="5.5" fill="url(#nav-gv)"/></svg>mcs</a><div class="nav-links"><a href="#problem">Why MCS</a><a href="#features">Features</a><a href="#techpack">Tech Packs</a><a href="#quickstart">Get Started</a><a href="https://github.com/mcs-cli/mcs/tree/main/docs" target="_blank" rel="noopener">Docs</a><a href="https://github.com/mcs-cli/mcs" target="_blank" rel="noopener" class="nav-gh"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/></svg></a></div></div></nav>
<section class="hero"><div class="container"><div class="hero-grid"><div class="hero-text">
<div class="hero-logo fade-in"><svg width="72" height="48" viewBox="0 0 54 38" fill="none"><defs><linearGradient id="hero-gv" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stop-color="#a855f7"/><stop offset="100%" stop-color="#2dd4bf"/></linearGradient><linearGradient id="hero-gh" x1="0" y1="0" x2="1" y2="0"><stop offset="0%" stop-color="#a855f7"/><stop offset="100%" stop-color="#2dd4bf"/></linearGradient></defs><rect x="0" y="2" width="22" height="8" rx="4" fill="#a855f7"/><rect x="0" y="15" width="22" height="8" rx="4" fill="#8b5cf6" opacity="0.8"/><rect x="0" y="29" width="22" height="8" rx="4" fill="#2dd4bf" opacity="0.6"/><path d="M26 5 C33 5,35 14,43 19 C35 24,33 33,26 33" fill="none" stroke="url(#hero-gh)" stroke-width="2.5" stroke-linecap="round"/><circle cx="48" cy="19" r="5.5" fill="url(#hero-gv)"/></svg></div>
<div class="hero-eyebrow fade-in fade-in-delay-1">mcs-cli.dev</div>
<h1 class="fade-in fade-in-delay-2"><span>Managed Claude Stack</span></h1>
<p class="hero-tagline fade-in fade-in-delay-3">A configuration engine for Claude Code. Package your MCP servers, hooks, skills, commands, and settings into shareable <strong style="color:var(--text-primary)">tech packs</strong> — then sync everywhere.</p>
<div class="hero-actions fade-in fade-in-delay-4">
<a href="#quickstart" class="btn-primary"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg>Get Started</a>
<a href="https://github.com/mcs-cli/mcs" target="_blank" rel="noopener" class="btn-secondary"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/></svg>View on GitHub</a>
</div>
<div class="hero-badges fade-in fade-in-delay-4"><span class="hero-badge">Swift 6.0+</span><span class="hero-badge">macOS 13+</span><span class="hero-badge">MIT License</span></div>
</div>
<div class="terminal fade-in fade-in-delay-2"><div class="terminal-bar"><span class="terminal-dot"></span><span class="terminal-dot"></span><span class="terminal-dot"></span><span class="terminal-title">Terminal — mcs</span></div>
<div class="terminal-body"><span class="t-comment"># Install via Homebrew</span>
<span class="t-prompt">$</span> <span class="t-cmd">brew install</span> <span class="t-arg">mcs-cli/tap/mcs</span>
<span class="t-comment"># Add a tech pack</span>
<span class="t-prompt">$</span> <span class="t-cmd">mcs pack add</span> <span class="t-arg">mcs-cli/memory</span>
<span class="t-success">[OK]</span> <span class="t-out">Pack 'Memory' added successfully.</span>
<span class="t-comment"># Sync your project</span>
<span class="t-prompt">$</span> <span class="t-cmd">cd</span> <span class="t-path">~/Developer/my-project</span>
<span class="t-prompt">$</span> <span class="t-cmd">mcs sync</span>
<span class="t-success">[OK]</span> <span class="t-out">Updated .mcs-project</span>
<span class="t-comment"># Verify everything</span>
<span class="t-prompt">$</span> <span class="t-cmd">mcs doctor</span>
<span class="t-success">✓</span> <span class="t-out">Dependencies: </span><span class="t-dim">all installed</span>
<span class="t-success">✓</span> <span class="t-out">MCP Servers: </span><span class="t-dim">registered</span>
<span class="t-success">✓</span> <span class="t-out">Hooks: </span><span class="t-dim">present and executable</span>
<span class="t-success">3 passed</span><span class="t-dim">, 0 issues</span></div></div>
</div></div></section>
<section id="problem"><div class="container">
<div class="section-label fade-in">The Problem</div>
<h2 class="section-title fade-in">Configuration shouldn't<br>be a full-time job.</h2>
<p class="section-desc fade-in">You've spent hours getting Claude Code just right. Then reality hits.</p>
<div class="versus-wrapper fade-in fade-in-delay-2"><div class="versus-grid">
<div class="versus-card versus-card--pain"><h3><div class="versus-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></div>Without MCS</h3>
<ul class="versus-list">
<li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>New machine? Start from scratch.</li>
<li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>Onboarding? Follow this 47-step wiki.</li>
<li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>Copy-paste configs, hope nothing drifts.</li>
<li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>Something broke? Good luck debugging.</li>
</ul></div>
<div class="versus-arrow"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg></div>
<div class="versus-card versus-card--gain"><h3><div class="versus-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"/></svg></div>With MCS</h3>
<ul class="versus-list">
<li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"/></svg><code style="font-family:var(--mono);font-size:.82rem">mcs pack add</code> + <code style="font-family:var(--mono);font-size:.82rem">mcs sync</code> — done.</li>
<li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"/></svg>Push a pack, anyone can sync it.</li>
<li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"/></svg>Managed settings composition.</li>
<li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"/></svg><code style="font-family:var(--mono);font-size:.82rem">mcs doctor --fix</code> detects and repairs.</li>
</ul></div>
</div></div>
</div></section>
<section id="features"><div class="container">
<div class="section-label fade-in">Features</div>
<h2 class="section-title fade-in">Everything you need,<br>nothing you don't.</h2>
<p class="section-desc fade-in">One CLI to manage your entire Claude Code environment.</p>
<div class="features-grid fade-in fade-in-delay-2">
<div class="feature-cell"><div class="feature-icon feature-icon--purple"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z"/></svg></div><h4>Tech Packs</h4><p>Git repos with a YAML manifest. Bundle MCP servers, hooks, skills, commands, agents, and settings.</p></div>
<div class="feature-cell"><div class="feature-icon feature-icon--teal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"/></svg></div><h4>Convergent Sync</h4><p>Idempotent operations. Run <code style="font-family:var(--mono);font-size:.8em">mcs sync</code> any number of times — it always converges.</p></div>
<div class="feature-cell"><div class="feature-icon feature-icon--purple"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></div><h4>Safety First</h4><p>Backups, dry-run mode, SHA-256 trust verification, and lockfiles for reproducible environments.</p></div>
<div class="feature-cell"><div class="feature-icon feature-icon--teal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14.7 6.3a1 1 0 000 1.4l1.6 1.6a1 1 0 001.4 0l3.77-3.77a6 6 0 01-7.94 7.94l-6.91 6.91a2.12 2.12 0 01-3-3l6.91-6.91a6 6 0 017.94-7.94l-3.76 3.76z"/></svg></div><h4>Doctor & Fix</h4><p>Multi-layer diagnostics across all packs. Auto-fix with <code style="font-family:var(--mono);font-size:.8em">mcs doctor --fix</code>.</p></div>
<div class="feature-cell"><div class="feature-icon feature-icon--purple"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z"/></svg></div><h4>Global & Per-Project</h4><p>Scope-aware installation. Global packs for your machine, per-project packs for each repo.</p></div>
<div class="feature-cell"><div class="feature-icon feature-icon--teal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg></div><h4>Export Wizard</h4><p>Already have a setup? <code style="font-family:var(--mono);font-size:.8em">mcs export</code> generates a tech pack from your existing config.</p></div>
</div>
</div></section>
<section id="techpack"><div class="container">
<div class="section-label fade-in">Tech Packs</div>
<h2 class="section-title fade-in">A Git repo.<br>A YAML manifest. That's it.</h2>
<div class="techpack-layout">
<div class="techpack-explainer fade-in">
<p>A tech pack is a Git repository containing a <code style="font-family:var(--mono);font-size:.88em;color:var(--text-primary)">techpack.yaml</code> manifest. It can bundle MCP servers, plugins, hooks, skills, commands, agents, settings, templates, and doctor checks.</p>
<p>Packs are modular — mix and match what you need instead of one monolithic config. Install globally for your machine or scope to individual projects.</p>
<p>Share your setup with the community or discover packs others have built. One command to add, one command to sync.</p>
<div style="margin-top:1.5rem"><a href="https://techpacks.mcs-cli.dev" class="btn-primary"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>Browse Tech Packs</a></div>
</div>
<div class="yaml-block fade-in fade-in-delay-2"><div class="yaml-header"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>techpack.yaml</div>
<div class="yaml-body"><span class="y-key">identifier:</span> <span class="y-str">"my-team-pack"</span> <span class="y-annotation y-annotation--purple">Unique identifier</span>
<span class="y-key">displayName:</span> <span class="y-str">"My Team Pack"</span>
<span class="y-key">description:</span> <span class="y-str">"Shared configs for my team"</span>
<span class="y-key">components:</span>
<span class="y-list">-</span> <span class="y-key">id:</span> <span class="y-val">docs-search</span> <span class="y-annotation y-annotation--teal">MCP server</span>
<span class="y-key">description:</span> <span class="y-str">"Semantic docs search"</span>
<span class="y-key">mcp:</span>
<span class="y-key">command:</span> <span class="y-str">"npx"</span>
<span class="y-key">args:</span> <span class="y-val">["-y", "docs-mcp-server@latest"]</span>
<span class="y-list">-</span> <span class="y-key">id:</span> <span class="y-val">code-review</span> <span class="y-annotation y-annotation--purple">Skill</span>
<span class="y-key">description:</span> <span class="y-str">"Code review guidelines"</span>
<span class="y-key">skill:</span>
<span class="y-key">path:</span> <span class="y-str">"skills/code-review.md"</span>
<span class="y-key">templates:</span> <span class="y-annotation y-annotation--teal">CLAUDE.md sections</span>
<span class="y-list">-</span> <span class="y-key">sectionIdentifier:</span> <span class="y-val">instructions</span>
<span class="y-key">contentFile:</span> <span class="y-str">"templates/claude-local.md"</span></div></div>
</div>
</div></section>
<section id="quickstart"><div class="container">
<div class="section-label fade-in">Quick Start</div>
<h2 class="section-title fade-in">Get started in 4 steps.</h2>
<p class="section-desc fade-in">From zero to a configured environment in under a minute.</p>
<div class="steps">
<div class="step fade-in"><div class="step-indicator"><div class="step-num">1</div><div class="step-line"></div></div><div class="step-content"><div class="step-label">Install MCS</div><div class="step-code"><span class="sc">brew install</span> <span class="sa">mcs-cli/tap/mcs</span></div></div></div>
<div class="step fade-in fade-in-delay-1"><div class="step-indicator"><div class="step-num">2</div><div class="step-line"></div></div><div class="step-content"><div class="step-label">Add a tech pack</div><div class="step-code"><span class="sc">mcs pack add</span> <span class="sa">mcs-cli/memory</span></div></div></div>
<div class="step fade-in fade-in-delay-2"><div class="step-indicator"><div class="step-num">3</div><div class="step-line"></div></div><div class="step-content"><div class="step-label">Navigate to your project</div><div class="step-code"><span class="sc">cd</span> <span class="sp">~/Developer/my-project</span></div></div></div>
<div class="step fade-in fade-in-delay-3"><div class="step-indicator"><div class="step-num">4</div><div class="step-line"></div></div><div class="step-content"><div class="step-label">Sync and verify</div><div class="step-code"><span class="sc">mcs sync</span> <span class="sd">&&</span> <span class="sc">mcs doctor</span></div></div></div>
</div>
</div></section>
<section id="safety"><div class="container">
<div class="section-label fade-in">Safety & Trust</div>
<h2 class="section-title fade-in">Designed to be<br>non-destructive.</h2>
<p class="section-desc fade-in">Every operation is idempotent, convergent, and reversible.</p>
<div class="safety-grid fade-in fade-in-delay-2">
<div class="safety-item"><div class="safety-icon safety-icon--purple"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M19 21H5a2 2 0 01-2-2V5a2 2 0 012-2h11l5 5v11a2 2 0 01-2 2z"/><polyline points="17 21 17 13 7 13 7 21"/><polyline points="7 3 7 8 15 8"/></svg></div><h4>Automatic Backups</h4><p>Timestamped backups before modifying any file with user content.</p></div>
<div class="safety-item"><div class="safety-icon safety-icon--teal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg></div><h4>Dry Run Mode</h4><p>Preview every change with <code style="font-family:var(--mono);font-size:.82em">--dry-run</code> before committing.</p></div>
<div class="safety-item"><div class="safety-icon safety-icon--purple"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0110 0v4"/></svg></div><h4>SHA-256 Verification</h4><p>Pack scripts are hashed at install and verified on every load.</p></div>
<div class="safety-item"><div class="safety-icon safety-icon--teal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg></div><h4>Lockfiles</h4><p><code style="font-family:var(--mono);font-size:.82em">mcs.lock.yaml</code> pins exact commits for reproducible environments.</p></div>
<div class="safety-item"><div class="safety-icon safety-icon--purple"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"/></svg></div><h4>Convergent Engine</h4><p>Deselected packs are fully cleaned up. No orphaned artifacts, ever.</p></div>
<div class="safety-item"><div class="safety-icon safety-icon--teal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4"/><path d="M21 12c0 4.97-4.03 9-9 9s-9-4.03-9-9 4.03-9 9-9c1.48 0 2.88.36 4.11 1"/><polyline points="22 4 12 14.01"/></svg></div><h4>Section Markers</h4><p>User content in CLAUDE.md is preserved — managed sections never touch your edits.</p></div>
</div>
</div></section>
<footer class="site-footer"><div class="container"><div class="footer-inner">
<div class="footer-left"><div class="footer-links"><a href="https://github.com/mcs-cli/mcs" target="_blank" rel="noopener">GitHub</a><a href="https://github.com/mcs-cli/mcs/tree/main/docs" target="_blank" rel="noopener">Docs</a><a href="https://github.com/sponsors/bguidolim" target="_blank" rel="noopener">Sponsor</a></div></div>
<div class="footer-right">MIT License · Made by <a href="https://github.com/bguidolim" target="_blank" rel="noopener">Bruno Guidolim</a></div>
</div></div></footer>
<script src="js/main.js"></script>
</body>
</html>