@synth-coder/memhub 0.2.4 → 0.2.5

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.
Files changed (53) hide show
  1. package/.eslintrc.cjs +45 -45
  2. package/.factory/commands/opsx-apply.md +150 -150
  3. package/.factory/commands/opsx-archive.md +155 -155
  4. package/.factory/commands/opsx-explore.md +171 -171
  5. package/.factory/commands/opsx-propose.md +104 -104
  6. package/.factory/skills/openspec-apply-change/SKILL.md +156 -156
  7. package/.factory/skills/openspec-archive-change/SKILL.md +114 -114
  8. package/.factory/skills/openspec-explore/SKILL.md +288 -288
  9. package/.factory/skills/openspec-propose/SKILL.md +110 -110
  10. package/.github/workflows/ci.yml +110 -110
  11. package/.github/workflows/release.yml +3 -0
  12. package/.iflow/commands/opsx-apply.md +152 -152
  13. package/.iflow/commands/opsx-archive.md +157 -157
  14. package/.iflow/commands/opsx-explore.md +173 -173
  15. package/.iflow/commands/opsx-propose.md +106 -106
  16. package/.iflow/skills/openspec-apply-change/SKILL.md +156 -156
  17. package/.iflow/skills/openspec-archive-change/SKILL.md +114 -114
  18. package/.iflow/skills/openspec-explore/SKILL.md +288 -288
  19. package/.iflow/skills/openspec-propose/SKILL.md +110 -110
  20. package/.prettierrc +11 -11
  21. package/AGENTS.md +167 -167
  22. package/README.md +17 -9
  23. package/README.zh-CN.md +246 -238
  24. package/dist/src/cli/agents/index.d.ts +0 -1
  25. package/dist/src/cli/agents/index.d.ts.map +1 -1
  26. package/dist/src/cli/agents/index.js +0 -3
  27. package/dist/src/cli/agents/index.js.map +1 -1
  28. package/dist/src/cli/index.js +0 -0
  29. package/dist/src/cli/init.d.ts.map +1 -1
  30. package/dist/src/cli/init.js +4 -24
  31. package/dist/src/cli/init.js.map +1 -1
  32. package/dist/src/cli/types.d.ts +2 -2
  33. package/dist/src/cli/types.d.ts.map +1 -1
  34. package/dist/src/cli/types.js +0 -11
  35. package/dist/src/cli/types.js.map +1 -1
  36. package/docs/user-guide.md +8 -6
  37. package/package.json +16 -16
  38. package/src/cli/agents/claude-code.ts +1 -1
  39. package/src/cli/agents/cline.ts +1 -1
  40. package/src/cli/agents/codex.ts +2 -2
  41. package/src/cli/agents/cursor.ts +1 -1
  42. package/src/cli/agents/factory-droid.ts +1 -1
  43. package/src/cli/agents/gemini-cli.ts +1 -1
  44. package/src/cli/agents/windsurf.ts +1 -1
  45. package/src/cli/init.ts +14 -14
  46. package/test/cli/init.test.ts +23 -1
  47. package/tsconfig.json +25 -25
  48. package/tsconfig.test.json +8 -8
  49. package/vitest.config.ts +29 -29
  50. package/dist/src/cli/agents/codex.d.ts +0 -5
  51. package/dist/src/cli/agents/codex.d.ts.map +0 -1
  52. package/dist/src/cli/agents/codex.js +0 -14
  53. package/dist/src/cli/agents/codex.js.map +0 -1
package/README.zh-CN.md CHANGED
@@ -1,245 +1,253 @@
1
- # MemHub
2
-
3
- 一个面向编码代理(Codex / Claude Code / OpenCode 等)的 **Git 友好记忆 MCP Server**。
4
-
5
- MemHub 将“用户决策、长期偏好、可复用知识”保存为 **Markdown 文件 + YAML Front Matter**,便于人读、审查、版本管理和协作。
6
-
7
- ---
8
-
9
- ## 为什么用 MemHub
10
-
11
- 大多数 AI 记忆工具依赖外部 API 或简单的关键词匹配。MemHub 不同:
12
-
13
- ### 本地 AI 语义搜索
14
-
15
- - **向量数据库**:基于 LanceDB 实现快速相似度搜索
16
- - **本地嵌入模型**:量化版 Transformers.js 模型,完全在本地运行
17
- - **零 API 成本**:无需外部服务、无需 API 密钥、无速率限制
18
- - **隐私优先**:你的记忆永远不会离开你的电脑
19
-
20
- ### Git 原生存储
21
-
22
- - **纯文本格式**:所有记忆都是带 YAML front matter 的 Markdown 文件
23
- - **版本控制**:像代码一样提交、分支、审查、回滚
24
- - **人类可读**:用任何文本编辑器浏览和编辑记忆
25
- - **团队友好**:通过 git 仓库共享记忆
26
-
27
- ### 工作原理
28
-
29
- ```
30
- 用户查询 → 本地嵌入模型 → 向量搜索 → 排序结果
31
- ↑ ↓
32
- 运行在 CPU LanceDB 索引
33
- (无需 GPU) (嵌入式数据库)
34
- ```
35
-
36
- 当你调用 `memory_load` 时,MemHub:
37
- 1. 使用本地量化模型将查询转换为向量
38
- 2. 在 LanceDB 索引中搜索语义相似的记忆
39
- 3. 返回带有相关性分数的排序结果
40
-
41
- 这意味着"测试框架偏好"可以找到关于"Vitest vs Jest 决策"的记忆——即使没有精确的关键词匹配。
42
-
43
- ---
44
-
45
- ## 核心特性
46
-
47
- - **语义搜索** — 基于 LanceDB 的向量相似度搜索
48
- - **本地嵌入** — 量化版 Transformers.js 模型,CPU 运行
49
- - **Markdown 存储** — 人类可读的 `.md` 文件,带 YAML front matter
50
- - **Git 友好** — 版本控制、diff、审查你的记忆
51
- - **MCP 协议** — 支持 Claude Code、Cursor、Cline、Windsurf 等
52
- - **一键配置** — `npx -y @synth-coder/memhub init`
53
-
54
- ---
55
-
56
- ## 快速开始
57
-
58
- ### 一键配置
59
-
60
- 使用一条命令为你的 AI 代理配置 MemHub:
61
-
62
- ```bash
63
- npx -y @synth-coder/memhub init
64
- ```
65
-
66
- 这将启动交互式提示选择你的代理。MemHub 会:
67
- 1. 将 MCP 服务器配置添加到代理的配置文件
68
- 2. 将 MemHub 使用说明添加到代理的规则文件
69
-
70
- **支持的代理:**
71
-
72
- | 代理 | 配置文件 | 指令文件 |
73
- |------|----------|----------|
74
- | Claude Code | `~/.claude/settings.json` | `~/.claude/CLAUDE.md` |
75
- | Cursor | `~/.cursor/mcp.json` | `~/.cursorrules` |
76
- | Cline | `~/.cline/mcp.json` | `~/.clinerules` |
77
- | Windsurf | `~/.codeium/windsurf/mcp_config.json` | `~/.windsurfrules` |
78
- | Factory Droid | `~/.factory/mcp.json` | `~/.factory/AGENTS.md` |
79
- | Gemini CLI | `~/.gemini/settings.json` | `~/.gemini/GEMINI.md` |
80
- | Codex | `~/.codex/config.toml` | `~/.codex/AGENTS.md` |
81
-
82
- ### CLI 选项
83
-
84
- ```bash
85
- # 交互式选择(全局 - 默认)
86
- npx -y @synth-coder/memhub init
87
-
88
- # 跳过交互式提示
89
- npx -y @synth-coder/memhub init -a claude-code
90
-
91
- # 仅配置当前项目(本地)
92
- npx -y @synth-coder/memhub init -a cursor -l
93
-
94
- # 更新现有配置
95
- npx -y @synth-coder/memhub init -a claude-code --force
96
- ```
97
-
98
- | 选项 | 说明 |
99
- |------|------|
100
- | `-a, --agent <名称>` | 代理类型(跳过交互式选择) |
101
- | `-l, --local` | 配置当前项目(默认:全局) |
102
- | `-f, --force` | 更新现有配置 |
103
-
104
- ---
105
-
106
- ## 作为 MCP Server 使用(stdio)
107
-
108
- ### 方式 A:npx 直接运行(推荐)
109
-
110
- ```bash
111
- npx -y @synth-coder/memhub
112
- ```
113
-
114
- > Windows 下不要在包名后再加 `memhub` 参数。
115
- > 如果出现“弹出源码 .js 文件”的情况,请升级到最新版本(`0.1.2+`)后重试。
116
-
1
+ # MemHub
2
+
3
+ 一个面向编码代理(Codex / Claude Code / OpenCode 等)的 **Git 友好记忆 MCP Server**。
4
+
5
+ MemHub 将“用户决策、长期偏好、可复用知识”保存为 **Markdown 文件 + YAML Front Matter**,便于人读、审查、版本管理和协作。
6
+
7
+ ---
8
+
9
+ ## 为什么用 MemHub
10
+
11
+ 大多数 AI 记忆工具依赖外部 API 或简单的关键词匹配。MemHub 不同:
12
+
13
+ ### 本地 AI 语义搜索
14
+
15
+ - **向量数据库**:基于 LanceDB 实现快速相似度搜索
16
+ - **本地嵌入模型**:量化版 Transformers.js 模型,完全在本地运行
17
+ - **零 API 成本**:无需外部服务、无需 API 密钥、无速率限制
18
+ - **隐私优先**:你的记忆永远不会离开你的电脑
19
+
20
+ ### Git 原生存储
21
+
22
+ - **纯文本格式**:所有记忆都是带 YAML front matter 的 Markdown 文件
23
+ - **版本控制**:像代码一样提交、分支、审查、回滚
24
+ - **人类可读**:用任何文本编辑器浏览和编辑记忆
25
+ - **团队友好**:通过 git 仓库共享记忆
26
+
27
+ ### 工作原理
28
+
29
+ ```
30
+ 用户查询 → 本地嵌入模型 → 向量搜索 → 排序结果
31
+ ↑ ↓
32
+ 运行在 CPU LanceDB 索引
33
+ (无需 GPU) (嵌入式数据库)
34
+ ```
35
+
36
+ 当你调用 `memory_load` 时,MemHub:
37
+ 1. 使用本地量化模型将查询转换为向量
38
+ 2. 在 LanceDB 索引中搜索语义相似的记忆
39
+ 3. 返回带有相关性分数的排序结果
40
+
41
+ 这意味着"测试框架偏好"可以找到关于"Vitest vs Jest 决策"的记忆——即使没有精确的关键词匹配。
42
+
43
+ ---
44
+
45
+ ## 核心特性
46
+
47
+ - **语义搜索** — 基于 LanceDB 的向量相似度搜索
48
+ - **本地嵌入** — 量化版 Transformers.js 模型,CPU 运行
49
+ - **Markdown 存储** — 人类可读的 `.md` 文件,带 YAML front matter
50
+ - **Git 友好** — 版本控制、diff、审查你的记忆
51
+ - **MCP 协议** — 支持 Claude Code、Cursor、Cline、Windsurf 等
52
+ - **一键配置** — `npx -y @synth-coder/memhub@latest init`
53
+
54
+ ---
55
+
56
+ ## 快速开始
57
+
58
+ ### 一键配置
59
+
60
+ 使用一条命令为你的 AI 代理配置 MemHub:
61
+
62
+ ```bash
63
+ npx -y @synth-coder/memhub@latest init
64
+ ```
65
+
66
+ 这将启动交互式提示选择你的代理。MemHub 会:
67
+ 1. 将 MCP 服务器配置添加到代理的配置文件
68
+ 2. 将 MemHub 使用说明添加到代理的规则文件
69
+
70
+ **支持的代理:**
71
+
72
+ | 代理 | 配置文件 | 指令文件 |
73
+ |------|----------|----------|
74
+ | Claude Code | `~/.claude/settings.json` | `~/.claude/CLAUDE.md` |
75
+ | Cursor | `~/.cursor/mcp.json` | `~/.cursorrules` |
76
+ | Cline | `~/.cline/mcp.json` | `~/.clinerules` |
77
+ | Windsurf | `~/.codeium/windsurf/mcp_config.json` | `~/.windsurfrules` |
78
+ | Factory Droid | `~/.factory/mcp.json` | `~/.factory/AGENTS.md` |
79
+ | Gemini CLI | `~/.gemini/settings.json` | `~/.gemini/GEMINI.md` |
80
+ | Codex | `~/.codex/config.toml` | `~/.codex/AGENTS.md` |
81
+
82
+ ### CLI 选项
83
+
84
+ ```bash
85
+ # 交互式选择(全局 - 默认)
86
+ npx -y @synth-coder/memhub@latest init
87
+
88
+ # 跳过交互式提示
89
+ npx -y @synth-coder/memhub@latest init -a claude-code
90
+
91
+ # 仅配置当前项目(本地)
92
+ npx -y @synth-coder/memhub@latest init -a cursor -l
93
+
94
+ # 更新现有配置
95
+ npx -y @synth-coder/memhub@latest init -a claude-code --force
96
+ ```
97
+
98
+ | 选项 | 说明 |
99
+ |------|------|
100
+ | `-a, --agent <名称>` | 代理类型(跳过交互式选择) |
101
+ | `-l, --local` | 配置当前项目(默认:全局) |
102
+ | `-f, --force` | 更新现有配置 |
103
+
104
+ ---
105
+
106
+ ## 作为 MCP Server 使用(stdio)
107
+
108
+ ### 方式 A:npx 直接运行(推荐)
109
+
110
+ ```bash
111
+ npx -y @synth-coder/memhub@latest
112
+ ```
113
+
114
+ > Windows 下不要在包名后再加 `memhub` 参数。
115
+ > 如果出现“弹出源码 .js 文件”的情况,请升级到最新版本(`0.1.2+`)后重试。
116
+
117
117
  在你的 MCP 客户端配置中添加:
118
-
119
- ```json
120
- {
121
- "mcpServers": {
122
- "memhub": {
123
- "command": "npx",
124
- "args": ["-y", "@synth-coder/memhub"],
125
- "env": {
126
- "MEMHUB_STORAGE_PATH": "/绝对路径/你的记忆目录",
127
- "MEMHUB_LOG_LEVEL": "info"
128
- }
129
- }
130
- }
131
- }
132
- ```
133
-
134
- ### 方式 B:本地仓库运行
135
-
136
- ```json
137
- {
138
- "mcpServers": {
139
- "memhub": {
140
- "command": "node",
141
- "args": ["dist/src/server/mcp-server.js"]
142
- }
143
- }
118
+
119
+ ```json
120
+ {
121
+ "mcpServers": {
122
+ "memhub": {
123
+ "command": "npx",
124
+ "args": ["-y", "@synth-coder/memhub@latest"],
125
+ "env": {
126
+ "MEMHUB_STORAGE_PATH": "/绝对路径/你的记忆目录",
127
+ "MEMHUB_LOG_LEVEL": "info"
128
+ }
129
+ }
130
+ }
144
131
  }
145
132
  ```
146
133
 
147
- ---
148
-
149
- ## 环境变量
150
-
151
- - `MEMHUB_STORAGE_PATH`:记忆存储目录(默认:`./memories`)
152
- - `MEMHUB_LOG_LEVEL`:日志级别(默认:`info`,可选:`debug|info|warn|error`)
153
-
154
- ---
155
-
156
- ## 记忆文件格式
157
-
158
- ```markdown
159
- ---
160
- id: "550e8400-e29b-41d4-a716-446655440000"
161
- created_at: "2026-03-03T08:00:00.000Z"
162
- updated_at: "2026-03-03T08:00:00.000Z"
163
- tags:
164
- - architecture
165
- - tdd
166
- category: "engineering"
167
- importance: 4
168
- ---
169
-
170
- # Contract-first MCP 设计
171
-
172
- 先定义工具契约与 schema,再进入实现。
173
- ```
174
-
175
- 文件名格式:
176
-
177
- ```text
178
- YYYY-MM-DD-title-slug.md
179
- ```
180
-
181
- ---
182
-
183
- ## MCP 工具列表
184
-
185
- > 详见 [docs/mcp-tools.md](docs/mcp-tools.md) 获取 API 参考。
186
-
187
- - `memory_load`:首轮加载短期记忆(STM)上下文
188
- - `memory_update`:末轮回写决策/偏好/知识/状态变化
189
-
190
- ---
134
+ 如果是 Codex(`~/.codex/config.toml`),请使用 TOML 键 `mcp_servers`:
191
135
 
192
- ## 开发说明
193
-
194
- ### 常用脚本
195
-
196
- ```bash
197
- npm run build
198
- npm run lint
199
- npm run typecheck
200
- npm run test
201
- npm run test:coverage
202
- npm run quality
136
+ ```toml
137
+ [mcp_servers.memhub]
138
+ command = "npx"
139
+ args = ["-y", "@synth-coder/memhub@latest"]
203
140
  ```
204
141
 
205
- ### 工程流程(默认)
206
-
207
- - 契约优先(先类型与 schema)
208
- - 严格 TDD(`红 -> 绿 -> 重构`)
209
- - 合并前必须通过质量门禁
210
- - 覆盖率阈值:**>= 80%**
211
-
212
- ---
213
-
214
- ## 项目结构
215
-
216
- ```text
217
- memhub/
218
- ├── docs/
219
- ├── src/
220
- │ ├── contracts/
221
- │ ├── server/
222
- │ ├── services/
223
- │ ├── storage/
224
- │ └── utils/
225
- ├── test/
226
- └── .github/workflows/
227
- ```
228
-
229
- ---
230
-
231
- ## 路线图
232
-
233
- - [x] 架构与契约设计
234
- - [x] 核心实现(storage/service/server)
235
- - [x] 质量门禁(lint/typecheck/test/coverage)
236
- - [x] CLI init 命令快速配置
237
- - [ ] 集成测试
238
- - [ ] 性能优化
239
- - [x] npm 发布(`@synth-coder/memhub@0.2.3`)
240
-
241
- ---
242
-
243
- ## License
244
-
245
- MIT
142
+ ### 方式 B:本地仓库运行
143
+
144
+ ```json
145
+ {
146
+ "mcpServers": {
147
+ "memhub": {
148
+ "command": "node",
149
+ "args": ["dist/src/server/mcp-server.js"]
150
+ }
151
+ }
152
+ }
153
+ ```
154
+
155
+ ---
156
+
157
+ ## 环境变量
158
+
159
+ - `MEMHUB_STORAGE_PATH`:记忆存储目录(默认:`./memories`)
160
+ - `MEMHUB_LOG_LEVEL`:日志级别(默认:`info`,可选:`debug|info|warn|error`)
161
+
162
+ ---
163
+
164
+ ## 记忆文件格式
165
+
166
+ ```markdown
167
+ ---
168
+ id: "550e8400-e29b-41d4-a716-446655440000"
169
+ created_at: "2026-03-03T08:00:00.000Z"
170
+ updated_at: "2026-03-03T08:00:00.000Z"
171
+ tags:
172
+ - architecture
173
+ - tdd
174
+ category: "engineering"
175
+ importance: 4
176
+ ---
177
+
178
+ # Contract-first MCP 设计
179
+
180
+ 先定义工具契约与 schema,再进入实现。
181
+ ```
182
+
183
+ 文件名格式:
184
+
185
+ ```text
186
+ YYYY-MM-DD-title-slug.md
187
+ ```
188
+
189
+ ---
190
+
191
+ ## MCP 工具列表
192
+
193
+ > 详见 [docs/mcp-tools.md](docs/mcp-tools.md) 获取 API 参考。
194
+
195
+ - `memory_load`:首轮加载短期记忆(STM)上下文
196
+ - `memory_update`:末轮回写决策/偏好/知识/状态变化
197
+
198
+ ---
199
+
200
+ ## 开发说明
201
+
202
+ ### 常用脚本
203
+
204
+ ```bash
205
+ npm run build
206
+ npm run lint
207
+ npm run typecheck
208
+ npm run test
209
+ npm run test:coverage
210
+ npm run quality
211
+ ```
212
+
213
+ ### 工程流程(默认)
214
+
215
+ - 契约优先(先类型与 schema)
216
+ - 严格 TDD(`红 -> 绿 -> 重构`)
217
+ - 合并前必须通过质量门禁
218
+ - 覆盖率阈值:**>= 80%**
219
+
220
+ ---
221
+
222
+ ## 项目结构
223
+
224
+ ```text
225
+ memhub/
226
+ ├── docs/
227
+ ├── src/
228
+ │ ├── contracts/
229
+ │ ├── server/
230
+ │ ├── services/
231
+ │ ├── storage/
232
+ │ └── utils/
233
+ ├── test/
234
+ └── .github/workflows/
235
+ ```
236
+
237
+ ---
238
+
239
+ ## 路线图
240
+
241
+ - [x] 架构与契约设计
242
+ - [x] 核心实现(storage/service/server)
243
+ - [x] 质量门禁(lint/typecheck/test/coverage)
244
+ - [x] CLI init 命令快速配置
245
+ - [ ] 集成测试
246
+ - [ ] 性能优化
247
+ - [x] npm 发布(`@synth-coder/memhub@0.2.5`)
248
+
249
+ ---
250
+
251
+ ## License
252
+
253
+ MIT
@@ -7,7 +7,6 @@ export { generateClineConfig } from './cline.js';
7
7
  export { generateWindsurfConfig } from './windsurf.js';
8
8
  export { generateFactoryDroidConfig } from './factory-droid.js';
9
9
  export { generateGeminiCliConfig } from './gemini-cli.js';
10
- export { generateCodexConfig } from './codex.js';
11
10
  import type { AgentType } from '../types.js';
12
11
  export type ConfigGenerator = (memhubPath: string) => Record<string, unknown>;
13
12
  export declare function getConfigGenerator(agentId: AgentType): ConfigGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,MAAM,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAY9E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,GAAG,eAAe,CAEtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQ7C,MAAM,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAW9E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,GAAG,eAAe,CAEtE"}
@@ -7,14 +7,12 @@ export { generateClineConfig } from './cline.js';
7
7
  export { generateWindsurfConfig } from './windsurf.js';
8
8
  export { generateFactoryDroidConfig } from './factory-droid.js';
9
9
  export { generateGeminiCliConfig } from './gemini-cli.js';
10
- export { generateCodexConfig } from './codex.js';
11
10
  import { generateCursorConfig } from './cursor.js';
12
11
  import { generateClaudeCodeConfig } from './claude-code.js';
13
12
  import { generateClineConfig } from './cline.js';
14
13
  import { generateWindsurfConfig } from './windsurf.js';
15
14
  import { generateFactoryDroidConfig } from './factory-droid.js';
16
15
  import { generateGeminiCliConfig } from './gemini-cli.js';
17
- import { generateCodexConfig } from './codex.js';
18
16
  const generators = {
19
17
  cursor: generateCursorConfig,
20
18
  'claude-code': generateClaudeCodeConfig,
@@ -22,7 +20,6 @@ const generators = {
22
20
  windsurf: generateWindsurfConfig,
23
21
  'factory-droid': generateFactoryDroidConfig,
24
22
  'gemini-cli': generateGeminiCliConfig,
25
- codex: generateCodexConfig,
26
23
  };
27
24
  export function getConfigGenerator(agentId) {
28
25
  return generators[agentId];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAIjD,MAAM,UAAU,GAAuC;IACrD,MAAM,EAAE,oBAAoB;IAC5B,aAAa,EAAE,wBAAwB;IACvC,KAAK,EAAE,mBAAmB;IAC1B,QAAQ,EAAE,sBAAsB;IAChC,eAAe,EAAE,0BAA0B;IAC3C,YAAY,EAAE,uBAAuB;IACrC,KAAK,EAAE,mBAAmB;CAC3B,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,OAAkB;IACnD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAI1D,MAAM,UAAU,GAAuC;IACrD,MAAM,EAAE,oBAAoB;IAC5B,aAAa,EAAE,wBAAwB;IACvC,KAAK,EAAE,mBAAmB;IAC1B,QAAQ,EAAE,sBAAsB;IAChC,eAAe,EAAE,0BAA0B;IAC3C,YAAY,EAAE,uBAAuB;CACtC,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,OAAkB;IACnD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAU,KAAK,SAAS,EAAE,KAAK,WAAW,EAAgB,MAAM,YAAY,CAAC;AAKpF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAsDjD;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAexE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAwG3D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAU,KAAK,SAAS,EAAE,KAAK,WAAW,EAAgB,MAAM,YAAY,CAAC;AAIpF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AA4BjD;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAexE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAuG3D"}
@@ -9,25 +9,6 @@ import * as p from '@clack/prompts';
9
9
  import { AGENTS, getAgentById } from './types.js';
10
10
  import { getConfigGenerator } from './agents/index.js';
11
11
  import { updateInstructionsContent } from './instructions.js';
12
- import { parse as parseToml, stringify as stringifyToml } from 'smol-toml';
13
- /**
14
- * Parse config file content based on format
15
- */
16
- function parseConfig(content, format) {
17
- if (format === 'toml') {
18
- return parseToml(content);
19
- }
20
- return JSON.parse(content);
21
- }
22
- /**
23
- * Stringify config to string based on format
24
- */
25
- function stringifyConfig(config, format) {
26
- if (format === 'toml') {
27
- return stringifyToml(config);
28
- }
29
- return JSON.stringify(config, null, 2);
30
- }
31
12
  /**
32
13
  * Merge memhub config into existing config
33
14
  * Preserves all existing servers, adds/updates memhub
@@ -90,17 +71,16 @@ export function initAgent(options) {
90
71
  const newConfig = generator(basePath);
91
72
  let finalConfig;
92
73
  // Check if config already exists
93
- const configFormat = agentConfig.configFormat;
94
74
  if (existsSync(configPath)) {
95
75
  if (force) {
96
76
  // Force: still merge, but this updates memhub entry
97
77
  try {
98
78
  const existingContent = readFileSync(configPath, 'utf-8');
99
- const existingConfig = parseConfig(existingContent, configFormat);
79
+ const existingConfig = JSON.parse(existingContent);
100
80
  finalConfig = mergeMcpConfig(existingConfig, newConfig);
101
81
  }
102
82
  catch {
103
- // Invalid config, use new config
83
+ // Invalid JSON, use new config
104
84
  finalConfig = newConfig;
105
85
  }
106
86
  }
@@ -108,7 +88,7 @@ export function initAgent(options) {
108
88
  // No force: check if memhub already exists
109
89
  try {
110
90
  const existingContent = readFileSync(configPath, 'utf-8');
111
- const existingConfig = parseConfig(existingContent, configFormat);
91
+ const existingConfig = JSON.parse(existingContent);
112
92
  const servers = existingConfig.mcpServers;
113
93
  if (servers && 'memhub' in servers) {
114
94
  return {
@@ -138,7 +118,7 @@ export function initAgent(options) {
138
118
  mkdirSync(instructionsDir, { recursive: true });
139
119
  }
140
120
  // Write MCP configuration
141
- writeFileSync(configPath, stringifyConfig(finalConfig, configFormat), 'utf-8');
121
+ writeFileSync(configPath, JSON.stringify(finalConfig, null, 2), 'utf-8');
142
122
  // Handle instructions file
143
123
  let existingContent = '';
144
124
  if (existsSync(instructionsPath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * CLI types and constants
3
3
  */
4
- export type AgentType = 'cursor' | 'claude-code' | 'cline' | 'windsurf' | 'factory-droid' | 'gemini-cli' | 'codex';
4
+ export type AgentType = 'cursor' | 'claude-code' | 'cline' | 'windsurf' | 'factory-droid' | 'gemini-cli';
5
5
  export interface AgentConfig {
6
6
  readonly id: AgentType;
7
7
  readonly name: string;
@@ -10,7 +10,7 @@ export interface AgentConfig {
10
10
  readonly configFile: string;
11
11
  /** Global config file path (relative to home directory) */
12
12
  readonly globalConfigFile: string;
13
- readonly configFormat: 'json' | 'markdown' | 'toml';
13
+ readonly configFormat: 'json' | 'markdown';
14
14
  /** Local instructions file path */
15
15
  readonly instructionsFile: string;
16
16
  /** Global instructions file path (relative to home directory) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,aAAa,GACb,OAAO,GACP,UAAU,GACV,eAAe,GACf,YAAY,GACZ,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACpD,mCAAmC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,iEAAiE;IACjE,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,UAAU,GAAG,OAAO,CAAC;CACnD;AAED,eAAO,MAAM,MAAM,EAAE,SAAS,WAAW,EA8E/B,CAAC;AAEX,wBAAgB,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAEnE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,aAAa,GACb,OAAO,GACP,UAAU,GACV,eAAe,GACf,YAAY,CAAC;AAEjB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAAC;IAC3C,mCAAmC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,iEAAiE;IACjE,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,UAAU,GAAG,OAAO,CAAC;CACnD;AAED,eAAO,MAAM,MAAM,EAAE,SAAS,WAAW,EAmE/B,CAAC;AAEX,wBAAgB,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAEnE"}