Skip to content

bytemines/mycelium

Repository files navigation

πŸ„ Mycelium

One config. Every AI tool. Every machine.

The universal config orchestrator for AI coding tools.
Define your skills, MCPs, agents, rules, and hooks once β€” sync everywhere.

CI npm 8 Tools 732 Tests MIT License

Quick Start Β· Why Mycelium Β· Features Β· Dashboard Β· MCP Server


The Problem

You use Claude Code, Cursor, Codex, Gemini CLI, and VS Code. Each has its own config format. Each stores skills, MCPs, and agents in different locations. You add an MCP server β€” now you update 5 config files. You switch machines β€” now you do it all again.

Mycelium fixes this. One config β†’ synced to every tool β†’ on every machine.


πŸš€ Quick Start

npm install -g @mycelish/cli

mycelium init

That's it. init detects your tools, migrates your existing configs, creates a sync repo, and registers Mycelium as an MCP server in every tool.

mycelium sync              # Push config to all tools
mycelium sync --watch      # Auto-sync on changes
mycelium serve             # Launch visual dashboard

New machine? Run mycelium init again β€” it finds your repo and pulls everything down.


πŸ’‘ Why Mycelium

What makes it different from every other tool

Capability What it means
🎯 Per-skill plugin control Disable individual skills, agents, or commands within a plugin β€” without disabling the entire plugin. The only tool that does this.
🧬 6 item types sync Skills + MCPs + Agents + Rules + Commands + Hooks. Competitors sync 1–2 types.
πŸ›‘οΈ Built-in security scanner 80+ detection rules scan skills before install. Catches prompt injection, reverse shells, credential harvesting, data exfiltration.
πŸ—οΈ 3-tier config merge Project > Machine > Global. Different MCPs per project, different paths per machine. Automatic.
πŸ–₯️ Visual control plane React Flow dashboard β€” see your entire tool landscape, toggle items, migrate, browse marketplace.
πŸ”Œ Self-registering MCP server Mycelium exposes itself as MCP β€” any AI tool can manage its own config through natural language.
🩺 Doctor with 8 health modules Config integrity, MCP connectivity, plugin invariants, tool versions, self-registration, symlinks.
πŸ“Š Built-in observability SQLite trace DB with 16 indexed dimensions, auto-snapshots on errors, queryable reports.
πŸ”„ Zero-friction migration Scan existing tools, generate a plan, import everything. Dry-run by default.

✨ Features

Plugin Takeover

The most-requested missing feature in Claude Code β€” granular control over plugin components:

# Disable a specific skill from a plugin
mycelium disable commit-push-pr
# β†’ Plugin taken over: 'commit-push-pr' disabled, all other skills preserved

# Re-enable it
mycelium enable commit-push-pr
# β†’ Plugin released: all components restored to native mode

How it works: When you disable any component from a Claude Code plugin, Mycelium disables the plugin natively, then symlinks all the enabled components from cache. You get per-item control that Claude Code doesn't support natively.

Universal Sync

mycelium sync

One command writes your config into every tool's native format:

Tool Skills MCPs Agents Rules Hooks Commands
Claude Code βœ… βœ… βœ… β€” βœ… β€”
Codex CLI βœ… βœ… β€” βœ… βœ… β€”
Gemini CLI βœ… βœ… β€” β€” βœ… β€”
OpenCode βœ… βœ… βœ… β€” βœ… βœ…
OpenClaw βœ… βœ… β€” β€” βœ… β€”
Cursor β€” βœ… βœ… βœ… βœ… βœ…
VS Code βœ… βœ… βœ… βœ… β€” β€”
Antigravity βœ… βœ… βœ… β€” β€” β€”

Mycelium never overwrites your config. It uses overlay sync β€” symlinks for skills/agents/commands, section-only writes for MCPs/hooks. Your manual settings are preserved.

3-Tier Config Merge

~/.mycelium/global/       ← Your base config (everywhere)
~/.mycelium/machines/     ← Per-hostname overrides (different paths per machine)
.mycelium/                ← Per-project config (different MCPs per project)

Priority: Project > Machine > Global. Conflicts are detected and surfaced.

Multi-PC Sync

mycelium push             # Save config to GitHub
mycelium pull             # Pull on another machine

Machine-specific paths (like MCP binary locations) are auto-detected per hostname. Secrets stay in .env.local (gitignored), templates in .env.template (tracked).

Migration Wizard

mycelium migrate          # Dry-run: see what would be imported
mycelium migrate --apply  # Import everything

Scans all 8 tools for existing skills, MCPs, and hooks. Generates a plan. Handles conflicts with configurable strategies (--strategy latest|interactive|all).

Security Scanner

Every skill and MCP gets scanned before installation β€” 80+ rules across 20 categories, adapted from Cisco AI Defense (Apache 2.0):

mycelium doctor --security          # Scan all installed skills
mycelium add some-skill             # Auto-scans before install

Detection categories include prompt injection, command injection, reverse shells, credential harvesting, data exfiltration, hardcoded secrets, cryptomining, and more. The dashboard shows trust badges (Official / Verified / Community) and an inline Audit button on every marketplace card.

Marketplace & Presets

mycelium marketplace list           # Browse available plugins
mycelium marketplace plugins        # See installed plugins
mycelium preset save my-react-setup # Snapshot current config
mycelium preset load my-react-setup # Restore it on any machine

Pluggable registry sources β€” add your own skill/MCP repositories. Default sources include npm (OpenSkills), MCP Registry, Anthropic Skills, and awesome-mcp-servers.


πŸ–₯️ Dashboard

mycelium serve    # β†’ http://localhost:3378
  • Graph View β€” React Flow visualization of your entire tool landscape: tools, MCPs, skills, plugins, all connected
  • Toggle switches β€” Enable/disable any item directly from the graph
  • Migration Wizard β€” 4-step guided import from existing tools
  • Marketplace Browser β€” Search, install, and audit from configured sources with trust badges and type filters
  • Plugin Detail Panels β€” Click any plugin node to manage individual components

πŸ”Œ MCP Server

Mycelium registers itself as an MCP server in all your tools during init. This means any AI tool can manage its own config:

"Hey Claude, disable the filesystem MCP for this project"
"Add the postgres MCP server to my global config"
"Run mycelium doctor and tell me what's wrong"

14 tools, 2 resources, 2 prompts β€” full reference β†’


πŸ“‹ All Commands

Command Description
mycelium init Auto-setup: detect, migrate, sync, register MCP
mycelium sync [--watch] Sync to all tools
mycelium status [--json] Show sync status across tools
mycelium doctor [--security] Health checks + security scan
mycelium add <skill|mcp> Add items to config
mycelium remove <name> Remove items
mycelium enable <name> [--tool] Enable items (with plugin release)
mycelium disable <name> [--tool] Disable items (with plugin takeover)
mycelium migrate [--apply] Scan and import from tools
mycelium marketplace list|plugins Browse and manage marketplace
mycelium preset save|load|list Config presets/profiles
mycelium snapshot create|restore Named config snapshots
mycelium push / pull Git-based multi-PC sync
mycelium env list / setup Environment variable management
mycelium report [--level] [--since] Query traces and generate reports
mycelium teams generate Agent team manifests
mycelium mcp Start MCP server
mycelium serve Start dashboard (port 3378)

Alias: myc β€” e.g., myc sync, myc status


πŸ”§ How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Your Config (~/.mycelium/)                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚  Skills   β”‚ β”‚   MCPs   β”‚ β”‚  Agents  β”‚ β”‚  Rules   β”‚  ...  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚  mycelium sync
                         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Config Merger (3-tier: project > machine > global)         β”‚
β”‚  Overlay Sync (symlinks + section-only config writes)       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”
        β–Ό        β–Ό       β–Ό       β–Ό        β–Ό        β–Ό
   Claude     Codex   Gemini  Cursor   VS Code  OpenCode
    Code      CLI      CLI                       + more
  • Skills/Agents/Commands: Symlinked from central store into each tool's directory
  • MCPs: Written into each tool's native config file (JSON, JSONC, TOML) β€” only the managed section
  • Hooks: Written into tool-specific hook config formats
  • Machine overrides: Per-hostname MCP paths via which auto-detection

🩺 Troubleshooting

mycelium doctor                           # Run all health checks
mycelium report --level error --since 1h  # Recent errors
mycelium status                           # Sync state per tool
Problem Solution
Sync fails for a tool mycelium doctor β€” checks tool detection and paths
Skills not appearing Verify tool supports the skill directory
MCP not connecting mycelium status β€” check config format per tool
Plugin takeover issue mycelium doctor β€” runs 8 plugin invariant checks
Need a bug report mycelium report --issue β€” generates diagnostic JSONL

See Reporting Issues for the full diagnostic workflow.


πŸ“š Docs

Document Description
Capability Matrix Full tool Γ— item type support matrix with paths
MCP Server MCP tools, resources, prompts reference
Plugin Takeover Per-component plugin control β€” how it works
Multi-PC Sync Git-based sync, machine overrides, env templates
Migration Guide Migration workflow, strategies, and cleanup
Reporting Issues Traces, diagnostics, and filing bug reports
Contributing Developer guide: structure, conventions, testing

πŸ“„ License

MIT β€” Like real mycelium shares nutrients between trees without charging a subscription fee. Fork it, grow it, spread it. πŸ„

About

Universal AI Tool Orchestrator - Sync skills, MCPs, and memory across Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw, and Aider

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages