@fingerskier/augment 0.3.0 → 0.3.1

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/docs/FEATURES.md CHANGED
@@ -146,6 +146,49 @@ Run without a clone via `npx -y @fingerskier/augment <command>`:
146
146
  hook over stdin JSON. Host-wired by `install`; rarely called directly.
147
147
  - `help` — full usage.
148
148
 
149
+ ## Pi Package
150
+
151
+ The npm package is also a first-class Pi package (`keywords: ["pi-package"]` and
152
+ a `pi` manifest in `package.json`). `pi install npm:@fingerskier/augment` loads:
153
+
154
+ - `dist/pi/extension.js` — a Pi extension that registers namespaced
155
+ `augment_*` tools and slash commands.
156
+ - `integrations/pi/skills/augment-context/SKILL.md` — Pi-specific workflow
157
+ guidance using the `augment_*` tool names.
158
+
159
+ The Pi extension does not replace built-ins such as `read`; MCP `read` is exposed
160
+ as `augment_read_memory`. It lazily connects to the shared daemon from tools and
161
+ session events (no background resources start in the extension factory), warms
162
+ `init_project` on `session_start`, injects recalled task context on
163
+ `before_agent_start`, and reminds or follows up after non-trivial turns to
164
+ persist durable work.
165
+
166
+ Pi tools:
167
+
168
+ - `augment_init_project`, `augment_list_projects`
169
+ - `augment_search`, `augment_project_context`, `augment_read_memory`
170
+ - `augment_upsert`, `augment_link`, `augment_list_links`, `augment_unlink`
171
+ - `augment_tally`, `augment_sleep_candidates`
172
+ - `augment_memory_insights`, `augment_memory_graph`
173
+
174
+ Pi commands:
175
+
176
+ - `/augment-context [query]`
177
+ - `/augment-persist [summary]`
178
+ - `/augment-dashboard [--no-open]`
179
+ - `/augment-tally [verdict] [--surface S] [--note ...]`
180
+ - `/augment-sleep`
181
+
182
+ Pi-specific environment variables:
183
+
184
+ - `AUGMENT_PI_AUTO_CONTEXT=inject|reminder|off` (default `inject`).
185
+ - `AUGMENT_PI_AUTO_PERSIST=reminder|followup|off` (default `reminder`).
186
+ - `AUGMENT_PI_CONTEXT_LIMIT` (default `5`).
187
+ - `AUGMENT_PI_CONTEXT_MAX_CHARS` (default `12000`).
188
+
189
+ The existing Claude and Codex installers, MCP server, daemon, CLI, and hook flow
190
+ remain unchanged.
191
+
149
192
  ## Lifecycle Hooks
150
193
 
151
194
  Both installed integrations wire the same `hooks/hooks.json` (Claude Code and
@@ -487,7 +530,8 @@ Both installers also provision the shared hook runtime once via
487
530
  run through a direct `node <entry>` invocation (tens of milliseconds) instead of
488
531
  an npm bootstrap on every event. If npm is unavailable at install time the
489
532
  installer prints the manual command; hooks fail open (silent no-ops) until it is
490
- run.
533
+ run. This installer path is independent of the [Pi Package](#pi-package) manifest
534
+ and remains the supported setup for Claude Code and Codex.
491
535
 
492
536
  ## Deferred
493
537
 
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: augment-context
3
+ description: Use Augment local memories from Pi to gather and persist project context during coding sessions.
4
+ ---
5
+
6
+ # Augment Context for Pi
7
+
8
+ Use this skill when working in a repository with the `@fingerskier/augment` Pi package installed.
9
+
10
+ ## Session Start
11
+
12
+ 1. Use injected Augment memory if it is already present.
13
+ 2. If no injected memory appears, call `augment_project_context` with the user's task summary.
14
+ 3. Read exact memories with `augment_read_memory` when search results identify likely governing context.
15
+
16
+ ## Before Code Changes
17
+
18
+ 1. Call `augment_search` for the file, component, command, error, or behavior being touched.
19
+ 2. If work depends on a prior decision, read and follow the relevant `SPEC` or `ARCH` memory.
20
+ 3. If no relevant memory exists but the task creates a durable requirement or decision, create one before implementation.
21
+
22
+ ## Memory Triggers
23
+
24
+ Call `augment_upsert` whenever one of these durable events happens:
25
+
26
+ - A requirement, API contract, data model, or tool contract is clarified: use `SPEC`.
27
+ - An implementation approach, tradeoff, transport choice, persistence model, or architecture decision is made: use `ARCH`.
28
+ - A bug, risk, failing behavior, or blocker is discovered: use `ISSUE`.
29
+ - Follow-up work is intentionally deferred: use `TODO`.
30
+ - A meaningful implementation milestone is completed: use `WORK`.
31
+ - A test scenario, regression case, or verification rule is learned: use `SPEC` or `WORK`, whichever is more durable.
32
+
33
+ Call `augment_init_project` first when you need the `project_id` for `augment_upsert`.
34
+
35
+ ## Links
36
+
37
+ After creating or updating a memory:
38
+
39
+ 1. Use `augment_link` when a memory implements, depends on, blocks, parents, or relates to another memory.
40
+ 2. Prefer linking new `WORK` notes to the `SPEC`, `ARCH`, `ISSUE`, or `TODO` they address.
41
+ 3. Prefer relative memory paths for durable cross-machine identity; numeric ids are local handles.
42
+
43
+ ## Session Finish
44
+
45
+ For almost every session that did real work (skip only pure Q&A, read-only inspection, or trivial mechanical ops like commit-only turns):
46
+
47
+ 1. Upsert a concise `WORK` memory with what changed, key files, and verification.
48
+ 2. Upsert or update `TODO` memories for known remaining work.
49
+ 3. Link the final `WORK` memory to the relevant planning/decision memories.
50
+
51
+ ## Guardrails
52
+
53
+ - Do not store secrets, credentials, tokens, or private keys.
54
+ - Do not store huge logs, dependency dumps, generated files, or full source files.
55
+ - Keep each memory focused; split large notes before calling `augment_upsert`.
56
+ - Treat numeric memory IDs as local handles. Relative paths are the durable identity.
57
+ - Use returned search text directly as context; do not ask Augment to summarize.
58
+ - Default to upserting when a turn did real work. When unsure, upsert.
59
+ - Do not create memories for facts already obvious from the current diff, or that duplicate an existing memory; update the existing memory instead.
package/package.json CHANGED
@@ -1,9 +1,20 @@
1
1
  {
2
2
  "name": "@fingerskier/augment",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Local RAG memory system for coding agents",
5
- "type": "module",
6
- "publishConfig": {
5
+ "keywords": [
6
+ "pi-package",
7
+ "pi",
8
+ "opencode",
9
+ "memory",
10
+ "rag",
11
+ "mcp",
12
+ "coding-agent"
13
+ ],
14
+ "type": "module",
15
+ "main": "./dist/opencode/plugin.js",
16
+ "types": "./dist/opencode/plugin.d.ts",
17
+ "publishConfig": {
7
18
  "access": "public"
8
19
  },
9
20
  "bin": {
@@ -11,6 +22,14 @@
11
22
  "augment-daemon": "./dist/bin/augment-daemon.js",
12
23
  "augment-mcp": "./dist/bin/augment-mcp.js"
13
24
  },
25
+ "pi": {
26
+ "extensions": [
27
+ "./dist/pi/extension.js"
28
+ ],
29
+ "skills": [
30
+ "./integrations/pi/skills"
31
+ ]
32
+ },
14
33
  "files": [
15
34
  "dist",
16
35
  "docs",
@@ -26,6 +45,22 @@
26
45
  "prepack": "npm run check",
27
46
  "prepublishOnly": "npm run check"
28
47
  },
48
+ "peerDependencies": {
49
+ "@earendil-works/pi-ai": "*",
50
+ "@earendil-works/pi-coding-agent": "*",
51
+ "typebox": "*"
52
+ },
53
+ "peerDependenciesMeta": {
54
+ "@earendil-works/pi-ai": {
55
+ "optional": true
56
+ },
57
+ "@earendil-works/pi-coding-agent": {
58
+ "optional": true
59
+ },
60
+ "typebox": {
61
+ "optional": true
62
+ }
63
+ },
29
64
  "dependencies": {
30
65
  "@huggingface/transformers": "^3.8.0",
31
66
  "@libsql/client": "^0.15.15",
@@ -36,8 +71,10 @@
36
71
  "zod": "^3.25.76"
37
72
  },
38
73
  "devDependencies": {
74
+ "@opencode-ai/plugin": "^1.17.15",
39
75
  "@types/node": "^24.3.0",
40
76
  "tsx": "^4.20.5",
77
+ "typebox": "^1.1.38",
41
78
  "typescript": "^5.9.2"
42
79
  },
43
80
  "engines": {