MCPcopy Index your code
hub / github.com/TheBushidoCollective/han

github.com/TheBushidoCollective/han @v3.18.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.18.0 ↗ · + Follow
5,193 symbols 12,727 edges 899 files 1,331 documented · 26%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Han

GitHub Release codecov

Ship-ready code from your AI coding agent. 139+ plugins for quality gates, tooling, memory, and specialized agents — so your AI writes code that's ready to merge.

Getting Started

Two commands. That's it.

# 1. Install the CLI
curl -fsSL https://han.guru/install.sh | bash

# 2. Auto-detect and install plugins for your project
han plugin install --auto

Next time you use Claude Code, validation hooks run automatically when you finish a conversation.

Alternative Installation

# Homebrew (macOS/Linux)
brew install thebushidocollective/tap/han

How It Works

  1. Install - One command installs the CLI and auto-detects plugins for your stack
  2. Code - Claude writes code as usual. No workflow changes needed
  3. Validate - Stop hooks run automatically. Linters, formatters, type checkers, and tests are all verified
  4. Learn - Local metrics track success rates and calibrate confidence. Nothing leaves your machine

Plugin Categories

139 plugins across four categories:

Category Description Examples
Core Essential infrastructure. Auto-installs han binary, provides metrics and MCP servers Always required
Jutsu (Tools) Validation plugins for your stack TypeScript, Biome, Pytest, RSpec, ShellCheck
(Agents) Specialized AI agents Code review, debugging, architecture, security
Hashi (Integrations) MCP servers for external tools GitHub, Playwright, Blueprints

Browse all plugins at han.guru/plugins

Why It Works

  • Smart Caching - Only runs validation when relevant files change. Native Rust hashing keeps it fast
  • Local Metrics - Tracks task success and confidence calibration. All data stays on your machine
  • Zero Config - Binary auto-installs on first session. --auto flag detects your stack automatically
  • Any Stack - TypeScript, Python, Rust, Go, Ruby, Elixir. If there's a linter, there's a plugin

CLI Commands

# Install plugins
han plugin install              # Interactive mode
han plugin install --auto       # Auto-detect your stack
han plugin install <name>       # Install specific plugin

# Manage plugins
han plugin search <query>       # Search marketplace
han plugin uninstall <name>     # Remove plugin

# Run hooks manually
han hook run <plugin> <hook>    # Run a specific hook
han hook explain                # Show configured hooks

# MCP server
han mcp                         # Start MCP server for natural language hook execution

Documentation

Full documentation at han.guru/docs

Contributing

See CONTRIBUTING.md for how to create new plugins.

License

MIT License - see LICENSE


Built by The Bushido Collective

Extension points exported contracts — how you extend this code

ApplyFilter (Interface)
Trait for applying a filter to a SeaORM column. [5 implementers]
packages/han-rs/crates/han-api/src/filters/apply.rs
EventTracker (Interface)
* Track recent events to deduplicate rapid changes to the same file [3 implementers]
packages/han/lib/commands/browse/watch.ts
MCPClient (Interface)
* MCP client interface for calling tools [1 implementers]
plugins/services/github/memory-provider.ts
RawTeamMetricsData (Interface)
* Raw GraphQL data type with nullable fields
packages/browse-client/src/components/pages/TeamDashboardPage/ExportButton.tsx
BaseEventMeta (Interface)
* Base event metadata - matches Han's BaseEvent format exactly.
plugins/bridges/opencode/src/events.ts
Paper (Interface)
(no doc)
website/lib/papers.ts
DocsNavigationProps (Interface)
(no doc)
website/app/components/DocsNavigation.tsx
SourcePlugin (Interface)
(no doc)
website/scripts/generate-marketplace.ts

Core symbols most depended-on inside this repo

push
called by 1043
packages/han-rs/crates/han-indexer/src/task_timeline.rs
get
called by 512
packages/han/lib/data/interfaces.ts
error
called by 406
packages/han-rs/crates/han-api/src/types/messages/mod.rs
from
called by 200
packages/han-rs/crates/han-api/src/filters/ordering.rs
set
called by 188
packages/han/lib/permissions/cache.ts
create
called by 138
packages/han-rs/crates/han-db/src/crud/tasks.rs
as_str
called by 137
packages/han-rs/crates/han-indexer/src/types.rs
has
called by 101
packages/han/lib/memory/team-memory-cache.ts

Shape

Function 3,158
Interface 964
Method 635
Class 332
Enum 104

Languages

TypeScript70%
Rust30%
Python1%
Ruby1%

Modules by API surface

packages/han/lib/grpc/data-access.ts163 symbols
packages/han-rs/crates/han-api/src/types/messages/mod.rs149 symbols
packages/han-rs/crates/han-api/src/types/sessions/mod.rs66 symbols
packages/han-rs/crates/han-indexer/src/processor.rs61 symbols
packages/han/lib/data/interfaces.ts59 symbols
packages/han-rs/crates/han-api/src/query.rs52 symbols
packages/han-rs/crates/han-api/src/types/content_blocks/mod.rs49 symbols
packages/han-rs/crates/han-api/src/subscription.rs49 symbols
packages/han/lib/api/sessions.ts43 symbols
packages/han-rs/crates/han-api/src/types/metrics/mod.rs40 symbols
packages/han/lib/events/logger.ts38 symbols
packages/han-rs/crates/han-coordinator/src/grpc.rs37 symbols

Datastores touched

appDatabase · 1 repos
dbDatabase · 1 repos
devDatabase · 1 repos
han_teamDatabase · 1 repos
myappDatabase · 1 repos
myapp_devDatabase · 1 repos
(mongodb)Database · 1 repos
defaultDatabase · 1 repos

For agents

$ claude mcp add han \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page