Files
zeekayandHanzo Dev d3110e47ea Major refactor: Unified tools, palette system, dev mode, and shell improvements (v0.6.0)
🎨 **Tool Palette System**
- Created palette system for organizing development tools by ecosystem
- Pre-defined palettes: Python (Guido), Ruby (Matz), JavaScript, Go, Rust, DevOps, Full Stack, Minimal
- `palette` tool to list, activate, and manage tool sets
- Environment variables applied from active palette
- Keeps MCP interface clean while supporting specialized workflows

🔧 **Unified Process Tools with OO Design**
- Refactored all process execution to use clean base class hierarchy
- `BaseProcessTool`, `BaseBinaryTool`, `BaseScriptTool` for consistent interface
- Unified `bash`, `npx`, `uvx` tools with action-based approach (run/background)
- `process` tool for managing background processes
- All tools use same execution pipeline internally

🐚 **Smart Shell Detection**
- Shell tool now detects user's preferred shell from $SHELL environment
- Automatically uses zsh if .zshrc exists (perfect for your setup\!)
- Falls back to bash if no special configuration found
- All zsh aliases, functions, and configurations now available in MCP

🚀 **Development Mode with Hot Reload**
- Added `--dev` flag to hanzo-mcp CLI for development mode
- File watching with automatic reload detection using watchdog
- `hanzo-mcp-dev` command for dedicated dev server
- Watches Python files and config changes
- Debounced reloading to prevent spam

🛠️ **New Tools Added**
- `open`: Opens files/URLs in default application (platform-aware)
- `watch`: Monitors files/directories for changes with pattern matching
- `diff`: Compares files with unified/context diff formats
- `config`: Git-style configuration management

📚 **Documentation & Infrastructure**
- Comprehensive Sphinx documentation with black theme
- Automated deployment to mcp.hanzo.ai via Cloudflare Pages
- GitHub Actions workflow for docs deployment
- 25+ documentation pages organized by category

⚙️ **Configuration Improvements**
- Tool enable/disable system with palette override
- Per-project vs global indexing configuration
- Environment variable management through palettes
- Clean separation of concerns in tool registration

This release provides a much cleaner, more extensible architecture while
maintaining backward compatibility. The palette system makes it easy to
switch between development environments, and the unified process tools
eliminate code duplication while providing consistent behavior.

Co-authored-by: Hanzo Dev <[email protected]>
2025-06-26 17:59:24 -04:00

3.4 KiB

Hanzo MCP Documentation

This directory contains the source files for the Hanzo MCP documentation, which is published at mcp.hanzo.ai.

Documentation Structure

Core Documentation

New Sphinx Documentation

  • getting-started/ - Installation and quick start guides
  • concepts/ - Core concepts and philosophy
  • tools/ - Detailed tool documentation
  • advanced/ - Advanced usage and customization
  • guides/ - Integration and workflow guides
  • reference/ - API and CLI reference

Integration Guides

Prompt Libraries

Media

Building the Documentation

You can build the documentation using the Makefile at the project root:

# From the project root
make docs

This will generate the HTML documentation in the docs/_build/html directory.

Viewing the Documentation Locally

To view the documentation in your browser, you can use the serve target:

# From the project root
make docs-serve

This will start a local web server at http://localhost:8000/. Open this URL in your browser to view the documentation.

Deployment to Cloudflare Pages

Documentation is automatically deployed to mcp.hanzo.ai when changes are pushed to the main branch.

Cloudflare Pages Setup

  1. Connect your GitHub repository to Cloudflare Pages
  2. Set the build command: ./build-docs.sh
  3. Set the build output directory: docs/_build/html
  4. Configure custom domain: mcp.hanzo.ai

Required Environment Variables

Set these in your GitHub repository secrets:

  • CLOUDFLARE_API_TOKEN - Your Cloudflare API token with Pages permissions
  • CLOUDFLARE_ACCOUNT_ID - Your Cloudflare account ID

Writing Documentation

We use Sphinx with MyST parser for Markdown support. You can write documentation in either:

  • .rst files (reStructuredText)
  • .md files (Markdown with MyST extensions)

Adding New Documentation

  1. Create a new file in the appropriate directory (.rst or .md)
  2. Add the file to the table of contents in index.rst
  3. Update this README.md to reference the new documentation
  4. Rebuild the documentation with make docs

Theme and Styling

The documentation uses a customized Sphinx RTD theme with:

  • Black background for Hanzo branding
  • Inter font for consistency
  • Custom CSS in _static/custom.css

Documentation Standards

  • Use clear, concise language
  • Include code examples for all tools
  • Provide both basic and advanced usage examples
  • Cross-reference related tools and concepts
  • Keep the table of contents organized and intuitive