Metis - Flight Levels Project Management for AI Assistants
Metis is a hierarchical project management system built on the Flight Levels methodology, providing a structured approach to organizing work across Strategy, Initiative, and Task levels. It features an MCP (Model Context Protocol) interface for seamless integration with AI assistants like Claude and Cursor.
Quick Start (< 5 minutes)
1. Installation
Quick Install (Recommended)
curl -fsSL https://raw.githubusercontent.com/colliery-io/metis/main/scripts/install.sh | bash
This downloads and installs the Metis desktop application. On first launch, the app will prompt to install the CLI tools system-wide, which includes the MCP server for AI assistant integration.
Manual Download
Alternatively, download the installer directly:
- macOS (Apple Silicon):
Metis_x.x.x_aarch64.dmg - macOS (Intel):
Metis_x.x.x_x64.dmg - Windows:
Metis_x.x.x_x64-setup.exe - Linux:
Metis_x.x.x_amd64.AppImage
What's Included:
- Visual kanban interface with project management and document editing
- Automatic CLI installation: On first launch, Metis will prompt to install the
metisCLI command system-wide - MCP server for AI assistant integration (accessible via the installed CLI)
- Built-in project initialization wizard
macOS Security Notes:
- After installing, you may need to remove the quarantine attribute:
sudo xattr -rd com.apple.quarantine "/Applications/Metis.app" - On first launch, you'll be prompted to allow CLI installation to
/usr/local/bin
Build from Source
# Install CLI (includes bundled MCP server)
cargo install metis-docs-cli
# Install TUI interface
cargo install metis-docs-tui
2. Choose Your Interface
Desktop GUI (Primary Interface)
Launch the installed Metis application for a full-featured visual interface:
- Project Browser: Manage multiple projects from a single interface
- Kanban Boards: Visual boards for Vision, Initiative, Task, ADR, and Backlog
- Rich Text Editor: Built-in markdown editor with table support
- Project Initialization: Guided setup with preset selection (Full/Streamlined/Direct)
- Real-time Sync: Automatic synchronization with file system
Command Line Interface
# Direct CLI commands (for scripting and automation)
metis init --name "My Vision" # Creates streamlined config
metis create initiative "Core Initiative" --vision "my-vision" # No strategies in default
metis list --type task # List all tasks
# MCP Server (for AI assistant integration)
metis mcp
Terminal User Interface (Deprecated)
Note: The TUI (
metis tui) is deprecated and will be removed in a future release. Please use the Desktop GUI application instead for visual project management.
3. Configure Your AI Assistant
For Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"metis": {
"command": "metis",
"args": ["mcp"]
}
}
}
For Claude Code
claude mcp add --scope user --transport stdio metis -- metis mcp
Optional: Install the Flight Levels Plugin
The Metis plugin teaches Claude when and why to use Metis tools (methodology, decomposition patterns, anti-patterns). It also provides commands like /metis-ralph for autonomous task execution.
/plugin marketplace add colliery-io/metis
/plugin install metis@colliery-io-metis
See Claude Code Plugin Documentation for full details including available commands and skills.
For Cursor
Add to your Cursor MCP configuration:
{
"metis": {
"command": "metis",
"args": ["mcp"]
}
}
What is Flight Levels?
Flight Levels is a methodology for organizing work across different levels of abstraction. Metis supports flexible configurations to match your project's complexity:
Flight Level Configurations
Full - Complete hierarchy for complex projects:
Vision - Overall purpose and direction
└── Strategy - How to achieve the vision
└── Initiative - Concrete projects implementing strategies
└── Task - Individual work items
Streamlined (Default) - Balanced approach for most projects:
Vision - Overall purpose and direction
└── Initiative - Concrete projects implementing the vision
└── Task - Individual work items
Direct - Minimal hierarchy for simple projects:
Vision - Overall purpose and direction
└── Task - Individual work items
Configuration Management
You can set your project's configuration during initialization:
# Use default streamlined configuration
metis init --name "My Project"
# Use full flight levels for complex projects
metis init --name "My Project" --preset full
# Use direct approach for simple projects
metis init --name "My Project" --preset direct
# Custom configuration
metis init --name "My Project" --strategies false --initiatives true
Or change it later:
metis config set --preset streamlined
metis config show # View current configuration
Workflow Phases
Each document type has defined workflows:
- Vision: draft → review → published
- Strategy: shaping → design → ready → active → completed
- Initiative: discovery → design → ready → decompose → active → completed
- Task: todo → active → completed
- ADR: draft → discussion → decided → superseded
Pro Tip: Start with the streamlined configuration (default). You can always upgrade to full flight levels as your project complexity grows, or simplify to direct for straightforward work.
The Metis Process: Vision to Execution
Metis follows a structured decomposition process:
- Start with Vision - Create an overall purpose and direction document defining why the project exists
- Create Strategies - Develop strategies that reference the Vision as parent, moving through shaping → design → ready → active
- Build Initiatives - When strategies are active, create concrete initiatives that reference Strategy as parent
- Break into Tasks - When initiatives reach decompose phase, create actionable tasks that reference Initiative as parent
- Execute Tasks - Work through tasks: todo → active → completed
- Complete upward - As tasks complete, initiatives progress; as initiatives complete, strategies are delivered
This creates a clear line of sight from high-level vision down to day-to-day work, with each level informing the next.
MCP Tools Reference
Metis provides 11 MCP tools for complete project management. Available document types depend on your project's flight level configuration:
| Tool | Purpose |
|---|---|
initialize_project | Set up a new Metis project by creating a .metis/ subdirectory with project structure |
create_document | Create new documents at any level (vision/strategy/initiative/task/adr) |
validate_document | Validate document structure and metadata |
update_document_content | Update any section of a document |
update_exit_criterion | Update specific exit criteria checkboxes |
update_blocked_by | Manage document dependencies and blockers |
transition_phase | Move documents through workflow phases |
validate_exit_criteria | Check completion status of exit criteria |
archive_document | Archive a document and all its children |
list_documents | Find all documents in a project |
search_documents | Full-text search across all documents |
Common Workflows
Starting a New Project
initialize_project- Set up project structurecreate_document- Create vision document firstcreate_document- Create strategy document referencing visionupdate_document_content- Fill in strategy detailstransition_phase- Move through shaping → design → ready → active
Breaking Down Work
list_documents- Find active strategiescreate_document- Create initiative under strategycreate_document- Create tasks under initiativeupdate_blocked_by- Set up dependencies
Managing Progress
validate_exit_criteria- Check what's needed for next phaseupdate_exit_criterion- Mark criteria as completetransition_phase- Move to next workflow stagesearch_documents- Find related work or blockers
Archiving Completed Work
archive_document- Archive completed documents and their children- Auto-sync updates the database after archiving
list_documents- Verify archived documents no longer appear in active lists
Directory Structure
After running initialize_project, your project will have this structure:
your-project/
└── .metis/
├── vision.md # Initial vision document
├── strategies/ # Strategy documents will be created here
├── adrs/ # ADR (Architectural Decision Record) documents
└── metis.db # SQLite database with FTS index
The initialize_project tool creates a clean .metis/ subdirectory to keep all project files organized. Documents are created as individual markdown files and automatically indexed in the SQLite database for fast search.
Custom Templates
Metis supports custom templates for document content and exit criteria. Templates use the Tera templating engine.
Template Locations
Templates are loaded with a fallback chain:
- Project-level:
.metis/templates/{type}/content.md(highest priority) - Global-level:
~/.config/metis/templates/{type}/content.md - Embedded defaults (compiled into binary)
Template Structure
.metis/templates/
vision/
content.md # Content template for vision documents
exit_criteria.md # Exit criteria template
strategy/
content.md
exit_criteria.md
initiative/
content.md
exit_criteria.md
task/
content.md
exit_criteria.md
adr/
content.md
exit_criteria.md
Available Template Variables
All document types have access to these common variables:
| Variable | Description | Example |
|---|---|---|
{{ title }} | Document title | "My Initiative" |
{{ slug }} | URL-safe ID | "my-initiative" |
{{ short_code }} | Unique identifier | "PROJ-I-0001" |
{{ created_at }} | Creation timestamp | "2025-01-01T00:00:00Z" |
{{ updated_at }} | Last update timestamp | "2025-01-01T00:00:00Z" |
Type-specific variables:
| Type | Variable | Description |
|---|---|---|
| Task | {{ parent_title }} | Title of parent initiative |
| ADR | {{ number }} | ADR sequence number |
Example: Custom Task Template
Create .metis/templates/task/content.md:
# {{ title }}
## Definition of Done
- [ ] Requirement 1
- [ ] Requirement 2
## Notes
*Add implementation notes here*
Template Validation
Templates are validated on load by rendering with sample data. Invalid templates (syntax errors or undefined variables) will fail with a clear error message, preventing broken documents from being created.
Command Line Interface (CLI)
Metis provides a comprehensive CLI for direct project management:
# Initialize a new project with configuration
metis init --name "Project Vision" # Default streamlined config
metis init --name "Project Vision" --preset full # Full flight levels
metis init --name "Project Vision" --preset direct # Minimal hierarchy
metis init --name "Project Vision" --strategies false --initiatives true # Custom
# Configuration management
metis config show # View current configuration
metis config set --preset full # Change to full flight levels
metis config set --strategies true --initiatives false # Custom settings
# Create documents (available types depend on your configuration)
metis create strategy "Core Strategy" --vision "project-vision" # Only in full config
metis create initiative "Implementation" --strategy "core-strategy" # Full/streamlined
metis create task "Build Feature" --initiative "implementation" # All configs
metis create adr "Database Choice" # All configs
# Manage document lifecycle
metis transition "Project Vision" --phase review
metis validate "Project Vision"
metis status # Show project overview with current configuration
# Archive and sync operations
metis archive "document-id" # Archive completed documents
metis sync # Synchronize workspace with file system
# Search and list documents
metis list --type initiative
metis search "database"
# Launch interactive interfaces
metis tui # Terminal user interface
metis-mcp # MCP server for AI assistants
Desktop GUI Application
The Metis desktop application is the primary interface for project management with full Flight Levels support:
Key Features
- Multi-Project Management: Switch between projects with a sidebar browser
- Integrated CLI Installation: Automatic installation of
metisCLI command on first launch for AI assistant integration - Dynamic Board Configuration: Available boards adapt based on your project's Flight Level preset
- Rich Text Editing: Built-in markdown editor with:
- Live preview and editing modes
- Table creation and manipulation tools
- Syntax highlighting and formatting
- Project Initialization Wizard: Guided setup with preset selection
- Real-time Synchronization: Refresh button syncs with file system and reloads data
- Document Lifecycle Management:
- Drag-and-drop between phases
- Archive completed work
- View detailed document information
Interface Overview
The GUI organizes work into kanban-style boards:
- Vision Board: Single document editor for project vision
- Strategy Board: Strategy documents through their lifecycle (Full preset only)
- Initiative Board: Initiative management with phase tracking
- Task Board: Task execution with Blocked → Todo → Active → Completed flow
- ADR Board: Architectural Decision Records
- Backlog Board: Unassigned work items organized by type (Bug/Feature/Tech Debt/General)
- Refresh Button: Syncs the filesystem to the database and refreshes the UI. Use when external systems (like the MCP server) are editing things.
Getting Started with GUI
- Download and Install: Get the appropriate installer for your platform from GitHub Releases
- Allow CLI Installation: On first launch, approve the system prompt to install CLI tools (enables AI assistant integration)
- Create or Open Project: Use the project browser to initialize a new project or open existing ones
- Select Configuration: Choose Full/Streamlined/Direct preset during initialization
- Start Working: Create documents, move them through phases, and track progress visually
Terminal User Interface (TUI) - Deprecated
Deprecation Notice: The Terminal User Interface has been deprecated in favor of the Desktop GUI application. The TUI will be removed in a future release.
If you still need to use the TUI:
metis tui
Migration: All TUI functionality is available in the Desktop GUI with a more user-friendly interface and better performance. Please migrate to the GUI application.
Technical Overview
Architecture: Metis consists of five main components:
- metis-docs-core: Rust library handling document management, workflows, and database
- metis-docs-gui: Primary desktop application with visual kanban interface built with Tauri and Vue 3, includes automatic CLI installation
- metis-docs-cli: Command-line interface with full project management capabilities, bundled with GUI installer
- metis-docs-mcp: MCP server providing AI assistant integration with tools for document management
- metis-docs-tui: Interactive terminal user interface (deprecated, will be removed in future release)
Installation Flow: The GUI installer bundles the CLI binary and automatically installs it to the system PATH on first launch, providing seamless integration between visual and AI-assisted workflows.
Direct Path Approach: Documents are stored as markdown files with YAML frontmatter, indexed in SQLite with FTS5 for fast search. No complex abstractions - what you see is what you get.
Background Sync: File system changes are synced to the database index, ensuring consistency between markdown files and search capabilities.
Development Commands
# Using angreal (recommended)
angreal test # Run all tests
angreal build # Build all crates
angreal clean # Clean build artifacts
angreal coverage # Generate coverage reports
angreal check # Run clippy + format + check
# Using cargo directly
cargo test
cargo build --release
Configuration
Metis uses direct project paths - no global environment variables required. Each MCP tool call specifies the project path directly:
{
"name": "initialize_project",
"arguments": {
"project_path": "/path/to/your/project",
"name": "my-project",
"description": "Project description"
}
}
License & Contributing
Apache 2.0 License. Contributions welcome:
- Fork repository
- Create feature branch
- Add tests for new functionality
- Ensure
angreal checkpasses - Ensure
angreal testpasses - For GUI changes, provide a journey for testing the new feature in writing.
- Submit pull request
Built with ❤️ for AI-assisted project management