harborloop 0.5.6 → 0.5.8

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 CHANGED
@@ -37,7 +37,7 @@ Create a workspace agent key in Harbor's settings, then give the environment
37
37
  this setup script:
38
38
 
39
39
  ```
40
- HARBOR_AGENT_KEY=<your key> npx -y harborloop@0.5.3 init --headless
40
+ HARBOR_AGENT_KEY=<your key> npx -y harborloop@0.5.8 init --headless
41
41
  ```
42
42
 
43
43
  The key goes on the line itself. Claude Code on the web does not pass the
@@ -53,7 +53,7 @@ If the setup script runs inside a repo that has its own package named
53
53
  `harborloop`, `npx` picks that one up instead. Install it globally there:
54
54
 
55
55
  ```
56
- npm i -g harborloop@0.5.3 && HARBOR_AGENT_KEY=<your key> harbor init --headless
56
+ npm i -g harborloop@0.5.8 && HARBOR_AGENT_KEY=<your key> harbor init --headless
57
57
  ```
58
58
 
59
59
  `init --headless` wires Claude Code with the key: the MCP entry, the hooks, the
@@ -67,8 +67,38 @@ schedules the daemon. It prints one line and exits 0 whatever happens, so a
67
67
  Harbor problem cannot stop the session. With no `HARBOR_AGENT_KEY` it prints
68
68
  `Harbor: no HARBOR_AGENT_KEY, skipping` and changes nothing.
69
69
 
70
- Only the Claude Code hooks and MCP entry are wired in this release. Codex and
71
- Cursor in the cloud are not supported yet.
70
+ **Blocked commands reach Harbor.** When a guardrail blocks a command in the
71
+ container, the Stop hook at the end of that turn sends the record to Harbor
72
+ with the key: the rule, the program name, the session, never a path or an
73
+ argument. If Harbor cannot be reached, the record waits for the next turn.
74
+
75
+ **A repo that commits its own hooks.** If the repo's `.claude/settings.json`
76
+ already runs Harbor's hooks, add `--no-hooks`. It sets up everything else and
77
+ leaves the hooks unregistered, so each one runs once instead of twice.
78
+
79
+ ### Codex cloud
80
+
81
+ In the Codex environment's settings, add the key as a secret named
82
+ `HARBOR_AGENT_KEY` (secrets reach the setup script, and only the setup script),
83
+ then use this setup script:
84
+
85
+ ```
86
+ npx -y harborloop@0.5.8 init --headless --codex --origin https://github.com/<owner>/<repo>
87
+ ```
88
+
89
+ - **Agent internet access** must be On, with `app.gethrbr.com` and
90
+ `mcp.gethrbr.com` allowed. With it Off only the guardrails synced at setup
91
+ still block; nothing reaches Harbor.
92
+ - `--codex` writes Harbor's hooks and MCP entry into the Codex the agent runs
93
+ (`/opt/codex` in Codex cloud), and has that Codex trust the hooks: Codex runs
94
+ no hook it has not trusted. The line reports how many it trusted.
95
+ - The key goes into the MCP entry's header on disk, because Codex starts hooks
96
+ and MCP servers without the environment's variables.
97
+ - `--origin` names the repo. Codex clones it with no `origin` remote, and
98
+ Harbor stays off in a repo it cannot name. An origin the clone already has
99
+ is never replaced.
100
+
101
+ Cursor cloud agents are not supported yet.
72
102
 
73
103
  ## Why a CLI at all
74
104
 
@@ -1,12 +1,12 @@
1
1
  {
2
- "version": "0.5.6",
2
+ "version": "0.5.8",
3
3
  "algorithm": "sha256",
4
4
  "binaries": {
5
- "@gethrbr/harborloop-darwin-arm64": "a47ad41c2e9ba851d6106bee6ab6a60d80d8ca27e945812d10f40807038407cb",
6
- "@gethrbr/harborloop-darwin-x64": "cd02e0371926087becb32aa91f4c37a14575a4ed18cdcf66aaf15df867343c4d",
7
- "@gethrbr/harborloop-linux-x64": "7882274da339a962d18cac6fc42b7d3b06264ab2f9ad627891bb3265364d3608",
8
- "@gethrbr/harborloop-linux-arm64": "39e28c57754ab9d1db204577c818f1873e61aac5e0661f89f028a4b6c662e4ac",
9
- "@gethrbr/harborloop-linux-x64-musl": "f07da7a31923ebc2180b5d533642ecf1177c010bec92084475a01574ccc1e093",
10
- "@gethrbr/harborloop-win32-x64": "e221f9cda8cdf9b98459ed769dc747b11e8c70242547c511d19c136a279c6ff9"
5
+ "@gethrbr/harborloop-darwin-arm64": "120ba8d4ec46d1e6bc5362f20847d5e75287a4dbbac25870e13910b90156d38a",
6
+ "@gethrbr/harborloop-darwin-x64": "34f2b820bd8201755eb79078646d34f7462dd6ae39d8c9154f965d32641eae7c",
7
+ "@gethrbr/harborloop-linux-x64": "3028e67c218e35ff0f1c700704d9b387d42f8936187e577df3a46253cf6bcce7",
8
+ "@gethrbr/harborloop-linux-arm64": "30a8064b66854b14bcf631a87c77faa17da520624ebfa6f60d30a152eeb8440c",
9
+ "@gethrbr/harborloop-linux-x64-musl": "87dd70e625dad0706115c5ba9738d5d87f1ca5b0d49a954377017a3a65565a1a",
10
+ "@gethrbr/harborloop-win32-x64": "75d4ddef036a6e44bea4840539e374465586e8ecfe7834f48367d5035092962d"
11
11
  }
12
12
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "harborloop",
3
- "version": "0.5.6",
3
+ "version": "0.5.8",
4
4
  "description": "Install and health-check the harbor knowledge loop in your terminal. Recall in Claude Code, Codex and Cursor; a doctor that can say no.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -26,12 +26,12 @@
26
26
  "agents.md"
27
27
  ],
28
28
  "optionalDependencies": {
29
- "@gethrbr/harborloop-darwin-arm64": "0.5.6",
30
- "@gethrbr/harborloop-darwin-x64": "0.5.6",
31
- "@gethrbr/harborloop-linux-x64": "0.5.6",
32
- "@gethrbr/harborloop-linux-arm64": "0.5.6",
33
- "@gethrbr/harborloop-linux-x64-musl": "0.5.6",
34
- "@gethrbr/harborloop-win32-x64": "0.5.6"
29
+ "@gethrbr/harborloop-darwin-arm64": "0.5.8",
30
+ "@gethrbr/harborloop-darwin-x64": "0.5.8",
31
+ "@gethrbr/harborloop-linux-x64": "0.5.8",
32
+ "@gethrbr/harborloop-linux-arm64": "0.5.8",
33
+ "@gethrbr/harborloop-linux-x64-musl": "0.5.8",
34
+ "@gethrbr/harborloop-win32-x64": "0.5.8"
35
35
  },
36
36
  "publishConfig": {
37
37
  "//": "A scoped package defaults to RESTRICTED, and `npm publish` on a scope with no paid plan fails outright rather than publishing privately. This is the whole difference between a wedge anybody can `npx` and a 402.",