@repomem/memory 0.1.0 → 0.1.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/README.md +17 -13
- package/dist/cli.d.ts +5 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +20 -9
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/setup/spec.js +1 -1
- package/dist/setup/spec.js.map +1 -1
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
**Your repo's memory, available to every AI tool your team uses.**
|
|
4
4
|
|
|
5
5
|
> npm package: [`@repomem/memory`](https://www.npmjs.com/package/@repomem/memory) ·
|
|
6
|
-
> CLI command: `repomem
|
|
6
|
+
> CLI command: `repomem-memory`.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
`@repomem/memory` is a local [Model Context Protocol](https://modelcontextprotocol.io)
|
|
9
9
|
(MCP) server that turns a `memory/` folder in your repository into searchable,
|
|
10
10
|
shared context for AI assistants. Decisions, conventions, limitations,
|
|
11
11
|
learnings and project context live as reviewable markdown files with structured
|
|
@@ -35,10 +35,10 @@ Design principles:
|
|
|
35
35
|
Scaffold a `memory/` folder in your repo (no install needed, `npx` fetches it):
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
npx repomem init
|
|
38
|
+
npx --package @repomem/memory repomem-memory init
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
Prefer a pinned local install? Add the package (the CLI is
|
|
41
|
+
Prefer a pinned local install? Add the package (the CLI bin is `repomem-memory`):
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
44
|
npm install -D @repomem/memory
|
|
@@ -48,7 +48,7 @@ Register the server with your AI tool (see [MCP client config](#mcp-client-confi
|
|
|
48
48
|
then ask it to search or propose memory. Before committing, validate:
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
|
-
npx repomem validate
|
|
51
|
+
npx --package @repomem/memory repomem-memory validate
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
`validate` exits non-zero on any problem, so it fits in a pre-commit hook or CI.
|
|
@@ -108,8 +108,9 @@ transactional guarantees across several tables.
|
|
|
108
108
|
2. The draft shows up in your working tree as a normal file change.
|
|
109
109
|
3. You review it in the **same pull request** as the related code, edit if
|
|
110
110
|
needed, and flip `status` to `accepted`.
|
|
111
|
-
4. `npx repomem validate` runs in CI to catch
|
|
112
|
-
`supersedes` references, and accidentally
|
|
111
|
+
4. `npx --package @repomem/memory repomem-memory validate` runs in CI to catch
|
|
112
|
+
malformed entries, dangling `supersedes` references, and accidentally
|
|
113
|
+
committed secrets.
|
|
113
114
|
|
|
114
115
|
Nothing becomes "accepted" memory without a human in the loop.
|
|
115
116
|
|
|
@@ -133,7 +134,7 @@ The server re-checks file modification times before each search, so a
|
|
|
133
134
|
"mcpServers": {
|
|
134
135
|
"repomem": {
|
|
135
136
|
"command": "npx",
|
|
136
|
-
"args": ["-y", "repomem"],
|
|
137
|
+
"args": ["-y", "--package", "@repomem/memory", "repomem-memory", "serve"],
|
|
137
138
|
"env": {},
|
|
138
139
|
"disabled": false,
|
|
139
140
|
"autoApprove": ["search_memory", "get_memory", "memory_for_path"]
|
|
@@ -145,9 +146,11 @@ The server re-checks file modification times before each search, so a
|
|
|
145
146
|
Instead of writing this by hand, run the one-step setup:
|
|
146
147
|
|
|
147
148
|
```bash
|
|
148
|
-
repomem setup --agent kiro
|
|
149
|
+
npx --package @repomem/memory repomem-memory setup --agent kiro # from your repository root
|
|
149
150
|
```
|
|
150
151
|
|
|
152
|
+
Or configure both repomem servers at once with the installer: `npx @repomem/cli setup`.
|
|
153
|
+
|
|
151
154
|
It installs a `repomem-memory` skill (how to record and recall memory), a
|
|
152
155
|
`repomem-distill` skill (how to distill a finished plan into durable entries as
|
|
153
156
|
its final step), an `agentSpawn` validate hook, a shared
|
|
@@ -163,7 +166,7 @@ supported today.
|
|
|
163
166
|
"mcpServers": {
|
|
164
167
|
"repomem": {
|
|
165
168
|
"command": "npx",
|
|
166
|
-
"args": ["-y", "repomem"]
|
|
169
|
+
"args": ["-y", "--package", "@repomem/memory", "repomem-memory", "serve"]
|
|
167
170
|
}
|
|
168
171
|
}
|
|
169
172
|
}
|
|
@@ -176,9 +179,10 @@ runs in. To point at a specific folder, add `"--root", "/path/to/memory"` to
|
|
|
176
179
|
## CLI
|
|
177
180
|
|
|
178
181
|
```bash
|
|
179
|
-
repomem
|
|
180
|
-
repomem
|
|
181
|
-
repomem
|
|
182
|
+
repomem-memory serve [--root <dir>] # start the MCP server over stdio (what agents invoke)
|
|
183
|
+
repomem-memory init [--root <dir>] # scaffold memory/ with templates and a README
|
|
184
|
+
repomem-memory validate [--root <dir>] # validate frontmatter, supersedes refs, and scan for secrets
|
|
185
|
+
repomem-memory setup --agent kiro # install skills, hooks and MCP config for an agent
|
|
182
186
|
```
|
|
183
187
|
|
|
184
188
|
`validate` returns a non-zero exit code on any error, for use in pre-commit and CI.
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* cli.ts — `repomem
|
|
3
|
+
* cli.ts — `repomem-memory` command line.
|
|
4
4
|
*
|
|
5
|
-
* repomem
|
|
6
|
-
* repomem
|
|
5
|
+
* repomem-memory serve [--root <dir>] start the MCP server over stdio
|
|
6
|
+
* repomem-memory init [--root <dir>] scaffold the memory/ folder + templates
|
|
7
|
+
* repomem-memory validate [--root <dir>] check frontmatter, supersedes refs, secrets
|
|
8
|
+
* repomem-memory setup --agent <name> install skills, hooks and MCP config
|
|
7
9
|
*
|
|
8
10
|
* `validate` exits non-zero on any error so it can gate pre-commit and CI.
|
|
9
11
|
*/
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG;AA8IH,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAgDjF"}
|
package/dist/cli.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* cli.ts — `repomem
|
|
3
|
+
* cli.ts — `repomem-memory` command line.
|
|
4
4
|
*
|
|
5
|
-
* repomem
|
|
6
|
-
* repomem
|
|
5
|
+
* repomem-memory serve [--root <dir>] start the MCP server over stdio
|
|
6
|
+
* repomem-memory init [--root <dir>] scaffold the memory/ folder + templates
|
|
7
|
+
* repomem-memory validate [--root <dir>] check frontmatter, supersedes refs, secrets
|
|
8
|
+
* repomem-memory setup --agent <name> install skills, hooks and MCP config
|
|
7
9
|
*
|
|
8
10
|
* `validate` exits non-zero on any error so it can gate pre-commit and CI.
|
|
9
11
|
*/
|
|
@@ -14,6 +16,7 @@ import { fileURLToPath } from "node:url";
|
|
|
14
16
|
import { ENTRY_TYPES, TYPE_DIRS } from "./schema.js";
|
|
15
17
|
import { resolveMemoryRoot } from "./store.js";
|
|
16
18
|
import { validateRoot, formatReport } from "./validate.js";
|
|
19
|
+
import { main as startServer } from "./index.js";
|
|
17
20
|
import { runSetup } from "@repomem/core";
|
|
18
21
|
import { repomemSpec } from "./setup/spec.js";
|
|
19
22
|
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
@@ -53,7 +56,7 @@ AI tools **propose** new entries as drafts (\`status: draft\`). A human reviews
|
|
|
53
56
|
and **accepts** them in the same pull request as the related change. Entries are
|
|
54
57
|
versioned with git — no external database.
|
|
55
58
|
|
|
56
|
-
Run \`npx repomem validate\` to check entries before committing.
|
|
59
|
+
Run \`npx --package @repomem/memory repomem-memory validate\` to check entries before committing.
|
|
57
60
|
|
|
58
61
|
See \`templates/\` for a starting point for each entry type.
|
|
59
62
|
`;
|
|
@@ -110,7 +113,7 @@ async function cmdInit(root) {
|
|
|
110
113
|
}
|
|
111
114
|
async function cmdValidate(root) {
|
|
112
115
|
if (!existsSync(root)) {
|
|
113
|
-
err(`No memory folder at ${root}. Run \`repomem init\` first.`);
|
|
116
|
+
err(`No memory folder at ${root}. Run \`repomem-memory init\` first.`);
|
|
114
117
|
return 1;
|
|
115
118
|
}
|
|
116
119
|
const report = await validateRoot(root);
|
|
@@ -124,12 +127,13 @@ async function cmdValidate(root) {
|
|
|
124
127
|
}
|
|
125
128
|
function usage() {
|
|
126
129
|
out([
|
|
127
|
-
"repomem — your repo's memory for AI tools",
|
|
130
|
+
"repomem-memory — your repo's memory for AI tools",
|
|
128
131
|
"",
|
|
129
132
|
"Usage:",
|
|
130
|
-
" repomem
|
|
131
|
-
" repomem
|
|
132
|
-
" repomem
|
|
133
|
+
" repomem-memory serve [--root <dir>] Start the MCP server over stdio (default for agents)",
|
|
134
|
+
" repomem-memory init [--root <dir>] Scaffold the memory/ folder and templates",
|
|
135
|
+
" repomem-memory validate [--root <dir>] Validate entries (frontmatter, refs, secrets)",
|
|
136
|
+
" repomem-memory setup --agent <name> Install skills, hooks and MCP config for an agent",
|
|
133
137
|
"",
|
|
134
138
|
"Root resolution: --root > MEMORY_ROOT env > <git root>/.repomem/memory",
|
|
135
139
|
"setup root resolution: --root > REPOMEM_REPO_ROOT env > <git root>",
|
|
@@ -150,6 +154,13 @@ export async function run(argv = process.argv.slice(2)) {
|
|
|
150
154
|
force: hasFlag(argv, "--force"),
|
|
151
155
|
}, { out, err });
|
|
152
156
|
}
|
|
157
|
+
// `serve` starts the MCP server over stdio. This is what agents invoke
|
|
158
|
+
// through the generated mcp.json. It resolves its own memory root and runs
|
|
159
|
+
// until the transport closes, so it never returns a non-zero code here.
|
|
160
|
+
if (command === "serve") {
|
|
161
|
+
await startServer(argv.slice(1));
|
|
162
|
+
return 0;
|
|
163
|
+
}
|
|
153
164
|
let root;
|
|
154
165
|
try {
|
|
155
166
|
root = resolveMemoryRoot({ rootFlag: parseFlag(argv, "--root") });
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqBH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhF"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
7
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
8
|
+
import path from "node:path";
|
|
9
|
+
import { fileURLToPath } from "node:url";
|
|
8
10
|
import { resolveMemoryRoot } from "./store.js";
|
|
9
11
|
import { MemoryIndex } from "./search.js";
|
|
10
12
|
import { registerAllTools, SERVER_INFO } from "./server.js";
|
|
@@ -28,8 +30,14 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
28
30
|
await server.connect(transport);
|
|
29
31
|
log("server ready on stdio");
|
|
30
32
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
// Only auto-run when invoked directly (e.g. `node dist/index.js`), not when
|
|
34
|
+
// imported (the CLI imports `main` to implement the `serve` subcommand).
|
|
35
|
+
const invokedDirectly = process.argv[1] !== undefined &&
|
|
36
|
+
path.resolve(process.argv[1]) === fileURLToPath(import.meta.url);
|
|
37
|
+
if (invokedDirectly) {
|
|
38
|
+
main().catch((err) => {
|
|
39
|
+
log(`fatal: ${err.message}`);
|
|
40
|
+
process.exit(1);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
35
43
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5D,SAAS,GAAG,CAAC,OAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,OAAO,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,kDAAkD;AAClD,SAAS,aAAa,CAAC,IAAc;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAE5B,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1C,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAC/B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5D,SAAS,GAAG,CAAC,OAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,OAAO,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,kDAAkD;AAClD,SAAS,aAAa,CAAC,IAAc;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAE5B,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1C,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAC/B,CAAC;AAED,4EAA4E;AAC5E,yEAAyE;AACzE,MAAM,eAAe,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;IAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEnE,IAAI,eAAe,EAAE,CAAC;IACpB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC5B,GAAG,CAAC,UAAW,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/setup/spec.js
CHANGED
|
@@ -16,7 +16,7 @@ export const repomemSpec = {
|
|
|
16
16
|
serverName: "repomem",
|
|
17
17
|
mcpServer: {
|
|
18
18
|
command: "npx",
|
|
19
|
-
args: ["-y", "repomem"],
|
|
19
|
+
args: ["-y", "--package", "@repomem/memory", "repomem-memory", "serve"],
|
|
20
20
|
env: {},
|
|
21
21
|
disabled: false,
|
|
22
22
|
autoApprove: ["search_memory", "get_memory", "memory_for_path"],
|
package/dist/setup/spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/setup/spec.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,qEAAqE;AACrE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAElD,oDAAoD;AACpD,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE;QACT,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/setup/spec.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,qEAAqE;AACrE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAElD,oDAAoD;AACpD,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE;QACT,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,OAAO,CAAC;QACvE,GAAG,EAAE,EAAE;QACP,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,iBAAiB,CAAC;KAChE;IACD,MAAM,EAAE;QACN;YACE,EAAE,EAAE,gBAAgB;YACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,gBAAgB,CAAC;SAC3D;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,iBAAiB,CAAC;SAC5D;KACF;IACD,WAAW,EAAE;QACX;YACE,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,qBAAqB,CAAC;SAChE;KACF;IACD,UAAU,EAAE;QACV,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;KAC7D;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@repomem/memory",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Your repo's memory, available to every AI tool your team uses. A local MCP server that turns a memory/ folder into searchable shared context.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Nicolás Rickert",
|
|
@@ -9,11 +9,12 @@
|
|
|
9
9
|
"node": ">=22"
|
|
10
10
|
},
|
|
11
11
|
"bin": {
|
|
12
|
-
"repomem": "dist/cli.js"
|
|
12
|
+
"repomem-memory": "dist/cli.js"
|
|
13
13
|
},
|
|
14
14
|
"main": "dist/index.js",
|
|
15
15
|
"exports": {
|
|
16
|
-
".": "./dist/index.js"
|
|
16
|
+
".": "./dist/index.js",
|
|
17
|
+
"./setup": "./dist/setup/spec.js"
|
|
17
18
|
},
|
|
18
19
|
"files": [
|
|
19
20
|
"dist",
|
|
@@ -45,7 +46,7 @@
|
|
|
45
46
|
"scripts": {
|
|
46
47
|
"build": "tsc",
|
|
47
48
|
"clean": "rm -rf dist",
|
|
48
|
-
"start": "node dist/
|
|
49
|
+
"start": "node dist/cli.js serve",
|
|
49
50
|
"test": "vitest run",
|
|
50
51
|
"test:watch": "vitest",
|
|
51
52
|
"typecheck": "tsc --noEmit"
|