@imix-js/taproot 0.5.1 → 0.7.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 +39 -29
- package/dist/adapters/index.js +62 -35
- package/dist/adapters/index.js.map +1 -1
- package/dist/cli.js +8 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/commithook.js +69 -34
- package/dist/commands/commithook.js.map +1 -1
- package/dist/commands/init.d.ts +12 -2
- package/dist/commands/init.js +248 -46
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/truth-sign.js +32 -5
- package/dist/commands/truth-sign.js.map +1 -1
- package/dist/commands/update.js +156 -27
- package/dist/commands/update.js.map +1 -1
- package/dist/core/config.js +9 -4
- package/dist/core/config.js.map +1 -1
- package/dist/core/configuration.d.ts +4 -3
- package/dist/core/configuration.js +7 -5
- package/dist/core/configuration.js.map +1 -1
- package/dist/core/dor-runner.js +116 -2
- package/dist/core/dor-runner.js.map +1 -1
- package/dist/core/fs-walker.js +1 -1
- package/dist/core/fs-walker.js.map +1 -1
- package/dist/core/impl-reader.d.ts +1 -0
- package/dist/core/impl-reader.js +8 -0
- package/dist/core/impl-reader.js.map +1 -1
- package/dist/core/paths.d.ts +6 -0
- package/dist/core/paths.js +12 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/test-cache.js +1 -1
- package/dist/core/test-cache.js.map +1 -1
- package/dist/core/version-check.d.ts +9 -0
- package/dist/core/version-check.js +43 -0
- package/dist/core/version-check.js.map +1 -0
- package/dist/validators/structure-rules.d.ts +1 -0
- package/dist/validators/structure-rules.js +15 -0
- package/dist/validators/structure-rules.js.map +1 -1
- package/docs/agents.md +2 -2
- package/docs/architecture.md +3 -3
- package/docs/cli.md +7 -7
- package/docs/configuration.md +6 -6
- package/docs/patterns.md +7 -7
- package/docs/security.md +4 -4
- package/docs/workflows.md +1 -1
- package/package.json +1 -1
- package/skills/backlog.md +7 -7
- package/skills/behaviour.md +2 -2
- package/skills/bug.md +2 -2
- package/skills/commit.md +16 -4
- package/skills/define-truth.md +24 -8
- package/skills/discover-truths.md +7 -7
- package/skills/guide.md +1 -1
- package/skills/implement.md +5 -5
- package/skills/ineed.md +21 -4
- package/skills/refine.md +3 -3
- package/skills/review-all.md +2 -2
- package/skills/status.md +2 -2
package/dist/core/dor-runner.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from 'fs';
|
|
2
|
-
import { join, dirname, resolve, relative } from 'path';
|
|
2
|
+
import { join, dirname, resolve, relative, normalize } from 'path';
|
|
3
3
|
import { spawnSync } from 'child_process';
|
|
4
4
|
import { parseMarkdown } from './markdown-parser.js';
|
|
5
5
|
import { loadConfig } from './config.js';
|
|
@@ -41,6 +41,117 @@ export function resolveUsecasePath(implMdPath, cwd) {
|
|
|
41
41
|
const behaviourDir = dirname(implDir); // <behaviour>/
|
|
42
42
|
return join(behaviourDir, 'usecase.md');
|
|
43
43
|
}
|
|
44
|
+
// ─── Impl ordering check (depends-on) ────────────────────────────────────────
|
|
45
|
+
function readImplDependsOn(implMdPath, cwd) {
|
|
46
|
+
const absPath = resolve(cwd, implMdPath);
|
|
47
|
+
if (!existsSync(absPath))
|
|
48
|
+
return { paths: [] };
|
|
49
|
+
let content;
|
|
50
|
+
try {
|
|
51
|
+
content = readFileSync(absPath, 'utf-8');
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return { paths: [] };
|
|
55
|
+
}
|
|
56
|
+
const parsed = parseMarkdown(absPath, content);
|
|
57
|
+
const section = parsed.sections.get('depends on');
|
|
58
|
+
if (!section)
|
|
59
|
+
return { paths: [] };
|
|
60
|
+
const rawPaths = section.bodyLines
|
|
61
|
+
.map(l => l.trim())
|
|
62
|
+
.filter(l => l.length > 0)
|
|
63
|
+
.map(l => (l.startsWith('- ') ? l.slice(2).trim() : l))
|
|
64
|
+
.filter(l => l.length > 0);
|
|
65
|
+
if (rawPaths.length === 0)
|
|
66
|
+
return { paths: [] };
|
|
67
|
+
const invalid = rawPaths.filter(p => !p.includes('/') && !p.endsWith('.md'));
|
|
68
|
+
if (invalid.length > 0) {
|
|
69
|
+
return {
|
|
70
|
+
error: `depends-on must be a string path or list of string paths — got: ${invalid.join(', ')}`,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
return { paths: rawPaths.map(p => normalize(p)) };
|
|
74
|
+
}
|
|
75
|
+
function detectDependsOnCycle(startImplPath, cwd) {
|
|
76
|
+
const normStart = normalize(startImplPath);
|
|
77
|
+
const stack = [[normStart, [normStart]]];
|
|
78
|
+
while (stack.length > 0) {
|
|
79
|
+
const [current, trace] = stack.pop();
|
|
80
|
+
const depsResult = readImplDependsOn(current, cwd);
|
|
81
|
+
if ('error' in depsResult || depsResult.paths.length === 0)
|
|
82
|
+
continue;
|
|
83
|
+
for (const dep of depsResult.paths) {
|
|
84
|
+
if (trace.includes(dep)) {
|
|
85
|
+
const cycleStart = trace.indexOf(dep);
|
|
86
|
+
const cycle = [...trace.slice(cycleStart), dep];
|
|
87
|
+
return `circular dependency: ${cycle.join(' → ')}`;
|
|
88
|
+
}
|
|
89
|
+
stack.push([dep, [...trace, dep]]);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
function checkImplOrdering(implMdPath, cwd) {
|
|
95
|
+
const depsResult = readImplDependsOn(implMdPath, cwd);
|
|
96
|
+
if ('error' in depsResult) {
|
|
97
|
+
return [{
|
|
98
|
+
name: 'ordering-depends-on',
|
|
99
|
+
passed: false,
|
|
100
|
+
output: depsResult.error,
|
|
101
|
+
correction: 'Fix the depends-on field: use a valid project-root-relative path (e.g. taproot/intent/behaviour/impl/impl.md)',
|
|
102
|
+
}];
|
|
103
|
+
}
|
|
104
|
+
if (depsResult.paths.length === 0)
|
|
105
|
+
return [];
|
|
106
|
+
const cycleError = detectDependsOnCycle(implMdPath, cwd);
|
|
107
|
+
if (cycleError) {
|
|
108
|
+
return [{
|
|
109
|
+
name: 'ordering-depends-on',
|
|
110
|
+
passed: false,
|
|
111
|
+
output: cycleError,
|
|
112
|
+
correction: 'Remove the circular dependency before declaring this implementation',
|
|
113
|
+
}];
|
|
114
|
+
}
|
|
115
|
+
const failures = [];
|
|
116
|
+
for (const depPath of depsResult.paths) {
|
|
117
|
+
const absDepPath = resolve(cwd, depPath);
|
|
118
|
+
if (!existsSync(absDepPath)) {
|
|
119
|
+
failures.push(`depends-on: ${depPath} does not exist. Check the path relative to the project root`);
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
let depContent;
|
|
123
|
+
try {
|
|
124
|
+
depContent = readFileSync(absDepPath, 'utf-8');
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
failures.push(`depends-on: ${depPath} could not be read`);
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
const stateMatch = depContent.match(/\*\*State:\*\*\s*(\S+)/);
|
|
131
|
+
if (!stateMatch) {
|
|
132
|
+
failures.push(`depends-on: ${depPath} has no state field. The referenced impl.md is incomplete — add a state: field before declaring this dependency`);
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
const depState = stateMatch[1];
|
|
136
|
+
if (depState !== 'complete') {
|
|
137
|
+
failures.push(`depends-on: ${depPath} has state: ${depState}. That implementation must be complete before this one can be declared`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (failures.length === 0) {
|
|
141
|
+
return [{
|
|
142
|
+
name: 'ordering-depends-on',
|
|
143
|
+
passed: true,
|
|
144
|
+
output: '',
|
|
145
|
+
correction: '',
|
|
146
|
+
}];
|
|
147
|
+
}
|
|
148
|
+
return [{
|
|
149
|
+
name: 'ordering-depends-on',
|
|
150
|
+
passed: false,
|
|
151
|
+
output: failures.join('\n'),
|
|
152
|
+
correction: 'Complete all declared dependencies before making this declaration commit',
|
|
153
|
+
}];
|
|
154
|
+
}
|
|
44
155
|
export function runDorChecks(implMdPath, cwd) {
|
|
45
156
|
const results = [];
|
|
46
157
|
const usecasePath = resolveUsecasePath(implMdPath, cwd);
|
|
@@ -102,7 +213,10 @@ export function runDorChecks(implMdPath, cwd) {
|
|
|
102
213
|
output: hasRelated ? '' : 'Missing ## Related section',
|
|
103
214
|
correction: 'Add a ## Related section documenting related behaviours to usecase.md',
|
|
104
215
|
});
|
|
105
|
-
// 6.
|
|
216
|
+
// 6. Impl ordering constraints (depends-on)
|
|
217
|
+
const orderingResults = checkImplOrdering(implMdPath, cwd);
|
|
218
|
+
results.push(...orderingResults);
|
|
219
|
+
// 7. Configured definitionOfReady conditions
|
|
106
220
|
const dorConditions = config.definitionOfReady;
|
|
107
221
|
if (dorConditions && dorConditions.length > 0) {
|
|
108
222
|
const resolvedChecks = readDorResolutions(implMdPath, cwd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dor-runner.js","sourceRoot":"","sources":["../../src/core/dor-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dor-runner.js","sourceRoot":"","sources":["../../src/core/dor-runner.ts"],"names":[],"mappings":"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"}
|
package/dist/core/fs-walker.js
CHANGED
|
@@ -5,7 +5,7 @@ const MARKER_FILES = {
|
|
|
5
5
|
'usecase.md': 'behaviour',
|
|
6
6
|
'impl.md': 'impl',
|
|
7
7
|
};
|
|
8
|
-
const DEFAULT_EXCLUDE = new Set(['_brainstorms', 'skills', '.git', 'node_modules', 'dist', 'global-truths']);
|
|
8
|
+
const DEFAULT_EXCLUDE = new Set(['_brainstorms', 'skills', '.git', 'node_modules', 'dist', 'global-truths', 'agent', 'specs']);
|
|
9
9
|
export function walkHierarchy(rootPath, options = {}) {
|
|
10
10
|
const excludeDirs = options.excludeDirs ?? DEFAULT_EXCLUDE;
|
|
11
11
|
return walkDir(rootPath, rootPath, null, 0, excludeDirs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-walker.js","sourceRoot":"","sources":["../../src/core/fs-walker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhD,MAAM,YAAY,GAA+B;IAC/C,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,WAAW;IACzB,SAAS,EAAE,MAAM;CAClB,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"fs-walker.js","sourceRoot":"","sources":["../../src/core/fs-walker.ts"],"names":[],"mappings":"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"}
|
package/dist/core/impl-reader.js
CHANGED
|
@@ -25,15 +25,23 @@ export function parseImplData(doc) {
|
|
|
25
25
|
const sourceSection = doc.sections.get('source files');
|
|
26
26
|
const commitsSection = doc.sections.get('commits');
|
|
27
27
|
const testsSection = doc.sections.get('tests');
|
|
28
|
+
const dependsOnSection = doc.sections.get('depends on');
|
|
28
29
|
// Behaviour ref: first non-empty line of the Behaviour section
|
|
29
30
|
const behaviourRef = behaviourSection?.bodyLines
|
|
30
31
|
.map(l => l.trim())
|
|
31
32
|
.find(l => l.length > 0) ?? null;
|
|
33
|
+
// Depends On: list items or plain lines, stripped of leading "- "
|
|
34
|
+
const dependsOn = (dependsOnSection?.bodyLines ?? [])
|
|
35
|
+
.map(l => l.trim())
|
|
36
|
+
.filter(l => l.length > 0)
|
|
37
|
+
.map(l => (l.startsWith('- ') ? l.slice(2).trim() : l))
|
|
38
|
+
.filter(l => l.length > 0);
|
|
32
39
|
return {
|
|
33
40
|
behaviourRef,
|
|
34
41
|
sourceFiles: extractFilePaths(sourceSection?.bodyLines ?? []),
|
|
35
42
|
commits: extractCommitHashes(commitsSection?.bodyLines ?? []),
|
|
36
43
|
testFiles: extractFilePaths(testsSection?.bodyLines ?? []),
|
|
44
|
+
dependsOn,
|
|
37
45
|
};
|
|
38
46
|
}
|
|
39
47
|
//# sourceMappingURL=impl-reader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-reader.js","sourceRoot":"","sources":["../../src/core/impl-reader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"impl-reader.js","sourceRoot":"","sources":["../../src/core/impl-reader.ts"],"names":[],"mappings":"AAUA,qHAAqH;AACrH,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,iFAAiF;AACjF,SAAS,qBAAqB,CAAC,KAAe;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8JAA8J;AAC9J,SAAS,gBAAgB,CAAC,KAAe;IACvC,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACzD,CAAC;AAED,wEAAwE;AACxE,SAAS,mBAAmB,CAAC,KAAe;IAC1C,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAmB;IAC/C,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAExD,+DAA+D;IAC/D,MAAM,YAAY,GAAG,gBAAgB,EAAE,SAAS;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAClB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IAEnC,kEAAkE;IAClE,MAAM,SAAS,GAAG,CAAC,gBAAgB,EAAE,SAAS,IAAI,EAAE,CAAC;SAClD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7B,OAAO;QACL,YAAY;QACZ,WAAW,EAAE,gBAAgB,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAC;QAC7D,OAAO,EAAE,mBAAmB,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,CAAC;QAC7D,SAAS,EAAE,gBAAgB,CAAC,YAAY,EAAE,SAAS,IAAI,EAAE,CAAC;QAC1D,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { existsSync } from 'fs';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Returns the absolute path to the agent directory.
|
|
5
|
+
* New layout: <cwd>/taproot/agent/ (if exists)
|
|
6
|
+
* Old layout: <cwd>/.taproot/ (fallback)
|
|
7
|
+
*/
|
|
8
|
+
export function resolveAgentDir(cwd) {
|
|
9
|
+
const newAgent = join(cwd, 'taproot', 'agent');
|
|
10
|
+
return existsSync(newAgent) ? newAgent : join(cwd, '.taproot');
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/core/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/core/test-cache.js
CHANGED
|
@@ -173,7 +173,7 @@ export async function runTestsPassingWithCache(options) {
|
|
|
173
173
|
return {
|
|
174
174
|
passed: false,
|
|
175
175
|
output: result.summary,
|
|
176
|
-
correction: `tests-passing blocked: test command timed out after ${timeoutSecs}s. Increase testTimeout in
|
|
176
|
+
correction: `tests-passing blocked: test command timed out after ${timeoutSecs}s. Increase testTimeout in taproot/settings.yaml if needed.`,
|
|
177
177
|
};
|
|
178
178
|
}
|
|
179
179
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-cache.js","sourceRoot":"","sources":["../../src/core/test-cache.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"test-cache.js","sourceRoot":"","sources":["../../src/core/test-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compares the installed taproot version against the project's pinned taproot_version
|
|
3
|
+
* in taproot/settings.yaml. Emits a warning to stderr when they diverge.
|
|
4
|
+
*
|
|
5
|
+
* Skipped silently when:
|
|
6
|
+
* - taproot/settings.yaml does not exist (not a taproot project)
|
|
7
|
+
* - taproot_version key is absent (project pre-dates version pinning)
|
|
8
|
+
*/
|
|
9
|
+
export declare function checkProjectVersion(cwd: string): void;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from 'fs';
|
|
2
|
+
import { join, dirname, resolve } from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
import { createRequire } from 'module';
|
|
5
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
const require = createRequire(import.meta.url);
|
|
7
|
+
function parseSemver(v) {
|
|
8
|
+
const parts = v.replace(/^v/, '').split('.').map(Number);
|
|
9
|
+
return [parts[0] ?? 0, parts[1] ?? 0, parts[2] ?? 0];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Compares the installed taproot version against the project's pinned taproot_version
|
|
13
|
+
* in taproot/settings.yaml. Emits a warning to stderr when they diverge.
|
|
14
|
+
*
|
|
15
|
+
* Skipped silently when:
|
|
16
|
+
* - taproot/settings.yaml does not exist (not a taproot project)
|
|
17
|
+
* - taproot_version key is absent (project pre-dates version pinning)
|
|
18
|
+
*/
|
|
19
|
+
export function checkProjectVersion(cwd) {
|
|
20
|
+
const settingsPath = join(cwd, 'taproot', 'settings.yaml');
|
|
21
|
+
if (!existsSync(settingsPath))
|
|
22
|
+
return;
|
|
23
|
+
const content = readFileSync(settingsPath, 'utf-8');
|
|
24
|
+
const match = content.match(/^taproot_version:\s*['"]?(\d[\d.]*\d)['"]?\s*$/m);
|
|
25
|
+
if (!match)
|
|
26
|
+
return;
|
|
27
|
+
const projectVersion = match[1];
|
|
28
|
+
const { version: installed } = require(resolve(__dirname, '..', '..', 'package.json'));
|
|
29
|
+
const [instMaj, instMin] = parseSemver(installed);
|
|
30
|
+
const [projMaj, projMin] = parseSemver(projectVersion);
|
|
31
|
+
if (instMaj < projMaj || (instMaj === projMaj && instMin < projMin)) {
|
|
32
|
+
process.stderr.write(`taproot: project requires ${projectVersion}, installed is ${installed}\n` +
|
|
33
|
+
` → run: npm install -g @imix-js/taproot@${projectVersion}\n`);
|
|
34
|
+
}
|
|
35
|
+
else if (instMaj > projMaj) {
|
|
36
|
+
process.stderr.write(`taproot: installed ${installed} is a major version ahead of this project (pinned at ${projectVersion})\n` +
|
|
37
|
+
` → run: taproot update — to sync skills and record the new version\n`);
|
|
38
|
+
}
|
|
39
|
+
else if (instMin > projMin) {
|
|
40
|
+
process.stderr.write(`taproot: installed ${installed}, project at ${projectVersion} — run: taproot update\n`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=version-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/core/version-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,SAAS,WAAW,CAAC,CAAS;IAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO;IAEtC,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC/E,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IACjC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAwB,CAAC;IAE9G,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAEvD,IAAI,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;QACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,cAAc,kBAAkB,SAAS,IAAI;YAC1E,4CAA4C,cAAc,IAAI,CAC/D,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sBAAsB,SAAS,wDAAwD,cAAc,KAAK;YAC1G,wEAAwE,CACzE,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sBAAsB,SAAS,gBAAgB,cAAc,0BAA0B,CACxF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -5,6 +5,7 @@ export declare function checkBehaviourParent(node: FolderNode): Violation[];
|
|
|
5
5
|
export declare function checkImplParent(node: FolderNode): Violation[];
|
|
6
6
|
export declare function checkOrphanFolder(node: FolderNode): Violation[];
|
|
7
7
|
export declare function checkEmptyFolder(node: FolderNode): Violation[];
|
|
8
|
+
export declare function checkGlobalTruthsIntent(root: FolderNode): Violation[];
|
|
8
9
|
export declare function validateStructure(root: FolderNode, options: {
|
|
9
10
|
strict: boolean;
|
|
10
11
|
}): Violation[];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { join } from 'path';
|
|
2
|
+
import { existsSync } from 'fs';
|
|
2
3
|
import { flattenTree } from '../core/fs-walker.js';
|
|
3
4
|
const KEBAB_CASE = /^[a-z0-9]+(-[a-z0-9]+)*$/;
|
|
4
5
|
export function checkDuplicateMarkers(node) {
|
|
@@ -76,9 +77,23 @@ export function checkEmptyFolder(node) {
|
|
|
76
77
|
message: `${node.marker} folder "${node.name}" has no child folders`,
|
|
77
78
|
}];
|
|
78
79
|
}
|
|
80
|
+
export function checkGlobalTruthsIntent(root) {
|
|
81
|
+
const globalTruthsIntentPath = join(root.absolutePath, 'global-truths', 'intent.md');
|
|
82
|
+
if (!existsSync(globalTruthsIntentPath))
|
|
83
|
+
return [];
|
|
84
|
+
return [{
|
|
85
|
+
type: 'warning',
|
|
86
|
+
filePath: globalTruthsIntentPath,
|
|
87
|
+
code: 'GLOBAL_TRUTHS_INTENT_CONFLICT',
|
|
88
|
+
message: '`global-truths/` is a taproot-managed truth store — `intent.md` does not belong here. ' +
|
|
89
|
+
'Remove `global-truths/intent.md` (and any behaviours beneath it) and use truth files + ' +
|
|
90
|
+
'`check-if-affected-by` entries in `taproot/settings.yaml` to enforce them instead.',
|
|
91
|
+
}];
|
|
92
|
+
}
|
|
79
93
|
export function validateStructure(root, options) {
|
|
80
94
|
const violations = [];
|
|
81
95
|
const nodes = flattenTree(root);
|
|
96
|
+
violations.push(...checkGlobalTruthsIntent(root));
|
|
82
97
|
for (const node of nodes) {
|
|
83
98
|
violations.push(...checkDuplicateMarkers(node));
|
|
84
99
|
if (node !== root)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure-rules.js","sourceRoot":"","sources":["../../src/validators/structure-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"structure-rules.js","sourceRoot":"","sources":["../../src/validators/structure-rules.ts"],"names":[],"mappings":"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"}
|
package/docs/agents.md
CHANGED
|
@@ -52,12 +52,12 @@ After `taproot init --agent claude --with-skills`, skills are available as `/tr-
|
|
|
52
52
|
|
|
53
53
|
### How skills work
|
|
54
54
|
|
|
55
|
-
Skills are portable markdown files installed to
|
|
55
|
+
Skills are portable markdown files installed to `taproot/agent/skills/`. They are not IDE plugins or extensions — any agent that can read files can follow a skill. The Claude Code adapter generates `.claude/commands/tr-*.md` files that reference the skills; invoking `/tr-intent` tells Claude to load and follow `taproot/agent/skills/intent.md`.
|
|
56
56
|
|
|
57
57
|
This means:
|
|
58
58
|
- Skills work even if the Claude Code extension is updated or changed
|
|
59
59
|
- You can read any skill file to understand exactly what the agent will do
|
|
60
|
-
- You can customise a skill by editing its file in
|
|
60
|
+
- You can customise a skill by editing its file in `taproot/agent/skills/`
|
|
61
61
|
- Skills stay in sync with Taproot via `taproot update`
|
|
62
62
|
|
|
63
63
|
### Updating skills
|
package/docs/architecture.md
CHANGED
|
@@ -22,9 +22,9 @@ Architectural decisions, constraints, and patterns for the taproot codebase. Eve
|
|
|
22
22
|
|
|
23
23
|
**No global mutable state** — No module-level variables that accumulate state across calls. Functions that need shared state receive it as parameters.
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
**Unified `taproot/` directory layout** — All taproot content lives under `taproot/`: requirement documents in `taproot/specs/` (or directly under `taproot/` with a custom `root:` setting), agent skills and docs in `taproot/agent/`, and global truths in `taproot/global-truths/`. Settings live at `taproot/settings.yaml`. The `.taproot/` directory is reserved for gitignored runtime scratch only (session state, test result cache, truth-check sessions).
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
**`.taproot/` is runtime scratch, not content** — Files written by CLI invocations that should not be committed (session state, `.truth-check-session`, `.test-results/`) go in `.taproot/`. Add `.taproot/` to `.gitignore`. Never place spec documents, skill files, or configuration there.
|
|
28
28
|
|
|
29
29
|
**Markdown is the schema** — All hierarchy documents (intent.md, usecase.md, impl.md) must be valid CommonMark. No proprietary extensions.
|
|
30
30
|
|
|
@@ -50,4 +50,4 @@ Core modules must not import from commands. Commands may import from core, valid
|
|
|
50
50
|
|
|
51
51
|
## Testing
|
|
52
52
|
|
|
53
|
-
Integration tests use real temporary directories (`mkdtempSync`) — no mocking the filesystem. Config in tests must be written to
|
|
53
|
+
Integration tests use real temporary directories (`mkdtempSync`) — no mocking the filesystem. Config in tests must be written to `taproot/settings.yaml` (matching the layout that `taproot init` now creates).
|
package/docs/cli.md
CHANGED
|
@@ -12,7 +12,7 @@ The Taproot CLI handles setup, validation, and reporting. It does not generate c
|
|
|
12
12
|
taproot init [--with-hooks] [--with-ci github|gitlab] [--with-skills] [--agent claude|cursor|copilot|windsurf|generic|all] [--template webapp|book-authoring|cli-tool] [--force]
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
Initializes Taproot in the current directory. Creates `taproot/` and
|
|
15
|
+
Initializes Taproot in the current directory. Creates `taproot/` with `specs/`, `global-truths/`, and `agent/` subdirectories; writes `taproot/settings.yaml`. Then installs whichever integrations you request.
|
|
16
16
|
|
|
17
17
|
When run on an empty project (no `taproot/` directory yet), the command prompts: **"Start from a template? [y/N]"** — entering `y` presents a list of starter hierarchies to choose from.
|
|
18
18
|
|
|
@@ -21,10 +21,10 @@ When run on an empty project (no `taproot/` directory yet), the command prompts:
|
|
|
21
21
|
| `--with-hooks` | Installs `.git/hooks/pre-commit` running `taproot commithook` |
|
|
22
22
|
| `--with-ci github` | Generates `.github/workflows/taproot.yml` with validate-structure, validate-format, and check-orphans |
|
|
23
23
|
| `--with-ci gitlab` | Generates a `taproot-validate` job in `.gitlab-ci.yml` |
|
|
24
|
-
| `--with-skills` | Copies skill definitions to
|
|
24
|
+
| `--with-skills` | Copies skill definitions to `taproot/agent/skills/`. Implied by `--agent claude` — only needed if you want skills without a Claude adapter. |
|
|
25
25
|
| `--agent <name>` | Generates agent adapter files (see [Agent Setup](agents.md)) |
|
|
26
|
-
| `--template <type>` | Skip the prompt and apply a starter template directly (`webapp`, `book-authoring`, or `cli-tool`). Copies the starter's `taproot/` hierarchy and
|
|
27
|
-
| `--force` | When used with `--template`, overwrites an existing
|
|
26
|
+
| `--template <type>` | Skip the prompt and apply a starter template directly (`webapp`, `book-authoring`, or `cli-tool`). Copies the starter's `taproot/` hierarchy and `taproot/settings.yaml` into the project. |
|
|
27
|
+
| `--force` | When used with `--template`, overwrites an existing `taproot/settings.yaml` with the template's version. |
|
|
28
28
|
|
|
29
29
|
Running `taproot init` again on an existing project is safe — it skips files that already exist and reports `exists` for each.
|
|
30
30
|
|
|
@@ -38,7 +38,7 @@ Refreshes installed agent adapters and skills to the current version. Run this a
|
|
|
38
38
|
|
|
39
39
|
The update command also:
|
|
40
40
|
- Removes stale artefacts from older Taproot layouts (e.g., the pre-v0.1 `taproot/skills/` directory)
|
|
41
|
-
- Refreshes
|
|
41
|
+
- Refreshes `taproot/agent/docs/` with the current taproot documentation (patterns, architecture, security, etc.) so agent skills have up-to-date reference material
|
|
42
42
|
- Runs a cross-link refresh: adds missing `## Behaviours <!-- taproot-managed -->` sections to `intent.md` files and `## Implementations <!-- taproot-managed -->` sections to `usecase.md` files, then appends any missing child links and prunes any links to non-existent files
|
|
43
43
|
- Migrates old `taproot validate-structure` / `taproot validate-format` pre-commit hooks to the newer `taproot commithook` format
|
|
44
44
|
|
|
@@ -174,7 +174,7 @@ taproot dod [impl-path] [--dry-run] [--rerun-tests]
|
|
|
174
174
|
taproot dod <impl-path> --resolve <condition> --note "<text>" [--resolve <condition> --note "<text>" ...]
|
|
175
175
|
```
|
|
176
176
|
|
|
177
|
-
Runs all configured DoD conditions from
|
|
177
|
+
Runs all configured DoD conditions from `taproot/settings.yaml` against the specified implementation (or all implementations if no path is given). If all conditions pass and an `impl-path` is provided, marks the impl `complete`, records the results in `## DoD Resolutions`, and automatically advances the parent `usecase.md` state from `specified` to `implemented` if it hasn't been already.
|
|
178
178
|
|
|
179
179
|
Use `--resolve`/`--note` to record agent resolutions for agent-driven conditions (e.g. `document-current`, `check-if-affected`, `check-if-affected-by`). Multiple pairs can be supplied in a single invocation — conditions are paired with notes by position.
|
|
180
180
|
|
|
@@ -204,7 +204,7 @@ The hook uses a three-tier classification, where the implementation tier is dete
|
|
|
204
204
|
| Source files found in map but `impl.md` NOT staged | **Blocked** — "Stage `impl.md` alongside your source files. No implementation commit should proceed without its traceability record." |
|
|
205
205
|
| No tracked source files, no hierarchy or impl files | No checks; commit proceeds |
|
|
206
206
|
|
|
207
|
-
The DoR gate prevents committing an implementation record before the behaviour is fully specified. The DoD gate prevents marking an implementation complete without passing the quality checks defined in
|
|
207
|
+
The DoR gate prevents committing an implementation record before the behaviour is fully specified. The DoD gate prevents marking an implementation complete without passing the quality checks defined in `taproot/settings.yaml`.
|
|
208
208
|
|
|
209
209
|
**Truth consistency check:** when hierarchy files are staged and `taproot/global-truths/` exists, the hook validates that a truth-check session marker (`.taproot/.truth-check-session`) is present and matches the current staged content. This marker is written by `taproot truth-sign`, which `/tr-commit` calls after the agent approves the truth check. Committing hierarchy files directly with `git commit` (bypassing `/tr-commit`) will be blocked if applicable truths exist.
|
|
210
210
|
|
package/docs/configuration.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## Quick discovery
|
|
4
4
|
|
|
5
|
-
- **In your project:**
|
|
6
|
-
- **From the CLI:** `taproot --help` includes a footer pointing to
|
|
5
|
+
- **In your project:** `taproot/agent/CONFIGURATION.md` — installed and refreshed by `taproot update`, documents all `settings.yaml` options with examples and whether each requires re-running `taproot update`
|
|
6
|
+
- **From the CLI:** `taproot --help` includes a footer pointing to `taproot/settings.yaml` and `taproot/agent/CONFIGURATION.md`
|
|
7
7
|
- **Full reference:** this document
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## `taproot/settings.yaml`
|
|
10
10
|
|
|
11
11
|
Created by `taproot init`. All settings have defaults — you only need to add what you want to override.
|
|
12
12
|
|
|
@@ -70,7 +70,7 @@ The `definitionOfDone` list controls what `taproot dod` checks and what the pre-
|
|
|
70
70
|
| `document-current: <description>` | Agent-verified: the agent checks whether the described documentation is current and applies updates if needed. |
|
|
71
71
|
| `check-if-affected: <file>` | Agent-verified: the agent reviews whether the given file needed updating as a result of this implementation and applies changes if needed. |
|
|
72
72
|
| `check-if-affected-by: <behaviour-path>` | Agent-verified: the agent reads the referenced behaviour spec and determines whether it applies to this implementation — verifying compliance if it does, recording "not applicable" if it does not. Use for cross-cutting requirements that every implementation of a given type must satisfy (e.g. every new skill must satisfy `human-integration/contextual-next-steps`). |
|
|
73
|
-
| `check: <free-form question>` | Agent-verified: the agent reads the question, reasons whether the answer is yes, no, or not applicable for this specific implementation, and takes any indicated action (e.g. adds an entry to
|
|
73
|
+
| `check: <free-form question>` | Agent-verified: the agent reads the question, reasons whether the answer is yes, no, or not applicable for this specific implementation, and takes any indicated action (e.g. adds an entry to `taproot/settings.yaml`, documents a new pattern). The two default entries in `taproot/settings.yaml` cover the most common meta-questions. |
|
|
74
74
|
| `run: <command>` | Custom shell command. Exit 0 = pass, any other exit code = fail. |
|
|
75
75
|
|
|
76
76
|
You can give any condition a custom name with `name: <label>`, which is used in DoD reports:
|
|
@@ -92,7 +92,7 @@ Results are recorded in the `## DoD Resolutions` section of `impl.md`. The secti
|
|
|
92
92
|
|
|
93
93
|
### Built-in cross-cutting DoD conditions
|
|
94
94
|
|
|
95
|
-
Taproot's own
|
|
95
|
+
Taproot's own `taproot/settings.yaml` ships with several `check-if-affected-by` conditions that enforce project-wide quality rules. These serve as reference examples:
|
|
96
96
|
|
|
97
97
|
| Condition | What it enforces |
|
|
98
98
|
|-----------|-----------------|
|
|
@@ -121,7 +121,7 @@ autonomous: true # all sessions in this repo run without confirmation prompts
|
|
|
121
121
|
- Test failures or hook rejections are recorded in `impl.md` (impl marked `needs-rework`) and the agent stops — the developer returns to a clear failure report
|
|
122
122
|
|
|
123
123
|
**Three activation mechanisms (in order of scope):**
|
|
124
|
-
1. `autonomous: true` in
|
|
124
|
+
1. `autonomous: true` in `taproot/settings.yaml` — repo-wide, all sessions
|
|
125
125
|
2. `TAPROOT_AUTONOMOUS=1` environment variable — per process invocation
|
|
126
126
|
3. `--autonomous` flag on a skill invocation (e.g. `/tr-implement path/ --autonomous`) — per skill
|
|
127
127
|
|