Harnyard alpha

A unified launcher for AI coding agent harnesses

Start Claude Code, Copilot CLI, Kiro CLI, or Pi from a single command.
One config. Every harness.

$ uv tool install harnyard

Why Harnyard?

AI coding tools are converging on the same concepts: skills, plugins, MCP servers, hooks, and project context files. But each tool looks for config in different places and uses slightly different formats.

Harnyard manages the translation layer so you can maintain one source of truth and launch any harness.

Supported Harnesses

Claude Code
hy claude
Canonical

Config lives in .claude/

Copilot CLI
hy copilot
Native

Reads .claude/ natively

Kiro CLI
hy kiro
Symlink

Symlinks from .claude/

Pi
hy pi
Symlink

Symlinks from .claude/

How It Works

Canonical config

All your skills, plugins, agents, and context live under .claude/

Harness profiles

Harnyard knows where each tool looks for its config files

Symlink bridge

hy setup <harness> creates symlinks so each tool finds what it needs

Launch

hy <harness> starts the tool with the right flags and environment

Quick Start

# Install
$ uv tool install harnyard  # or: pip install harnyard

# Run without installing
$ uvx harnyard list

# Start a harness in the current project
$ hy claude              # Start Claude Code
$ hy copilot             # Start Copilot CLI
$ hy kiro                # Start Kiro CLI
$ hy pi                  # Start Pi Coding Agent

# Setup symlinks for a harness
$ hy setup kiro          # Create .kiro/ symlinks pointing to .claude/
$ hy setup --all         # Setup all harnesses

# Show what each harness sees
$ hy status              # Show config mapping for all harnesses

Config Mapping

.claude/                    # Canonical (Claude Code + Copilot CLI read natively)
  CLAUDE.md               # Project context
  settings.json           # Hooks, permissions
  skills/                 # Skills (SKILL.md format)
  agents/                 # Agent definitions
  plugins/                # Plugin manifests

.kiro/  --> symlinks          # Created by: hy setup kiro
  steering.md  --> ../.claude/CLAUDE.md
  skills/      --> ../.claude/skills/

.pi/    --> symlinks          # Created by: hy setup pi
  agent/extensions/ --> ../.claude/plugins/
  mcp.json         --> ../.claude/mcp.json

Philosophy

.claude/ is the source of truth

Other harness configs are derived, never canonical

Non-destructive

hy setup only creates symlinks, never modifies .claude/

Optional

Each harness still works standalone if you prefer manual config

Open source

Contributions welcome for new harnesses