sdd-agent-platform 0.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 +405 -0
- package/dist/packages/cli/src/main.d.ts +2 -0
- package/dist/packages/cli/src/main.js +1499 -0
- package/dist/packages/cli/src/main.js.map +1 -0
- package/dist/packages/core/src/ai-tools.d.ts +50 -0
- package/dist/packages/core/src/ai-tools.js +223 -0
- package/dist/packages/core/src/ai-tools.js.map +1 -0
- package/dist/packages/core/src/index.d.ts +1016 -0
- package/dist/packages/core/src/index.js +4824 -0
- package/dist/packages/core/src/index.js.map +1 -0
- package/dist/packages/core/src/instructions.d.ts +14 -0
- package/dist/packages/core/src/instructions.js +117 -0
- package/dist/packages/core/src/instructions.js.map +1 -0
- package/package.json +52 -0
- package/tsconfig.build.json +6 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../packages/cli/src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare const SDD_VERSION = "0.1.0";
|
|
2
|
+
export declare const AI_ENTRY_CONTRACT = "sdd-ai-entry-v1";
|
|
3
|
+
export declare const CLAUDE_CODE_TOOL_ID = "claude-code";
|
|
4
|
+
export type AiToolId = typeof CLAUDE_CODE_TOOL_ID;
|
|
5
|
+
export type AiToolSelection = 'auto' | AiToolId | 'none';
|
|
6
|
+
export type AiEntryKind = 'skill' | 'command';
|
|
7
|
+
export type AiEntryStatus = 'created' | 'unchanged' | 'updated' | 'missing' | 'drifted' | 'foreign' | 'conflict' | 'skipped';
|
|
8
|
+
export interface AiToolEntryTemplate {
|
|
9
|
+
id: string;
|
|
10
|
+
kind: AiEntryKind;
|
|
11
|
+
relativePath: string;
|
|
12
|
+
title: string;
|
|
13
|
+
body: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ProjectedAiEntry {
|
|
16
|
+
tool: AiToolId;
|
|
17
|
+
id: string;
|
|
18
|
+
kind: AiEntryKind;
|
|
19
|
+
relativePath: string;
|
|
20
|
+
content: string;
|
|
21
|
+
hash: string;
|
|
22
|
+
}
|
|
23
|
+
export interface AiEntryStatusReport {
|
|
24
|
+
tool: AiToolId;
|
|
25
|
+
id: string;
|
|
26
|
+
kind: AiEntryKind;
|
|
27
|
+
relativePath: string;
|
|
28
|
+
status: AiEntryStatus;
|
|
29
|
+
message: string;
|
|
30
|
+
action?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface AiProjectionResult {
|
|
33
|
+
tool: AiToolId;
|
|
34
|
+
entries: AiEntryStatusReport[];
|
|
35
|
+
}
|
|
36
|
+
export interface AiToolAdapter {
|
|
37
|
+
id: AiToolId;
|
|
38
|
+
displayName: string;
|
|
39
|
+
entries(): AiToolEntryTemplate[];
|
|
40
|
+
}
|
|
41
|
+
export interface AiProjectionOptions {
|
|
42
|
+
tool?: AiToolSelection;
|
|
43
|
+
check?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export declare const claudeCodeAdapter: AiToolAdapter;
|
|
46
|
+
export declare function getAiToolAdapters(selection?: AiToolSelection): AiToolAdapter[];
|
|
47
|
+
export declare function projectAiToolEntries(options?: AiProjectionOptions): ProjectedAiEntry[];
|
|
48
|
+
export declare function applyAiToolEntries(projectRoot: string, options?: AiProjectionOptions): Promise<AiProjectionResult[]>;
|
|
49
|
+
export declare function checkAiToolEntryDrift(projectRoot: string, options?: AiProjectionOptions): Promise<AiProjectionResult[]>;
|
|
50
|
+
export declare function summarizeAiProjectionStatus(results: AiProjectionResult[]): 'PASS' | 'WARN' | 'FAIL';
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
export const SDD_VERSION = '0.1.0';
|
|
5
|
+
export const AI_ENTRY_CONTRACT = 'sdd-ai-entry-v1';
|
|
6
|
+
export const CLAUDE_CODE_TOOL_ID = 'claude-code';
|
|
7
|
+
export const claudeCodeAdapter = {
|
|
8
|
+
id: CLAUDE_CODE_TOOL_ID,
|
|
9
|
+
displayName: 'Claude Code',
|
|
10
|
+
entries() {
|
|
11
|
+
return [
|
|
12
|
+
{
|
|
13
|
+
id: 'sdd',
|
|
14
|
+
kind: 'skill',
|
|
15
|
+
relativePath: '.claude/skills/sdd/SKILL.md',
|
|
16
|
+
title: 'SDD Platform',
|
|
17
|
+
body: `# SDD Platform\n\nUse the local or globally installed \`sdd\` CLI as the source of truth for this repository's SDD workflow.\n\nStart by running:\n\n\`\`\`bash\nsdd status\nsdd instructions overview --json\n\`\`\`\n\nRespect the returned boundaries. Do not treat this generated file as the workflow brain; refresh it with \`sdd update\` when drift is reported.\n`
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
id: 'sdd-root',
|
|
21
|
+
kind: 'command',
|
|
22
|
+
relativePath: '.claude/commands/sdd.md',
|
|
23
|
+
title: 'SDD',
|
|
24
|
+
body: `Run the SDD platform workflow entrypoint for this repository.\n\n1. Run \`sdd status\` and report documents, task counts, latest run, gaps, and the recommended next command.\n2. Follow the recommended next command from CLI/core output; do not infer dynamic state from this generated markdown.\n3. If status points to the starter \`ONBOARDING-1\` task, refine or replace the existing starter docs under \`specs/<branch>/\`; do not create parallel documents.\n4. If status points to gaps, drift, or doctor/update work, handle that maintenance action before do/verify.\n5. If status recommends a task, run \`sdd tasks inspect <task_id>\` and use the task Boundary and Acceptance before offering \`/sdd:do\`.\n6. If status recommends sync-back, run \`sdd sync-back inspect <run_id> --task <task_id>\` and follow apply_policy: direct-safe tasks may apply directly, confirm-required tasks need human confirmation and \`--approved\`.\n`
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: 'sdd-init',
|
|
28
|
+
kind: 'command',
|
|
29
|
+
relativePath: '.claude/commands/sdd/init.md',
|
|
30
|
+
title: 'SDD init',
|
|
31
|
+
body: `Initialize or refresh the SDD project configuration, starter semantic documents, and generated AI entries.\n\nRun:\n\n\`\`\`bash\nsdd init --ai claude-code\nsdd status\n\`\`\`\n\nDefault init creates \`.sdd/project.yml\`, \`.sdd/runs/\`, starter \`specs/<branch>/spec.md\`, \`plan.md\`, \`tasks.md\`, and managed Claude Code entries. Existing semantic documents are preserved unless \`--force\` is explicit.\n\nThen follow the returned CLI/core instruction payload and refine the starter docs before implementation.\n`
|
|
32
|
+
},
|
|
33
|
+
commandEntry('sdd-doctor', '.claude/commands/sdd/doctor.md', 'doctor', 'Check project config, scoped run evidence, generated AI entry drift, and use sdd run archive <run_id> for failed exploratory runs.'),
|
|
34
|
+
commandEntry('sdd-update', '.claude/commands/sdd/update.md', 'update', 'Refresh managed generated AI entries when drift is reported.'),
|
|
35
|
+
commandEntry('sdd-spec', '.claude/commands/sdd/spec.md', 'spec', 'Create if missing during init, otherwise refine the existing SDD spec document for requirements, scope, non-goals, and acceptance.'),
|
|
36
|
+
commandEntry('sdd-plan', '.claude/commands/sdd/plan.md', 'plan', 'Create if missing during init, otherwise refine the existing SDD plan document for approach, impact, risks, and validation strategy.'),
|
|
37
|
+
workflowCommandEntry('sdd-tasks', '.claude/commands/sdd/tasks.md', 'tasks', 'Create if missing during init, otherwise refine existing graph-ready SDD task blocks from an approved spec and plan.', 'sdd tasks format'),
|
|
38
|
+
{
|
|
39
|
+
id: 'sdd-do',
|
|
40
|
+
kind: 'command',
|
|
41
|
+
relativePath: '.claude/commands/sdd/do.md',
|
|
42
|
+
title: 'SDD do',
|
|
43
|
+
body: `Execute one approved SDD task boundary through the ingestion-aware task workflow.
|
|
44
|
+
|
|
45
|
+
Run:
|
|
46
|
+
|
|
47
|
+
\`\`\`bash
|
|
48
|
+
sdd status
|
|
49
|
+
sdd instructions do --json
|
|
50
|
+
sdd tasks inspect <task_id>
|
|
51
|
+
\`\`\`
|
|
52
|
+
|
|
53
|
+
Workflow:
|
|
54
|
+
|
|
55
|
+
1. Resolve exactly one task id from the user request or from the \`sdd status\` recommended next command. Stop and ask if it is ambiguous.
|
|
56
|
+
2. Read \`sdd tasks inspect <task_id>\` and restate the task Boundary, Acceptance, gaps, and validation commands.
|
|
57
|
+
3. Work only inside the selected task boundary; do not expand scope without a checkpoint.
|
|
58
|
+
4. Before creating explicit result artifacts, use \`sdd artifact template artifacts/<agent>-<task_id>.md --task <task_id> --agent <agent>\` and keep source/test files in \`## Evidence\`, not in \`sdd-result.artifacts\`.
|
|
59
|
+
5. Run \`sdd artifact validate <run_id> <artifact> --task <task_id> --agent <agent>\` before passing artifacts into \`sdd do task <task_id>\`.
|
|
60
|
+
6. Run \`sdd do task <task_id>\` with explicit artifact paths when evidence is available; this path records Phase 3 artifact ingestion evidence for doctor.
|
|
61
|
+
7. Report run id, status, artifacts, and gaps. If completed, recommend \`sdd verify task <task_id> --run <run_id>\`.
|
|
62
|
+
|
|
63
|
+
Do not create worktrees, auto commit, or mark missing evidence as PASS.
|
|
64
|
+
`
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
id: 'sdd-verify',
|
|
68
|
+
kind: 'command',
|
|
69
|
+
relativePath: '.claude/commands/sdd/verify.md',
|
|
70
|
+
title: 'SDD verify',
|
|
71
|
+
body: `Verify task acceptance coverage from review and validation evidence.\n\nRun:\n\n\`\`\`bash\nsdd status\nsdd run inspect <run_id>\nsdd instructions verify --json\n\`\`\`\n\nWorkflow:\n\n1. Resolve exactly one run id and task id from \`sdd status\`, the latest run, or the user request. Stop and ask if either is ambiguous.\n2. Inspect \`sdd run inspect <run_id>\` before verifying so state, events, artifacts, validation, and sync-back are visible.\n3. Ensure the validator artifact includes exact task Acceptance text, preferably generated with \`sdd artifact template artifacts/validation-<task_id>.md --task <task_id> --agent validator\`.\n4. Run \`sdd artifact validate <run_id> <artifact> --task <task_id> --agent validator\` before goal-level verify.\n5. Run \`sdd verify task <task_id> --run <run_id>\` for goal-level acceptance coverage.\n6. If verify PASS, run \`sdd sync-back inspect <run_id> --task <task_id>\` and follow apply_policy.\n7. Direct-safe tasks may run \`sdd sync-back apply\` directly; confirm-required tasks require human confirmation and \`--approved\` before writing \`tasks.md\`.\n\nDo not auto-fix failures, force push, or mark completed when blocking gaps remain.\n`
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: 'sdd-instructions',
|
|
75
|
+
kind: 'command',
|
|
76
|
+
relativePath: '.claude/commands/sdd/instructions.md',
|
|
77
|
+
title: 'SDD instructions',
|
|
78
|
+
body: `Fetch dynamic SDD instructions and follow the status-first decision tree to the next actionable step.\n\nRun:\n\n\`\`\`bash\nsdd status\nsdd instructions overview --json\n\`\`\`\n\nThen apply this decision tree:\n\n- **If status reports gaps or drift**: run the recommended command. For generated entry drift, run \`sdd update\`, then \`sdd doctor\` again.\n- **If status recommends a task**: run \`sdd tasks inspect <task_id>\`, then offer \`/sdd:do\` inside the approved task boundary.\n- **If status recommends run inspection**: run \`sdd run inspect <run_id>\` and report state, events, artifacts, validation, and sync-back.\n- **After a task completes**: run \`sdd verify task <task_id> --run <run_id>\` for acceptance coverage.\n- **After verify PASS**: run \`sdd sync-back inspect <run_id> --task <task_id>\` and follow apply_policy: direct-safe tasks may apply directly, confirm-required tasks need human confirmation and \`--approved\`.\n\nAlways report the result to the user. Do not loop in maintenance checks when status already gives a next workflow action.\n`
|
|
79
|
+
}
|
|
80
|
+
];
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
export function getAiToolAdapters(selection = 'auto') {
|
|
84
|
+
if (selection === 'none') {
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
if (selection === 'auto' || selection === CLAUDE_CODE_TOOL_ID) {
|
|
88
|
+
return [claudeCodeAdapter];
|
|
89
|
+
}
|
|
90
|
+
return [];
|
|
91
|
+
}
|
|
92
|
+
export function projectAiToolEntries(options = {}) {
|
|
93
|
+
return getAiToolAdapters(options.tool).flatMap((adapter) => adapter.entries().map((entry) => renderProjectedEntry(adapter, entry)));
|
|
94
|
+
}
|
|
95
|
+
export async function applyAiToolEntries(projectRoot, options = {}) {
|
|
96
|
+
const results = [];
|
|
97
|
+
for (const adapter of getAiToolAdapters(options.tool)) {
|
|
98
|
+
const entries = [];
|
|
99
|
+
for (const template of adapter.entries()) {
|
|
100
|
+
const projected = renderProjectedEntry(adapter, template);
|
|
101
|
+
entries.push(await applyEntry(projectRoot, projected, options.check === true));
|
|
102
|
+
}
|
|
103
|
+
results.push({ tool: adapter.id, entries });
|
|
104
|
+
}
|
|
105
|
+
return results;
|
|
106
|
+
}
|
|
107
|
+
export async function checkAiToolEntryDrift(projectRoot, options = {}) {
|
|
108
|
+
return applyAiToolEntries(projectRoot, { ...options, check: true });
|
|
109
|
+
}
|
|
110
|
+
export function summarizeAiProjectionStatus(results) {
|
|
111
|
+
const statuses = results.flatMap((result) => result.entries.map((entry) => entry.status));
|
|
112
|
+
if (statuses.some((status) => status === 'foreign' || status === 'conflict' || status === 'drifted' || status === 'missing')) {
|
|
113
|
+
return 'FAIL';
|
|
114
|
+
}
|
|
115
|
+
if (statuses.some((status) => status === 'skipped')) {
|
|
116
|
+
return 'WARN';
|
|
117
|
+
}
|
|
118
|
+
return 'PASS';
|
|
119
|
+
}
|
|
120
|
+
function commandEntry(id, relativePath, action, summary) {
|
|
121
|
+
return {
|
|
122
|
+
id,
|
|
123
|
+
kind: 'command',
|
|
124
|
+
relativePath,
|
|
125
|
+
title: `SDD ${action}`,
|
|
126
|
+
body: `${summary}\n\nRun:\n\n\`\`\`bash\nsdd instructions ${action} --json\n\`\`\`\n\nThen follow the returned CLI/core instruction payload.\n`
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
function workflowCommandEntry(id, relativePath, action, summary, helperCommand) {
|
|
130
|
+
return {
|
|
131
|
+
id,
|
|
132
|
+
kind: 'command',
|
|
133
|
+
relativePath,
|
|
134
|
+
title: `SDD ${action}`,
|
|
135
|
+
body: `${summary}\n\nRun:\n\n\`\`\`bash\nsdd instructions ${action} --json\n${helperCommand}\n\`\`\`\n\nUse the helper command output as the canonical format reference, keep companion sections such as #### Boundary and #### Acceptance outside the fenced metadata block, then follow the returned CLI/core instruction payload.\n`
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function renderProjectedEntry(adapter, entry) {
|
|
139
|
+
const hash = hashManagedBody(entry.body);
|
|
140
|
+
const frontmatter = [
|
|
141
|
+
'---',
|
|
142
|
+
'sdd_managed: true',
|
|
143
|
+
`sdd_contract: ${AI_ENTRY_CONTRACT}`,
|
|
144
|
+
`sdd_version: "${SDD_VERSION}"`,
|
|
145
|
+
`sdd_tool: ${adapter.id}`,
|
|
146
|
+
`sdd_artifact_kind: ${entry.kind}`,
|
|
147
|
+
`sdd_artifact_id: ${entry.id}`,
|
|
148
|
+
'sdd_source: sdd-agent-platform',
|
|
149
|
+
`sdd_hash: sha256:${hash}`,
|
|
150
|
+
'---'
|
|
151
|
+
].join('\n');
|
|
152
|
+
return {
|
|
153
|
+
tool: adapter.id,
|
|
154
|
+
id: entry.id,
|
|
155
|
+
kind: entry.kind,
|
|
156
|
+
relativePath: entry.relativePath,
|
|
157
|
+
content: `${frontmatter}\n\n${entry.body}`,
|
|
158
|
+
hash
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
async function applyEntry(projectRoot, projected, checkOnly) {
|
|
162
|
+
const absolutePath = path.join(projectRoot, projected.relativePath);
|
|
163
|
+
const existing = await readFile(absolutePath, 'utf8').catch((error) => {
|
|
164
|
+
if (isNodeError(error) && error.code === 'ENOENT') {
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
throw error;
|
|
168
|
+
});
|
|
169
|
+
if (existing === null) {
|
|
170
|
+
if (!checkOnly) {
|
|
171
|
+
await mkdir(path.dirname(absolutePath), { recursive: true });
|
|
172
|
+
await writeFile(absolutePath, projected.content, 'utf8');
|
|
173
|
+
return statusReport(projected, 'created', 'Managed AI entry created.');
|
|
174
|
+
}
|
|
175
|
+
return statusReport(projected, 'missing', 'Managed AI entry is missing.', 'Run sdd update.');
|
|
176
|
+
}
|
|
177
|
+
const current = inspectManagedEntry(existing);
|
|
178
|
+
if (!current.managed) {
|
|
179
|
+
return statusReport(projected, 'foreign', 'Target path exists but is not managed by sdd.', 'Move the file or choose another entry path before running sdd update.');
|
|
180
|
+
}
|
|
181
|
+
if (current.contract !== AI_ENTRY_CONTRACT) {
|
|
182
|
+
return statusReport(projected, 'conflict', `Managed AI entry contract mismatch: ${current.contract ?? 'missing'}.`, 'Review the file before running sdd update.');
|
|
183
|
+
}
|
|
184
|
+
if (current.hash === projected.hash && current.bodyHash === projected.hash) {
|
|
185
|
+
return statusReport(projected, 'unchanged', 'Managed AI entry is current.');
|
|
186
|
+
}
|
|
187
|
+
if (!checkOnly) {
|
|
188
|
+
await writeFile(absolutePath, projected.content, 'utf8');
|
|
189
|
+
return statusReport(projected, 'updated', 'Managed AI entry refreshed.');
|
|
190
|
+
}
|
|
191
|
+
return statusReport(projected, 'drifted', 'Managed AI entry content drifted.', 'Run sdd update.');
|
|
192
|
+
}
|
|
193
|
+
function inspectManagedEntry(content) {
|
|
194
|
+
const body = content.replace(/^---\n[\s\S]*?\n---\n\n?/, '');
|
|
195
|
+
return {
|
|
196
|
+
managed: /^sdd_managed:\s*true\s*$/m.test(content),
|
|
197
|
+
contract: readFrontmatterScalar(content, 'sdd_contract'),
|
|
198
|
+
hash: readFrontmatterScalar(content, 'sdd_hash')?.replace(/^sha256:/, '') ?? null,
|
|
199
|
+
bodyHash: hashManagedBody(body)
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
function readFrontmatterScalar(content, key) {
|
|
203
|
+
const match = content.match(new RegExp(`^${key}:\\s*["']?([^"'\\n]+)["']?\\s*$`, 'm'));
|
|
204
|
+
return match?.[1]?.trim() ?? null;
|
|
205
|
+
}
|
|
206
|
+
function hashManagedBody(body) {
|
|
207
|
+
return createHash('sha256').update(body, 'utf8').digest('hex');
|
|
208
|
+
}
|
|
209
|
+
function statusReport(projected, status, message, action) {
|
|
210
|
+
return {
|
|
211
|
+
tool: projected.tool,
|
|
212
|
+
id: projected.id,
|
|
213
|
+
kind: projected.kind,
|
|
214
|
+
relativePath: projected.relativePath,
|
|
215
|
+
status,
|
|
216
|
+
message,
|
|
217
|
+
action
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
function isNodeError(error) {
|
|
221
|
+
return error instanceof Error && 'code' in error;
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=ai-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-tools.js","sourceRoot":"","sources":["../../../../packages/core/src/ai-tools.ts"],"names":[],"mappings":"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"}
|