{"id":47087861,"url":"https://github.com/harnessprotocol/harness-kit","last_synced_at":"2026-05-17T06:05:28.053Z","repository":{"id":342845735,"uuid":"1175316790","full_name":"harnessprotocol/harness-kit","owner":"harnessprotocol","description":"Your plugins, skills, MCP servers, hooks, conventions, and governance packaged into a single config","archived":false,"fork":false,"pushed_at":"2026-05-11T04:14:12.000Z","size":4882,"stargazers_count":9,"open_issues_count":10,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-11T06:31:18.154Z","etag":null,"topics":["ai","ai-tools","claude-code","claude-code-plugin","claude-code-skills","developer-tools","harness","harness-engineering","harness-framework","knowledge-management","research"],"latest_commit_sha":null,"homepage":"https://harnesskit.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/harnessprotocol.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-07T14:46:09.000Z","updated_at":"2026-05-09T03:51:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/harnessprotocol/harness-kit","commit_stats":null,"previous_names":["siracusa5/claude-setup","siracusa5/harness-kit","harnessprotocol/harness-kit"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/harnessprotocol/harness-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harnessprotocol%2Fharness-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harnessprotocol%2Fharness-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harnessprotocol%2Fharness-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harnessprotocol%2Fharness-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/harnessprotocol","download_url":"https://codeload.github.com/harnessprotocol/harness-kit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harnessprotocol%2Fharness-kit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33129102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"online","status_checked_at":"2026-05-17T02:00:05.366Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-tools","claude-code","claude-code-plugin","claude-code-skills","developer-tools","harness","harness-engineering","harness-framework","knowledge-management","research"],"created_at":"2026-03-12T08:47:33.476Z","updated_at":"2026-05-17T06:05:28.046Z","avatar_url":"https://github.com/harnessprotocol.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# harness-kit\n\nPortable configuration for AI coding tools.\n\n[![Release](https://img.shields.io/github/v/release/harnessprotocol/harness-kit?style=flat-square)](https://github.com/harnessprotocol/harness-kit/releases)\n[![Validate](https://img.shields.io/github/actions/workflow/status/harnessprotocol/harness-kit/validate.yml?style=flat-square\u0026label=validate)](https://github.com/harnessprotocol/harness-kit/actions/workflows/validate.yml)\n[![Build](https://img.shields.io/github/actions/workflow/status/harnessprotocol/harness-kit/build.yml?style=flat-square\u0026label=build)](https://github.com/harnessprotocol/harness-kit/actions/workflows/build.yml)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)](LICENSE)\n[![Plugins](https://img.shields.io/badge/plugins-16-8A2BE2?style=flat-square)](.claude-plugin/marketplace.json)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen?style=flat-square)](CONTRIBUTING.md)\n\nWorks with [Claude Code](https://claude.ai/claude-code) · [Cursor](https://cursor.com) · [GitHub Copilot](https://github.com/features/copilot) · [Codex](https://openai.com/codex) · [OpenCode](https://opencode.ai) · [Windsurf](https://codeium.com/windsurf) · [Gemini CLI](https://github.com/google-gemini/gemini-cli) · [Junie](https://www.jetbrains.com/junie/)\n\n\u003c/div\u003e\n\n## 🧰 What is harness-kit?\n\nYour AI coding setup — plugins, skills, MCP servers, hooks, conventions — packaged into a single config you can apply to any tool on any machine. Build it once, share it with your team in one file.\n\n## 📦 Install\n\n**Skills \u0026 Plugins** (Claude Code):\n```\n/plugin marketplace add harnessprotocol/harness-kit\n```\n\n**CLI** (`harness validate`, `compile`, `sync`, ...):\n```bash\nbrew tap harnessprotocol/tap \u0026\u0026 brew install harness-kit\n# or: npm install -g @harness-kit/cli  # requires Node.js 22+\n```\n\n**Desktop App**:\n```bash\nbrew tap harnessprotocol/tap  # skip if you already ran this above\nbrew install --cask harness-kit\n```\nOr download the `.dmg` directly from the [latest release](https://github.com/harnessprotocol/harness-kit/releases/latest) and drag **Harness Kit.app** to `/Applications`. Note: the app is not notarized — right-click and select **Open** on first launch.\n\n\u003cdetails\u003e\n\u003csummary\u003eNightly builds (latest main, rebuilt daily — may be unstable)\u003c/summary\u003e\n\n```bash\nbrew tap harnessprotocol/tap  # skip if already added\nbrew install harnessprotocol/tap/harness-kit-nightly          # CLI nightly → installs as harness-kit-nightly\nbrew install --cask harnessprotocol/tap/'harness-kit@nightly' # desktop nightly\n```\n\nNightly builds track the tip of `main` and are rebuilt every day at midnight UTC. Use them to get the latest features before a stable release — at the cost of stability guarantees.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eFallback: install skills with script (no Node required)\u003c/summary\u003e\n\nIf your Claude Code build doesn't support the plugin marketplace:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/harnessprotocol/harness-kit/main/install.sh | bash\n```\n\nDownloads skill files to `~/.claude/skills/` over HTTPS. The full plugin experience (scripts, hooks, agents) requires the marketplace install.\n\u003c/details\u003e\n\n## ⚡ Quick Start\n\nInstall `explain` — no dependencies, works in any codebase:\n\n```\n/plugin install explain@harness-kit\n```\n\nThen try it:\n\n```\n/explain src/auth/middleware.ts       # explain a specific file\n/explain the payment processing flow  # search the codebase for a concept\n/explain src/services/                # map a directory\n```\n\nProduces a layered explanation: summary, key components, how it connects, patterns, gotchas, and where to start if you need to change it.\n\n## 🔌 Plugins\n\nA few highlights to get started:\n\n| Plugin | What it does | Try it |\n|--------|-------------|--------|\n| [`explain`](plugins/explain/skills/explain/README.md) | Layered code explanations for files, functions, directories, or concepts | `/explain src/auth/` |\n| [`research`](plugins/research/skills/research/README.md) | Process any source into a structured, compounding knowledge base | `/research https://...` |\n| [`review`](plugins/review/skills/review/README.md) | Code review with severity labels and cross-file analysis | `/review` |\n| [`lineage`](plugins/lineage/skills/lineage/README.md) | Column-level data lineage through SQL, Kafka, Spark, and JDBC | `/lineage orders.amount` |\n\n\u003e 📋 **[Browse all 16 plugins →](.claude-plugin/marketplace.json)** or run `/plugin marketplace browse harness-kit`\n\n### 🌍 Community\n\n| Plugin | Author | What it does |\n|--------|--------|-------------|\n| [`superpowers`](https://github.com/obra/superpowers) | [Jesse Vincent](https://github.com/obra) | TDD, systematic debugging, brainstorming-before-coding, subagent delegation, git worktree isolation |\n\n```\n/plugin marketplace add obra/superpowers-marketplace\n/plugin install superpowers@obra\n```\n\n## 🔄 Share Your Setup\n\nExport your plugin setup to a `harness.yaml`, commit it to your dotfiles, and restore it anywhere.\n\n| Command | What it does |\n|---------|-------------|\n| `/harness-export` | Write `harness.yaml` from your current setup |\n| `/harness-import harness.yaml` | Interactive wizard — pick what to install |\n| `/harness-compile` | Compile to native configs for Claude Code, Cursor, and Copilot |\n| `/harness-sync` | Keep all three tools' configs aligned |\n| `/harness-validate` | Validate against the [Harness Protocol v1](https://harnessprotocol.io) schema |\n\n\u003cdetails\u003e\n\u003csummary\u003eShell fallback (no Claude Code required)\u003c/summary\u003e\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/harnessprotocol/harness-kit/main/harness-restore.sh | bash -s -- harness.yaml\n```\n\nSee [`harness.yaml.example`](harness.yaml.example) for the config format. `harness.yaml` follows the [Harness Protocol v1](https://harnessprotocol.io) open spec — a vendor-neutral format for portable AI coding harnesses.\n\u003c/details\u003e\n\n## 🔒 Security \u0026 Privacy\n\n- **No telemetry, no data collection** — harness-kit never phones home. Optional stats are local-only.\n- **Secrets stay out of config** — plugins declare environment variables they need (`requires.env` in `plugin.json`) with `required`, `optional`, and `sensitive` flags. Values live in your shell profile, direnv, or a secrets manager — never in checked-in files. The framework validates existence but never reads or logs values.\n- **Plain text, fully inspectable** — plugins are markdown and JSON. No binaries, no background processes, no network calls on install. Scripts and hooks only run when you explicitly invoke a skill.\n- **Granular permissions** — tool-level allow/deny/ask, path-level write restrictions, and network host allowlists. All configurable per-project.\n- **Audit logging** — permission changes, secret access, and preset applications are logged with timestamps.\n- **Prompt injection detection** — the research plugin treats all external content as untrusted, scanning for injection attempts before processing.\n\nSee the [Secrets Management guide](website/content/docs/guides/secrets-management.md) for setup with 1Password, direnv, Google Secret Manager, and CI environments.\n\n## 🖥️ Desktop App\n\nA Tauri desktop companion that brings the harness concept to a native UI.\n\n- **Sync engine** — compiles `harness.yaml` to platform configs\n- **Plugin explorer** — browse and manage installed plugins\n- **Marketplace** — embedded plugin browser for discovering and installing from the marketplace\n- **Observatory** — live session dashboard with stats and transcripts\n- **Comparator** — structured evaluation workbench: configure harnesses, run side-by-side comparisons, review file diffs, and judge results across a 4-phase workflow\n- **Harness editor** — inline editing with custom profiles\n- **Board** — kanban project board with real-time Claude-to-web sync; per-card agent execution via LangGraph with live phase/progress streaming, subtask tracking, steering, pause/resume, and tool-level permission controls\n- **Roadmap** — AI-driven product roadmap with competitor analysis, generated via Claude\n- **Parity** — cross-platform feature parity tracking across AI coding tools\n- **Security** — permissions editor, secrets management, and audit logging\n- **Memory** — [membrain](https://github.com/siracusa5/membrain) MCP server: graph-based agent memory with 11 graph tools, semantic dedup, and token-savings telemetry\n- **Team chat** — IRC-style chat backed by a self-hosted WebSocket relay\n- **AI Chat** — streaming conversations with local LLMs via Ollama, with session persistence and inline model downloads\n\nSee [`apps/desktop/`](apps/desktop/) for build instructions. The desktop app is a separate product from the plugin marketplace.\n\n## 🌐 Cross-Platform\n\n- **Claude Code** — native plugin marketplace support\n- **Cursor** — SKILL.md files work as prompt instructions; `/harness-compile` generates native config\n- **GitHub Copilot** — reads `CLAUDE.md` natively via `chat.useClaudeMdFile`\n\nSee the [Harness Protocol spec](https://harnessprotocol.io) for the full cross-platform target mapping.\n\n## 📚 Docs\n\n- **[FAQ](docs/FAQ.md)** — What is this, why do I need it, how does it work\n- **[Plugins vs. Skills](docs/plugins-vs-skills.md)** — Why everything ships as a plugin, even when it's just a prompt\n- **[Claude Conventions](docs/claude-md-conventions.md)** — Organizing `CLAUDE.md`, `AGENT.md`, and `SOUL.md` with separation of concerns\n- **[Understanding Agents](https://harnessprotocol.io/docs/concepts/agents)** — AGENT.md, custom subagents, and \"AI agent\" disambiguation\n\n## 🤝 Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for plugin guidelines, skill conventions, and PR process.\n\n## 📬 Contact\n\n- **General** — [contact@harnesskit.ai](mailto:contact@harnesskit.ai)\n- **Security** — [security@harnesskit.ai](mailto:security@harnesskit.ai) (see [SECURITY.md](SECURITY.md))\n\n## 📄 License\n\n[Apache 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharnessprotocol%2Fharness-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharnessprotocol%2Fharness-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharnessprotocol%2Fharness-kit/lists"}