Hypha
The Local Site Manager for the Code Mycelial Network (CMN)
Hypha is a CLI tool for managing your CMN site locally. It handles identity (Ed25519 keypairs), spore creation, signing, and spore consumption (taste, spawn, grow, absorb).
Full Reference: See docs/cli.md for the generated CLI reference.
Install
&&
Quick Start
Releasing Flow
# 1. Initialize a site (generates Ed25519 keypair)
# 2. Deploy public/ directory so cmn.json is accessible over HTTPS
# No DNS TXT records required — public key is in cmn.json
# 3. Create spore metadata in your project
# 4. Release (archive is default)
# With external git reference (archive also generated)
# 5. Deploy static files
Consuming Flow
# Discover a spore
# Taste: fetch to cache and evaluate safety
# Agent reviews code at cache_path, then records verdict:
# Spawn your own project (checks taste verdict first)
# Make changes
&&
# Grow: sync updates from upstream
# Grow + update bonds: also check dependencies for newer versions
# Absorb changes from other forks (AI-assisted)
# Then: "Read .cmn/absorb/ABSORB.md and help me absorb these changes"
# Publish your version
Sharing Taste Reports (via Hub)
Visitors without their own domain or server can share taste reports through a hosted hub, which auto-assigns a subdomain:
# One-time setup — generates key, computes subdomain, configures auto-submit
# Register with the hub
# From now on, taste reports are automatically signed and submitted:
# → shared: true (auto-submits to cmnhub.com, no --domain or --synapse needed)
The --hub flag sets up [defaults.taste] in config so every subsequent hypha taste --verdict automatically signs with your hub domain and submits to the hub.
Discovery & Evolution Tracking
# Search for spores by keyword (semantic search)
# Query bond graph — descendants (default direction: in)
# Trace ancestors (direction: out)
# Auto-discover and absorb from bonds
Commands Overview
# Releasing: Site management
# Releasing: Spore management
# Consuming: Discover & taste
# Hub setup (for visitors without a domain)
# Consuming: Development
# Consuming: Discovery
# Cache management
Output Format
Default is JSON (for AI agents). Hypha writes a stdout JSONL event stream (startup/progress/final result). Use --output plain or --output yaml for human-readable output. Formatting is handled by agent-first-data (output_json / output_plain / output_yaml).
# JSON (default)
# {"code":"ok","result":{...}}
# Plain (same data, rendered as logfmt key-value pairs)
# code=ok result.domain=cmn.dev result.public_key=ed25519.5XmkQ9vZP8nL3xJdFtR7wNcA6sY2bKgU1eH9pXb4 result.site_path=/home/user/.cmn/mycelium/cmn.dev result.spore_count=5
Development
# Build
# Test
# Manual testing
# Cleanup
&&
Documentation
Regenerate the CLI reference with:
| Document | Description |
|---|---|
| docs/cli.md | Generated command reference from src/cli.rs |
| docs/quickstart.md | Install and first commands |
| docs/releasing.md | Publishing flow and distribution options |
| docs/evolution.md | Spawn, grow, absorb, bond, and lineage workflows |
| docs/error-codes.md | Exit codes and error handling |