devmind 1.0.2 → 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.
- package/README.md +126 -162
- package/dist/cli/handlers.d.ts +2 -0
- package/dist/cli/handlers.js +140 -0
- package/dist/cli/handlers.js.map +1 -0
- package/dist/cli/register-all.d.ts +2 -0
- package/dist/cli/register-all.js +11 -0
- package/dist/cli/register-all.js.map +1 -0
- package/dist/cli/register-analysis.d.ts +2 -0
- package/dist/cli/register-analysis.js +137 -0
- package/dist/cli/register-analysis.js.map +1 -0
- package/dist/cli/register-codebase.d.ts +2 -0
- package/dist/cli/register-codebase.js +22 -0
- package/dist/cli/register-codebase.js.map +1 -0
- package/dist/cli/register-database.d.ts +2 -0
- package/dist/cli/register-database.js +44 -0
- package/dist/cli/register-database.js.map +1 -0
- package/dist/cli/register-memory.d.ts +2 -0
- package/dist/cli/register-memory.js +58 -0
- package/dist/cli/register-memory.js.map +1 -0
- package/dist/cli.js +9 -316
- package/dist/cli.js.map +1 -1
- package/dist/codebase/index.js +2 -2
- package/dist/codebase/index.js.map +1 -1
- package/dist/codebase/parsers/typescript.d.ts +1 -0
- package/dist/codebase/parsers/typescript.js +3 -0
- package/dist/codebase/parsers/typescript.js.map +1 -1
- package/dist/codebase/scanners/filesystem.d.ts +1 -0
- package/dist/codebase/scanners/filesystem.js +131 -4
- package/dist/codebase/scanners/filesystem.js.map +1 -1
- package/dist/commands/analyze.d.ts +1 -0
- package/dist/commands/analyze.js +166 -24
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/audit-design.d.ts +8 -0
- package/dist/commands/audit-design.js +158 -0
- package/dist/commands/audit-design.js.map +1 -0
- package/dist/commands/audit-report.d.ts +18 -0
- package/dist/commands/audit-report.js +30 -0
- package/dist/commands/audit-report.js.map +1 -0
- package/dist/commands/audit-source.d.ts +21 -0
- package/dist/commands/audit-source.js +57 -0
- package/dist/commands/audit-source.js.map +1 -0
- package/dist/commands/audit.d.ts +1 -0
- package/dist/commands/audit.js +174 -73
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/claude-plugin.d.ts +8 -0
- package/dist/commands/claude-plugin.js +123 -0
- package/dist/commands/claude-plugin.js.map +1 -0
- package/dist/commands/codex-plugin.d.ts +9 -0
- package/dist/commands/codex-plugin.js +145 -0
- package/dist/commands/codex-plugin.js.map +1 -0
- package/dist/commands/context.js +66 -5
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/design-system.d.ts +8 -0
- package/dist/commands/design-system.js +95 -0
- package/dist/commands/design-system.js.map +1 -0
- package/dist/commands/extract.d.ts +13 -0
- package/dist/commands/extract.js +79 -16
- package/dist/commands/extract.js.map +1 -1
- package/dist/commands/openclaw-plugin.d.ts +8 -0
- package/dist/commands/openclaw-plugin.js +103 -0
- package/dist/commands/openclaw-plugin.js.map +1 -0
- package/dist/commands/retrieve.d.ts +12 -0
- package/dist/commands/retrieve.js +230 -0
- package/dist/commands/retrieve.js.map +1 -0
- package/dist/commands/status.d.ts +1 -0
- package/dist/commands/status.js +54 -18
- package/dist/commands/status.js.map +1 -1
- package/dist/core/cache-json.d.ts +7 -0
- package/dist/core/cache-json.js +60 -0
- package/dist/core/cache-json.js.map +1 -0
- package/dist/core/errors.d.ts +2 -0
- package/dist/core/errors.js +49 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.js +4 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/learning-parser.d.ts +6 -0
- package/dist/core/learning-parser.js +23 -0
- package/dist/core/learning-parser.js.map +1 -0
- package/dist/core/profile.d.ts +18 -0
- package/dist/core/profile.js +37 -0
- package/dist/core/profile.js.map +1 -0
- package/dist/core/source-file-cache.d.ts +13 -0
- package/dist/core/source-file-cache.js +85 -0
- package/dist/core/source-file-cache.js.map +1 -0
- package/dist/database/cli/register-all.d.ts +2 -0
- package/dist/database/cli/register-all.js +9 -0
- package/dist/database/cli/register-all.js.map +1 -0
- package/dist/database/cli/register-database.d.ts +2 -0
- package/dist/database/cli/register-database.js +44 -0
- package/dist/database/cli/register-database.js.map +1 -0
- package/dist/database/cli/register-interactive.d.ts +2 -0
- package/dist/database/cli/register-interactive.js +29 -0
- package/dist/database/cli/register-interactive.js.map +1 -0
- package/dist/database/cli/register-memory.d.ts +2 -0
- package/dist/database/cli/register-memory.js +47 -0
- package/dist/database/cli/register-memory.js.map +1 -0
- package/dist/database/cli.js +5 -112
- package/dist/database/cli.js.map +1 -1
- package/dist/database/commands/checkpoint.js +8 -10
- package/dist/database/commands/checkpoint.js.map +1 -1
- package/dist/database/commands/generate.js +6 -7
- package/dist/database/commands/generate.js.map +1 -1
- package/dist/database/commands/handoff.js +9 -8
- package/dist/database/commands/handoff.js.map +1 -1
- package/dist/database/commands/learn.d.ts +4 -0
- package/dist/database/commands/learn.js +245 -43
- package/dist/database/commands/learn.js.map +1 -1
- package/dist/database/commands/memory.js +1 -1
- package/dist/database/commands/validate.js +6 -4
- package/dist/database/commands/validate.js.map +1 -1
- package/dist/database/commands/watch.js +1 -1
- package/dist/database/commands/watch.js.map +1 -1
- package/dist/database/generators/templates.js +26 -26
- package/dist/database/generators/templates.js.map +1 -1
- package/dist/database/utils/json-output.d.ts +4 -0
- package/dist/database/utils/json-output.js +7 -0
- package/dist/database/utils/json-output.js.map +1 -1
- package/dist/generators/unified.d.ts +13 -0
- package/dist/generators/unified.js +390 -46
- package/dist/generators/unified.js.map +1 -1
- 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,35 +150,29 @@ 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(() => '');
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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>
|
|
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>
|
|
81
176
|
<tool name="devmind-analyze">
|
|
82
177
|
<description>Analyze code-to-database usage patterns.</description>
|
|
83
178
|
</tool>
|
|
@@ -93,23 +188,41 @@ ${learnings || '(No learnings recorded)'}
|
|
|
93
188
|
<tool name="devmind-autosave">
|
|
94
189
|
<description>Persist session journal/context and auto-apply extracted learnings.</description>
|
|
95
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>
|
|
96
197
|
<tool name="devmind-learn">
|
|
97
198
|
<description>Save a new technical learning, pattern, or architectural decision to LEARN.md.</description>
|
|
98
|
-
<arguments>
|
|
99
|
-
<arg name="learning">The knowledge to save</arg>
|
|
100
|
-
<arg name="category">Category (architecture, database, etc)</arg>
|
|
101
|
-
</arguments>
|
|
102
|
-
</tool>
|
|
103
|
-
<tool name="devmind-context">
|
|
104
|
-
<description>Get focused context for a specific directory or module.</description>
|
|
105
|
-
<arguments>
|
|
106
|
-
<arg name="focus">Path to focus on</arg>
|
|
107
|
-
</arguments>
|
|
108
|
-
</tool>
|
|
109
|
-
</tools>
|
|
110
|
-
|
|
111
|
-
|
|
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'})
|
|
112
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 = `
|
|
113
226
|
### Agent Runbook (Auto Workflow, Recommendation Drift Control)
|
|
114
227
|
1. Automatically run \`devmind status --json\` at session start.
|
|
115
228
|
2. If context is stale/missing, automatically run the returned \`recommendedCommand\` (drift control remains recommendation-based).
|
|
@@ -124,24 +237,120 @@ ${learnings || '(No learnings recorded)'}
|
|
|
124
237
|
- **Database:** Run \`devmind analyze\` or \`devmind validate\` before risky schema changes.
|
|
125
238
|
- **Memory:** Use \`LEARN.md\` to keep decisions consistent across sessions.
|
|
126
239
|
`.trim();
|
|
127
|
-
|
|
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
|
+
];
|
|
314
|
+
// Generate AGENTS.md (Consolidated Context in QMD Format)
|
|
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
|
+
---
|
|
323
|
+
`.trim();
|
|
324
|
+
const parsedSections = parseSectionsFromAgentsContent(agentsContent);
|
|
325
|
+
const indexSections = buildIndexSections(sections, parsedSections);
|
|
326
|
+
validateSectionSync(indexSections, parsedSections);
|
|
128
327
|
// Generate unified index.json
|
|
129
328
|
const index = {
|
|
130
329
|
timestamp: new Date().toISOString(),
|
|
131
|
-
version: '1.0
|
|
330
|
+
version: '1.1.0',
|
|
132
331
|
contexts: {
|
|
133
332
|
agents: 'AGENTS.md',
|
|
134
333
|
schema: 'database/schema-overview.md',
|
|
135
334
|
codebase: 'codebase/codebase-overview.md',
|
|
136
335
|
architecture: 'codebase/architecture.md',
|
|
336
|
+
designSystem: 'design-system.json',
|
|
137
337
|
learnings: 'memory/LEARN.md',
|
|
138
338
|
},
|
|
139
339
|
metadata: {
|
|
140
340
|
hasDatabase: !!schemaContext,
|
|
141
341
|
hasCodebase: !!codebaseOverview,
|
|
342
|
+
hasDesignSystem: !!designSystemProfile,
|
|
142
343
|
},
|
|
344
|
+
sections: indexSections,
|
|
143
345
|
};
|
|
144
|
-
|
|
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);
|
|
145
354
|
logger.success('Unified documentation generated:');
|
|
146
355
|
logger.info(` - ${path.join(outputDir, 'AGENTS.md')}`);
|
|
147
356
|
// Generate devmind-tools.json (Tool Definitions for Agents)
|
|
@@ -172,6 +381,141 @@ ${learnings || '(No learnings recorded)'}
|
|
|
172
381
|
},
|
|
173
382
|
},
|
|
174
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
|
+
},
|
|
175
519
|
{
|
|
176
520
|
name: 'devmind_learn',
|
|
177
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
|
|
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 .",
|