Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,804 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Harness

Harness is a personal toolkit for agent-assisted software work. It provides:

  • callable plan and implementation review workflows;
  • independent Linear automation through a self-hosted Inngest worker;
  • Cursor and Codex provider adapters;
  • packaged agent skills and background-task definitions.

Harness runs against ordinary Git repositories. Target repositories keep their own code, configuration, and local review artifacts. Linear remains the queue for issue automation; Inngest owns delivery and retries.

Install

Requirements: Node.js 24 or newer, pnpm, and a POSIX shell with bash.

git clone git@github.com:ferueda/harness.git ~/.harness
~/.harness/install

The checkout may live elsewhere. The installer installs locked dependencies, writes harness to ~/.local/bin by default, and verifies the command. If that directory is not on PATH, it prints the required export.

Update an existing installation with:

cd ~/.harness
git pull
./install

Review a Repository

Initialize each target repository once:

cd /path/to/repo
harness init

This creates a minimal harness.json when needed, ignores generated .harness/ state, and writes an ignored local shim at .harness/bin/harness.

Run the default implementation and code-quality review:

harness run change-review --verbose

Review an implementation plan:

harness run plan-review --plan path/to/implementation-plan.md --verbose

Standalone review artifacts are written to .harness/runs/reviews/<run-id>/ in the target repository. Generated help owns the complete command surface:

harness run change-review --help
harness run plan-review --help

See the change-review workflow skill for review handoff, finding triage, and rerun guidance.

Run Linear Automation

harness linear worker connects one target repository to a self-hosted Inngest server. A one-minute poll finds new Backlog revisions, reloads each issue from Linear, and sends issues that need classification to the independent triage operation. The triage result is written back through the standalone Linear module.

The worker uses stable IDs and its triage profile from the target repository's linearAutomation configuration. Secrets stay in the environment. See the Linear automation guide for the Compose setup, health checks, and smoke tests.

Write-capable consumers use the standalone Grove-backed repository primitive. It leases reusable writable worktrees, reruns repository setup against warm ignored dependencies, and resets completed work without owning commits, pull requests, or Linear policy.

Configure Agents

harness.json stores target-repository defaults. harness init starts with the base branch only; add provider choices as needed:

{
  "base": "main",
  "defaultAgent": "codex"
}

Run harness models for the supported model catalog. The independent harness linear worker reads its stable Linear IDs and triage profile from linearAutomation.

Cursor SDK runs require CURSOR_API_KEY. Codex follows local codex login authentication or CODEX_API_KEY. The Linear worker requires LINEAR_API_KEY.

See the setup manifest for configuration, generated paths, and provider details.

Packaged Skills

Packaged skills live under skills/. Install them into a supported agent host with:

npx skills add ferueda/harness

Install one packaged skill into a target repository with:

harness skills install change-review-workflow --workspace /path/to/repo

Skill resolution prefers target-repository .agents/skills/, then user ~/.agents/skills/, then packaged Harness skills. Background task definitions live under automations/. Local agent-history analysis is provided separately by Sessions.

Develop Harness

pnpm install --frozen-lockfile
make check

Use make fix for formatting or lint fixes, inspect the diff, then rerun make check.

Contributor references:

License

MIT

About

A personal agent harness for coding workflows. It keeps reusable agent instructions, callable workflows, agent skills, and runner code in one repo.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages