harborloop 0.6.6 → 0.6.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 +27 -7
- package/bin/checksums.json +7 -7
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# `harborloop`
|
|
2
2
|
|
|
3
|
-
Your team's knowledge, in your terminal. Recall in Claude Code, Codex
|
|
4
|
-
|
|
5
|
-
working.
|
|
3
|
+
Your team's knowledge, in your terminal. Recall in Claude Code, Codex, Cursor
|
|
4
|
+
and GitHub Copilot (the CLI and VS Code's agent mode); capture on the way back
|
|
5
|
+
out; and a `doctor` that can tell you it is not working.
|
|
6
6
|
|
|
7
7
|
```
|
|
8
8
|
npx harborloop init
|
|
@@ -24,13 +24,13 @@ Then `/harbor:login` in Claude Code, or `$harbor:login` in Codex. See
|
|
|
24
24
|
|
|
25
25
|
| | |
|
|
26
26
|
|---|---|
|
|
27
|
-
| `harbor init` | Sign in, install the hooks, turn Harbor on in this repo (in its Space; `--no-bind` leaves it off). Idempotent. Wires every agent it finds; `--cursor` / `--no-cursor`
|
|
27
|
+
| `harbor init` | Sign in, install the hooks, turn Harbor on in this repo (in its Space; `--no-bind` leaves it off). Idempotent. Wires every agent it finds; `--cursor` / `--no-cursor`, `--codex` / `--no-codex` and `--copilot` / `--no-copilot` override detection. Asks before sending the repo's committed `CLAUDE.md` / `AGENTS.md` to your team's review queue, once per file; `--import-rules` sends without asking, `--no-import-rules` never sends, and `harbor update` never sends. `--headless` is for a cloud agent's setup script, see below. |
|
|
28
28
|
| `harbor doctor` | Is it actually working? `--offline`, `--json`, `--days N` |
|
|
29
29
|
| `harbor status` | This repo, from local files only. No network. |
|
|
30
30
|
| `harbor bind [Space]` | Turn Harbor on in this repo, in a Space: the only one, or it asks. On a bound repo, `harbor bind --project <Space>` moves it (an owner, admin or curator can). Harbor stays off in every repo you do not bind. |
|
|
31
31
|
| `harbor workspaces` | Which workspaces you can reach, and the one this machine uses. `--json` |
|
|
32
32
|
| `harbor daily` | What the hooks run once a day in the background: renew the sign-in, send each connected repo's facts, report this machine's harborloop version, check for a newer release. |
|
|
33
|
-
| `harbor off` | Pause this repo. `--capture` keeps recall. `--global` for the machine. |
|
|
33
|
+
| `harbor off` | Pause this repo. In a folder that isn't a repo, pause every such folder on this machine. `--capture` keeps recall. `--global` for the machine. |
|
|
34
34
|
| `harbor on` | Resume. `--global` clears a machine-wide pause. |
|
|
35
35
|
| `harbor login` | Re-authenticate. `--no-browser` to paste a code instead. `--workspace <id>` switches workspace **without** the browser. |
|
|
36
36
|
| `harbor logout` | Sign this machine out: removes `~/.harbor/auth.json` and the MCP entry (and its bearer) from each agent's config. The hooks stay installed and do nothing until you sign in again. |
|
|
@@ -47,6 +47,16 @@ on this machine before they leave. A repo you opened to try something out gets
|
|
|
47
47
|
none of your team's rules and adds nothing to them. `harbor off --capture` keeps
|
|
48
48
|
the tools working.
|
|
49
49
|
|
|
50
|
+
**Folders that aren't a git repo with a remote** (a scratch folder, a notebook, a
|
|
51
|
+
training run) are off too, unless an admin picks a Space for them in Harbor:
|
|
52
|
+
Settings → Spaces → Work outside a repo. Then your agent gets that Space's rules
|
|
53
|
+
in those folders and what it learns there is saved to that Space. Harbor never
|
|
54
|
+
sends the folder's path. An agent started directly in your home folder stays off;
|
|
55
|
+
the folders inside it count. Run `harbor off` in such a folder to turn this off on your
|
|
56
|
+
machine, and `harbor on` to turn it back on. An admin's change reaches your
|
|
57
|
+
machine within about ten minutes. A repo with a remote that nobody bound stays
|
|
58
|
+
off either way: run `harbor bind` in it.
|
|
59
|
+
|
|
50
60
|
## In a cloud agent
|
|
51
61
|
|
|
52
62
|
Claude Code on the web and other containers have no browser to sign in with.
|
|
@@ -120,7 +130,7 @@ npx -y harborloop@latest init --headless --codex --origin https://github.com/<ow
|
|
|
120
130
|
Harbor stays off in a repo it cannot name. An origin the clone already has
|
|
121
131
|
is never replaced.
|
|
122
132
|
|
|
123
|
-
Cursor cloud agents are not supported yet.
|
|
133
|
+
Cursor and Copilot cloud agents are not supported yet.
|
|
124
134
|
|
|
125
135
|
## Why a CLI at all
|
|
126
136
|
|
|
@@ -262,7 +272,7 @@ removed from it. Every request and mint against it will fail until you switch.
|
|
|
262
272
|
|
|
263
273
|
```
|
|
264
274
|
~/.harbor/auth.json your credential (0600)
|
|
265
|
-
~/.harbor/synced-origins.json which repos are yours, and what is paused
|
|
275
|
+
~/.harbor/synced-origins.json which repos are yours, the Space for work outside a repo, and what is paused
|
|
266
276
|
~/.harbor/bin/*.mjs the hook scripts
|
|
267
277
|
~/.harbor/cli-sessions/ per-session bookkeeping
|
|
268
278
|
~/.harbor/daily-at when the hooks last started `harbor daily`
|
|
@@ -280,6 +290,8 @@ one never re-mints another:
|
|
|
280
290
|
~/.codex/hooks.json six hook events (Codex has no SessionEnd)
|
|
281
291
|
~/.cursor/mcp.json `mcpServers.harbor`, Cursor's `{url, headers}` shape
|
|
282
292
|
~/.cursor/hooks.json seven events, in Cursor's own event and tool names
|
|
293
|
+
~/.copilot/mcp-config.json `mcpServers.harbor`, in the shape `copilot mcp add` writes
|
|
294
|
+
~/.copilot/hooks/harbor.json seven events, in a file of Harbor's own (`$COPILOT_HOME` if set)
|
|
283
295
|
```
|
|
284
296
|
|
|
285
297
|
Nothing else. Until 0.6.0 a background job wrote the team's skills, documents and
|
|
@@ -294,6 +306,14 @@ no field to inject context into, so a Cursor session gets the bundle when it
|
|
|
294
306
|
opens and on every edit, and no per-turn delta. `doctor` says so on its healthy
|
|
295
307
|
line rather than implying parity.
|
|
296
308
|
|
|
309
|
+
⚠️ **Copilot shows no ⚓ line.** Its hooks have no channel to the person, so
|
|
310
|
+
the rules reach the agent on every prompt and after each file it touches, and
|
|
311
|
+
nothing tells you so in the terminal. A rule set to ask first refuses with a code
|
|
312
|
+
instead, as on Codex and Cursor. VS Code's agent mode runs the same hook file
|
|
313
|
+
(unless `"chat.useHooks": false`, which `doctor` warns about), but it starts the
|
|
314
|
+
harbor MCP server only when you do: once, from **MCP: List Servers**, **harbor**,
|
|
315
|
+
**Start Server**.
|
|
316
|
+
|
|
297
317
|
Every one of these files is yours, not ours: each write is a merge that leaves
|
|
298
318
|
your other MCP servers, your other hooks, and every key we do not recognise
|
|
299
319
|
exactly as it found them, under a cross-process lock so the desktop app and this
|
package/bin/checksums.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.6.
|
|
2
|
+
"version": "0.6.8",
|
|
3
3
|
"algorithm": "sha256",
|
|
4
4
|
"binaries": {
|
|
5
|
-
"@gethrbr/harborloop-darwin-arm64": "
|
|
6
|
-
"@gethrbr/harborloop-darwin-x64": "
|
|
7
|
-
"@gethrbr/harborloop-linux-x64": "
|
|
8
|
-
"@gethrbr/harborloop-linux-arm64": "
|
|
9
|
-
"@gethrbr/harborloop-linux-x64-musl": "
|
|
10
|
-
"@gethrbr/harborloop-win32-x64": "
|
|
5
|
+
"@gethrbr/harborloop-darwin-arm64": "26346415fd6d16230c9ab22ea42dbb177fd4be47d73fae0b4371d69afc6ec82d",
|
|
6
|
+
"@gethrbr/harborloop-darwin-x64": "c36c86d39049453d0202d316bce33f36a68085b18d8b9ed71bae018c190826a2",
|
|
7
|
+
"@gethrbr/harborloop-linux-x64": "5f634e838b027cf481e759ee9a472ac733cdff376228f88b4cfe20e97fd1c280",
|
|
8
|
+
"@gethrbr/harborloop-linux-arm64": "3032e7c9a33b7471d1808ea2fb9db779b072ad20aea9e5ceedb13507f87ba1a3",
|
|
9
|
+
"@gethrbr/harborloop-linux-x64-musl": "19e44ffdda35305299923ed0a457637e8d20c555d42630cec45a59ae6c9be3f2",
|
|
10
|
+
"@gethrbr/harborloop-win32-x64": "45e2b7fe8896640b3bf7363d3ccf864593e366f8a02504513c86fd5601b98d36"
|
|
11
11
|
}
|
|
12
12
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "harborloop",
|
|
3
|
-
"version": "0.6.
|
|
4
|
-
"description": "Install and health-check the harbor knowledge loop in your terminal. Recall in Claude Code, Codex and
|
|
3
|
+
"version": "0.6.8",
|
|
4
|
+
"description": "Install and health-check the harbor knowledge loop in your terminal. Recall in Claude Code, Codex, Cursor and GitHub Copilot CLI; a doctor that can say no.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://gethrbr.com",
|
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
"agents.md"
|
|
27
27
|
],
|
|
28
28
|
"optionalDependencies": {
|
|
29
|
-
"@gethrbr/harborloop-darwin-arm64": "0.6.
|
|
30
|
-
"@gethrbr/harborloop-darwin-x64": "0.6.
|
|
31
|
-
"@gethrbr/harborloop-linux-x64": "0.6.
|
|
32
|
-
"@gethrbr/harborloop-linux-arm64": "0.6.
|
|
33
|
-
"@gethrbr/harborloop-linux-x64-musl": "0.6.
|
|
34
|
-
"@gethrbr/harborloop-win32-x64": "0.6.
|
|
29
|
+
"@gethrbr/harborloop-darwin-arm64": "0.6.8",
|
|
30
|
+
"@gethrbr/harborloop-darwin-x64": "0.6.8",
|
|
31
|
+
"@gethrbr/harborloop-linux-x64": "0.6.8",
|
|
32
|
+
"@gethrbr/harborloop-linux-arm64": "0.6.8",
|
|
33
|
+
"@gethrbr/harborloop-linux-x64-musl": "0.6.8",
|
|
34
|
+
"@gethrbr/harborloop-win32-x64": "0.6.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.",
|