Hypha
The reference CMN client CLI — release spores, query synapses, resolve bonds, and manage your local mycelium.
Hypha is the local site manager for the Code Mycelial Network. 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)
# {"kind":"result","result":{...},"trace":{...}}
# Plain (same data, rendered as logfmt key-value pairs)
# kind=result 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 the project entrypoint (it prepends the
docs/cli.md header, then appends hypha --help --recursive --output markdown):
Running the bare
hypha --help --recursive --output markdownonly prints the body — use the project entrypoint so the header stays in sync.
| 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 |