sdd-mcp-server 3.4.0 → 3.5.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 +75 -40
- package/dist/adapters/cli/SDDToolAdapter.js +3 -3
- package/dist/adapters/cli/SDDToolAdapter.js.map +1 -1
- package/dist/application/services/staticSteering.js +2 -4
- package/dist/application/services/staticSteering.js.map +1 -1
- package/dist/cli/install-skills.d.ts +10 -32
- package/dist/cli/install-skills.js +213 -176
- package/dist/cli/install-skills.js.map +1 -1
- package/dist/cli/install-target.d.ts +127 -0
- package/dist/cli/install-target.js +127 -0
- package/dist/cli/install-target.js.map +1 -0
- package/dist/cli/migrate-steering.js +13 -13
- package/dist/cli/migrate-steering.js.map +1 -1
- package/dist/cli/sdd-mcp-cli.d.ts +1 -1
- package/dist/cli/sdd-mcp-cli.js +14 -10
- package/dist/cli/sdd-mcp-cli.js.map +1 -1
- package/dist/cli/tool-support/antigravity.d.ts +6 -1
- package/dist/cli/tool-support/antigravity.js +55 -12
- package/dist/cli/tool-support/antigravity.js.map +1 -1
- package/dist/cli/tool-support/claude-code.d.ts +5 -0
- package/dist/cli/tool-support/claude-code.js +93 -0
- package/dist/cli/tool-support/claude-code.js.map +1 -0
- package/dist/cli/tool-support/codex.d.ts +18 -1
- package/dist/cli/tool-support/codex.js +161 -36
- package/dist/cli/tool-support/codex.js.map +1 -1
- package/dist/cli/tool-support/index.d.ts +2 -2
- package/dist/cli/tool-support/root-guidance.d.ts +9 -0
- package/dist/cli/tool-support/root-guidance.js +40 -0
- package/dist/cli/tool-support/root-guidance.js.map +1 -0
- package/dist/cli/tool-support/target-agent-renderer.d.ts +11 -0
- package/dist/cli/tool-support/target-agent-renderer.js +52 -0
- package/dist/cli/tool-support/target-agent-renderer.js.map +1 -0
- package/dist/cli/tool-support/target-installer.d.ts +40 -0
- package/dist/cli/tool-support/target-installer.js +116 -0
- package/dist/cli/tool-support/target-installer.js.map +1 -0
- package/dist/cli/utils/gitignore-manager.d.ts +5 -0
- package/dist/cli/utils/gitignore-manager.js +85 -0
- package/dist/cli/utils/gitignore-manager.js.map +1 -0
- package/dist/cli/utils/preserving-writer.d.ts +13 -0
- package/dist/cli/utils/preserving-writer.js +106 -0
- package/dist/cli/utils/preserving-writer.js.map +1 -0
- package/dist/hooks/HookLoader.js +9 -1
- package/dist/hooks/HookLoader.js.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/shared/BaseManager.d.ts +10 -1
- package/dist/shared/BaseManager.js +34 -5
- package/dist/shared/BaseManager.js.map +1 -1
- package/dist/skills/SkillManager.d.ts +3 -1
- package/dist/skills/SkillManager.js +15 -3
- package/dist/skills/SkillManager.js.map +1 -1
- package/package.json +1 -1
- package/sdd-entry.js +2 -2
- package/skills/sdd-design/SKILL.md +4 -0
- package/skills/sdd-implement/SKILL.md +4 -0
- package/skills/sdd-requirements/SKILL.md +4 -0
- package/skills/sdd-review/SKILL.md +4 -0
- package/skills/sdd-security-check/SKILL.md +4 -0
- package/skills/sdd-steering/SKILL.md +4 -0
- package/skills/sdd-steering-custom/SKILL.md +4 -0
- package/skills/sdd-tasks/SKILL.md +4 -0
- package/skills/sdd-test-gen/SKILL.md +4 -0
- package/skills/simple-task/SKILL.md +4 -0
- package/templates/CLAUDE.md +2 -36
- package/templates/codex-AGENTS.md +1 -2
- package/templates/codex-hook-runner.js +85 -0
- package/dist/utils/sddPaths.d.ts +0 -69
- package/dist/utils/sddPaths.js +0 -138
- package/dist/utils/sddPaths.js.map +0 -1
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
export type InstallTarget = 'codex' | 'claude-code';
|
|
2
|
+
export type InstallProfile = 'lean' | 'full';
|
|
3
|
+
export type ComponentType = 'skills' | 'steering' | 'rules' | 'contexts' | 'agents' | 'hooks';
|
|
4
|
+
export type AgentRole = 'planner' | 'architect' | 'reviewer' | 'security-auditor' | 'implementer' | 'tdd-guide';
|
|
5
|
+
export interface ResolvedInstallPaths {
|
|
6
|
+
skills: string;
|
|
7
|
+
steering: string;
|
|
8
|
+
rules: string;
|
|
9
|
+
contexts: string;
|
|
10
|
+
agents: string;
|
|
11
|
+
hooks: string;
|
|
12
|
+
rootGuidance: string;
|
|
13
|
+
}
|
|
14
|
+
export interface PathOverrides {
|
|
15
|
+
skills?: string;
|
|
16
|
+
steering?: string;
|
|
17
|
+
rules?: string;
|
|
18
|
+
contexts?: string;
|
|
19
|
+
agents?: string;
|
|
20
|
+
hooks?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface TargetPolicy {
|
|
23
|
+
target: InstallTarget;
|
|
24
|
+
defaultPaths: ResolvedInstallPaths;
|
|
25
|
+
ignoreEntries: readonly string[];
|
|
26
|
+
}
|
|
27
|
+
export interface TargetResolutionOptions {
|
|
28
|
+
target?: InstallTarget;
|
|
29
|
+
legacyCodex: boolean;
|
|
30
|
+
profile: InstallProfile;
|
|
31
|
+
}
|
|
32
|
+
export interface TargetPromptIO {
|
|
33
|
+
isInteractive(): boolean;
|
|
34
|
+
chooseTarget(): Promise<InstallTarget | null>;
|
|
35
|
+
writeNotice(message: string): void;
|
|
36
|
+
}
|
|
37
|
+
export interface ResolvedTarget {
|
|
38
|
+
target: InstallTarget;
|
|
39
|
+
source: 'explicit' | 'legacy-codex' | 'interactive' | 'compatibility-default';
|
|
40
|
+
}
|
|
41
|
+
export interface InstallFailure {
|
|
42
|
+
component: ComponentType | 'root';
|
|
43
|
+
name: string;
|
|
44
|
+
path: string;
|
|
45
|
+
error: string;
|
|
46
|
+
}
|
|
47
|
+
export interface TargetInstallReport {
|
|
48
|
+
target: InstallTarget;
|
|
49
|
+
installed: string[];
|
|
50
|
+
skipped: string[];
|
|
51
|
+
failed: InstallFailure[];
|
|
52
|
+
}
|
|
53
|
+
export declare class CliUsageError extends Error {
|
|
54
|
+
constructor(message: string);
|
|
55
|
+
}
|
|
56
|
+
export declare class InstallCancelledError extends Error {
|
|
57
|
+
constructor();
|
|
58
|
+
}
|
|
59
|
+
export declare const SUPPORTED_CODEX_MODELS: readonly ["gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna"];
|
|
60
|
+
export declare const DEFAULT_CODEX_MODEL: "gpt-5.6-luna";
|
|
61
|
+
export declare const ROLE_MODEL_ROUTES: {
|
|
62
|
+
readonly planner: {
|
|
63
|
+
readonly taskClass: "high-level" | "implementation";
|
|
64
|
+
readonly codex: {
|
|
65
|
+
readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
|
|
66
|
+
readonly reasoningEffort: "xhigh" | "max";
|
|
67
|
+
};
|
|
68
|
+
readonly claudeCode: {
|
|
69
|
+
readonly model: "opus" | "sonnet";
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
readonly architect: {
|
|
73
|
+
readonly taskClass: "high-level" | "implementation";
|
|
74
|
+
readonly codex: {
|
|
75
|
+
readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
|
|
76
|
+
readonly reasoningEffort: "xhigh" | "max";
|
|
77
|
+
};
|
|
78
|
+
readonly claudeCode: {
|
|
79
|
+
readonly model: "opus" | "sonnet";
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
readonly reviewer: {
|
|
83
|
+
readonly taskClass: "high-level" | "implementation";
|
|
84
|
+
readonly codex: {
|
|
85
|
+
readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
|
|
86
|
+
readonly reasoningEffort: "xhigh" | "max";
|
|
87
|
+
};
|
|
88
|
+
readonly claudeCode: {
|
|
89
|
+
readonly model: "opus" | "sonnet";
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
readonly 'security-auditor': {
|
|
93
|
+
readonly taskClass: "high-level" | "implementation";
|
|
94
|
+
readonly codex: {
|
|
95
|
+
readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
|
|
96
|
+
readonly reasoningEffort: "xhigh" | "max";
|
|
97
|
+
};
|
|
98
|
+
readonly claudeCode: {
|
|
99
|
+
readonly model: "opus" | "sonnet";
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
readonly implementer: {
|
|
103
|
+
readonly taskClass: "high-level" | "implementation";
|
|
104
|
+
readonly codex: {
|
|
105
|
+
readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
|
|
106
|
+
readonly reasoningEffort: "xhigh" | "max";
|
|
107
|
+
};
|
|
108
|
+
readonly claudeCode: {
|
|
109
|
+
readonly model: "opus" | "sonnet";
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
readonly 'tdd-guide': {
|
|
113
|
+
readonly taskClass: "high-level" | "implementation";
|
|
114
|
+
readonly codex: {
|
|
115
|
+
readonly model: "gpt-5.6-sol" | "gpt-5.6-terra" | "gpt-5.6-luna";
|
|
116
|
+
readonly reasoningEffort: "xhigh" | "max";
|
|
117
|
+
};
|
|
118
|
+
readonly claudeCode: {
|
|
119
|
+
readonly model: "opus" | "sonnet";
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
export declare const SKILL_AGENT_ROUTES: Readonly<Record<string, AgentRole>>;
|
|
124
|
+
export declare function isInstallTarget(value: string): value is InstallTarget;
|
|
125
|
+
export declare function getTargetPolicy(target: InstallTarget): TargetPolicy;
|
|
126
|
+
export declare function resolveInstallPaths(policy: TargetPolicy, overrides: PathOverrides): ResolvedInstallPaths;
|
|
127
|
+
export declare function resolveInstallTarget(options: TargetResolutionOptions, io: TargetPromptIO): Promise<ResolvedTarget>;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
export class CliUsageError extends Error {
|
|
3
|
+
constructor(message) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.name = 'CliUsageError';
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export class InstallCancelledError extends Error {
|
|
9
|
+
constructor() {
|
|
10
|
+
super('Installation cancelled');
|
|
11
|
+
this.name = 'InstallCancelledError';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export const SUPPORTED_CODEX_MODELS = [
|
|
15
|
+
'gpt-5.6-sol',
|
|
16
|
+
'gpt-5.6-terra',
|
|
17
|
+
'gpt-5.6-luna',
|
|
18
|
+
];
|
|
19
|
+
export const DEFAULT_CODEX_MODEL = 'gpt-5.6-luna';
|
|
20
|
+
export const ROLE_MODEL_ROUTES = {
|
|
21
|
+
planner: route('high-level', 'gpt-5.6-sol', 'xhigh', 'opus'),
|
|
22
|
+
architect: route('high-level', 'gpt-5.6-sol', 'xhigh', 'opus'),
|
|
23
|
+
reviewer: route('high-level', 'gpt-5.6-sol', 'xhigh', 'opus'),
|
|
24
|
+
'security-auditor': route('high-level', 'gpt-5.6-sol', 'xhigh', 'opus'),
|
|
25
|
+
implementer: route('implementation', DEFAULT_CODEX_MODEL, 'max', 'sonnet'),
|
|
26
|
+
'tdd-guide': route('implementation', DEFAULT_CODEX_MODEL, 'max', 'sonnet'),
|
|
27
|
+
};
|
|
28
|
+
function route(taskClass, model, reasoningEffort, claudeModel) {
|
|
29
|
+
return {
|
|
30
|
+
taskClass,
|
|
31
|
+
codex: { model, reasoningEffort },
|
|
32
|
+
claudeCode: { model: claudeModel },
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export const SKILL_AGENT_ROUTES = {
|
|
36
|
+
'sdd-requirements': 'planner',
|
|
37
|
+
'sdd-tasks': 'planner',
|
|
38
|
+
'sdd-steering': 'planner',
|
|
39
|
+
'sdd-steering-custom': 'planner',
|
|
40
|
+
'sdd-design': 'architect',
|
|
41
|
+
'sdd-implement': 'implementer',
|
|
42
|
+
'simple-task': 'implementer',
|
|
43
|
+
'sdd-test-gen': 'tdd-guide',
|
|
44
|
+
'sdd-review': 'reviewer',
|
|
45
|
+
'sdd-security-check': 'security-auditor',
|
|
46
|
+
};
|
|
47
|
+
const TARGET_POLICIES = {
|
|
48
|
+
'claude-code': {
|
|
49
|
+
target: 'claude-code',
|
|
50
|
+
defaultPaths: {
|
|
51
|
+
skills: '.claude/skills',
|
|
52
|
+
steering: '.spec/steering',
|
|
53
|
+
rules: '.claude/rules',
|
|
54
|
+
contexts: '.claude/contexts',
|
|
55
|
+
agents: '.claude/agents',
|
|
56
|
+
hooks: '.claude/hooks',
|
|
57
|
+
rootGuidance: 'CLAUDE.md',
|
|
58
|
+
},
|
|
59
|
+
ignoreEntries: ['.claude/'],
|
|
60
|
+
},
|
|
61
|
+
codex: {
|
|
62
|
+
target: 'codex',
|
|
63
|
+
defaultPaths: {
|
|
64
|
+
skills: '.agents/skills',
|
|
65
|
+
steering: '.spec/steering',
|
|
66
|
+
rules: '.codex/guidance/rules',
|
|
67
|
+
contexts: '.codex/guidance/contexts',
|
|
68
|
+
agents: '.codex/agents',
|
|
69
|
+
hooks: '.codex/hooks',
|
|
70
|
+
rootGuidance: 'AGENTS.md',
|
|
71
|
+
},
|
|
72
|
+
ignoreEntries: ['.agents/', '.codex/'],
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
export function isInstallTarget(value) {
|
|
76
|
+
return value === 'codex' || value === 'claude-code';
|
|
77
|
+
}
|
|
78
|
+
export function getTargetPolicy(target) {
|
|
79
|
+
return TARGET_POLICIES[target];
|
|
80
|
+
}
|
|
81
|
+
export function resolveInstallPaths(policy, overrides) {
|
|
82
|
+
const paths = { ...policy.defaultPaths, ...overrides };
|
|
83
|
+
for (const [component, value] of Object.entries(paths)) {
|
|
84
|
+
if (!value || containsControlCharacter(value)) {
|
|
85
|
+
throw new CliUsageError(`Invalid ${component} path: paths must be non-empty and contain no control characters.`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (policy.target === 'codex') {
|
|
89
|
+
const unsafePath = Object.entries(paths).find(([, value]) => isCodexCommandPolicyPath(value));
|
|
90
|
+
if (unsafePath) {
|
|
91
|
+
throw new CliUsageError(`Codex ${unsafePath[0]} path cannot be installed under .codex/rules; choose a guidance path instead.`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return paths;
|
|
95
|
+
}
|
|
96
|
+
function containsControlCharacter(value) {
|
|
97
|
+
return [...value].some(character => {
|
|
98
|
+
const code = character.charCodeAt(0);
|
|
99
|
+
return code <= 31 || code === 127;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
function isCodexCommandPolicyPath(value) {
|
|
103
|
+
const normalized = path.posix.normalize(value.replaceAll('\\', '/'))
|
|
104
|
+
.replace(/^\.\//, '')
|
|
105
|
+
.replace(/\/+$/, '');
|
|
106
|
+
return /(?:^|\/)\.codex\/rules(?:\/|$)/.test(normalized);
|
|
107
|
+
}
|
|
108
|
+
export async function resolveInstallTarget(options, io) {
|
|
109
|
+
if (options.target && options.legacyCodex && options.target !== 'codex') {
|
|
110
|
+
throw new CliUsageError('--codex conflicts with --target claude-code');
|
|
111
|
+
}
|
|
112
|
+
if (options.target)
|
|
113
|
+
return { target: options.target, source: 'explicit' };
|
|
114
|
+
if (options.legacyCodex) {
|
|
115
|
+
io.writeNotice('--codex is deprecated; use --target codex.');
|
|
116
|
+
return { target: 'codex', source: 'legacy-codex' };
|
|
117
|
+
}
|
|
118
|
+
if (options.profile === 'full' && io.isInteractive()) {
|
|
119
|
+
const target = await io.chooseTarget();
|
|
120
|
+
if (!target)
|
|
121
|
+
throw new InstallCancelledError();
|
|
122
|
+
return { target, source: 'interactive' };
|
|
123
|
+
}
|
|
124
|
+
io.writeNotice('No target selected; using claude-code. Use --target codex or --target claude-code.');
|
|
125
|
+
return { target: 'claude-code', source: 'compatibility-default' };
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=install-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-target.js","sourceRoot":"","sources":["../../src/cli/install-target.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,12 +48,12 @@ What This Tool Does:
|
|
|
48
48
|
- structure.md
|
|
49
49
|
|
|
50
50
|
Migration Path:
|
|
51
|
-
The static guidance content now lives in
|
|
52
|
-
- Design principles:
|
|
53
|
-
- TDD methodology:
|
|
54
|
-
- Review criteria:
|
|
55
|
-
- Security checklist:
|
|
56
|
-
- Commit format:
|
|
51
|
+
The static guidance content now lives in packaged component sources:
|
|
52
|
+
- Design principles: rules/coding-style.md
|
|
53
|
+
- TDD methodology: agents/tdd-guide.md
|
|
54
|
+
- Review criteria: agents/reviewer.md
|
|
55
|
+
- Security checklist: agents/security-auditor.md
|
|
56
|
+
- Commit format: skills/sdd-commit/SKILL.md
|
|
57
57
|
|
|
58
58
|
Examples:
|
|
59
59
|
npx sdd-mcp-server migrate-steering # Migrate current directory
|
|
@@ -271,13 +271,13 @@ export async function main() {
|
|
|
271
271
|
}
|
|
272
272
|
else {
|
|
273
273
|
console.log('✅ Migration complete!\n');
|
|
274
|
-
console.log(' The static steering content now lives in:');
|
|
275
|
-
console.log(' •
|
|
276
|
-
console.log(' •
|
|
277
|
-
console.log(' •
|
|
278
|
-
console.log(' •
|
|
279
|
-
console.log(' •
|
|
280
|
-
console.log('
|
|
274
|
+
console.log(' The static steering content now lives in packaged sources:');
|
|
275
|
+
console.log(' • rules/coding-style.md (SOLID, DRY, KISS, YAGNI)');
|
|
276
|
+
console.log(' • agents/reviewer.md (Linus-style review)');
|
|
277
|
+
console.log(' • agents/tdd-guide.md (TDD methodology)');
|
|
278
|
+
console.log(' • agents/security-auditor.md (OWASP Top 10)');
|
|
279
|
+
console.log(' • skills/sdd-commit/SKILL.md (Commit format)\n');
|
|
280
|
+
console.log(' Install native components with: npx sdd-mcp-server install --profile full\n');
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-steering.js","sourceRoot":"","sources":["../../src/cli/migrate-steering.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"migrate-steering.js","sourceRoot":"","sources":["../../src/cli/migrate-steering.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Main CLI entry point for sdd-mcp commands
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* npx sdd-mcp install [options] # Install
|
|
6
|
+
* npx sdd-mcp install [options] # Install target-native SDD components
|
|
7
7
|
* npx sdd-mcp install-skills [options] # Install skills only (legacy)
|
|
8
8
|
* npx sdd-mcp migrate-kiro [options]
|
|
9
9
|
* npx sdd-mcp --help
|
package/dist/cli/sdd-mcp-cli.js
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
* Main CLI entry point for sdd-mcp commands
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* npx sdd-mcp install [options] # Install
|
|
6
|
+
* npx sdd-mcp install [options] # Install target-native SDD components
|
|
7
7
|
* npx sdd-mcp install-skills [options] # Install skills only (legacy)
|
|
8
8
|
* npx sdd-mcp migrate-kiro [options]
|
|
9
9
|
* npx sdd-mcp --help
|
|
10
10
|
*/
|
|
11
|
-
import { main as installSkillsMain, mainInstall as installMain } from './install-skills.js';
|
|
11
|
+
import { cliExitCode, main as installSkillsMain, mainInstall as installMain, } from './install-skills.js';
|
|
12
12
|
import { main as migrateKiroMain } from './migrate-kiro.js';
|
|
13
13
|
import { main as migrateSteeringMain } from './migrate-steering.js';
|
|
14
14
|
const HELP = `
|
|
@@ -17,7 +17,7 @@ SDD MCP CLI
|
|
|
17
17
|
Usage: npx sdd-mcp-server <command> [options]
|
|
18
18
|
|
|
19
19
|
Commands:
|
|
20
|
-
install Install SDD
|
|
20
|
+
install Install target-native SDD components (recommended)
|
|
21
21
|
install-skills Install SDD skills only (legacy)
|
|
22
22
|
migrate-kiro Migrate .kiro directory to .spec (v2.1.0+)
|
|
23
23
|
migrate-steering Migrate steering docs to consolidated components (v3.1.0+)
|
|
@@ -25,18 +25,22 @@ Commands:
|
|
|
25
25
|
Options:
|
|
26
26
|
--help, -h Show this help message
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
--
|
|
28
|
+
Agent Target:
|
|
29
|
+
--target <target> Choose codex or claude-code
|
|
30
|
+
--codex Deprecated alias for --target codex
|
|
31
|
+
|
|
32
|
+
Additional Integrations:
|
|
30
33
|
--antigravity Also create .agent/ symlinks for Google Antigravity
|
|
31
34
|
--all-tools Enable all tool integrations (codex + antigravity)
|
|
32
35
|
|
|
33
36
|
Examples:
|
|
34
|
-
npx sdd-mcp-server install #
|
|
37
|
+
npx sdd-mcp-server install # Lean target-native install
|
|
35
38
|
npx sdd-mcp-server install --skills # Install skills only
|
|
36
39
|
npx sdd-mcp-server install --steering # Install steering only
|
|
37
40
|
npx sdd-mcp-server install --list # List available content
|
|
38
|
-
npx sdd-mcp-server install --
|
|
39
|
-
npx sdd-mcp-server install --
|
|
41
|
+
npx sdd-mcp-server install --profile full # Prompt for the target agent
|
|
42
|
+
npx sdd-mcp-server install --target codex # Native Codex install
|
|
43
|
+
npx sdd-mcp-server install --all-tools # Add optional integrations
|
|
40
44
|
npx sdd-mcp-server install-skills # Legacy: Install skills
|
|
41
45
|
npx sdd-mcp-server install-skills --list # List available skills
|
|
42
46
|
npx sdd-mcp-server migrate-kiro # Migrate .kiro to .spec
|
|
@@ -55,7 +59,7 @@ async function main() {
|
|
|
55
59
|
}
|
|
56
60
|
switch (command) {
|
|
57
61
|
case 'install':
|
|
58
|
-
// Unified
|
|
62
|
+
// Unified target-aware component installer
|
|
59
63
|
process.argv = [process.argv[0], process.argv[1], ...args.slice(1)];
|
|
60
64
|
await installMain();
|
|
61
65
|
break;
|
|
@@ -82,6 +86,6 @@ async function main() {
|
|
|
82
86
|
}
|
|
83
87
|
main().catch((error) => {
|
|
84
88
|
console.error('Error:', error.message);
|
|
85
|
-
process.exit(
|
|
89
|
+
process.exit(cliExitCode(error));
|
|
86
90
|
});
|
|
87
91
|
//# sourceMappingURL=sdd-mcp-cli.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdd-mcp-cli.js","sourceRoot":"","sources":["../../src/cli/sdd-mcp-cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"sdd-mcp-cli.js","sourceRoot":"","sources":["../../src/cli/sdd-mcp-cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EACL,WAAW,EACX,IAAI,IAAI,iBAAiB,EACzB,WAAW,IAAI,WAAW,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,IAAI,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCZ,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,SAAS;YACZ,2CAA2C;YAC3C,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QAER,KAAK,gBAAgB;YACnB,8BAA8B;YAC9B,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM;QAER,KAAK,cAAc;YACjB,iEAAiE;YACjE,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,eAAe,EAAE,CAAC;YACxB,MAAM;QAER,KAAK,kBAAkB;YACrB,qEAAqE;YACrE,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,mBAAmB,EAAE,CAAC;YAC5B,MAAM;QAER;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC"}
|
|
@@ -5,6 +5,11 @@ export interface AntigravityPaths {
|
|
|
5
5
|
skillsPath: string;
|
|
6
6
|
rulesPath: string;
|
|
7
7
|
}
|
|
8
|
+
export interface AntigravityFailure {
|
|
9
|
+
name: string;
|
|
10
|
+
path: string;
|
|
11
|
+
error: string;
|
|
12
|
+
}
|
|
8
13
|
/**
|
|
9
14
|
* Create `.agent/` symlinks pointing to component directories
|
|
10
15
|
* for Google Antigravity compatibility.
|
|
@@ -15,4 +20,4 @@ export interface AntigravityPaths {
|
|
|
15
20
|
* Symlink targets are derived from effective install paths,
|
|
16
21
|
* so custom `--path` / `--rules-path` flags are respected.
|
|
17
22
|
*/
|
|
18
|
-
export declare function createAntigravitySymlinks(projectRoot: string, paths?: AntigravityPaths): Promise<
|
|
23
|
+
export declare function createAntigravitySymlinks(projectRoot: string, paths?: AntigravityPaths): Promise<AntigravityFailure[]>;
|
|
@@ -21,47 +21,90 @@ const LINK_DEFS = [
|
|
|
21
21
|
*/
|
|
22
22
|
export async function createAntigravitySymlinks(projectRoot, paths = { skillsPath: '.claude/skills', rulesPath: '.claude/rules' }) {
|
|
23
23
|
const agentDir = path.join(projectRoot, '.agent');
|
|
24
|
+
const failures = [];
|
|
24
25
|
// Warn on Windows where symlinks may require elevated privileges
|
|
25
26
|
if (process.platform === 'win32') {
|
|
26
27
|
console.log(' ⚠️ Symlinks on Windows may require administrator privileges');
|
|
27
28
|
}
|
|
28
|
-
// Create .agent/ directory if needed
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
// Create .agent/ directory if needed.
|
|
30
|
+
try {
|
|
31
|
+
if (isSymlink(agentDir)) {
|
|
32
|
+
throw new Error(`Unsafe .agent destination is a symlink: ${agentDir}`);
|
|
33
|
+
}
|
|
34
|
+
if (!fs.existsSync(agentDir))
|
|
35
|
+
fs.mkdirSync(agentDir, { recursive: true });
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
39
|
+
console.error(' ❌ Failed to create .agent/:', message);
|
|
40
|
+
failures.push({ name: '.agent', path: agentDir, error: message });
|
|
41
|
+
return failures;
|
|
31
42
|
}
|
|
32
43
|
for (const { link, pathKey } of LINK_DEFS) {
|
|
33
|
-
// Compute relative symlink target
|
|
34
|
-
const
|
|
44
|
+
// Compute a relative symlink target from .agent to the effective path.
|
|
45
|
+
const resolvedTarget = path.resolve(projectRoot, paths[pathKey]);
|
|
46
|
+
const target = path.relative(agentDir, resolvedTarget) || '.';
|
|
35
47
|
const linkPath = path.join(agentDir, link);
|
|
36
48
|
// Check if something already exists at the link path
|
|
49
|
+
let existingTarget;
|
|
37
50
|
if (fs.existsSync(linkPath) || isSymlink(linkPath)) {
|
|
38
51
|
if (isSymlink(linkPath)) {
|
|
39
|
-
|
|
52
|
+
existingTarget = fs.readlinkSync(linkPath);
|
|
40
53
|
if (existingTarget === target) {
|
|
41
54
|
console.log(` ⏭️ .agent/${link} symlink already exists, skipping`);
|
|
42
55
|
continue;
|
|
43
56
|
}
|
|
44
|
-
// Symlink points somewhere else — warn, remove, and recreate
|
|
45
57
|
console.log(` ⚠️ .agent/${link} symlink points to ${existingTarget}, replacing with ${target}`);
|
|
46
|
-
fs.unlinkSync(linkPath);
|
|
47
58
|
}
|
|
48
59
|
else {
|
|
49
60
|
console.log(` ⚠️ .agent/${link} exists as a regular directory, skipping`);
|
|
50
61
|
continue;
|
|
51
62
|
}
|
|
52
63
|
}
|
|
53
|
-
// Verify the target directory exists before creating the symlink
|
|
54
|
-
const resolvedTarget = path.resolve(agentDir, target);
|
|
64
|
+
// Verify the target directory exists before creating the symlink.
|
|
55
65
|
if (!fs.existsSync(resolvedTarget)) {
|
|
56
66
|
console.log(` ⚠️ Target ${target} does not exist yet, creating symlink anyway`);
|
|
57
67
|
}
|
|
58
68
|
try {
|
|
59
|
-
|
|
69
|
+
createSymlinkSafely(target, linkPath, existingTarget);
|
|
60
70
|
console.log(` ✅ Created .agent/${link} → ${target}`);
|
|
61
71
|
}
|
|
62
72
|
catch (error) {
|
|
63
|
-
|
|
73
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
74
|
+
console.error(` ❌ Failed to create .agent/${link} symlink:`, message);
|
|
75
|
+
failures.push({ name: link, path: linkPath, error: message });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return failures;
|
|
79
|
+
}
|
|
80
|
+
function createSymlinkSafely(target, linkPath, existingTarget) {
|
|
81
|
+
const temporaryPath = `${linkPath}.sdd-${process.pid}-${Date.now()}`;
|
|
82
|
+
try {
|
|
83
|
+
fs.symlinkSync(target, temporaryPath, 'dir');
|
|
84
|
+
try {
|
|
85
|
+
fs.renameSync(temporaryPath, linkPath);
|
|
64
86
|
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
if (existingTarget === undefined)
|
|
89
|
+
throw error;
|
|
90
|
+
fs.unlinkSync(linkPath);
|
|
91
|
+
try {
|
|
92
|
+
fs.renameSync(temporaryPath, linkPath);
|
|
93
|
+
}
|
|
94
|
+
catch (replacementError) {
|
|
95
|
+
try {
|
|
96
|
+
fs.symlinkSync(existingTarget, linkPath, 'dir');
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Preserve the original replacement error for the structured report.
|
|
100
|
+
}
|
|
101
|
+
throw replacementError;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
if (isSymlink(temporaryPath))
|
|
107
|
+
fs.unlinkSync(temporaryPath);
|
|
65
108
|
}
|
|
66
109
|
}
|
|
67
110
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../../src/cli/tool-support/antigravity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;GAIG;AACH,MAAM,SAAS,GAAyE;IACtF,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE;IAC5C,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE;CACxC,CAAC;
|
|
1
|
+
{"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../../src/cli/tool-support/antigravity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type BaseTargetInstallRequest } from './target-installer.js';
|
|
2
|
+
export interface ClaudeCodeInstallRequest extends BaseTargetInstallRequest {
|
|
3
|
+
rootGuidanceContent?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function installClaudeCodeTarget(request: ClaudeCodeInstallRequest): Promise<import("../install-target.js").TargetInstallReport>;
|