Mycelium 🍄
A robust, production-grade task/plan manager CLI designed for reliability, agent usage, and git-trackable project management.
Features
- 📦 Single Binary: Statically compiled, no dependencies
- 🗄️ Git-Trackable: SQLite storage designed for version control
- 🔗 Dependency Management: Task blocking with cycle detection
- 👤 Assignees: Local assignees with GitHub username linking
- 🌐 External References: Link tasks to GitHub issues/PRs and URLs
- 🤖 Agent-Optimized: One-shot CLI with JSON output support
- ⚡ Fast: Sub-100ms response time for typical operations
- 🛡️ Safe: Comprehensive error handling and validation
- 📋 Smart List View: Tree visualization for dependencies, epic grouping for simple lists
- 📝 Task Notes: Add comments and notes to tasks
- 📎 Task Cloning: Duplicate tasks with all metadata
- 📦 Batch Operations: Close, tag, or move multiple tasks at once
- 📌 Follow-ups: Lightweight "oh-by-the-way" scratch table for non-blocking items captured mid-work
Installation
CLI (myc) — From Source
# Binary will be at target/release/myc
GUI (MycUI) — From Source
MycUI is a Tauri desktop app built with React and TypeScript.
Prerequisites: Rust, Bun, and Tauri prerequisites for your platform.
The built app will be in mycui/src-tauri/target/release/bundle/ with platform-specific installers (.deb, .AppImage, .dmg, .msi).
For development:
One-Line Install (Linux & macOS)
&& &&
The install script detects your platform, builds, and installs both myc (CLI) and MycUI (GUI). On macOS, MycUI is installed as /Applications/MycUI.app. On Linux, both binaries go to /usr/local/bin/.
INSTALL_DIR=/.local/bin
Quick Start
# Initialize a new mycelium project
# Create an epic
# Create tasks
# Set up dependencies (task 1 blocks task 2)
# View dependency tree
# Close tasks (blocked tasks prevent closing)
# Batch operations
# Task notes
# Clone a task
# View project summary
Commands
Project
Epics
Tasks
|||
|
|0>
### Batch Operations
Task Notes
Task Cloning
### Dependencies
```bash
myc task link blocks --task <blocker_id> <blocked_id>
myc deps show <task_id> # Show dependency tree
myc deps unlink <task_id> <blocked_task_id>
Assignees
External References
Follow-ups
Lightweight scratch table for non-blocking items captured mid-work
(bugs you noticed, questions, ideas). Separate from tasks — no
epic/priority/deps. Body is required, title optional. Statuses:
open, in_progress, done, wontfix.
After myc task close, mycelium prints a one-line reminder if any
active follow-ups exist. Agents using mycelium MUST run myc followup list at the end of every work unit and surface open items to the user
before wrapping (see AGENTS.md).
Reporting & Export
Global Options
|
Data Model
Epic
├── id, title, description
├── status (open/closed)
└── Tasks[]
Task
├── id, title, description (optional)
├── status (open/closed), priority (low/medium/high/critical)
├── epic_id (optional), assignee_id (optional)
├── due_date (optional)
├── dependencies (blocks/blocked_by)
└── external_refs (GitHub issues/PRs, URLs)
Git Integration
Mycelium stores data in .mycelium/mycelium.db using SQLite with WAL mode. This makes it git-trackable:
# Add to your repo
# The .mycelium/.gitignore excludes WAL files
For AI Agents
Mycelium is optimized for agentic workflows:
# Use --quiet to get just IDs
# Include a description when useful
# Use --format json for parsing
# Check blocked tasks
# Export for analysis
Configuration
No configuration needed! All data is stored in the project-local .mycelium/ directory.
Safety Features
- Atomic operations: Database transactions ensure data integrity
- Dependency validation: Circular dependencies are prevented
- Blocker checks: Tasks with open blockers cannot be closed (without
--force) - Confirmation prompts: Destructive operations require
--forceor user confirmation - Clear errors: All errors include actionable guidance
Performance
- Sub-100ms response time for typical operations
- SQLite with proper indexing
- WAL mode for concurrent read/write
- Single binary, no runtime dependencies
Development
# Clone
# Build & test the CLI
# Run MycUI in dev mode
Architecture
- Rust - Type-safe, performant, single binary
- SQLite - Embedded, git-trackable, ACID-compliant
- Clap - Command-line parsing with derive macros
- Rusqlite - SQLite bindings with bundled lib
- Tauri - Desktop GUI framework (MycUI)
- React + TypeScript - MycUI frontend
- Tailwind CSS - MycUI styling
License
MIT License - see LICENSE file.
Contributing
Contributions welcome! Feel free to open issues and pull requests.
Acknowledgments
Inspired by beads and the need for a robust, git-trackable task manager that works seamlessly with AI agents.