@fingerskier/augment 0.1.0 → 0.1.3
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 +198 -130
- package/dist/cli.js +50 -1
- package/dist/cli.js.map +1 -1
- package/dist/install.d.ts +15 -0
- package/dist/install.js +335 -0
- package/dist/install.js.map +1 -0
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.js +10 -1
- package/dist/mcp/server.js.map +1 -1
- package/docs/FEATURES.md +277 -245
- package/integrations/claude/CLAUDE.md +56 -28
- package/integrations/codex/SKILL.md +63 -29
- package/integrations/examples/claude-mcp-config.json +10 -1
- package/integrations/examples/codex-mcp-config.json +10 -1
- package/package.json +45 -45
package/docs/FEATURES.md
CHANGED
|
@@ -1,245 +1,277 @@
|
|
|
1
|
-
# Augment Features
|
|
2
|
-
|
|
3
|
-
Augment is a local RAG memory system for coding agents.
|
|
4
|
-
|
|
5
|
-
## Memory Folder
|
|
6
|
-
|
|
7
|
-
- The memory folder is a normal directory.
|
|
8
|
-
- Only one memory root is configured per local system.
|
|
9
|
-
- Memory file paths are relative to this root.
|
|
10
|
-
|
|
11
|
-
## Memories
|
|
12
|
-
|
|
13
|
-
- Memories are text files in the memory folder.
|
|
14
|
-
- Files are markdown with YAML frontmatter.
|
|
15
|
-
- Canonical organization:
|
|
16
|
-
|
|
17
|
-
```txt
|
|
18
|
-
org/repo/kind/name.md
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
- Supported MVP kinds:
|
|
22
|
-
- `ISSUE`
|
|
23
|
-
- `ARCH`
|
|
24
|
-
- `TODO`
|
|
25
|
-
- `SPEC`
|
|
26
|
-
- `WORK`
|
|
27
|
-
|
|
28
|
-
Memory files are the canonical source of truth. Numeric memory IDs are local
|
|
29
|
-
database IDs only and are not written to memory files. Relative paths are the
|
|
30
|
-
durable cross-system identity.
|
|
31
|
-
|
|
32
|
-
Example:
|
|
33
|
-
|
|
34
|
-
```md
|
|
35
|
-
---
|
|
36
|
-
kind: ARCH
|
|
37
|
-
project: fingerskier/augment
|
|
38
|
-
name: search-contract
|
|
39
|
-
tags: [mcp, search, ranking]
|
|
40
|
-
links:
|
|
41
|
-
- to: fingerskier/augment/SPEC/local-daemon.md
|
|
42
|
-
type: RELATED
|
|
43
|
-
created_at: 2026-06-29T00:00:00Z
|
|
44
|
-
updated_at: 2026-06-29T00:00:00Z
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
Body text.
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Database
|
|
51
|
-
|
|
52
|
-
- A shared local daemon watches memory files and maintains a rebuildable libsql
|
|
53
|
-
index.
|
|
54
|
-
- The database includes metadata, body text, embeddings, gzip density score, and
|
|
55
|
-
derived link rows.
|
|
56
|
-
- `Xenova/bge-small-en-v1.5` via `@huggingface/transformers` provides 384D
|
|
57
|
-
embeddings.
|
|
58
|
-
- The database file is rebuildable and should not be synced as canonical state.
|
|
59
|
-
|
|
60
|
-
Tables:
|
|
61
|
-
|
|
62
|
-
- `projects`
|
|
63
|
-
- `id`
|
|
64
|
-
- `name`
|
|
65
|
-
- `org`
|
|
66
|
-
- `repo`
|
|
67
|
-
- `source`
|
|
68
|
-
- `memories`
|
|
69
|
-
- `id`
|
|
70
|
-
- `project_id`
|
|
71
|
-
- `kind`
|
|
72
|
-
- `name`
|
|
73
|
-
- `relative_path`
|
|
74
|
-
- `content_hash`
|
|
75
|
-
- `frontmatter_hash`
|
|
76
|
-
- `size`
|
|
77
|
-
- `density`
|
|
78
|
-
- `mtime`
|
|
79
|
-
- `memory_embeddings`
|
|
80
|
-
- `memory_id`
|
|
81
|
-
- `model_id`
|
|
82
|
-
- `model_version`
|
|
83
|
-
- `dimensions`
|
|
84
|
-
- `vector`
|
|
85
|
-
- `embedded_hash`
|
|
86
|
-
- `links`
|
|
87
|
-
- `id`
|
|
88
|
-
- `from_memory_id`
|
|
89
|
-
- `to_memory_id`
|
|
90
|
-
- `type`
|
|
91
|
-
|
|
92
|
-
Links are written to the source memory's frontmatter using target relative paths.
|
|
93
|
-
The daemon rebuilds local `links` rows from those declarations.
|
|
94
|
-
|
|
95
|
-
## Daemon
|
|
96
|
-
|
|
97
|
-
- `augment-daemon` is shared by all local MCP servers for one memory root.
|
|
98
|
-
- The daemon owns file watching, embedding, and database writes.
|
|
99
|
-
- It exposes a localhost HTTP control endpoint.
|
|
100
|
-
- It binds to `127.0.0.1`, uses a dynamic port by default, writes a discovery
|
|
101
|
-
file, and requires a generated auth token for non-health requests.
|
|
102
|
-
|
|
103
|
-
## MCP Tools
|
|
104
|
-
|
|
105
|
-
### `init_project`
|
|
106
|
-
|
|
107
|
-
Infers or accepts a project name and upserts a project record.
|
|
108
|
-
|
|
109
|
-
Inputs:
|
|
110
|
-
|
|
111
|
-
```ts
|
|
112
|
-
{ project_name?: string }
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### `list_projects`
|
|
116
|
-
|
|
117
|
-
Lists known project records.
|
|
118
|
-
|
|
119
|
-
Inputs:
|
|
120
|
-
|
|
121
|
-
```ts
|
|
122
|
-
{ name?: string }
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### `search`
|
|
126
|
-
|
|
127
|
-
Recalls memories semantically and lexically similar to a query.
|
|
128
|
-
|
|
129
|
-
Inputs:
|
|
130
|
-
|
|
131
|
-
```ts
|
|
132
|
-
{
|
|
133
|
-
project_name?: string;
|
|
134
|
-
query: string;
|
|
135
|
-
limit?: number;
|
|
136
|
-
max_chars?: number;
|
|
137
|
-
kinds?: Array<"ISSUE" | "ARCH" | "TODO" | "SPEC" | "WORK">;
|
|
138
|
-
include_linked?: boolean;
|
|
139
|
-
}
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
Behavior:
|
|
143
|
-
|
|
144
|
-
- Returns plain text suitable for direct context injection.
|
|
145
|
-
- Includes local memory IDs, project names, paths, kinds, scores, and link
|
|
146
|
-
annotations.
|
|
147
|
-
- May use the CWD project as a modest metadata boost, but cross-project results
|
|
148
|
-
are allowed based on score.
|
|
149
|
-
- Prioritizes linked memories without requiring them.
|
|
150
|
-
- Does not summarize or extract arbitrary excerpts.
|
|
151
|
-
|
|
152
|
-
### `upsert`
|
|
153
|
-
|
|
154
|
-
Stores text in a memory file.
|
|
155
|
-
|
|
156
|
-
Inputs:
|
|
157
|
-
|
|
158
|
-
```ts
|
|
159
|
-
{
|
|
160
|
-
project_id: number;
|
|
161
|
-
memory_id?: number;
|
|
162
|
-
kind?: "ISSUE" | "ARCH" | "TODO" | "SPEC" | "WORK";
|
|
163
|
-
name: string;
|
|
164
|
-
content: string;
|
|
165
|
-
tags?: string[];
|
|
166
|
-
}
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
If `memory_id` is absent, Augment may automatically update a highly similar
|
|
170
|
-
memory in the same project and kind.
|
|
171
|
-
|
|
172
|
-
### `read`
|
|
173
|
-
|
|
174
|
-
Reads one memory by local numeric ID.
|
|
175
|
-
|
|
176
|
-
Inputs:
|
|
177
|
-
|
|
178
|
-
```ts
|
|
179
|
-
{ id: number }
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### `link`
|
|
183
|
-
|
|
184
|
-
Creates a directional link between local memory IDs and persists it as a
|
|
185
|
-
relative-path link in the source memory frontmatter.
|
|
186
|
-
|
|
187
|
-
Inputs:
|
|
188
|
-
|
|
189
|
-
```ts
|
|
190
|
-
{
|
|
191
|
-
from_memory_id: number;
|
|
192
|
-
to_memory_id: number;
|
|
193
|
-
type?: "DEPENDS_ON" | "BLOCKS" | "IMPLEMENTS" | "PARENT" | "RELATED";
|
|
194
|
-
}
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
### `list_links`
|
|
198
|
-
|
|
199
|
-
Lists inbound and outbound links involving a memory.
|
|
200
|
-
|
|
201
|
-
Inputs:
|
|
202
|
-
|
|
203
|
-
```ts
|
|
204
|
-
{ memory_id: number }
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
### `unlink`
|
|
208
|
-
|
|
209
|
-
Removes a link by local link ID.
|
|
210
|
-
|
|
211
|
-
Inputs:
|
|
212
|
-
|
|
213
|
-
```ts
|
|
214
|
-
{ id: number }
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
## Configuration
|
|
218
|
-
|
|
219
|
-
Resolution order:
|
|
220
|
-
|
|
221
|
-
1. Environment variables.
|
|
222
|
-
2. `~/.augment/config.json`.
|
|
223
|
-
3. Defaults.
|
|
224
|
-
|
|
225
|
-
Environment variables:
|
|
226
|
-
|
|
227
|
-
- `AUGMENT_MEMORY_ROOT`
|
|
228
|
-
- `AUGMENT_STATE_DIR`
|
|
229
|
-
- `AUGMENT_DAEMON_PORT`
|
|
230
|
-
|
|
231
|
-
Defaults:
|
|
232
|
-
|
|
233
|
-
- Memory root: `~/.augment/memories`
|
|
234
|
-
- State directory: `~/.augment/state`
|
|
235
|
-
- Database: `~/.augment/state/index.db`
|
|
236
|
-
- Daemon discovery file: `~/.augment/state/daemon.json`
|
|
237
|
-
|
|
238
|
-
##
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
-
|
|
244
|
-
|
|
245
|
-
|
|
1
|
+
# Augment Features
|
|
2
|
+
|
|
3
|
+
Augment is a local RAG memory system for coding agents.
|
|
4
|
+
|
|
5
|
+
## Memory Folder
|
|
6
|
+
|
|
7
|
+
- The memory folder is a normal directory.
|
|
8
|
+
- Only one memory root is configured per local system.
|
|
9
|
+
- Memory file paths are relative to this root.
|
|
10
|
+
|
|
11
|
+
## Memories
|
|
12
|
+
|
|
13
|
+
- Memories are text files in the memory folder.
|
|
14
|
+
- Files are markdown with YAML frontmatter.
|
|
15
|
+
- Canonical organization:
|
|
16
|
+
|
|
17
|
+
```txt
|
|
18
|
+
org/repo/kind/name.md
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
- Supported MVP kinds:
|
|
22
|
+
- `ISSUE`
|
|
23
|
+
- `ARCH`
|
|
24
|
+
- `TODO`
|
|
25
|
+
- `SPEC`
|
|
26
|
+
- `WORK`
|
|
27
|
+
|
|
28
|
+
Memory files are the canonical source of truth. Numeric memory IDs are local
|
|
29
|
+
database IDs only and are not written to memory files. Relative paths are the
|
|
30
|
+
durable cross-system identity.
|
|
31
|
+
|
|
32
|
+
Example:
|
|
33
|
+
|
|
34
|
+
```md
|
|
35
|
+
---
|
|
36
|
+
kind: ARCH
|
|
37
|
+
project: fingerskier/augment
|
|
38
|
+
name: search-contract
|
|
39
|
+
tags: [mcp, search, ranking]
|
|
40
|
+
links:
|
|
41
|
+
- to: fingerskier/augment/SPEC/local-daemon.md
|
|
42
|
+
type: RELATED
|
|
43
|
+
created_at: 2026-06-29T00:00:00Z
|
|
44
|
+
updated_at: 2026-06-29T00:00:00Z
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
Body text.
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Database
|
|
51
|
+
|
|
52
|
+
- A shared local daemon watches memory files and maintains a rebuildable libsql
|
|
53
|
+
index.
|
|
54
|
+
- The database includes metadata, body text, embeddings, gzip density score, and
|
|
55
|
+
derived link rows.
|
|
56
|
+
- `Xenova/bge-small-en-v1.5` via `@huggingface/transformers` provides 384D
|
|
57
|
+
embeddings.
|
|
58
|
+
- The database file is rebuildable and should not be synced as canonical state.
|
|
59
|
+
|
|
60
|
+
Tables:
|
|
61
|
+
|
|
62
|
+
- `projects`
|
|
63
|
+
- `id`
|
|
64
|
+
- `name`
|
|
65
|
+
- `org`
|
|
66
|
+
- `repo`
|
|
67
|
+
- `source`
|
|
68
|
+
- `memories`
|
|
69
|
+
- `id`
|
|
70
|
+
- `project_id`
|
|
71
|
+
- `kind`
|
|
72
|
+
- `name`
|
|
73
|
+
- `relative_path`
|
|
74
|
+
- `content_hash`
|
|
75
|
+
- `frontmatter_hash`
|
|
76
|
+
- `size`
|
|
77
|
+
- `density`
|
|
78
|
+
- `mtime`
|
|
79
|
+
- `memory_embeddings`
|
|
80
|
+
- `memory_id`
|
|
81
|
+
- `model_id`
|
|
82
|
+
- `model_version`
|
|
83
|
+
- `dimensions`
|
|
84
|
+
- `vector`
|
|
85
|
+
- `embedded_hash`
|
|
86
|
+
- `links`
|
|
87
|
+
- `id`
|
|
88
|
+
- `from_memory_id`
|
|
89
|
+
- `to_memory_id`
|
|
90
|
+
- `type`
|
|
91
|
+
|
|
92
|
+
Links are written to the source memory's frontmatter using target relative paths.
|
|
93
|
+
The daemon rebuilds local `links` rows from those declarations.
|
|
94
|
+
|
|
95
|
+
## Daemon
|
|
96
|
+
|
|
97
|
+
- `augment-daemon` is shared by all local MCP servers for one memory root.
|
|
98
|
+
- The daemon owns file watching, embedding, and database writes.
|
|
99
|
+
- It exposes a localhost HTTP control endpoint.
|
|
100
|
+
- It binds to `127.0.0.1`, uses a dynamic port by default, writes a discovery
|
|
101
|
+
file, and requires a generated auth token for non-health requests.
|
|
102
|
+
|
|
103
|
+
## MCP Tools
|
|
104
|
+
|
|
105
|
+
### `init_project`
|
|
106
|
+
|
|
107
|
+
Infers or accepts a project name and upserts a project record.
|
|
108
|
+
|
|
109
|
+
Inputs:
|
|
110
|
+
|
|
111
|
+
```ts
|
|
112
|
+
{ project_name?: string }
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### `list_projects`
|
|
116
|
+
|
|
117
|
+
Lists known project records.
|
|
118
|
+
|
|
119
|
+
Inputs:
|
|
120
|
+
|
|
121
|
+
```ts
|
|
122
|
+
{ name?: string }
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### `search`
|
|
126
|
+
|
|
127
|
+
Recalls memories semantically and lexically similar to a query.
|
|
128
|
+
|
|
129
|
+
Inputs:
|
|
130
|
+
|
|
131
|
+
```ts
|
|
132
|
+
{
|
|
133
|
+
project_name?: string;
|
|
134
|
+
query: string;
|
|
135
|
+
limit?: number;
|
|
136
|
+
max_chars?: number;
|
|
137
|
+
kinds?: Array<"ISSUE" | "ARCH" | "TODO" | "SPEC" | "WORK">;
|
|
138
|
+
include_linked?: boolean;
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Behavior:
|
|
143
|
+
|
|
144
|
+
- Returns plain text suitable for direct context injection.
|
|
145
|
+
- Includes local memory IDs, project names, paths, kinds, scores, and link
|
|
146
|
+
annotations.
|
|
147
|
+
- May use the CWD project as a modest metadata boost, but cross-project results
|
|
148
|
+
are allowed based on score.
|
|
149
|
+
- Prioritizes linked memories without requiring them.
|
|
150
|
+
- Does not summarize or extract arbitrary excerpts.
|
|
151
|
+
|
|
152
|
+
### `upsert`
|
|
153
|
+
|
|
154
|
+
Stores text in a memory file.
|
|
155
|
+
|
|
156
|
+
Inputs:
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
{
|
|
160
|
+
project_id: number;
|
|
161
|
+
memory_id?: number;
|
|
162
|
+
kind?: "ISSUE" | "ARCH" | "TODO" | "SPEC" | "WORK";
|
|
163
|
+
name: string;
|
|
164
|
+
content: string;
|
|
165
|
+
tags?: string[];
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
If `memory_id` is absent, Augment may automatically update a highly similar
|
|
170
|
+
memory in the same project and kind.
|
|
171
|
+
|
|
172
|
+
### `read`
|
|
173
|
+
|
|
174
|
+
Reads one memory by local numeric ID.
|
|
175
|
+
|
|
176
|
+
Inputs:
|
|
177
|
+
|
|
178
|
+
```ts
|
|
179
|
+
{ id: number }
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### `link`
|
|
183
|
+
|
|
184
|
+
Creates a directional link between local memory IDs and persists it as a
|
|
185
|
+
relative-path link in the source memory frontmatter.
|
|
186
|
+
|
|
187
|
+
Inputs:
|
|
188
|
+
|
|
189
|
+
```ts
|
|
190
|
+
{
|
|
191
|
+
from_memory_id: number;
|
|
192
|
+
to_memory_id: number;
|
|
193
|
+
type?: "DEPENDS_ON" | "BLOCKS" | "IMPLEMENTS" | "PARENT" | "RELATED";
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### `list_links`
|
|
198
|
+
|
|
199
|
+
Lists inbound and outbound links involving a memory.
|
|
200
|
+
|
|
201
|
+
Inputs:
|
|
202
|
+
|
|
203
|
+
```ts
|
|
204
|
+
{ memory_id: number }
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### `unlink`
|
|
208
|
+
|
|
209
|
+
Removes a link by local link ID.
|
|
210
|
+
|
|
211
|
+
Inputs:
|
|
212
|
+
|
|
213
|
+
```ts
|
|
214
|
+
{ id: number }
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Configuration
|
|
218
|
+
|
|
219
|
+
Resolution order:
|
|
220
|
+
|
|
221
|
+
1. Environment variables.
|
|
222
|
+
2. `~/.augment/config.json`.
|
|
223
|
+
3. Defaults.
|
|
224
|
+
|
|
225
|
+
Environment variables:
|
|
226
|
+
|
|
227
|
+
- `AUGMENT_MEMORY_ROOT`
|
|
228
|
+
- `AUGMENT_STATE_DIR`
|
|
229
|
+
- `AUGMENT_DAEMON_PORT`
|
|
230
|
+
|
|
231
|
+
Defaults:
|
|
232
|
+
|
|
233
|
+
- Memory root: `~/.augment/memories`
|
|
234
|
+
- State directory: `~/.augment/state`
|
|
235
|
+
- Database: `~/.augment/state/index.db`
|
|
236
|
+
- Daemon discovery file: `~/.augment/state/daemon.json`
|
|
237
|
+
|
|
238
|
+
## Agent Integration Installer
|
|
239
|
+
|
|
240
|
+
The `augment` CLI can install dogfooding integrations:
|
|
241
|
+
|
|
242
|
+
```powershell
|
|
243
|
+
npm exec --yes --package @fingerskier/augment -- augment install codex --scope user --memory-root "C:\Users\you\Dropbox\augment-memories"
|
|
244
|
+
npm exec --yes --package @fingerskier/augment -- augment install codex --scope repo
|
|
245
|
+
npm exec --yes --package @fingerskier/augment -- augment install claude --scope repo
|
|
246
|
+
npm exec --yes --package @fingerskier/augment -- augment install all --scope user --dry-run
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Codex install creates or updates:
|
|
250
|
+
|
|
251
|
+
- A local plugin folder named `augment`.
|
|
252
|
+
- `.codex-plugin/plugin.json`.
|
|
253
|
+
- `.mcp.json` pointing to the published `@fingerskier/augment` package through
|
|
254
|
+
an isolated npm `--prefix` directory.
|
|
255
|
+
- `skills/augment-context/SKILL.md`.
|
|
256
|
+
- A personal or repo marketplace entry.
|
|
257
|
+
|
|
258
|
+
Claude install creates or updates:
|
|
259
|
+
|
|
260
|
+
- A real Claude Code plugin folder named `augment` with
|
|
261
|
+
`.claude-plugin/plugin.json`, an auto-discovered `skills/augment-context/SKILL.md`,
|
|
262
|
+
and a bundled `.mcp.json` (same cwd-safe MCP command shape as Codex).
|
|
263
|
+
- A `.claude-plugin/marketplace.json` entry so the plugin is installable via
|
|
264
|
+
`/plugin marketplace add` + `/plugin install augment@<marketplace>`.
|
|
265
|
+
- A direct MCP registration so the server is active immediately: repo scope writes
|
|
266
|
+
`<repo>/.mcp.json`; user scope merges `mcpServers.augment` into `~/.claude.json`,
|
|
267
|
+
preserving all other keys.
|
|
268
|
+
- A marked Augment block in `CLAUDE.md` carrying the always-on memory workflow.
|
|
269
|
+
|
|
270
|
+
## Deferred
|
|
271
|
+
|
|
272
|
+
- Dashboard.
|
|
273
|
+
- `sleep`.
|
|
274
|
+
- `dream`.
|
|
275
|
+
- Remote sync.
|
|
276
|
+
- Memory `move`.
|
|
277
|
+
- CLI aliases and UX beyond diagnostics/config helpers.
|
|
@@ -1,28 +1,56 @@
|
|
|
1
|
-
# Augment Memory Workflow
|
|
2
|
-
|
|
3
|
-
When the Augment MCP server is configured, use it as the local project memory.
|
|
4
|
-
|
|
5
|
-
Session
|
|
6
|
-
|
|
7
|
-
- Call `
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
1
|
+
# Augment Memory Workflow
|
|
2
|
+
|
|
3
|
+
When the Augment MCP server is configured, use it as the local project memory.
|
|
4
|
+
|
|
5
|
+
## Session Start
|
|
6
|
+
|
|
7
|
+
- Call `init_project`.
|
|
8
|
+
- Call `search` with the user's task summary.
|
|
9
|
+
- Read exact memories when search results identify governing context.
|
|
10
|
+
|
|
11
|
+
## Before Implementation
|
|
12
|
+
|
|
13
|
+
- Search for the specific file, subsystem, behavior, command, or error.
|
|
14
|
+
- If the work depends on a prior decision, read and follow the relevant `SPEC`
|
|
15
|
+
or `ARCH` memory.
|
|
16
|
+
- If no relevant memory exists but the task creates a durable requirement or
|
|
17
|
+
decision, create one before implementation.
|
|
18
|
+
|
|
19
|
+
## Memory Triggers
|
|
20
|
+
|
|
21
|
+
Call `upsert` whenever one of these durable events happens:
|
|
22
|
+
|
|
23
|
+
- A requirement, API contract, data model, or tool contract is clarified:
|
|
24
|
+
use `SPEC`.
|
|
25
|
+
- An implementation approach, tradeoff, transport choice, persistence model, or
|
|
26
|
+
architecture decision is made: use `ARCH`.
|
|
27
|
+
- A bug, risk, failing behavior, or blocker is discovered: use `ISSUE`.
|
|
28
|
+
- Follow-up work is intentionally deferred: use `TODO`.
|
|
29
|
+
- A meaningful implementation milestone is completed: use `WORK`.
|
|
30
|
+
- A test scenario, regression case, or verification rule is learned: use `SPEC`
|
|
31
|
+
or `WORK`, whichever is more durable.
|
|
32
|
+
|
|
33
|
+
## Links
|
|
34
|
+
|
|
35
|
+
After creating or updating a memory:
|
|
36
|
+
|
|
37
|
+
- Use `link` when one memory depends on, implements, blocks, parents, or relates
|
|
38
|
+
to another.
|
|
39
|
+
- Prefer linking new `WORK` notes to the `SPEC`, `ARCH`, `ISSUE`, or `TODO` they
|
|
40
|
+
address.
|
|
41
|
+
|
|
42
|
+
## Completion
|
|
43
|
+
|
|
44
|
+
- Upsert a concise `WORK` memory with what changed, key files, and verification.
|
|
45
|
+
- Upsert or update `TODO` memories for known remaining work.
|
|
46
|
+
- Link the final `WORK` memory to the relevant planning/decision memories.
|
|
47
|
+
|
|
48
|
+
## Rules
|
|
49
|
+
|
|
50
|
+
- Do not store secrets, credentials, tokens, or private keys.
|
|
51
|
+
- Do not store large logs, generated files, dependency dumps, or full source files.
|
|
52
|
+
- Keep memories small and focused.
|
|
53
|
+
- Use returned search text directly as context; do not ask Augment to summarize.
|
|
54
|
+
- Numeric memory IDs are local to the machine. Relative paths are durable across systems.
|
|
55
|
+
- Do not create memories for trivial edits, transient exploration, or facts that
|
|
56
|
+
are already obvious from the current diff.
|