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 CHANGED
@@ -1,8 +1,8 @@
1
1
  # `harborloop`
2
2
 
3
- Your team's knowledge, in your terminal. Recall in Claude Code, Codex and
4
- Cursor; capture on the way back out; and a `doctor` that can tell you it is not
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` and `--codex` / `--no-codex` 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. |
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
@@ -1,12 +1,12 @@
1
1
  {
2
- "version": "0.6.6",
2
+ "version": "0.6.8",
3
3
  "algorithm": "sha256",
4
4
  "binaries": {
5
- "@gethrbr/harborloop-darwin-arm64": "2a6a397313690927a31aa52dce7d912e06d38a8da8f309bfa30be4bebb751a2b",
6
- "@gethrbr/harborloop-darwin-x64": "52d1e8e629622365ce8ad6f00015601e326e0308e61133ba29c5b1ac7f5102f9",
7
- "@gethrbr/harborloop-linux-x64": "61fdc3c5ec191fd8767775a29cb4915354454caff1d280c6053b6ab411727589",
8
- "@gethrbr/harborloop-linux-arm64": "5944f1843d52c598a8425af777943f2fa5e524aae510dc78b0890291cacaa3f9",
9
- "@gethrbr/harborloop-linux-x64-musl": "bad5790b56e61cea7d26fe2495ef0c676ce2e5164af2d0b40de68e4b74a1cff8",
10
- "@gethrbr/harborloop-win32-x64": "5c96f83454873b6f232eafad18d9709910e8da2fd30b9655fd18a2387ddec12d"
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.6",
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.",
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.6",
30
- "@gethrbr/harborloop-darwin-x64": "0.6.6",
31
- "@gethrbr/harborloop-linux-x64": "0.6.6",
32
- "@gethrbr/harborloop-linux-arm64": "0.6.6",
33
- "@gethrbr/harborloop-linux-x64-musl": "0.6.6",
34
- "@gethrbr/harborloop-win32-x64": "0.6.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.",