- todo.md: Task management with list, add, update, remove, clear actions - computer.md: pyautogui Mac automation (mouse, keyboard, screenshots, windows) - config.md: Git-style configuration and 700+ programmer personas
4.5 KiB
4.5 KiB
hanzo-tools-config
Configuration and development mode management for Hanzo AI.
Installation
pip install hanzo-tools-config
Or as part of the full toolkit:
pip install hanzo-mcp[tools-all]
Overview
hanzo-tools-config provides:
- config - Git-style configuration management
- mode - Development mode/persona switching
Config Tool
Manage settings with git-style configuration.
Quick Start
# Get a value
config(action="get", key="user.name")
# Set a value
config(action="set", key="user.name", value="Alice")
# List all settings
config(action="list")
# Delete a setting
config(action="delete", key="user.name")
Actions
get
Get a configuration value.
config(action="get", key="editor.theme")
config(action="get", key="tools.timeout")
set
Set a configuration value.
config(action="set", key="editor.theme", value="dark")
config(action="set", key="tools.timeout", value="30")
list
List all configuration values.
config(action="list")
Response:
{
"settings": {
"user.name": "Alice",
"editor.theme": "dark",
"tools.timeout": "30"
}
}
delete
Remove a configuration value.
config(action="delete", key="editor.theme")
Configuration Scopes
| Scope | Location | Priority |
|---|---|---|
| Session | Memory | Highest |
| Project | .hanzo/config |
Medium |
| Global | ~/.hanzo/config |
Lowest |
Mode Tool
Switch between development modes/personas.
Quick Start
# List available modes
mode(action="list")
# Activate a mode
mode(action="activate", name="guido")
# Show current mode
mode(action="current")
# Show mode details
mode(action="show", name="linus")
Actions
list
List all available development modes.
mode(action="list")
Response:
{
"modes": [
{"name": "guido", "description": "Guido van Rossum - Python creator"},
{"name": "linus", "description": "Linus Torvalds - Linux/Git creator"},
{"name": "rob", "description": "Rob Pike - Go language designer"}
]
}
activate
Activate a development mode.
mode(action="activate", name="guido")
This changes:
- Code style preferences
- Review approach
- Communication style
- Tool recommendations
current
Show the currently active mode.
mode(action="current")
show
Show details of a specific mode.
mode(action="show", name="linus")
Response:
{
"name": "linus",
"description": "Linus Torvalds - Linux/Git creator",
"principles": [
"Simple is better than complex",
"Make it work, make it right, make it fast",
"Read the code"
],
"preferences": {
"language": "C",
"style": "kernel",
"testing": "rigorous"
}
}
Available Modes
The mode system includes 700+ programmer personas loaded from hanzo-persona:
| Category | Examples |
|---|---|
| Language Creators | guido (Python), linus (Linux/C), rob (Go), rich (Clojure) |
| Industry Leaders | jeff (AWS), kelsey (Kubernetes), mitchellh (HashiCorp) |
| Framework Authors | dan (React), evan (Vue), taylor (Laravel) |
| Scientists | alan (Turing), grace (Hopper), ada (Lovelace) |
Each persona includes:
- OCEAN personality traits
- Behavioral patterns
- Cognitive style
- Communication preferences
- Tool recommendations
Examples
Project Setup
# Set project-specific config
config(action="set", key="project.language", value="python")
config(action="set", key="project.style", value="black")
config(action="set", key="tools.lsp", value="pyright")
# Activate appropriate mode
mode(action="activate", name="guido")
Switching Contexts
# Working on Go project
mode(action="activate", name="rob")
config(action="set", key="project.language", value="go")
# Later, switching to Rust
mode(action="activate", name="steve") # Steve Klabnik
config(action="set", key="project.language", value="rust")
Checking Configuration
# See all settings
config(action="list")
# Check specific setting
timeout = config(action="get", key="tools.timeout")
# Check current mode
current = mode(action="current")
Best Practices
- Use hierarchical keys -
category.settingformat - Set project config locally - Use
.hanzo/configfor project-specific - Match mode to project - Python project → guido mode
- Review mode on start - Check persona fits your current task