harness-locate
Cross-platform harness path discovery for AI coding CLI tools.
Features
- Detect installed AI coding assistants (Claude Code, OpenCode, Goose, AMP Code)
- Resolve configuration paths (global and project-scoped)
- Unified MCP server configuration types
- Cross-platform support (macOS, Linux, Windows)
Quick Start
Detect Installed Harnesses
use ;
// Check all installed harnesses
for harness in installed?
# Ok::
Get Configuration Paths
use ;
let harness = locate?;
let config_dir = harness.config?;
println!;
# Ok::
MCP Server Configuration
use ;
use ;
let server = Stdio;
// Check compatibility
let harness = new;
if harness.supports_mcp_server
Supported Harnesses
| Harness | Skills | Commands | MCP | Rules |
|---|---|---|---|---|
| Claude Code | Yes | Yes | Yes | Yes |
| OpenCode | Yes | Yes | Yes | Yes |
| Goose | Yes | No | Yes | Yes |
| AMP Code | Yes | Yes | Yes | Yes |
Resource Types
DirectoryResource
For directory-based resources (skills, commands):
path- Directory locationexists- Whether directory existsstructure- Flat or Nested layoutfile_format- Expected file format
Directory Structure Patterns
Skills use nested structure (one subdirectory per skill):
~/.config/opencode/skill/
my-skill/
SKILL.md
Commands use flat structure (files directly in directory):
~/.config/opencode/command/
my-command.md
another-command.md
This pattern applies across all harnesses that support the resource type.
ConfigResource
For file-based configuration (MCP):
file- Config file pathkey_path- JSON pointer to relevant sectionformat- JSON, YAML, etc.
License
MIT