devmind 1.0.1 → 1.0.2

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 CHANGED
@@ -15,13 +15,17 @@
15
15
 
16
16
  A single workflow generates everything your AI needs to understand your project deeply.
17
17
 
18
- ## Features
19
-
20
- - **Unified Context Generation** - Single command for complete project understanding
21
- - **Context Slicing** - "Zoom in" on specific modules (`devmind context`)
22
- - **Multi-Database Support** - PostgreSQL, MySQL, SQLite, MongoDB, Firebase
23
- - **Memory System** - Checkpoints, `LEARN.md`, session history
24
- - **Evolution Tracking** - Track both schema and codebase changes over time
18
+ ## Features
19
+
20
+ - **Unified Context Generation** - Single command for complete project understanding
21
+ - **Context Health Check** - `devmind status` reports freshness and recommends next action
22
+ - **Context Slicing** - "Zoom in" on specific modules (`devmind context`)
23
+ - **Learning Audit** - `devmind audit` checks code coverage against recorded learnings
24
+ - **Learning Extraction** - `devmind extract` discovers reusable patterns from code and reports
25
+ - **Crash-Safe Autosave** - `devmind autosave` journals session state and applies learnings
26
+ - **Multi-Database Support** - PostgreSQL, MySQL, SQLite, MongoDB, Firebase
27
+ - **Memory System** - Checkpoints, `LEARN.md`, session history
28
+ - **Evolution Tracking** - Track both schema and codebase changes over time
25
29
  - **AI-Optimized Output** - Tailored for Claude, Cursor, Windsurf, and OpenClaw
26
30
 
27
31
  ## Quick Start
@@ -91,11 +95,58 @@ devmind checkpoint -m "Before refactoring auth"
91
95
  devmind history --unified
92
96
  ```
93
97
 
94
- ### Analyze Code-to-Database Usage
95
-
96
- ```bash
97
- devmind analyze -p ./my-project
98
- ```
98
+ ### Analyze Code-to-Database Usage
99
+
100
+ ```bash
101
+ devmind analyze -p ./my-project
102
+ ```
103
+
104
+ ### Context Health and Drift Recommendations
105
+
106
+ ```bash
107
+ # Show context freshness + recommended next command
108
+ devmind status
109
+
110
+ # Machine-readable preflight
111
+ devmind status --json
112
+ ```
113
+
114
+ ### Learning Quality Loop
115
+
116
+ ```bash
117
+ # Audit codebase coverage against LEARN.md
118
+ devmind audit
119
+
120
+ # Extract learning candidates to report
121
+ devmind extract
122
+
123
+ # Extract and append learnings to memory/LEARN.md
124
+ devmind extract --apply
125
+ ```
126
+
127
+ ### Crash-Safe Session Persistence
128
+
129
+ ```bash
130
+ # Persist session journal + context + extracted learnings
131
+ devmind autosave --source task-end
132
+
133
+ # Persist without extraction/apply
134
+ devmind autosave --no-extract
135
+ ```
136
+
137
+ ### Agent-First Session Flow
138
+
139
+ ```bash
140
+ # 1) Preflight
141
+ devmind status --json
142
+
143
+ # 2) If stale/missing, run recommendedCommand from status output
144
+ # 3) Re-check
145
+ devmind status --json
146
+
147
+ # 4) Do task, then autosave
148
+ devmind autosave --source task-end
149
+ ```
99
150
 
100
151
  ## Integration
101
152
 
@@ -113,21 +164,22 @@ See [OpenClaw Integration Skill](integrations/openclaw/SKILL.md) for agent instr
113
164
  ## Output Structure
114
165
 
115
166
  ```
116
- .devmind/
117
- ├── codebase/
118
- │ ├── codebase-overview.md
119
- │ ├── architecture.md
120
- │ └── modules/
167
+ .devmind/
168
+ ├── codebase/
169
+ │ ├── codebase-overview.md
170
+ │ ├── architecture.md
171
+ │ └── modules/
121
172
  ├── database/
122
173
  │ ├── schema-overview.md
123
174
  │ ├── schema.json
124
175
  │ └── ...
125
- ├── memory/
126
- │ ├── checkpoints/
127
- │ ├── LEARN.md # Persistent accumulated knowledge
128
- │ ├── schema-evolution.md
129
- │ ├── codebase-evolution.md
130
- └── session-history.md
176
+ ├── memory/
177
+ │ ├── checkpoints/
178
+ │ ├── LEARN.md # Persistent accumulated knowledge
179
+ │ ├── SESSION_JOURNAL.md # Incremental crash-safe journal
180
+ │ ├── schema-evolution.md
181
+ ├── codebase-evolution.md
182
+ │ └── session-history.md
131
183
  ├── analysis/
132
184
  │ ├── CODE_DB_MAPPING.md
133
185
  │ └── UNUSED_TABLES.md
package/dist/cli.js CHANGED
@@ -13,7 +13,7 @@ const program = new Command();
13
13
  program
14
14
  .name('devmind')
15
15
  .description('Unified developer assistant for database and codebase context')
16
- .version('1.0.1');
16
+ .version('1.0.2');
17
17
  // Database Commands
18
18
  program
19
19
  .command('init')
@@ -107,7 +107,19 @@ program
107
107
  if (runAll) {
108
108
  logger.success('Unified Generation Complete!');
109
109
  logger.info(`Context available in ${mergedOptions.output || '.devmind'}`);
110
+ logger.info('Session startup context:');
111
+ logger.info(` 1. Read ${(mergedOptions.output || '.devmind') + '/AGENTS.md'}`);
112
+ logger.info(` 2. Read ${(mergedOptions.output || '.devmind') + '/index.json'}`);
113
+ logger.info('Tip: run `devmind status` to verify freshness.');
110
114
  }
115
+ const { runAutosave } = await import('./commands/autosave.js');
116
+ await runAutosave({
117
+ output: mergedOptions.output || '.devmind',
118
+ path: mergedOptions.path || '.',
119
+ source: 'generate',
120
+ note: runAll ? 'Completed unified generation' : 'Completed generation',
121
+ silent: true,
122
+ });
111
123
  }
112
124
  catch (error) {
113
125
  logger.error('Generation failed', error);
@@ -156,7 +168,19 @@ program
156
168
  .option('--category <category>', 'Learning category')
157
169
  .option('-o, --output <dir>', 'Output directory', '.devmind')
158
170
  .option('--json', 'Output as JSON')
159
- .action(learn);
171
+ .action(async (learning, options) => {
172
+ await learn(learning, options);
173
+ if (!options.list && learning) {
174
+ const { runAutosave } = await import('./commands/autosave.js');
175
+ await runAutosave({
176
+ output: options.output || '.devmind',
177
+ path: '.',
178
+ source: 'learn',
179
+ note: `Added learning (${options.category || 'general'})`,
180
+ silent: true,
181
+ });
182
+ }
183
+ });
160
184
  program
161
185
  .command('history')
162
186
  .description('View session history')
@@ -176,6 +200,66 @@ program
176
200
  .action(async (options) => {
177
201
  const { analyze } = await import('./commands/analyze.js');
178
202
  await analyze(options);
203
+ const { runAutosave } = await import('./commands/autosave.js');
204
+ await runAutosave({
205
+ output: options.output || '.devmind',
206
+ path: options.path || '.',
207
+ source: 'analyze',
208
+ note: 'Completed code-to-database analysis',
209
+ silent: true,
210
+ });
211
+ });
212
+ program
213
+ .command('status')
214
+ .description('Show context status, freshness, and recommended next command')
215
+ .option('-o, --output <dir>', 'Output directory', '.devmind')
216
+ .option('-p, --path <path>', 'Codebase path', '.')
217
+ .option('--json', 'Output as JSON')
218
+ .action(async (options) => {
219
+ const { status } = await import('./commands/status.js');
220
+ await status(options);
221
+ });
222
+ program
223
+ .command('audit')
224
+ .description('Audit codebase coverage against recorded learnings')
225
+ .option('-o, --output <dir>', 'Output directory', '.devmind')
226
+ .option('-p, --path <path>', 'Codebase path', '.')
227
+ .option('--json', 'Output as JSON')
228
+ .action(async (options) => {
229
+ const { audit } = await import('./commands/audit.js');
230
+ await audit(options);
231
+ const { runAutosave } = await import('./commands/autosave.js');
232
+ await runAutosave({
233
+ output: options.output || '.devmind',
234
+ path: options.path || '.',
235
+ source: 'audit',
236
+ note: 'Completed learning audit',
237
+ silent: true,
238
+ });
239
+ });
240
+ program
241
+ .command('extract')
242
+ .description('Extract learning candidates from code and analysis artifacts')
243
+ .option('-o, --output <dir>', 'Output directory', '.devmind')
244
+ .option('-p, --path <path>', 'Codebase path', '.')
245
+ .option('--apply', 'Append extracted learnings to memory/LEARN.md')
246
+ .option('--json', 'Output as JSON')
247
+ .action(async (options) => {
248
+ const { extract } = await import('./commands/extract.js');
249
+ await extract(options);
250
+ });
251
+ program
252
+ .command('autosave')
253
+ .description('Persist session journal/context and auto-apply extracted learnings')
254
+ .option('-o, --output <dir>', 'Output directory', '.devmind')
255
+ .option('-p, --path <path>', 'Codebase path', '.')
256
+ .option('--source <source>', 'Autosave source label', 'manual')
257
+ .option('--note <note>', 'Autosave note')
258
+ .option('--no-extract', 'Skip extraction/apply step')
259
+ .option('--json', 'Output as JSON')
260
+ .action(async (options) => {
261
+ const { autosave } = await import('./commands/autosave.js');
262
+ await autosave(options);
179
263
  });
180
264
  // Codebase Commands
181
265
  program
@@ -213,6 +297,18 @@ program
213
297
  // Generate unified docs (CLAUDE.md, etc.)
214
298
  await generateUnifiedDocs(outputDir);
215
299
  logger.success('Scan complete!');
300
+ logger.info('Session startup context:');
301
+ logger.info(` 1. Read ${outputDir}/AGENTS.md`);
302
+ logger.info(` 2. Read ${outputDir}/index.json`);
303
+ logger.info('Tip: run `devmind status` to verify freshness.');
304
+ const { runAutosave } = await import('./commands/autosave.js');
305
+ await runAutosave({
306
+ output: outputDir,
307
+ path: options.path || '.',
308
+ source: 'scan',
309
+ note: 'Completed codebase scan',
310
+ silent: true,
311
+ });
216
312
  }
217
313
  catch (error) {
218
314
  logger.error('Failed to scan codebase', error);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,IAAI,EACJ,QAAQ,IAAI,gBAAgB,EAC5B,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,EACP,UAAU,EACV,KAAK,EACL,OAAO,EACP,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,+DAA+D,CAAC;KAC5E,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;KACpD,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,CAAC;KACzD,MAAM,CAAC,IAAI,CAAC,CAAC;AAEhB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;KACpD,MAAM,CAAC,aAAa,EAAE,4BAA4B,CAAC;KACnD,MAAM,CAAC,SAAS,EAAE,qBAAqB,CAAC;KACxC,MAAM,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;KAChE,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;KACjE,MAAM,CAAC,kBAAkB,EAAE,uCAAuC,CAAC;KACnE,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,EAAE,UAAU,CAAC;KACzE,MAAM,CAAC,OAAO,EAAE,+CAA+C,CAAC;KAChE,MAAM,CAAC,QAAQ,EAAE,gCAAgC,CAAC;KAClD,MAAM,CAAC,MAAM,EAAE,0CAA0C,CAAC;KAC1D,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,GAAG,CAAC;KAC/D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,mCAAmC;QACnC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAChE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAE5E,IAAI,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAElD,2DAA2D;QAC3D,MAAM,aAAa,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC;QAErD,mDAAmD;QACnD,IAAI,gBAAgB,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,WAAW,CAAC,WAAW,CAAC;QAC1F,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACvF,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9D,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,+BAA+B,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxF,gBAAgB,GAAG,WAAW,CAAC;gBAE/B,uBAAuB;gBACvB,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;gBAC3D,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,gBAAgB,EAAE,CAAC;YACrB,aAAa,CAAC,GAAG,GAAG,gBAAgB,CAAC;QACvC,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;YAC/E,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1C,MAAM,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC;QACjC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,IAAI,MAAM,CAAC;QAC7C,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,IAAI,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAE5E,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,UAAU,EAAE,UAAU,CAAC,CAAC;YAC9E,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;YAC7B,MAAM,SAAS,GAAG,EAAE,GAAG,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YAC5D,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,IAAI,UAAU,CAAC;YAErD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC3D,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAC/D,MAAM,cAAc,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAEhD,oCAAoC;YACpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;gBAC1C,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7D,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAEzD,MAAM,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE;oBAC3C,YAAY;oBACZ,aAAa;iBACd,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAE3D,MAAM,MAAM,CAAC,uBAAuB,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,qCAAsC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/E,CAAC;YAED,wBAAwB;YACxB,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAErC,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,wBAAwB,aAAa,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAc,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,UAAU,EAAE,wBAAwB,CAAC;KAC5C,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,CAAC;KAC5D,MAAM,CAAC,KAAK,CAAC,CAAC;AAEjB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,uBAAuB,EAAE,eAAe,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,IAAI,CAAC,CAAC;AAEhB,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,UAAU,EAAE,8BAA8B,CAAC;KAClD,MAAM,CAAC,eAAe,EAAE,8BAA8B,CAAC;KACvD,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;KAC3C,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,CAAC;KAC5D,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;KAC5C,MAAM,CAAC,OAAO,CAAC,CAAC;AAEnB,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;KAChD,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;KACxC,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;KACvD,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,UAAU,CAAC,CAAC;AAEtB,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC;KACtC,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;KACpD,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEjB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,YAAY,EAAE,gCAAgC,CAAC;KACtD,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAAC;KAC9C,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC;KACzD,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;KACpD,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,OAAO,CAAC,CAAC;AAEnB,oBAAoB;AACpB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,GAAG,CAAC;KACzD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC1D,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEL,oBAAoB;AACpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,mBAAmB,EAAE,cAAc,EAAE,GAAG,CAAC;KAChD,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;QAE/C,MAAM,CAAC,IAAI,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3D,yGAAyG;QACzG,yDAAyD;QACzD,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC/D,MAAM,cAAc,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAEhD,oCAAoC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7D,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEzD,MAAM,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE;gBAC3C,YAAY;gBACZ,aAAa;aACd,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAE3D,MAAM,MAAM,CAAC,uBAAuB,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,qCAAsC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,0CAA0C;QAC1C,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAErC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAc,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;KAC5C,MAAM,CAAC,kBAAkB,EAAE,cAAc,CAAC;KAC1C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC1D,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ interface AuditOptions {
2
+ output?: string;
3
+ path?: string;
4
+ json?: boolean;
5
+ }
6
+ export declare function audit(options: AuditOptions): Promise<void>;
7
+ export {};
@@ -0,0 +1,165 @@
1
+ import * as path from 'path';
2
+ import * as fs from 'fs';
3
+ import { glob } from 'glob';
4
+ import { logger, ensureDir, readFileSafe, writeFileSafe } from '../core/index.js';
5
+ const STOPWORDS = new Set([
6
+ 'with',
7
+ 'from',
8
+ 'that',
9
+ 'this',
10
+ 'always',
11
+ 'never',
12
+ 'should',
13
+ 'would',
14
+ 'could',
15
+ 'must',
16
+ 'using',
17
+ 'across',
18
+ 'before',
19
+ 'after',
20
+ 'where',
21
+ 'when',
22
+ 'then',
23
+ 'they',
24
+ 'them',
25
+ 'into',
26
+ 'your',
27
+ 'ours',
28
+ 'their',
29
+ 'have',
30
+ 'has',
31
+ 'will',
32
+ 'been',
33
+ 'make',
34
+ 'more',
35
+ 'less',
36
+ ]);
37
+ function parseLearnings(content) {
38
+ const sections = content
39
+ .split('\n---')
40
+ .map((section) => section.trim())
41
+ .filter((section) => section.startsWith('## '));
42
+ const parsed = [];
43
+ for (const section of sections) {
44
+ const lines = section.split('\n').filter((line) => line.trim().length > 0);
45
+ const header = lines[0].replace(/^##\s+/, '');
46
+ const match = header.match(/^(.+?)\s+-\s+(.+)$/);
47
+ if (!match)
48
+ continue;
49
+ parsed.push({
50
+ timestamp: match[1].trim(),
51
+ category: match[2].trim(),
52
+ content: lines.slice(1).join(' ').trim(),
53
+ });
54
+ }
55
+ return parsed;
56
+ }
57
+ function buildKeywords(text) {
58
+ const tokens = text
59
+ .toLowerCase()
60
+ .replace(/[^a-z0-9_\s-]/g, ' ')
61
+ .split(/\s+/)
62
+ .map((token) => token.trim())
63
+ .filter((token) => token.length >= 4 && !STOPWORDS.has(token));
64
+ return [...new Set(tokens)].slice(0, 6);
65
+ }
66
+ function hasKeywordCoverage(content, keywords) {
67
+ const lc = content.toLowerCase();
68
+ let hits = 0;
69
+ for (const keyword of keywords) {
70
+ if (lc.includes(keyword))
71
+ hits += 1;
72
+ if (hits >= 2)
73
+ return true;
74
+ }
75
+ return false;
76
+ }
77
+ export async function audit(options) {
78
+ const outputDir = options.output || '.devmind';
79
+ const rootPath = path.resolve(options.path || '.');
80
+ const learnPath = path.join(outputDir, 'memory', 'LEARN.md');
81
+ if (!fs.existsSync(learnPath)) {
82
+ logger.error(`Learning file not found: ${learnPath}`);
83
+ logger.info('Run: devmind learn "..." or devmind extract --apply');
84
+ return;
85
+ }
86
+ const learnContent = await readFileSafe(learnPath);
87
+ const learnings = parseLearnings(learnContent);
88
+ if (learnings.length === 0) {
89
+ logger.warn('No learnings found to audit.');
90
+ return;
91
+ }
92
+ const files = await glob('**/*.{ts,tsx,js,jsx,py,go,java,rb,php,rs}', {
93
+ cwd: rootPath,
94
+ ignore: ['node_modules/**', '.git/**', '.devmind/**', 'dist/**', 'build/**'],
95
+ nodir: true,
96
+ });
97
+ const fileContents = new Map();
98
+ for (const relPath of files) {
99
+ const absPath = path.join(rootPath, relPath);
100
+ try {
101
+ fileContents.set(relPath, fs.readFileSync(absPath, 'utf-8'));
102
+ }
103
+ catch {
104
+ // Ignore unreadable files.
105
+ }
106
+ }
107
+ const results = [];
108
+ for (const learning of learnings) {
109
+ const keywords = buildKeywords(learning.content);
110
+ const matchedFiles = [];
111
+ if (keywords.length > 0) {
112
+ for (const [relPath, content] of fileContents.entries()) {
113
+ if (hasKeywordCoverage(content, keywords)) {
114
+ matchedFiles.push(relPath);
115
+ if (matchedFiles.length >= 5)
116
+ break;
117
+ }
118
+ }
119
+ }
120
+ results.push({
121
+ learning,
122
+ status: matchedFiles.length > 0 ? 'covered' : 'needs-review',
123
+ matchedFiles,
124
+ });
125
+ }
126
+ const covered = results.filter((r) => r.status === 'covered').length;
127
+ const needsReview = results.length - covered;
128
+ const reportPath = path.join(outputDir, 'analysis', 'AUDIT_REPORT.md');
129
+ await ensureDir(path.dirname(reportPath));
130
+ let report = '# Learning Audit Report\n\n';
131
+ report += `Generated: ${new Date().toISOString()}\n\n`;
132
+ report += `- Total learnings: ${results.length}\n`;
133
+ report += `- Covered: ${covered}\n`;
134
+ report += `- Needs review: ${needsReview}\n\n`;
135
+ for (const item of results) {
136
+ report += `## ${item.status === 'covered' ? 'Covered' : 'Needs Review'} - ${item.learning.category}\n\n`;
137
+ report += `${item.learning.content}\n\n`;
138
+ if (item.matchedFiles.length > 0) {
139
+ report += 'Matched files:\n';
140
+ for (const file of item.matchedFiles) {
141
+ report += `- \`${file}\`\n`;
142
+ }
143
+ report += '\n';
144
+ }
145
+ else {
146
+ report += 'Matched files: none\n\n';
147
+ }
148
+ }
149
+ await writeFileSafe(reportPath, report);
150
+ if (options.json) {
151
+ console.log(JSON.stringify({
152
+ total: results.length,
153
+ covered,
154
+ needsReview,
155
+ report: reportPath,
156
+ }, null, 2));
157
+ return;
158
+ }
159
+ logger.info('Learning audit complete.');
160
+ logger.info(`Total: ${results.length}`);
161
+ logger.info(`Covered: ${covered}`);
162
+ logger.info(`Needs review: ${needsReview}`);
163
+ logger.info(`Report: ${reportPath}`);
164
+ }
165
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ interface AutosaveOptions {
2
+ output?: string;
3
+ path?: string;
4
+ source?: string;
5
+ note?: string;
6
+ noExtract?: boolean;
7
+ extract?: boolean;
8
+ json?: boolean;
9
+ silent?: boolean;
10
+ }
11
+ interface AutosaveResult {
12
+ journalPath: string;
13
+ sessionContextPath: string;
14
+ extracted: number;
15
+ applied: boolean;
16
+ }
17
+ export declare function runAutosave(options: AutosaveOptions): Promise<AutosaveResult>;
18
+ export declare function autosave(options: AutosaveOptions): Promise<void>;
19
+ export {};
@@ -0,0 +1,85 @@
1
+ import * as path from 'path';
2
+ import { ensureDir, readFileSafe, writeFileSafe, logger } from '../core/index.js';
3
+ import { runExtraction } from './extract.js';
4
+ function createSessionId() {
5
+ return `sess_${Date.now()}`;
6
+ }
7
+ async function appendJournal(outputDir, source, note) {
8
+ const journalPath = path.join(outputDir, 'memory', 'SESSION_JOURNAL.md');
9
+ await ensureDir(path.dirname(journalPath));
10
+ let existing = '';
11
+ try {
12
+ existing = await readFileSafe(journalPath);
13
+ }
14
+ catch {
15
+ existing = '# Session Journal\n\n> Incremental execution journal for crash-safe recovery.\n\n';
16
+ }
17
+ const line = `- ${new Date().toISOString()} | ${source}${note ? ` | ${note}` : ''}\n`;
18
+ await writeFileSafe(journalPath, `${existing}${line}`);
19
+ return journalPath;
20
+ }
21
+ async function updateSessionContext(outputDir, source, note) {
22
+ const contextPath = path.join(outputDir, 'context', 'SESSION_CONTEXT.json');
23
+ await ensureDir(path.dirname(contextPath));
24
+ let context = {};
25
+ try {
26
+ const existing = await readFileSafe(contextPath);
27
+ context = JSON.parse(existing);
28
+ }
29
+ catch {
30
+ context = {};
31
+ }
32
+ const now = new Date().toISOString();
33
+ context.session = {
34
+ id: context.session?.id || createSessionId(),
35
+ ...context.session,
36
+ lastAutosaveAt: now,
37
+ lastAutosaveSource: source,
38
+ };
39
+ context.state = {
40
+ ...context.state,
41
+ lastAction: note || source,
42
+ };
43
+ await writeFileSafe(contextPath, JSON.stringify(context, null, 2));
44
+ return contextPath;
45
+ }
46
+ export async function runAutosave(options) {
47
+ const outputDir = options.output || '.devmind';
48
+ const source = options.source || 'manual';
49
+ const skipExtract = options.noExtract || options.extract === false;
50
+ const journalPath = await appendJournal(outputDir, source, options.note);
51
+ const sessionContextPath = await updateSessionContext(outputDir, source, options.note);
52
+ let extracted = 0;
53
+ let applied = false;
54
+ if (!skipExtract) {
55
+ const extractResult = await runExtraction({
56
+ output: outputDir,
57
+ path: options.path || '.',
58
+ apply: true,
59
+ silent: true,
60
+ });
61
+ extracted = extractResult.extracted;
62
+ applied = extractResult.applied;
63
+ }
64
+ return {
65
+ journalPath,
66
+ sessionContextPath,
67
+ extracted,
68
+ applied,
69
+ };
70
+ }
71
+ export async function autosave(options) {
72
+ const result = await runAutosave(options);
73
+ if (options.json) {
74
+ console.log(JSON.stringify(result, null, 2));
75
+ return;
76
+ }
77
+ if (!options.silent) {
78
+ logger.info('Autosave complete.');
79
+ logger.info(`Journal: ${result.journalPath}`);
80
+ logger.info(`Session context: ${result.sessionContextPath}`);
81
+ logger.info(`Learnings extracted: ${result.extracted}`);
82
+ logger.info(`Applied to LEARN.md: ${result.applied ? 'yes' : 'no'}`);
83
+ }
84
+ }
85
+ //# sourceMappingURL=autosave.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autosave.js","sourceRoot":"","sources":["../../src/commands/autosave.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ interface ExtractOptions {
2
+ output?: string;
3
+ path?: string;
4
+ apply?: boolean;
5
+ json?: boolean;
6
+ silent?: boolean;
7
+ }
8
+ export interface ExtractedLearning {
9
+ category: string;
10
+ content: string;
11
+ }
12
+ export interface ExtractResult {
13
+ extracted: number;
14
+ report: string;
15
+ applied: boolean;
16
+ learnPath: string | null;
17
+ }
18
+ export declare function runExtraction(options: ExtractOptions): Promise<ExtractResult>;
19
+ export declare function extract(options: ExtractOptions): Promise<void>;
20
+ export {};
@@ -0,0 +1,168 @@
1
+ import * as path from 'path';
2
+ import * as fs from 'fs';
3
+ import { glob } from 'glob';
4
+ import { logger, ensureDir, writeFileSafe, readFileSafe } from '../core/index.js';
5
+ function normalizeSentence(input) {
6
+ return input.trim().replace(/\s+/g, ' ').replace(/[.;:,]+$/, '');
7
+ }
8
+ function inferCategory(content) {
9
+ const lc = content.toLowerCase();
10
+ if (lc.includes('index') || lc.includes('query') || lc.includes('sql'))
11
+ return 'database';
12
+ if (lc.includes('cache') || lc.includes('latency') || lc.includes('batch'))
13
+ return 'performance';
14
+ if (lc.includes('auth') || lc.includes('permission') || lc.includes('tenant'))
15
+ return 'security';
16
+ if (lc.includes('module') || lc.includes('service') || lc.includes('layer'))
17
+ return 'architecture';
18
+ return 'codebase';
19
+ }
20
+ function collectFromAnalysisFiles(content) {
21
+ const lines = content.split('\n').map((line) => line.trim());
22
+ const output = [];
23
+ for (const line of lines) {
24
+ if (!line || line.startsWith('#') || line.startsWith('>'))
25
+ continue;
26
+ if (line.startsWith('- [ ]'))
27
+ continue;
28
+ if (!line.startsWith('- '))
29
+ continue;
30
+ const clean = normalizeSentence(line.replace(/^-+\s*/, ''));
31
+ if (clean.length < 20)
32
+ continue;
33
+ output.push({
34
+ category: inferCategory(clean),
35
+ content: clean,
36
+ });
37
+ }
38
+ return output;
39
+ }
40
+ function collectFromSourceComments(content) {
41
+ const output = [];
42
+ const patterns = [
43
+ /(?:TODO|NOTE|IMPORTANT|WARNING)\s*[:\-]\s*(.+)/gi,
44
+ /@decision\s+(.+)/gi,
45
+ /@pattern\s+(.+)/gi,
46
+ ];
47
+ for (const pattern of patterns) {
48
+ const matches = content.matchAll(pattern);
49
+ for (const match of matches) {
50
+ const text = normalizeSentence(match[1] || '');
51
+ if (text.length < 20)
52
+ continue;
53
+ output.push({
54
+ category: inferCategory(text),
55
+ content: text,
56
+ });
57
+ }
58
+ }
59
+ return output;
60
+ }
61
+ function dedupeLearnings(items) {
62
+ const seen = new Set();
63
+ const output = [];
64
+ for (const item of items) {
65
+ const key = item.content.toLowerCase();
66
+ if (seen.has(key))
67
+ continue;
68
+ seen.add(key);
69
+ output.push(item);
70
+ }
71
+ return output;
72
+ }
73
+ async function appendToLearnFile(outputDir, learnings) {
74
+ const learnPath = path.join(outputDir, 'memory', 'LEARN.md');
75
+ await ensureDir(path.dirname(learnPath));
76
+ let existing = '';
77
+ try {
78
+ existing = await readFileSafe(learnPath);
79
+ }
80
+ catch {
81
+ existing =
82
+ '# Project Learnings\n\n> Accumulated technical learnings, architectural decisions, and discovered patterns.\n\n';
83
+ }
84
+ let block = '';
85
+ const timestamp = new Date().toISOString();
86
+ for (const item of learnings) {
87
+ block += `## ${timestamp} - ${item.category}\n\n${item.content}\n\n---\n`;
88
+ }
89
+ await writeFileSafe(learnPath, `${existing}${block}`);
90
+ return learnPath;
91
+ }
92
+ export async function runExtraction(options) {
93
+ const outputDir = options.output || '.devmind';
94
+ const rootPath = path.resolve(options.path || '.');
95
+ const candidates = [];
96
+ const analysisDir = path.join(outputDir, 'analysis');
97
+ const analysisFiles = ['CODE_DB_MAPPING.md', 'UNUSED_TABLES.md', 'AUDIT_REPORT.md'];
98
+ for (const file of analysisFiles) {
99
+ const filePath = path.join(analysisDir, file);
100
+ if (!fs.existsSync(filePath))
101
+ continue;
102
+ try {
103
+ const content = await readFileSafe(filePath);
104
+ candidates.push(...collectFromAnalysisFiles(content));
105
+ }
106
+ catch {
107
+ // ignore unreadable files
108
+ }
109
+ }
110
+ const sourceFiles = await glob('**/*.{ts,tsx,js,jsx,py,go,java,rb,php,rs}', {
111
+ cwd: rootPath,
112
+ ignore: ['node_modules/**', '.git/**', '.devmind/**', 'dist/**', 'build/**'],
113
+ nodir: true,
114
+ });
115
+ for (const relPath of sourceFiles) {
116
+ const fullPath = path.join(rootPath, relPath);
117
+ try {
118
+ const content = fs.readFileSync(fullPath, 'utf-8');
119
+ candidates.push(...collectFromSourceComments(content));
120
+ }
121
+ catch {
122
+ // ignore unreadable files
123
+ }
124
+ }
125
+ const extracted = dedupeLearnings(candidates).slice(0, 25);
126
+ const reportPath = path.join(outputDir, 'analysis', 'EXTRACTED_LEARNINGS.md');
127
+ await ensureDir(path.dirname(reportPath));
128
+ let report = '# Extracted Learnings\n\n';
129
+ report += `Generated: ${new Date().toISOString()}\n\n`;
130
+ if (extracted.length === 0) {
131
+ report += 'No learning candidates were extracted.\n';
132
+ }
133
+ else {
134
+ for (const item of extracted) {
135
+ report += `## ${item.category}\n\n${item.content}\n\n`;
136
+ }
137
+ }
138
+ await writeFileSafe(reportPath, report);
139
+ let learnPath = null;
140
+ if (options.apply && extracted.length > 0) {
141
+ learnPath = await appendToLearnFile(outputDir, extracted);
142
+ }
143
+ return {
144
+ extracted: extracted.length,
145
+ report: reportPath,
146
+ applied: !!options.apply,
147
+ learnPath,
148
+ };
149
+ }
150
+ export async function extract(options) {
151
+ const result = await runExtraction(options);
152
+ if (options.json) {
153
+ console.log(JSON.stringify(result, null, 2));
154
+ return;
155
+ }
156
+ if (!options.silent) {
157
+ logger.info('Extraction complete.');
158
+ logger.info(`Extracted learnings: ${result.extracted}`);
159
+ logger.info(`Report: ${result.report}`);
160
+ if (result.learnPath) {
161
+ logger.info(`Appended to: ${result.learnPath}`);
162
+ }
163
+ else if (result.extracted > 0) {
164
+ logger.info('Use --apply to append extracted learnings to memory/LEARN.md');
165
+ }
166
+ }
167
+ }
168
+ //# sourceMappingURL=extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/commands/extract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ interface StatusOptions {
2
+ output?: string;
3
+ path?: string;
4
+ json?: boolean;
5
+ }
6
+ export declare function status(options: StatusOptions): Promise<void>;
7
+ export {};
@@ -0,0 +1,112 @@
1
+ import * as path from 'path';
2
+ import * as fs from 'fs';
3
+ import { glob } from 'glob';
4
+ import { logger, readFileSafe } from '../core/index.js';
5
+ function latestMtimeMs(paths) {
6
+ let latest = null;
7
+ for (const filePath of paths) {
8
+ if (!fs.existsSync(filePath))
9
+ continue;
10
+ const mtime = fs.statSync(filePath).mtimeMs;
11
+ if (latest === null || mtime > latest) {
12
+ latest = mtime;
13
+ }
14
+ }
15
+ return latest;
16
+ }
17
+ async function getSourceLastModifiedMs(rootPath) {
18
+ const files = await glob('**/*.{ts,tsx,js,jsx,py,go,java,rb,php,rs}', {
19
+ cwd: rootPath,
20
+ ignore: ['node_modules/**', '.git/**', '.devmind/**', 'dist/**', 'build/**'],
21
+ nodir: true,
22
+ });
23
+ let latest = null;
24
+ for (const relPath of files) {
25
+ const fullPath = path.join(rootPath, relPath);
26
+ try {
27
+ const stat = fs.statSync(fullPath);
28
+ if (latest === null || stat.mtimeMs > latest) {
29
+ latest = stat.mtimeMs;
30
+ }
31
+ }
32
+ catch {
33
+ // Ignore files that disappeared during scan.
34
+ }
35
+ }
36
+ return latest;
37
+ }
38
+ async function getLastGeneratedTimestamp(contextIndexPath, contextFiles) {
39
+ if (fs.existsSync(contextIndexPath)) {
40
+ try {
41
+ const indexContent = await readFileSafe(contextIndexPath);
42
+ const parsed = JSON.parse(indexContent);
43
+ if (parsed.timestamp) {
44
+ const ts = new Date(parsed.timestamp).getTime();
45
+ if (!Number.isNaN(ts))
46
+ return ts;
47
+ }
48
+ }
49
+ catch {
50
+ // Fall back to file mtime.
51
+ }
52
+ }
53
+ return latestMtimeMs(contextFiles);
54
+ }
55
+ function chooseRecommendation(files, stale) {
56
+ if (!files.agents || !files.index)
57
+ return 'devmind generate --all';
58
+ if (!files.schema)
59
+ return 'devmind generate --db';
60
+ if (!files.overview)
61
+ return 'devmind scan';
62
+ if (stale)
63
+ return 'devmind generate --all';
64
+ return 'None (context is up to date)';
65
+ }
66
+ export async function status(options) {
67
+ const outputDir = options.output || '.devmind';
68
+ const rootPath = path.resolve(options.path || '.');
69
+ const agentsPath = path.join(outputDir, 'AGENTS.md');
70
+ const indexPath = path.join(outputDir, 'index.json');
71
+ const schemaPath = path.join(outputDir, 'database', 'schema.json');
72
+ const overviewPath = path.join(outputDir, 'codebase', 'codebase-overview.md');
73
+ const files = {
74
+ agents: fs.existsSync(agentsPath),
75
+ index: fs.existsSync(indexPath),
76
+ schema: fs.existsSync(schemaPath),
77
+ overview: fs.existsSync(overviewPath),
78
+ };
79
+ const contextFiles = [agentsPath, indexPath, schemaPath, overviewPath];
80
+ const generatedMs = await getLastGeneratedTimestamp(indexPath, contextFiles);
81
+ const sourceMs = await getSourceLastModifiedMs(rootPath);
82
+ const stale = !files.agents ||
83
+ !files.index ||
84
+ generatedMs === null ||
85
+ (sourceMs !== null && sourceMs > generatedMs);
86
+ const result = {
87
+ outputDir,
88
+ rootPath,
89
+ files,
90
+ lastGeneratedAt: generatedMs ? new Date(generatedMs).toISOString() : null,
91
+ stale,
92
+ sourceLastModifiedAt: sourceMs ? new Date(sourceMs).toISOString() : null,
93
+ recommendedCommand: chooseRecommendation(files, stale),
94
+ };
95
+ if (options.json) {
96
+ console.log(JSON.stringify(result, null, 2));
97
+ return;
98
+ }
99
+ logger.info('DevMind Status');
100
+ logger.info(`Output directory: ${result.outputDir}`);
101
+ logger.info(`Root path: ${result.rootPath}`);
102
+ logger.info(`Context detected: ${result.files.agents && result.files.index ? 'yes' : 'no'}`);
103
+ logger.info(`- AGENTS.md: ${result.files.agents ? 'found' : 'missing'}`);
104
+ logger.info(`- index.json: ${result.files.index ? 'found' : 'missing'}`);
105
+ logger.info(`- schema.json: ${result.files.schema ? 'found' : 'missing'}`);
106
+ logger.info(`- codebase-overview.md: ${result.files.overview ? 'found' : 'missing'}`);
107
+ logger.info(`Last generated: ${result.lastGeneratedAt || 'unknown'}`);
108
+ logger.info(`Last source change: ${result.sourceLastModifiedAt || 'unknown'}`);
109
+ logger.info(`Context freshness: ${result.stale ? 'stale' : 'fresh'}`);
110
+ logger.info(`Recommended command: ${result.recommendedCommand}`);
111
+ }
112
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAuBxD,SAAS,aAAa,CAAC,KAAe;IACpC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QACvC,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;QAC5C,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;YACtC,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,QAAgB;IACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,2CAA2C,EAAE;QACpE,GAAG,EAAE,QAAQ;QACb,MAAM,EAAE,CAAC,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC;QAC5E,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC;gBAC7C,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,gBAAwB,EAAE,YAAsB;IACvF,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAA2B,CAAC;YAClE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAE,OAAO,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA6B,EAAE,KAAc;IACzE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,wBAAwB,CAAC;IACnE,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,uBAAuB,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,cAAc,CAAC;IAC3C,IAAI,KAAK;QAAE,OAAO,wBAAwB,CAAC;IAC3C,OAAO,8BAA8B,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAsB;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;IAEnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QACjC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAC/B,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QACjC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;KACtC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAEzD,MAAM,KAAK,GACT,CAAC,KAAK,CAAC,MAAM;QACb,CAAC,KAAK,CAAC,KAAK;QACZ,WAAW,KAAK,IAAI;QACpB,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAkB;QAC5B,SAAS;QACT,QAAQ;QACR,KAAK;QACL,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;QACzE,KAAK;QACL,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;QACxE,kBAAkB,EAAE,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC;KACvD,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9B,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7F,MAAM,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACtF,MAAM,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,eAAe,IAAI,SAAS,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,oBAAoB,IAAI,SAAS,EAAE,CAAC,CAAC;IAC/E,MAAM,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC;AACnE,CAAC"}
@@ -12,6 +12,7 @@ import { jsonSuccess, jsonError, outputJson, isJsonMode } from '../utils/json-ou
12
12
  import * as fs from 'fs'; // Keep fs for existsSync checks
13
13
  import { fileURLToPath } from 'url';
14
14
  import { ensureWorkspaceAgentsBootstrap } from '../../generators/unified.js';
15
+ import { runAutosave } from '../../commands/autosave.js';
15
16
  function resolveTemplatesDir() {
16
17
  const commandDir = path.dirname(fileURLToPath(import.meta.url));
17
18
  const packagedPath = path.resolve(commandDir, '..', 'templates');
@@ -256,7 +257,16 @@ export async function generate(options) {
256
257
  logger.info('Next steps:');
257
258
  logger.info(' 1. Review detected patterns in context/BUSINESS_LOGIC.md');
258
259
  logger.info(' 2. Your AI now has persistent memory across sessions');
259
- logger.info(' 3. Commit to version control');
260
+ logger.info(' 3. Read AGENTS.md and index.json at session start');
261
+ logger.info(' 4. Run `devmind status` to verify context freshness');
262
+ logger.info(' 5. Commit to version control');
263
+ await runAutosave({
264
+ output: outputDir,
265
+ path: '.',
266
+ source: 'database-generate',
267
+ note: 'Completed database context generation',
268
+ silent: true,
269
+ });
260
270
  }
261
271
  catch (error) {
262
272
  if (isJsonMode(options)) {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/database/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/database/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -231,7 +231,7 @@ ${schema.tables.map((t) => `- ${t.name} (${t.columns.length} columns)`).join('\n
231
231
  sessionId: `session-${Date.now()}`,
232
232
  timestamp: new Date().toISOString(),
233
233
  schemaHash: this.calculateSchemaHash(schema),
234
- schemaVersion: '1.0.1',
234
+ schemaVersion: '1.0.2',
235
235
  recentChanges: [],
236
236
  pendingQueries: [],
237
237
  discoveries: [
@@ -78,11 +78,23 @@ ${learnings || '(No learnings recorded)'}
78
78
  <tool name="devmind-scan">
79
79
  <description>Scan codebase structure and generate QMD summary.</description>
80
80
  </tool>
81
- <tool name="devmind-analyze">
82
- <description>Analyze code-to-database usage patterns.</description>
83
- </tool>
84
- <tool name="devmind-learn">
85
- <description>Save a new technical learning, pattern, or architectural decision to LEARN.md.</description>
81
+ <tool name="devmind-analyze">
82
+ <description>Analyze code-to-database usage patterns.</description>
83
+ </tool>
84
+ <tool name="devmind-status">
85
+ <description>Check context freshness and get the recommended next command.</description>
86
+ </tool>
87
+ <tool name="devmind-audit">
88
+ <description>Audit codebase coverage against recorded learnings.</description>
89
+ </tool>
90
+ <tool name="devmind-extract">
91
+ <description>Extract learning candidates from code and analysis artifacts.</description>
92
+ </tool>
93
+ <tool name="devmind-autosave">
94
+ <description>Persist session journal/context and auto-apply extracted learnings.</description>
95
+ </tool>
96
+ <tool name="devmind-learn">
97
+ <description>Save a new technical learning, pattern, or architectural decision to LEARN.md.</description>
86
98
  <arguments>
87
99
  <arg name="learning">The knowledge to save</arg>
88
100
  <arg name="category">Category (architecture, database, etc)</arg>
@@ -96,22 +108,27 @@ ${learnings || '(No learnings recorded)'}
96
108
  </tool>
97
109
  </tools>
98
110
 
99
- ## Instructions
100
-
101
- ### Cursor / Windsurf
102
- - **Context:** Read this file and linked overviews.
103
- - **Style:** Follow patterns in architecture.md.
104
- - **Database:** Check schema-overview.md before writing SQL.
105
-
106
- ### Claude
107
- - **Validation:** Run \`devmind validate\` before major changes.
108
- - **Memory:** Check \`LEARN.md\` for past lessons.
111
+ ## Instructions
112
+
113
+ ### Agent Runbook (Auto Workflow, Recommendation Drift Control)
114
+ 1. Automatically run \`devmind status --json\` at session start.
115
+ 2. If context is stale/missing, automatically run the returned \`recommendedCommand\` (drift control remains recommendation-based).
116
+ 3. Automatically re-run \`devmind status --json\` and continue when context is fresh.
117
+ 4. Perform the requested coding task.
118
+ 5. Automatically run \`devmind autosave --source task-end\` at task end (journal + session context + learnings apply).
119
+ 6. Optionally run \`devmind extract --json\` for a verbose extraction report.
120
+
121
+ ### Working Rules
122
+ - **Context:** Read this file first, then linked files from \`index.json\`.
123
+ - **Style:** Follow patterns in \`architecture.md\` and module docs.
124
+ - **Database:** Run \`devmind analyze\` or \`devmind validate\` before risky schema changes.
125
+ - **Memory:** Use \`LEARN.md\` to keep decisions consistent across sessions.
109
126
  `.trim();
110
127
  await writeFileSafe(path.join(outputDir, 'AGENTS.md'), agentsContent);
111
128
  // Generate unified index.json
112
129
  const index = {
113
130
  timestamp: new Date().toISOString(),
114
- version: '1.0.1',
131
+ version: '1.0.2',
115
132
  contexts: {
116
133
  agents: 'AGENTS.md',
117
134
  schema: 'database/schema-overview.md',
@@ -1 +1 @@
1
- {"version":3,"file":"unified.js","sourceRoot":"","sources":["../../src/generators/unified.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unified.js","sourceRoot":"","sources":["../../src/generators/unified.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devmind",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "AI Memory Layer for development - Complete project context (codebase + database + memory)",
5
5
  "type": "module",
6
6
  "files": [