devmind 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +157 -141
  2. package/dist/cli/handlers.d.ts +2 -0
  3. package/dist/cli/handlers.js +140 -0
  4. package/dist/cli/handlers.js.map +1 -0
  5. package/dist/cli/register-all.d.ts +2 -0
  6. package/dist/cli/register-all.js +11 -0
  7. package/dist/cli/register-all.js.map +1 -0
  8. package/dist/cli/register-analysis.d.ts +2 -0
  9. package/dist/cli/register-analysis.js +137 -0
  10. package/dist/cli/register-analysis.js.map +1 -0
  11. package/dist/cli/register-codebase.d.ts +2 -0
  12. package/dist/cli/register-codebase.js +22 -0
  13. package/dist/cli/register-codebase.js.map +1 -0
  14. package/dist/cli/register-database.d.ts +2 -0
  15. package/dist/cli/register-database.js +44 -0
  16. package/dist/cli/register-database.js.map +1 -0
  17. package/dist/cli/register-memory.d.ts +2 -0
  18. package/dist/cli/register-memory.js +58 -0
  19. package/dist/cli/register-memory.js.map +1 -0
  20. package/dist/cli.js +9 -220
  21. package/dist/cli.js.map +1 -1
  22. package/dist/codebase/index.js +2 -2
  23. package/dist/codebase/index.js.map +1 -1
  24. package/dist/codebase/parsers/typescript.d.ts +1 -0
  25. package/dist/codebase/parsers/typescript.js +3 -0
  26. package/dist/codebase/parsers/typescript.js.map +1 -1
  27. package/dist/codebase/scanners/filesystem.d.ts +1 -0
  28. package/dist/codebase/scanners/filesystem.js +131 -4
  29. package/dist/codebase/scanners/filesystem.js.map +1 -1
  30. package/dist/commands/analyze.d.ts +1 -0
  31. package/dist/commands/analyze.js +166 -24
  32. package/dist/commands/analyze.js.map +1 -1
  33. package/dist/commands/audit-design.d.ts +8 -0
  34. package/dist/commands/audit-design.js +158 -0
  35. package/dist/commands/audit-design.js.map +1 -0
  36. package/dist/commands/audit-report.d.ts +18 -0
  37. package/dist/commands/audit-report.js +30 -0
  38. package/dist/commands/audit-report.js.map +1 -0
  39. package/dist/commands/audit-source.d.ts +21 -0
  40. package/dist/commands/audit-source.js +57 -0
  41. package/dist/commands/audit-source.js.map +1 -0
  42. package/dist/commands/audit.d.ts +8 -0
  43. package/dist/commands/audit.js +266 -0
  44. package/dist/commands/audit.js.map +1 -0
  45. package/dist/commands/autosave.d.ts +19 -0
  46. package/dist/commands/autosave.js +85 -0
  47. package/dist/commands/autosave.js.map +1 -0
  48. package/dist/commands/claude-plugin.d.ts +8 -0
  49. package/dist/commands/claude-plugin.js +123 -0
  50. package/dist/commands/claude-plugin.js.map +1 -0
  51. package/dist/commands/codex-plugin.d.ts +9 -0
  52. package/dist/commands/codex-plugin.js +145 -0
  53. package/dist/commands/codex-plugin.js.map +1 -0
  54. package/dist/commands/context.js +66 -5
  55. package/dist/commands/context.js.map +1 -1
  56. package/dist/commands/design-system.d.ts +8 -0
  57. package/dist/commands/design-system.js +95 -0
  58. package/dist/commands/design-system.js.map +1 -0
  59. package/dist/commands/extract.d.ts +33 -0
  60. package/dist/commands/extract.js +231 -0
  61. package/dist/commands/extract.js.map +1 -0
  62. package/dist/commands/openclaw-plugin.d.ts +8 -0
  63. package/dist/commands/openclaw-plugin.js +103 -0
  64. package/dist/commands/openclaw-plugin.js.map +1 -0
  65. package/dist/commands/retrieve.d.ts +12 -0
  66. package/dist/commands/retrieve.js +230 -0
  67. package/dist/commands/retrieve.js.map +1 -0
  68. package/dist/commands/status.d.ts +8 -0
  69. package/dist/commands/status.js +148 -0
  70. package/dist/commands/status.js.map +1 -0
  71. package/dist/core/cache-json.d.ts +7 -0
  72. package/dist/core/cache-json.js +60 -0
  73. package/dist/core/cache-json.js.map +1 -0
  74. package/dist/core/errors.d.ts +2 -0
  75. package/dist/core/errors.js +49 -1
  76. package/dist/core/errors.js.map +1 -1
  77. package/dist/core/index.d.ts +4 -0
  78. package/dist/core/index.js +4 -0
  79. package/dist/core/index.js.map +1 -1
  80. package/dist/core/learning-parser.d.ts +6 -0
  81. package/dist/core/learning-parser.js +23 -0
  82. package/dist/core/learning-parser.js.map +1 -0
  83. package/dist/core/profile.d.ts +18 -0
  84. package/dist/core/profile.js +37 -0
  85. package/dist/core/profile.js.map +1 -0
  86. package/dist/core/source-file-cache.d.ts +13 -0
  87. package/dist/core/source-file-cache.js +85 -0
  88. package/dist/core/source-file-cache.js.map +1 -0
  89. package/dist/database/cli/register-all.d.ts +2 -0
  90. package/dist/database/cli/register-all.js +9 -0
  91. package/dist/database/cli/register-all.js.map +1 -0
  92. package/dist/database/cli/register-database.d.ts +2 -0
  93. package/dist/database/cli/register-database.js +44 -0
  94. package/dist/database/cli/register-database.js.map +1 -0
  95. package/dist/database/cli/register-interactive.d.ts +2 -0
  96. package/dist/database/cli/register-interactive.js +29 -0
  97. package/dist/database/cli/register-interactive.js.map +1 -0
  98. package/dist/database/cli/register-memory.d.ts +2 -0
  99. package/dist/database/cli/register-memory.js +47 -0
  100. package/dist/database/cli/register-memory.js.map +1 -0
  101. package/dist/database/cli.js +5 -112
  102. package/dist/database/cli.js.map +1 -1
  103. package/dist/database/commands/checkpoint.js +8 -10
  104. package/dist/database/commands/checkpoint.js.map +1 -1
  105. package/dist/database/commands/generate.js +17 -8
  106. package/dist/database/commands/generate.js.map +1 -1
  107. package/dist/database/commands/handoff.js +9 -8
  108. package/dist/database/commands/handoff.js.map +1 -1
  109. package/dist/database/commands/learn.d.ts +4 -0
  110. package/dist/database/commands/learn.js +245 -43
  111. package/dist/database/commands/learn.js.map +1 -1
  112. package/dist/database/commands/memory.js +1 -1
  113. package/dist/database/commands/validate.js +6 -4
  114. package/dist/database/commands/validate.js.map +1 -1
  115. package/dist/database/commands/watch.js +1 -1
  116. package/dist/database/commands/watch.js.map +1 -1
  117. package/dist/database/generators/templates.js +26 -26
  118. package/dist/database/generators/templates.js.map +1 -1
  119. package/dist/database/utils/json-output.d.ts +4 -0
  120. package/dist/database/utils/json-output.js +7 -0
  121. package/dist/database/utils/json-output.js.map +1 -1
  122. package/dist/generators/unified.d.ts +13 -0
  123. package/dist/generators/unified.js +420 -59
  124. package/dist/generators/unified.js.map +1 -1
  125. package/package.json +2 -2
@@ -1,10 +1,111 @@
1
1
  import * as path from 'path';
2
+ import * as fs from 'fs/promises';
3
+ import { createHash } from 'crypto';
2
4
  import { readFileSafe, writeFileSafe, logger } from '../core/index.js';
3
5
  const START_MARKER = '<!-- devmind:auto-context:start -->';
4
6
  const END_MARKER = '<!-- devmind:auto-context:end -->';
7
+ const SECTION_START = '<!-- devmind:section';
8
+ const SECTION_END = '<!-- /devmind:section';
5
9
  function toPosixPath(filePath) {
6
10
  return filePath.replace(/\\/g, '/');
7
11
  }
12
+ function hashContent(content) {
13
+ return createHash('sha256').update(content, 'utf8').digest('hex').slice(0, 16);
14
+ }
15
+ function serializeSectionMetadata(section) {
16
+ const tags = section.tags.join(',');
17
+ return `${SECTION_START} id=${section.id} type=${section.type} priority=${section.priority} source=${section.source} tags=${tags} -->`;
18
+ }
19
+ function renderSection(section) {
20
+ return [
21
+ serializeSectionMetadata(section),
22
+ `## ${section.title}`,
23
+ section.content.trim() || '(No context available)',
24
+ `${SECTION_END} id=${section.id} -->`,
25
+ ].join('\n');
26
+ }
27
+ function parseSectionsFromAgentsContent(agentsContent) {
28
+ const lines = agentsContent.split('\n');
29
+ const parsed = [];
30
+ const idRegex = /id=([a-z0-9._-]+)/i;
31
+ let current = null;
32
+ lines.forEach((line, idx) => {
33
+ const lineNo = idx + 1;
34
+ if (line.startsWith(SECTION_START)) {
35
+ const idMatch = line.match(idRegex);
36
+ if (!idMatch)
37
+ return;
38
+ current = {
39
+ id: idMatch[1],
40
+ startLine: lineNo + 1,
41
+ contentLines: [],
42
+ };
43
+ return;
44
+ }
45
+ if (line.startsWith(SECTION_END)) {
46
+ if (!current)
47
+ return;
48
+ parsed.push({
49
+ id: current.id,
50
+ startLine: current.startLine,
51
+ endLine: lineNo - 1,
52
+ content: current.contentLines.join('\n').trim(),
53
+ });
54
+ current = null;
55
+ return;
56
+ }
57
+ if (current)
58
+ current.contentLines.push(line);
59
+ });
60
+ return parsed;
61
+ }
62
+ async function replaceFile(tempPath, targetPath) {
63
+ await fs.rm(targetPath, { force: true });
64
+ await fs.rename(tempPath, targetPath);
65
+ }
66
+ function buildIndexSections(declaredSections, parsedSections) {
67
+ const parsedById = new Map(parsedSections.map((section) => [section.id, section]));
68
+ return declaredSections.map((declared) => {
69
+ const parsed = parsedById.get(declared.id);
70
+ if (!parsed) {
71
+ throw new Error(`Missing section marker for id=${declared.id}`);
72
+ }
73
+ return {
74
+ id: declared.id,
75
+ title: declared.title,
76
+ type: declared.type,
77
+ tags: declared.tags,
78
+ priority: declared.priority,
79
+ source: declared.source,
80
+ startLine: parsed.startLine,
81
+ endLine: parsed.endLine,
82
+ contentHash: hashContent(parsed.content),
83
+ };
84
+ });
85
+ }
86
+ function validateSectionSync(indexSections, parsedSections) {
87
+ const ids = new Set();
88
+ for (const section of indexSections) {
89
+ if (ids.has(section.id)) {
90
+ throw new Error(`Duplicate index section id=${section.id}`);
91
+ }
92
+ ids.add(section.id);
93
+ }
94
+ const parsedById = new Map(parsedSections.map((section) => [section.id, section]));
95
+ for (const indexSection of indexSections) {
96
+ const parsed = parsedById.get(indexSection.id);
97
+ if (!parsed) {
98
+ throw new Error(`Section not found in AGENTS.md: ${indexSection.id}`);
99
+ }
100
+ if (indexSection.startLine > indexSection.endLine) {
101
+ throw new Error(`Invalid section line range for ${indexSection.id}`);
102
+ }
103
+ const parsedHash = hashContent(parsed.content);
104
+ if (parsedHash !== indexSection.contentHash) {
105
+ throw new Error(`Hash mismatch for section ${indexSection.id}`);
106
+ }
107
+ }
108
+ }
8
109
  function buildAutoContextBlock(outputDir) {
9
110
  const workspaceRoot = process.cwd();
10
111
  const agentsPath = toPosixPath(path.relative(workspaceRoot, path.join(outputDir, 'AGENTS.md')));
@@ -49,82 +150,207 @@ export async function generateUnifiedDocs(outputDir) {
49
150
  const architecture = await readFileSafe(path.join(outputDir, 'codebase', 'architecture.md')).catch(() => '');
50
151
  const businessLogic = await readFileSafe(path.join(outputDir, 'database', 'BUSINESS_LOGIC.md')).catch(() => '');
51
152
  const learnings = await readFileSafe(path.join(memoryDir, 'LEARN.md')).catch(() => '');
153
+ const designSystemRaw = await readFileSafe(path.join(outputDir, 'design-system.json')).catch(() => '');
154
+ let designSystemProfile = null;
155
+ if (designSystemRaw) {
156
+ try {
157
+ designSystemProfile = JSON.parse(designSystemRaw);
158
+ }
159
+ catch (error) {
160
+ logger.warn(`Failed to parse design-system.json: ${error.message}`);
161
+ }
162
+ }
163
+ const sourceMap = {
164
+ architecture: 'codebase/architecture.md',
165
+ database: 'database/schema-overview.md',
166
+ businessLogic: 'database/BUSINESS_LOGIC.md',
167
+ codebase: 'codebase/codebase-overview.md',
168
+ designSystem: 'design-system.json',
169
+ learnings: 'memory/LEARN.md',
170
+ };
171
+ const capabilityContent = `
172
+ <tools>
173
+ <tool name="devmind-scan">
174
+ <description>Scan codebase structure and generate QMD summary.</description>
175
+ </tool>
176
+ <tool name="devmind-analyze">
177
+ <description>Analyze code-to-database usage patterns.</description>
178
+ </tool>
179
+ <tool name="devmind-status">
180
+ <description>Check context freshness and get the recommended next command.</description>
181
+ </tool>
182
+ <tool name="devmind-audit">
183
+ <description>Audit codebase coverage against recorded learnings.</description>
184
+ </tool>
185
+ <tool name="devmind-extract">
186
+ <description>Extract learning candidates from code and analysis artifacts.</description>
187
+ </tool>
188
+ <tool name="devmind-autosave">
189
+ <description>Persist session journal/context and auto-apply extracted learnings.</description>
190
+ </tool>
191
+ <tool name="devmind-retrieve">
192
+ <description>Retrieve focused context using index metadata filters and AGENTS section chunks.</description>
193
+ </tool>
194
+ <tool name="devmind-design-system">
195
+ <description>Initialize or inspect design-system.json used for UI alignment auditing and agent guidance.</description>
196
+ </tool>
197
+ <tool name="devmind-learn">
198
+ <description>Save a new technical learning, pattern, or architectural decision to LEARN.md.</description>
199
+ <arguments>
200
+ <arg name="learning">The knowledge to save</arg>
201
+ <arg name="category">Category (architecture, database, etc)</arg>
202
+ </arguments>
203
+ </tool>
204
+ <tool name="devmind-context">
205
+ <description>Get focused context for a specific directory or module.</description>
206
+ <arguments>
207
+ <arg name="focus">Path to focus on</arg>
208
+ </arguments>
209
+ </tool>
210
+ </tools>
211
+ `.trim();
212
+ const designSystemContent = designSystemProfile
213
+ ? `
214
+ Design system profile: \`${designSystemProfile.name || 'unnamed'}\` (v${designSystemProfile.version || 'n/a'})
215
+
216
+ - Allowed component imports: ${(designSystemProfile.allowedComponentImports || []).map((value) => `\`${value}\``).join(', ') || '(none configured)'}
217
+ - Token sources: ${(designSystemProfile.tokenSources || []).map((value) => `\`${value}\``).join(', ') || '(none configured)'}
218
+ - Required wrappers: ${(designSystemProfile.requiredWrappers || []).map((value) => `\`${value}\``).join(', ') || '(none configured)'}
219
+ - Banned rules: ${(designSystemProfile.bannedRegexRules || [])
220
+ .map((rule) => `\`${rule.id || 'rule'}\` (${rule.message || 'no message'})`)
221
+ .join('; ') || '(none configured)'}
222
+ `
223
+ .trim()
224
+ : 'No design-system profile found. Run `devmind design-system --init` and customize `.devmind/design-system.json`.';
225
+ const runbookContent = `
226
+ ### Agent Runbook (Auto Workflow, Recommendation Drift Control)
227
+ 1. Automatically run \`devmind status --json\` at session start.
228
+ 2. If context is stale/missing, automatically run the returned \`recommendedCommand\` (drift control remains recommendation-based).
229
+ 3. Automatically re-run \`devmind status --json\` and continue when context is fresh.
230
+ 4. Perform the requested coding task.
231
+ 5. Automatically run \`devmind autosave --source task-end\` at task end (journal + session context + learnings apply).
232
+ 6. Optionally run \`devmind extract --json\` for a verbose extraction report.
233
+
234
+ ### Working Rules
235
+ - **Context:** Read this file first, then linked files from \`index.json\`.
236
+ - **Style:** Follow patterns in \`architecture.md\` and module docs.
237
+ - **Database:** Run \`devmind analyze\` or \`devmind validate\` before risky schema changes.
238
+ - **Memory:** Use \`LEARN.md\` to keep decisions consistent across sessions.
239
+ `.trim();
240
+ const sections = [
241
+ {
242
+ id: 'architecture.overview',
243
+ title: 'Architecture',
244
+ type: 'architecture',
245
+ tags: ['architecture', 'layers', 'patterns'],
246
+ priority: 'high',
247
+ source: sourceMap.architecture,
248
+ content: architecture || '(No architecture context available)',
249
+ },
250
+ {
251
+ id: 'database.schema',
252
+ title: 'Database Schema',
253
+ type: 'database',
254
+ tags: ['database', 'schema', 'tables'],
255
+ priority: 'high',
256
+ source: sourceMap.database,
257
+ content: schemaContext ? 'See schema-overview.md for details.' : '(No database context available)',
258
+ },
259
+ {
260
+ id: 'business.logic',
261
+ title: 'Business Logic',
262
+ type: 'business-logic',
263
+ tags: ['business', 'rules', 'domain'],
264
+ priority: 'medium',
265
+ source: sourceMap.businessLogic,
266
+ content: businessLogic || '(No business logic detected)',
267
+ },
268
+ {
269
+ id: 'codebase.overview',
270
+ title: 'Codebase Overview',
271
+ type: 'codebase',
272
+ tags: ['codebase', 'modules', 'entrypoints'],
273
+ priority: 'high',
274
+ source: sourceMap.codebase,
275
+ content: codebaseOverview || '(No codebase overview available)',
276
+ },
277
+ {
278
+ id: 'memory.learnings',
279
+ title: 'Project Learnings',
280
+ type: 'memory',
281
+ tags: ['memory', 'learnings', 'decisions'],
282
+ priority: 'medium',
283
+ source: sourceMap.learnings,
284
+ content: learnings || '(No learnings recorded)',
285
+ },
286
+ {
287
+ id: 'ui.design-system',
288
+ title: 'Design System',
289
+ type: 'design-system',
290
+ tags: ['ui', 'design-system', 'components', 'tokens'],
291
+ priority: 'high',
292
+ source: sourceMap.designSystem,
293
+ content: designSystemContent,
294
+ },
295
+ {
296
+ id: 'agent.capabilities',
297
+ title: 'Agent Capabilities',
298
+ type: 'capabilities',
299
+ tags: ['tools', 'capabilities', 'commands'],
300
+ priority: 'medium',
301
+ source: 'devmind-tools.json',
302
+ content: capabilityContent,
303
+ },
304
+ {
305
+ id: 'agent.runbook',
306
+ title: 'Instructions',
307
+ type: 'runbook',
308
+ tags: ['runbook', 'workflow', 'status', 'autosave'],
309
+ priority: 'high',
310
+ source: 'AGENTS.md',
311
+ content: runbookContent,
312
+ },
313
+ ];
52
314
  // Generate AGENTS.md (Consolidated Context in QMD Format)
53
- const agentsContent = `
54
- # Project Context
55
-
56
- > Generated by DevMind for AI Agents (Claude, Cursor, Windsurf)
57
-
58
- ## Architecture
59
- ${architecture || '(No architecture context available)'}
60
-
61
- ## Database Schema
62
- ${schemaContext ? 'See schema-overview.md for details.' : '(No database context available)'}
63
-
64
- ## Business Logic
65
- ${businessLogic || '(No business logic detected)'}
66
-
67
- ## Codebase Overview
68
- ${codebaseOverview || '(No codebase overview available)'}
69
-
70
- ## Project Learnings
71
- ${learnings || '(No learnings recorded)'}
72
-
73
- ---
74
-
75
- ## Agent Capabilities
76
-
77
- <tools>
78
- <tool name="devmind-scan">
79
- <description>Scan codebase structure and generate QMD summary.</description>
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>
86
- <arguments>
87
- <arg name="learning">The knowledge to save</arg>
88
- <arg name="category">Category (architecture, database, etc)</arg>
89
- </arguments>
90
- </tool>
91
- <tool name="devmind-context">
92
- <description>Get focused context for a specific directory or module.</description>
93
- <arguments>
94
- <arg name="focus">Path to focus on</arg>
95
- </arguments>
96
- </tool>
97
- </tools>
98
-
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.
315
+ const agentsContent = `
316
+ # Project Context
317
+
318
+ > Generated by DevMind for AI Agents (Claude, Cursor, Windsurf)
319
+
320
+ ${sections.map((section) => renderSection(section)).join('\n\n')}
321
+
322
+ ---
109
323
  `.trim();
110
- await writeFileSafe(path.join(outputDir, 'AGENTS.md'), agentsContent);
324
+ const parsedSections = parseSectionsFromAgentsContent(agentsContent);
325
+ const indexSections = buildIndexSections(sections, parsedSections);
326
+ validateSectionSync(indexSections, parsedSections);
111
327
  // Generate unified index.json
112
328
  const index = {
113
329
  timestamp: new Date().toISOString(),
114
- version: '1.0.1',
330
+ version: '1.1.0',
115
331
  contexts: {
116
332
  agents: 'AGENTS.md',
117
333
  schema: 'database/schema-overview.md',
118
334
  codebase: 'codebase/codebase-overview.md',
119
335
  architecture: 'codebase/architecture.md',
336
+ designSystem: 'design-system.json',
120
337
  learnings: 'memory/LEARN.md',
121
338
  },
122
339
  metadata: {
123
340
  hasDatabase: !!schemaContext,
124
341
  hasCodebase: !!codebaseOverview,
342
+ hasDesignSystem: !!designSystemProfile,
125
343
  },
344
+ sections: indexSections,
126
345
  };
127
- await writeFileSafe(path.join(outputDir, 'index.json'), JSON.stringify(index, null, 2));
346
+ const agentsPath = path.join(outputDir, 'AGENTS.md');
347
+ const indexPath = path.join(outputDir, 'index.json');
348
+ const agentsTempPath = `${agentsPath}.tmp`;
349
+ const indexTempPath = `${indexPath}.tmp`;
350
+ await writeFileSafe(agentsTempPath, agentsContent);
351
+ await writeFileSafe(indexTempPath, JSON.stringify(index, null, 2));
352
+ await replaceFile(agentsTempPath, agentsPath);
353
+ await replaceFile(indexTempPath, indexPath);
128
354
  logger.success('Unified documentation generated:');
129
355
  logger.info(` - ${path.join(outputDir, 'AGENTS.md')}`);
130
356
  // Generate devmind-tools.json (Tool Definitions for Agents)
@@ -155,6 +381,141 @@ ${learnings || '(No learnings recorded)'}
155
381
  },
156
382
  },
157
383
  },
384
+ {
385
+ name: 'devmind_status',
386
+ description: 'Checks context freshness and returns a recommended next command when generated context is stale or missing.',
387
+ parameters: {
388
+ type: 'object',
389
+ properties: {
390
+ output: {
391
+ type: 'string',
392
+ description: 'Context output directory (default: .devmind)',
393
+ },
394
+ path: {
395
+ type: 'string',
396
+ description: 'Root path for source freshness checks (default: current directory)',
397
+ },
398
+ },
399
+ },
400
+ },
401
+ {
402
+ name: 'devmind_audit',
403
+ description: 'Audits codebase coverage against recorded learnings in memory/LEARN.md and writes an audit report.',
404
+ parameters: {
405
+ type: 'object',
406
+ properties: {
407
+ output: {
408
+ type: 'string',
409
+ description: 'Context output directory (default: .devmind)',
410
+ },
411
+ path: {
412
+ type: 'string',
413
+ description: 'Root path to audit (default: current directory)',
414
+ },
415
+ },
416
+ },
417
+ },
418
+ {
419
+ name: 'devmind_extract',
420
+ description: 'Extracts learning candidates from analysis artifacts and source comments, with optional apply to LEARN.md.',
421
+ parameters: {
422
+ type: 'object',
423
+ properties: {
424
+ output: {
425
+ type: 'string',
426
+ description: 'Context output directory (default: .devmind)',
427
+ },
428
+ path: {
429
+ type: 'string',
430
+ description: 'Root path to scan for comments (default: current directory)',
431
+ },
432
+ apply: {
433
+ type: 'boolean',
434
+ description: 'Append extracted learning candidates into memory/LEARN.md',
435
+ },
436
+ },
437
+ },
438
+ },
439
+ {
440
+ name: 'devmind_autosave',
441
+ description: 'Persists crash-safe session journal/context and auto-applies extracted learnings.',
442
+ parameters: {
443
+ type: 'object',
444
+ properties: {
445
+ output: {
446
+ type: 'string',
447
+ description: 'Context output directory (default: .devmind)',
448
+ },
449
+ path: {
450
+ type: 'string',
451
+ description: 'Root path for extraction (default: current directory)',
452
+ },
453
+ source: {
454
+ type: 'string',
455
+ description: 'Autosave source label (e.g., task-end, scan, generate)',
456
+ },
457
+ note: {
458
+ type: 'string',
459
+ description: 'Optional note attached to journal/context state',
460
+ },
461
+ },
462
+ },
463
+ },
464
+ {
465
+ name: 'devmind_retrieve',
466
+ description: 'Performs two-stage retrieval using index metadata as filter and AGENTS.md sections as content.',
467
+ parameters: {
468
+ type: 'object',
469
+ properties: {
470
+ query: {
471
+ type: 'string',
472
+ description: 'Retrieval query',
473
+ },
474
+ output: {
475
+ type: 'string',
476
+ description: 'Context output directory (default: .devmind)',
477
+ },
478
+ type: {
479
+ type: 'string',
480
+ description: 'Optional section type filter',
481
+ },
482
+ tags: {
483
+ type: 'string',
484
+ description: 'Optional comma-separated tags filter',
485
+ },
486
+ limit: {
487
+ type: 'number',
488
+ description: 'Max sections to return (default: 6)',
489
+ },
490
+ max_words: {
491
+ type: 'number',
492
+ description: 'Approximate max words in output (default: 1400)',
493
+ },
494
+ },
495
+ required: ['query'],
496
+ },
497
+ },
498
+ {
499
+ name: 'devmind_design_system',
500
+ description: 'Initializes or reads the design system profile used to keep UI code aligned with component/token policies.',
501
+ parameters: {
502
+ type: 'object',
503
+ properties: {
504
+ output: {
505
+ type: 'string',
506
+ description: 'Context output directory (default: .devmind)',
507
+ },
508
+ init: {
509
+ type: 'boolean',
510
+ description: 'Create default profile file if missing',
511
+ },
512
+ force: {
513
+ type: 'boolean',
514
+ description: 'Overwrite profile when used with init',
515
+ },
516
+ },
517
+ },
518
+ },
158
519
  {
159
520
  name: 'devmind_learn',
160
521
  description: "Saves a new technical learning, pattern, or architectural decision to the project's persistent memory (LEARN.md). Use this when you discover something important that future agents should know.",
@@ -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.1.0",
4
4
  "description": "AI Memory Layer for development - Complete project context (codebase + database + memory)",
5
5
  "type": "module",
6
6
  "files": [
@@ -17,7 +17,7 @@
17
17
  "scripts": {
18
18
  "build": "tsc",
19
19
  "prepack": "npm run build",
20
- "pack:dry": "npm pack --dry-run",
20
+ "pack:dry": "npm pack --dry-run --cache .npm-cache",
21
21
  "dev": "ts-node --esm src/cli.ts",
22
22
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --config jest.config.cjs --runInBand",
23
23
  "format": "prettier --write .",