@osfactory/har 0.41.0 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -28
- package/dist/index.js +1 -1
- package/dist/templates/AGENT.md.template +4 -3
- package/dist/templates/cursor-rule.mdc.template +40 -108
- package/dist/templates/har-boilerplate/CLAUDE.agent.md +7 -6
- package/dist/templates/har-boilerplate/README.md +1 -1
- package/dist/templates/har-boilerplate-cli/CLAUDE.agent.md +7 -6
- package/dist/templates/har-boilerplate-cli/README.md +1 -1
- package/dist/templates/har-boilerplate-ios/CLAUDE.agent.md +7 -6
- package/dist/templates/har-boilerplate-ios/README.md +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,18 +2,22 @@
|
|
|
2
2
|
<img src="assets/logo.png" alt="HAR logo" width="120">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
# HAR
|
|
5
|
+
# HAR: The open harness for multi-agent coding workflows
|
|
6
6
|
|
|
7
7
|
[](https://github.com/os-factory/har/releases)
|
|
8
8
|
[](https://github.com/os-factory/har/actions/workflows/test.yml)
|
|
9
9
|
[](https://harproject.dev/)
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
HAR is an open-source, agent-agnostic standard for building multi-agent coding workflows. It makes your repository agent-ready, so you can run a whole fleet of coding agents in parallel, with deterministic validation gates, verifiable proof, and full observability across every agent.
|
|
11
|
+
HAR is an open-source, agent-agnostic framework for building multi-agent coding workflows. Run a fleet of coding agents in parallel on any repository, with deterministic validation gates, verifiable proof, and full observability across every agent, all extensible and customizable to your own workflow and tooling.
|
|
14
12
|
|
|
15
13
|
Works with **Claude Code** · **Cursor** · **Codex** · any MCP agent.
|
|
16
14
|
|
|
15
|
+
## What's included out of the box
|
|
16
|
+
|
|
17
|
+
- **HAR.** The core harness, available as both a CLI and an MCP server. It turns any repository into isolated worktrees with deterministic launch, verify, and teardown stages for coding agents to work in.
|
|
18
|
+
- **Mission Control.** HAR's open-source local dashboard. It gives you one place to keep track of every repository, worktree, run, validation, and artifact across your projects.
|
|
19
|
+
- **Plugins.** A growing ecosystem of open source plugins that further expand HAR's customizability and functionality.
|
|
20
|
+
|
|
17
21
|
## Install
|
|
18
22
|
|
|
19
23
|
```bash
|
|
@@ -29,40 +33,59 @@ har env launch 1 # isolated worktree + running stack for agent slot 1
|
|
|
29
33
|
har env verify 1 --full # run the project's real checks, record what passed
|
|
30
34
|
```
|
|
31
35
|
|
|
32
|
-
|
|
36
|
+
Full walkthrough: [Quickstart](https://harproject.dev/docs/getting-started/quick-start/).
|
|
37
|
+
|
|
38
|
+
## Why HAR
|
|
33
39
|
|
|
34
|
-
|
|
40
|
+
Getting a single coding agent to work in a repo is easy. Scaling that into a real multi-agent workflow, where several agents run at once and humans still trust the output, is where it breaks down. HAR was built to close those gaps:
|
|
35
41
|
|
|
36
|
-
|
|
42
|
+
1. **No standard way to run or verify a repo.** That knowledge is scattered across a README, a CLAUDE.md, Cursor rules, and CI yaml today, drifting out of sync with each other and the actual codebase. HAR replaces all of that with one machine-readable contract (.har/) that Claude Code, Cursor, Codex, or any MCP agent reads the same way.
|
|
37
43
|
|
|
38
|
-
|
|
39
|
-
2. **Isolate** — Every task gets a clean slot: dedicated session worktree, ports, and local services.
|
|
40
|
-
3. **Build** — The agent edits inside the harness, without touching the main checkout.
|
|
41
|
-
4. **Verify** — Project checks become a deterministic pipeline with normalized status, logs, and artifacts.
|
|
42
|
-
5. **Hand off** — Reviewers get a branch plus evidence: what ran and the exact validated tree.
|
|
44
|
+
2. **Multiple agents on one repo collide.** Shared dev server, shared database, shared ports, conflicting git state. HAR gives each agent its own worktree, ports, and database per slot, so a fleet can genuinely run concurrently.
|
|
43
45
|
|
|
44
|
-
|
|
46
|
+
3. **Trusting an agent's change means re-verifying it yourself.** Every task runs the same deterministic verify step and leaves an evidence trail, logs, artifacts, a validated tree hash, so a reviewer can check proof of what ran instead of relying on the agent's self-report.
|
|
47
|
+
|
|
48
|
+
4. **One platform's sandbox locks you in.** If the contract lives inside a vendor's hosted dashboard, switching coding agents later means rebuilding the whole verification setup. HAR's contract is an open standard living in the repo itself, portable across whichever agent or tool you adopt.
|
|
49
|
+
|
|
50
|
+
5. **Hand-rolled scripts rot as the stack changes.** A new dependency, a new service, a new env var, and nobody updates the script until an agent's run fails for a confusing reason. `har env maintain` diffs your installed harness against current templates and flags drift before it causes a silent failure.
|
|
45
51
|
|
|
46
|
-
|
|
47
|
-
- **Agent-agnostic** — One stable contract for CLI users, MCP agents, and future tools.
|
|
48
|
-
- **Evidence-first** — Every run can leave logs, artifacts, status, and a validated tree hash.
|
|
52
|
+
HAR coordinates the work around the model, so agents can focus on the code and reviewers can trust the result.
|
|
49
53
|
|
|
50
|
-
##
|
|
54
|
+
## How HAR works
|
|
51
55
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
- A hosted platform lock-in
|
|
56
|
+
```mermaid
|
|
57
|
+
flowchart LR
|
|
58
|
+
D["Discover<br/>reads the harness contract"] --> I["Isolate<br/>one slot per agent"]
|
|
56
59
|
|
|
57
|
-
|
|
60
|
+
I --> A1["Agent 1<br/>own worktree, branch, ports, DB"] --> B1["Build"] --> V1["Verify"]
|
|
61
|
+
I --> A2["Agent 2<br/>own worktree, branch, ports, DB"] --> B2["Build"] --> V2["Verify"]
|
|
62
|
+
|
|
63
|
+
V1 --> H["Hand off<br/>branch + evidence"]
|
|
64
|
+
V2 --> H
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
1. **Discover.** The agent asks the harness what this project looks like, including its stack, its scripts, and what checks are available.
|
|
68
|
+
|
|
69
|
+
2. **Isolate.** Every task gets its own slot. That means a fresh copy of the repo on its own branch, with its own ports and, where the project needs it, its own database. Nothing is shared with the main checkout or with any other agent's slot.
|
|
70
|
+
|
|
71
|
+
3. **Build.** The agent edits and tests its work entirely inside that isolated copy. The main checkout stays untouched the whole time.
|
|
72
|
+
|
|
73
|
+
4. **Verify.** The project's own checks, whatever they are, run through the same pipeline every time and produce a consistent result. A full verification goes further and captures the state of the entire codebase at that moment, so a pass is tied to the exact code that was checked.
|
|
74
|
+
|
|
75
|
+
5. **Hand off.** Once verification passes, the session is torn down, but the branch and the proof of what ran are kept. A reviewer gets the code plus the evidence that it was checked.
|
|
58
76
|
|
|
59
77
|
## Documentation
|
|
60
78
|
|
|
61
|
-
Everything beyond install and first commands lives at
|
|
79
|
+
Everything beyond install and first commands lives at [harproject.dev](https://harproject.dev/).
|
|
62
80
|
|
|
63
|
-
- [
|
|
64
|
-
- [
|
|
65
|
-
- [
|
|
81
|
+
- **[Core concepts](https://harproject.dev/docs/getting-started/concepts/).** Defines the terms the rest of the docs rely on, things like harness, slot, worktree, stage, run, and validation.
|
|
82
|
+
- **[Agent integrations](https://harproject.dev/docs/guides/agent-integrations/).** How to install HAR workflows for Cursor, Claude Code, Codex, and other MCP clients.
|
|
83
|
+
- **[Verification and commit gate](https://harproject.dev/docs/guides/verification/).** How HAR binds a successful check to exact code and enforces that result at commit time.
|
|
84
|
+
- **[Plugins](https://harproject.dev/docs/guides/plugins/).** How to install framework-specific verification bundles, like Playwright and RocketSim, that register stages in your harness.
|
|
85
|
+
- **[CLI reference](https://harproject.dev/docs/reference/cli/).** Every command and option the `har` executable exposes.
|
|
86
|
+
- **[MCP tools](https://harproject.dev/docs/reference/mcp/).** The structured tools an MCP-connected agent calls directly, for discovery, session control, verification, and evidence.
|
|
87
|
+
- **[Mission Control](https://harproject.dev/docs/guides/mission-control/).** How to run the local dashboard that tracks repositories, worktrees, runs, validations, and artifacts.
|
|
88
|
+
- **[Architecture](https://harproject.dev/docs/project/architecture/).** HAR's internal layers, contracts, and extension points, for anyone building a plugin or contributing to the core.
|
|
66
89
|
|
|
67
90
|
## Contributing
|
|
68
91
|
|
|
@@ -70,9 +93,9 @@ See [CONTRIBUTING.md](./CONTRIBUTING.md) for local setup, the dogfood harness lo
|
|
|
70
93
|
|
|
71
94
|
## Sponsors
|
|
72
95
|
|
|
73
|
-
HAR is sponsored by [Kerno](https://kerno.io)
|
|
96
|
+
HAR is sponsored by [Kerno](https://kerno.io), runtime code and security review for coding agents.
|
|
74
97
|
|
|
75
|
-
<p align="
|
|
98
|
+
<p align="left">
|
|
76
99
|
<a href="https://kerno.io">
|
|
77
100
|
<picture>
|
|
78
101
|
<source media="(prefers-color-scheme: dark)" srcset="assets/kerno-logo.svg">
|
package/dist/index.js
CHANGED
|
@@ -89928,7 +89928,7 @@ var HAR_MCP_TOOLS = [
|
|
|
89928
89928
|
force: { type: "boolean" },
|
|
89929
89929
|
auto: { type: "boolean" },
|
|
89930
89930
|
smoke: { type: "boolean" },
|
|
89931
|
-
profile: { type: "string", enum: ["default", "cli"] }
|
|
89931
|
+
profile: { type: "string", enum: ["default", "cli", "ios"] }
|
|
89932
89932
|
})
|
|
89933
89933
|
},
|
|
89934
89934
|
{
|
|
@@ -29,9 +29,10 @@ Prefer **HAR MCP tools** (Cursor) or **`har env launch/verify/complete`** — th
|
|
|
29
29
|
Use `./.har/*.sh` only when the CLI is not installed.
|
|
30
30
|
|
|
31
31
|
When the work is done: full verify, commit in the session worktree, then present a
|
|
32
|
-
**session handoff** and wait for the user
|
|
33
|
-
`
|
|
34
|
-
|
|
32
|
+
**session handoff** and wait for the user. The **default recommendation** is
|
|
33
|
+
complete + open a PR when `gh`/GitHub MCP is available (still requires approval);
|
|
34
|
+
alternatives are complete-only or something else. See
|
|
35
|
+
`.cursor/rules/har-workflow.mdc` for the handoff template.
|
|
35
36
|
|
|
36
37
|
## Commit gate
|
|
37
38
|
|
|
@@ -5,32 +5,31 @@ alwaysApply: true
|
|
|
5
5
|
|
|
6
6
|
# HAR Harness Workflow
|
|
7
7
|
|
|
8
|
-
This repository uses a `.har/` agent harness. Follow this
|
|
8
|
+
This repository uses a `.har/` agent harness. Follow this on every change.
|
|
9
9
|
|
|
10
|
-
The harness is **how you run the project**, not only how you verify it.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
If a harness command fails, fix the harness or surface the failure — do not quietly
|
|
14
|
-
work around it with ad-hoc commands.
|
|
10
|
+
The harness is **how you run the project**, not only how you verify it. Launch a
|
|
11
|
+
slot for live apps, browsers, and screenshots — never hand-roll docker/dev-server
|
|
12
|
+
startup. If a harness command fails, fix the harness or surface the failure.
|
|
15
13
|
|
|
16
14
|
## Before making changes
|
|
17
15
|
|
|
18
|
-
1.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
16
|
+
1. On the **main checkout**, switch to the intended base (usually `main`) — launch
|
|
17
|
+
creates a worktree from that HEAD.
|
|
18
|
+
2. **Launch first** — MCP `har_launch_environment` / `har env launch 1`. Use the
|
|
19
|
+
returned **work dir** for ALL edits (never the main checkout). Path looks like
|
|
20
|
+
`~/worktrees/<base>-<sha4>-har-agent-<id>-<rand4>` (see `.har/slots/agent-<id>.json`).
|
|
21
|
+
Bind tracker work with `workUnitId`/`title` or `--work-id`/`--work-title` when needed.
|
|
22
|
+
3. Read `AGENT.md`, `.har/README.md`, `.har/stages.json`, then
|
|
23
|
+
`.har/CLAUDE.agent.md` (slot URLs / definition of done).
|
|
24
|
+
4. Hot-reload usually applies; if not, `./.har/agent-cli.sh <id> restart` (no-op on
|
|
25
|
+
cli/ios profiles without managed processes).
|
|
26
|
+
|
|
27
|
+
**Occupied slots always block.** Run `complete` / `teardown`, then `launch`. Resume
|
|
28
|
+
failed/starting launches with `--resume` / `recover`. Prefer a free slot (2+) over
|
|
29
|
+
sharing slot 1 across unrelated chats. Check `har_get_status` / `har env status`
|
|
30
|
+
first. Commit early — teardown keeps the branch, not uncommitted work. Gitignored
|
|
31
|
+
paths are ephemeral. With telemetry on, Mission Control derives session purpose from
|
|
32
|
+
the first captured user prompt.
|
|
34
33
|
|
|
35
34
|
<!-- Monorepo: if this repository contains multiple .har harnesses, list them here
|
|
36
35
|
and pick by the files you are changing. Example:
|
|
@@ -45,102 +44,35 @@ When a slot is occupied: it always blocks a new launch. Run `complete` / `teardo
|
|
|
45
44
|
Run harness commands from the directory that owns the harness (e.g. `cd apps/admin`).
|
|
46
45
|
-->
|
|
47
46
|
|
|
48
|
-
|
|
49
47
|
## After making changes
|
|
50
48
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
### 1. HAR MCP (preferred in Cursor when `.cursor/mcp.json` has the har server)
|
|
54
|
-
|
|
55
|
-
- `har_run_verification` with `agentId: 1` — fast loop (typecheck + unit tests)
|
|
56
|
-
- `har_run_verification` with `agentId: 1, full: true` — required before declaring work done
|
|
57
|
-
- `har_complete_environment` with `agentId: 1` — **recommended finish** (full verify + validation record + teardown, branch kept). **Propose and wait for user approval** before invoking — never run autonomously
|
|
58
|
-
- `har_teardown_environment` with `agentId: 1` — plain cleanup only (also keeps the branch; `deleteBranch: true` to drop it). Prefer `complete` when the work succeeded
|
|
59
|
-
|
|
60
|
-
### 2. HAR CLI (when `har` is installed)
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
har env launch 1 # FIRST, before editing — prints the work dir
|
|
64
|
-
har env verify 1
|
|
65
|
-
har env verify 1 --full
|
|
66
|
-
har env complete 1 # done: verify + validate + teardown, branch kept for PR
|
|
67
|
-
har env teardown 1 # plain cleanup (--delete-branch to drop the branch)
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### 3. Shell fallback (no CLI/MCP installed)
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
./.har/launch.sh 1
|
|
74
|
-
./.har/verify.sh 1
|
|
75
|
-
./.har/verify.sh 1 --full
|
|
76
|
-
./.har/teardown.sh 1
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Commit your work **inside the session worktree** on its session branch. After completion the branch survives teardown — the user decides whether to push it and open a PR. Run JSON stays in the main checkout `.har/runs/`.
|
|
49
|
+
Prefer MCP → CLI → shell. Quick verify for the loop; **full verify before done**.
|
|
80
50
|
|
|
81
|
-
|
|
51
|
+
- MCP: `har_run_verification` / `full: true`; finish with `har_complete_environment`
|
|
52
|
+
(propose; wait for approval) or `har_teardown_environment`
|
|
53
|
+
- CLI: `har env verify 1`, `har env verify 1 --full`, `complete 1`, `teardown 1`
|
|
54
|
+
- Shell: `./.har/verify.sh 1`, `./.har/verify.sh 1 --full`, `./.har/teardown.sh 1`
|
|
82
55
|
|
|
83
|
-
|
|
56
|
+
Commit in the session worktree. Run JSON stays in the main checkout `.har/runs/`.
|
|
57
|
+
UI changes with Playwright: update specs under `tests/` (full verify includes browser-e2e).
|
|
84
58
|
|
|
85
59
|
## Definition of done
|
|
86
60
|
|
|
87
|
-
- Full
|
|
88
|
-
|
|
89
|
-
- New behavior has automated test coverage
|
|
90
|
-
- Changes committed in the session worktree
|
|
91
|
-
- Show the user the slot preview URLs so they can test the app themselves
|
|
92
|
-
- Do not declare work complete without running full verify
|
|
93
|
-
- **Present session handoff and wait for the user's next instruction** — do not end the session without the handoff prompt
|
|
61
|
+
- Full verify passes; edits only in the session worktree; tests cover new behavior;
|
|
62
|
+
changes committed; show preview URLs; then **session handoff** (below).
|
|
94
63
|
|
|
95
64
|
## Session handoff (required)
|
|
96
65
|
|
|
97
|
-
After full verify
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
3. **Preview URLs** when the slot has a running app
|
|
105
|
-
4. **Numbered next-step options** — then wait for the user
|
|
106
|
-
|
|
107
|
-
Options to offer:
|
|
108
|
-
|
|
109
|
-
1. **Complete the slot** (recommended) — `har env complete <id>` / MCP
|
|
110
|
-
`har_complete_environment`: full verify + validation record + worktree/runtime
|
|
111
|
-
teardown; **branch kept**. Prefer this over bare `teardown` when the work
|
|
112
|
-
succeeded.
|
|
113
|
-
2. **Open a PR** — only if `gh` CLI or GitHub MCP is available. Create the PR
|
|
114
|
-
**only after explicit user approval**.
|
|
115
|
-
3. **Keep the branch only** — if PR tooling is unavailable, report the session
|
|
116
|
-
branch and how to push manually. The branch already exists from launch.
|
|
117
|
-
|
|
118
|
-
Canonical handoff shape:
|
|
119
|
-
|
|
120
|
-
```markdown
|
|
121
|
-
## Session handoff
|
|
122
|
-
|
|
123
|
-
**Summary:** …
|
|
124
|
-
**Branch:** `<session-branch>` (session worktree)
|
|
125
|
-
**Preview:** … (if applicable)
|
|
126
|
-
|
|
127
|
-
Next steps — tell me which you want:
|
|
128
|
-
1. **Complete the slot** — I'll run `har env complete <id>` (full verify + validation record + teardown; branch kept)
|
|
129
|
-
2. **Open a PR** — I can create one with `gh`/GitHub MCP (requires your approval)
|
|
130
|
-
3. **Something else** — e.g. keep the slot running, more changes, or push only
|
|
131
|
-
|
|
132
|
-
I'll wait for your instruction before running complete, teardown, push, or PR.
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
Omit option 2 when neither `gh` nor GitHub MCP is available; replace it with push
|
|
136
|
-
instructions for the session branch.
|
|
66
|
+
After full verify and commit, stop. Include summary, session branch
|
|
67
|
+
(`.har/slots/agent-<id>.json`), and preview URLs. Wait — never autonomously
|
|
68
|
+
complete, teardown, push, or open a PR. **Default (1 is the default):** when
|
|
69
|
+
`gh`/GitHub MCP is available, recommend **Complete + open a PR** — push → open
|
|
70
|
+
PR → `har env complete` / `har_complete_environment` (branch kept). Still needs
|
|
71
|
+
approval. Alternatives: **Complete only**, or **Something else**. Without PR
|
|
72
|
+
tooling, recommend **Complete only** and give the session branch for a manual push.
|
|
137
73
|
|
|
138
74
|
## Commit gate
|
|
139
75
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
- Any edit after verify — even one character — requires re-running `har env verify <id> --full`
|
|
145
|
-
- Stage everything you verified (`git add -A`); partially staged trees were never verified and will be rejected
|
|
146
|
-
- Do not bypass the gate (`--no-verify`, `HAR_SKIP_GATE=1`) — bypasses are recorded and visible in Mission Control
|
|
76
|
+
Full verify records a tree hash under `.har/validations/`. With `har hooks install`,
|
|
77
|
+
commits must match a passing full verify. Re-verify after any edit; `git add -A`.
|
|
78
|
+
Do not bypass (`--no-verify`, `HAR_SKIP_GATE=1`).
|
|
@@ -44,16 +44,17 @@ is alive; it does not automatically mean an agent can use the app.
|
|
|
44
44
|
- [ ] Changes committed **in the session worktree** with a clear message
|
|
45
45
|
- [ ] The user got the preview URLs to test the app themselves
|
|
46
46
|
- [ ] Present session handoff (summary, branch, preview URLs) and **wait for user** before `complete`, push, or PR
|
|
47
|
-
- [ ] On user approval: `har env complete ${AGENT_ID}` (or MCP `har_complete_environment`) — full verify + validation + teardown, branch kept
|
|
47
|
+
- [ ] On user approval of the default: push + open PR (when `gh`/GitHub MCP available), then `har env complete ${AGENT_ID}` (or MCP `har_complete_environment`) — full verify + validation + teardown, branch kept
|
|
48
48
|
|
|
49
49
|
### Session handoff
|
|
50
50
|
|
|
51
51
|
After full verify and commit, stop and propose next steps. Never autonomously run
|
|
52
|
-
`complete`, `teardown`, `git push`, or open a PR.
|
|
53
|
-
`
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
`complete`, `teardown`, `git push`, or open a PR. **Default recommendation:** when
|
|
53
|
+
`gh` or GitHub MCP is available, complete the slot **and** open a PR (push → PR →
|
|
54
|
+
`har env complete` / `har_complete_environment`). Offer complete-only or something
|
|
55
|
+
else as alternatives. If PR tooling is unavailable, recommend complete and report
|
|
56
|
+
the session branch for a manual push. Prefer `complete` over bare `teardown` when
|
|
57
|
+
the work succeeded. See `.cursor/rules/har-workflow.mdc` for the handoff shape.
|
|
57
58
|
|
|
58
59
|
Quick loop during development: MCP `har_run_verification`, `har env verify ${AGENT_ID}`, or `./.har/verify.sh ${AGENT_ID}` (smoke + health only; `--full` adds the registered verification stages).
|
|
59
60
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This directory is the **agent harness** for this repository. It lets AI coding agents (Cursor, Claude Code, etc.) run the project in isolated environments with their own ports, database, and verification workflow.
|
|
4
4
|
|
|
5
|
-
Generated and maintained by [`har`](https://github.com/
|
|
5
|
+
Generated and maintained by [`har`](https://github.com/os-factory/har). Run `har env maintain` when the repo stack changes.
|
|
6
6
|
|
|
7
7
|
**The harness is how you run this project.** Need the app live — manual testing, a browser session, screenshots? `launch` a slot; don't hand-roll docker/dev-server startup. If a harness command fails, fix the harness or report it — don't silently fall back to ad-hoc commands.
|
|
8
8
|
|
|
@@ -30,16 +30,17 @@ workflow, document the required credentials/default data and wire a smoke into
|
|
|
30
30
|
- [ ] New behavior has automated test coverage
|
|
31
31
|
- [ ] Changes committed **in the session worktree** with a clear message
|
|
32
32
|
- [ ] Present session handoff (summary, branch, preview URLs) and **wait for user** before `complete`, push, or PR
|
|
33
|
-
- [ ] On user approval: `har env complete ${AGENT_ID}` (or MCP `har_complete_environment`) — full verify + validation + teardown, branch kept
|
|
33
|
+
- [ ] On user approval of the default: push + open PR (when `gh`/GitHub MCP available), then `har env complete ${AGENT_ID}` (or MCP `har_complete_environment`) — full verify + validation + teardown, branch kept
|
|
34
34
|
|
|
35
35
|
### Session handoff
|
|
36
36
|
|
|
37
37
|
After full verify and commit, stop and propose next steps. Never autonomously run
|
|
38
|
-
`complete`, `teardown`, `git push`, or open a PR.
|
|
39
|
-
`
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
`complete`, `teardown`, `git push`, or open a PR. **Default recommendation:** when
|
|
39
|
+
`gh` or GitHub MCP is available, complete the slot **and** open a PR (push → PR →
|
|
40
|
+
`har env complete` / `har_complete_environment`). Offer complete-only or something
|
|
41
|
+
else as alternatives. If PR tooling is unavailable, recommend complete and report
|
|
42
|
+
the session branch for a manual push. Prefer `complete` over bare `teardown` when
|
|
43
|
+
the work succeeded. See `.cursor/rules/har-workflow.mdc` for the handoff shape.
|
|
43
44
|
|
|
44
45
|
Quick loop: MCP `har_run_verification`, `har env verify ${AGENT_ID}`, or `./.har/verify.sh ${AGENT_ID}`
|
|
45
46
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This directory is the **agent harness** for this repository. It lets AI coding agents run the project in isolated git worktrees with optional Docker-backed shared infra.
|
|
4
4
|
|
|
5
|
-
Generated and maintained by [`har`](https://github.com/
|
|
5
|
+
Generated and maintained by [`har`](https://github.com/os-factory/har). Run `har env maintain` when the repo stack changes.
|
|
6
6
|
|
|
7
7
|
**The harness is how you run this project.** Launch a slot to exercise the code in isolation; don't hand-roll setup. If a harness command fails, fix the harness or report it — don't silently fall back to ad-hoc commands.
|
|
8
8
|
|
|
@@ -32,16 +32,17 @@ seeded data, or a simulator flow, document it here and wire the smoke into
|
|
|
32
32
|
- [ ] New behavior has automated test coverage (unit tests via XCTest)
|
|
33
33
|
- [ ] Changes committed **in the session worktree** with a clear message
|
|
34
34
|
- [ ] Present session handoff (summary, branch, preview URLs) and **wait for user** before `complete`, push, or PR
|
|
35
|
-
- [ ] On user approval: `har env complete ${AGENT_ID}` (or MCP `har_complete_environment`) — full verify + validation + teardown, branch kept
|
|
35
|
+
- [ ] On user approval of the default: push + open PR (when `gh`/GitHub MCP available), then `har env complete ${AGENT_ID}` (or MCP `har_complete_environment`) — full verify + validation + teardown, branch kept
|
|
36
36
|
|
|
37
37
|
### Session handoff
|
|
38
38
|
|
|
39
39
|
After full verify and commit, stop and propose next steps. Never autonomously run
|
|
40
|
-
`complete`, `teardown`, `git push`, or open a PR.
|
|
41
|
-
`
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
`complete`, `teardown`, `git push`, or open a PR. **Default recommendation:** when
|
|
41
|
+
`gh` or GitHub MCP is available, complete the slot **and** open a PR (push → PR →
|
|
42
|
+
`har env complete` / `har_complete_environment`). Offer complete-only or something
|
|
43
|
+
else as alternatives. If PR tooling is unavailable, recommend complete and report
|
|
44
|
+
the session branch for a manual push. Prefer `complete` over bare `teardown` when
|
|
45
|
+
the work succeeded. See `.cursor/rules/har-workflow.mdc` for the handoff shape.
|
|
45
46
|
|
|
46
47
|
Quick loop: MCP `har_run_verification`, `har env verify ${AGENT_ID}`, or `./.har/verify.sh ${AGENT_ID}`
|
|
47
48
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This directory is the **agent harness** for this iOS mobile app repository. It lets AI coding agents build, test, and validate the app in isolated git worktrees against a running iOS Simulator.
|
|
4
4
|
|
|
5
|
-
Generated and maintained by [`har`](https://github.com/
|
|
5
|
+
Generated and maintained by [`har`](https://github.com/os-factory/har). Run `har env maintain` when the repo stack changes.
|
|
6
6
|
|
|
7
7
|
**The harness is how you run this project.** Launch a slot to exercise the code in isolation; don't hand-roll Xcode/simulator setup. If a harness command fails, fix the harness or report it — don't silently fall back to ad-hoc commands.
|
|
8
8
|
|