@fingerskier/augment 0.1.0
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/LICENSE +201 -0
- package/README.md +130 -0
- package/dist/bin/augment-daemon.d.ts +2 -0
- package/dist/bin/augment-daemon.js +5 -0
- package/dist/bin/augment-daemon.js.map +1 -0
- package/dist/bin/augment-mcp.d.ts +2 -0
- package/dist/bin/augment-mcp.js +5 -0
- package/dist/bin/augment-mcp.js.map +1 -0
- package/dist/bin/augment.d.ts +2 -0
- package/dist/bin/augment.js +5 -0
- package/dist/bin/augment.js.map +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +13 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.js +57 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts +11 -0
- package/dist/constants.js +10 -0
- package/dist/constants.js.map +1 -0
- package/dist/daemon/client.d.ts +19 -0
- package/dist/daemon/client.js +146 -0
- package/dist/daemon/client.js.map +1 -0
- package/dist/daemon/http.d.ts +8 -0
- package/dist/daemon/http.js +142 -0
- package/dist/daemon/http.js.map +1 -0
- package/dist/daemon/main.d.ts +1 -0
- package/dist/daemon/main.js +16 -0
- package/dist/daemon/main.js.map +1 -0
- package/dist/db.d.ts +33 -0
- package/dist/db.js +338 -0
- package/dist/db.js.map +1 -0
- package/dist/embeddings.d.ts +20 -0
- package/dist/embeddings.js +35 -0
- package/dist/embeddings.js.map +1 -0
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.js +91 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/memory/files.d.ts +11 -0
- package/dist/memory/files.js +107 -0
- package/dist/memory/files.js.map +1 -0
- package/dist/memory/project.d.ts +8 -0
- package/dist/memory/project.js +59 -0
- package/dist/memory/project.js.map +1 -0
- package/dist/memory/scan.d.ts +1 -0
- package/dist/memory/scan.js +29 -0
- package/dist/memory/scan.js.map +1 -0
- package/dist/service.d.ts +43 -0
- package/dist/service.js +339 -0
- package/dist/service.js.map +1 -0
- package/dist/types.d.ts +95 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/util/hash.d.ts +3 -0
- package/dist/util/hash.js +25 -0
- package/dist/util/hash.js.map +1 -0
- package/dist/util/text.d.ts +4 -0
- package/dist/util/text.js +42 -0
- package/dist/util/text.js.map +1 -0
- package/docs/FEATURES.md +245 -0
- package/integrations/claude/CLAUDE.md +28 -0
- package/integrations/codex/SKILL.md +29 -0
- package/integrations/examples/claude-mcp-config.json +11 -0
- package/integrations/examples/codex-mcp-config.json +11 -0
- package/package.json +45 -0
package/docs/FEATURES.md
ADDED
|
@@ -0,0 +1,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
|
+
## Deferred
|
|
239
|
+
|
|
240
|
+
- Dashboard.
|
|
241
|
+
- `sleep`.
|
|
242
|
+
- `dream`.
|
|
243
|
+
- Remote sync.
|
|
244
|
+
- Memory `move`.
|
|
245
|
+
- CLI aliases and UX beyond diagnostics/config helpers.
|
|
@@ -0,0 +1,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
|
+
- Call `init_project`.
|
|
7
|
+
- Call `search` with the user's task summary.
|
|
8
|
+
|
|
9
|
+
Before implementation:
|
|
10
|
+
- Search for the specific file, subsystem, behavior, or error.
|
|
11
|
+
- Read exact memories by ID when search results point to important context.
|
|
12
|
+
|
|
13
|
+
During and after work:
|
|
14
|
+
|
|
15
|
+
- Use `upsert` for durable notes:
|
|
16
|
+
- `SPEC` for requirements and contracts.
|
|
17
|
+
- `ARCH` for decisions and design rationale.
|
|
18
|
+
- `TODO` for future work.
|
|
19
|
+
- `ISSUE` for bugs, risks, and blockers.
|
|
20
|
+
- `WORK` for concise implementation notes.
|
|
21
|
+
- Use `link` when one memory depends on, implements, blocks, parents, or relates to another.
|
|
22
|
+
- At completion, write a short `WORK` memory with the outcome and verification.
|
|
23
|
+
|
|
24
|
+
Rules:
|
|
25
|
+
- Do not store secrets or credentials.
|
|
26
|
+
- Do not store large logs, generated files, dependency dumps, or full source files.
|
|
27
|
+
- Keep memories small and focused.
|
|
28
|
+
- Numeric memory IDs are local to the machine. Relative paths are durable across systems.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: augment-context
|
|
3
|
+
description: Use Augment MCP memories to gather and persist project context during coding sessions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Augment Context
|
|
7
|
+
|
|
8
|
+
Use this skill when working in a repository with the Augment MCP server available.
|
|
9
|
+
|
|
10
|
+
## Workflow
|
|
11
|
+
|
|
12
|
+
1. At session start, call `init_project`.
|
|
13
|
+
2. Search for context using a concise task summary.
|
|
14
|
+
3. Before substantial edits, search again for the specific file, component, or behavior.
|
|
15
|
+
4. Persist durable findings with `upsert`:
|
|
16
|
+
- `SPEC` for requirements and contracts.
|
|
17
|
+
- `ARCH` for design decisions.
|
|
18
|
+
- `TODO` for planned work.
|
|
19
|
+
- `ISSUE` for bugs, risks, and blockers.
|
|
20
|
+
- `WORK` for concise implementation notes.
|
|
21
|
+
5. Link related memories when the relationship is clear.
|
|
22
|
+
6. At finish, write a short `WORK` memory describing what changed and how it was verified.
|
|
23
|
+
|
|
24
|
+
## Guardrails
|
|
25
|
+
- Do not store secrets, credentials, tokens, or private keys.
|
|
26
|
+
- Do not store huge logs, dependency dumps, generated files, or full source files.
|
|
27
|
+
- Keep each memory focused; split large notes before calling `upsert`.
|
|
28
|
+
- Treat numeric memory IDs as local handles. Relative paths are the durable identity.
|
|
29
|
+
- Use returned search text directly as context; do not ask Augment to summarize.
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@fingerskier/augment",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Local RAG memory system for coding agents",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
9
|
+
"bin": {
|
|
10
|
+
"augment": "./dist/bin/augment.js",
|
|
11
|
+
"augment-daemon": "./dist/bin/augment-daemon.js",
|
|
12
|
+
"augment-mcp": "./dist/bin/augment-mcp.js"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"docs",
|
|
17
|
+
"integrations",
|
|
18
|
+
"README.md",
|
|
19
|
+
"LICENSE"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsc -p tsconfig.json",
|
|
23
|
+
"test": "node --import tsx --test \"test/**/*.test.ts\"",
|
|
24
|
+
"check": "npm run build && npm test",
|
|
25
|
+
"prepack": "npm run check",
|
|
26
|
+
"prepublishOnly": "npm run check"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@huggingface/transformers": "^3.8.0",
|
|
30
|
+
"@libsql/client": "^0.15.15",
|
|
31
|
+
"@modelcontextprotocol/sdk": "^1.17.5",
|
|
32
|
+
"chokidar": "^4.0.3",
|
|
33
|
+
"gray-matter": "^4.0.3",
|
|
34
|
+
"zod": "^3.25.76"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@types/node": "^24.3.0",
|
|
38
|
+
"tsx": "^4.20.5",
|
|
39
|
+
"typescript": "^5.9.2"
|
|
40
|
+
},
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": ">=20"
|
|
43
|
+
},
|
|
44
|
+
"license": "Apache-2.0"
|
|
45
|
+
}
|