@shendu-sdt/sdt-dev-agent 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +108 -0
  2. package/bin/sdt-dev-agent.js +3 -0
  3. package/dist/cli/index.d.ts +2 -0
  4. package/dist/cli/index.d.ts.map +1 -0
  5. package/dist/cli/index.js +26 -0
  6. package/dist/cli/index.js.map +1 -0
  7. package/dist/commands/init.d.ts +3 -0
  8. package/dist/commands/init.d.ts.map +1 -0
  9. package/dist/commands/init.js +34 -0
  10. package/dist/commands/init.js.map +1 -0
  11. package/dist/core/init-options.d.ts +9 -0
  12. package/dist/core/init-options.d.ts.map +1 -0
  13. package/dist/core/init-options.js +151 -0
  14. package/dist/core/init-options.js.map +1 -0
  15. package/dist/core/init-plan.d.ts +3 -0
  16. package/dist/core/init-plan.d.ts.map +1 -0
  17. package/dist/core/init-plan.js +108 -0
  18. package/dist/core/init-plan.js.map +1 -0
  19. package/dist/core/init-writer.d.ts +6 -0
  20. package/dist/core/init-writer.d.ts.map +1 -0
  21. package/dist/core/init-writer.js +28 -0
  22. package/dist/core/init-writer.js.map +1 -0
  23. package/dist/core/project-inspector.d.ts +3 -0
  24. package/dist/core/project-inspector.d.ts.map +1 -0
  25. package/dist/core/project-inspector.js +53 -0
  26. package/dist/core/project-inspector.js.map +1 -0
  27. package/dist/types.d.ts +49 -0
  28. package/dist/types.d.ts.map +1 -0
  29. package/dist/types.js +4 -0
  30. package/dist/types.js.map +1 -0
  31. package/dist/utils/fs.d.ts +6 -0
  32. package/dist/utils/fs.d.ts.map +1 -0
  33. package/dist/utils/fs.js +25 -0
  34. package/dist/utils/fs.js.map +1 -0
  35. package/dist/utils/init-welcome.d.ts +5 -0
  36. package/dist/utils/init-welcome.d.ts.map +1 -0
  37. package/dist/utils/init-welcome.js +285 -0
  38. package/dist/utils/init-welcome.js.map +1 -0
  39. package/dist/utils/interactive.d.ts +2 -0
  40. package/dist/utils/interactive.d.ts.map +1 -0
  41. package/dist/utils/interactive.js +4 -0
  42. package/dist/utils/interactive.js.map +1 -0
  43. package/dist/utils/prompt-flow.d.ts +3 -0
  44. package/dist/utils/prompt-flow.d.ts.map +1 -0
  45. package/dist/utils/prompt-flow.js +2 -0
  46. package/dist/utils/prompt-flow.js.map +1 -0
  47. package/dist/utils/render-template.d.ts +2 -0
  48. package/dist/utils/render-template.d.ts.map +1 -0
  49. package/dist/utils/render-template.js +4 -0
  50. package/dist/utils/render-template.js.map +1 -0
  51. package/dist/utils/searchable-multi-select.d.ts +15 -0
  52. package/dist/utils/searchable-multi-select.d.ts.map +1 -0
  53. package/dist/utils/searchable-multi-select.js +144 -0
  54. package/dist/utils/searchable-multi-select.js.map +1 -0
  55. package/dist/utils/styled-select.d.ts +13 -0
  56. package/dist/utils/styled-select.d.ts.map +1 -0
  57. package/dist/utils/styled-select.js +74 -0
  58. package/dist/utils/styled-select.js.map +1 -0
  59. package/package.json +63 -0
  60. package/templates/AGENTS.md +24 -0
  61. package/templates/ARCHITECTURE.md +26 -0
  62. package/templates/capabilities/mcp/README.md +8 -0
  63. package/templates/capabilities/skills/README.md +8 -0
  64. package/templates/docs/ai-collaboration/README.md +16 -0
  65. package/templates/tools/claude-code/README.md +8 -0
  66. package/templates/tools/codex/README.md +8 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchable-multi-select.js","sourceRoot":"","sources":["../../src/utils/searchable-multi-select.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { PromptBack } from './prompt-flow.js';
2
+ export interface StyledSelectChoice<T extends string> {
3
+ name: string;
4
+ value: T;
5
+ description?: string;
6
+ }
7
+ export interface StyledSelectConfig<T extends string> {
8
+ message: string;
9
+ choices: StyledSelectChoice<T>[];
10
+ allowBack?: boolean;
11
+ }
12
+ export declare function styledSelect<T extends string>(config: StyledSelectConfig<T>): Promise<T | PromptBack>;
13
+ //# sourceMappingURL=styled-select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled-select.d.ts","sourceRoot":"","sources":["../../src/utils/styled-select.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AASlD,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,CAAC,CAAA;IACR,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAA;IAChC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAcD,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EACjD,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CAwEzB"}
@@ -0,0 +1,74 @@
1
+ import { GO_BACK } from './prompt-flow.js';
2
+ const ANSI = {
3
+ reset: '\u001B[0m',
4
+ bold: '\u001B[1m',
5
+ dim: '\u001B[2m',
6
+ cyan: '\u001B[36m',
7
+ };
8
+ function supportsColor() {
9
+ return Boolean(process.stdout.isTTY && !process.env.NO_COLOR);
10
+ }
11
+ function colorize(text, code, enabled) {
12
+ if (!enabled || text.length === 0) {
13
+ return text;
14
+ }
15
+ return `${code}${text}${ANSI.reset}`;
16
+ }
17
+ export async function styledSelect(config) {
18
+ const { createPrompt, useState, useKeypress, usePrefix, isEnterKey, isUpKey, isDownKey } = await import('@inquirer/core');
19
+ return createPrompt((promptConfig, done) => {
20
+ const { message, choices, allowBack = false } = promptConfig;
21
+ const useColor = supportsColor();
22
+ const [cursor, setCursor] = useState(0);
23
+ const [status, setStatus] = useState('idle');
24
+ const prefix = usePrefix({ status });
25
+ useKeypress((key) => {
26
+ if (status === 'done') {
27
+ return;
28
+ }
29
+ if (isEnterKey(key)) {
30
+ const choice = choices[cursor];
31
+ if (choice) {
32
+ setStatus('done');
33
+ done(choice.value);
34
+ }
35
+ return;
36
+ }
37
+ if (key.name === 'escape' && allowBack) {
38
+ setStatus('done');
39
+ done(GO_BACK);
40
+ return;
41
+ }
42
+ if (isUpKey(key)) {
43
+ setCursor(Math.max(0, cursor - 1));
44
+ return;
45
+ }
46
+ if (isDownKey(key)) {
47
+ setCursor(Math.min(choices.length - 1, cursor + 1));
48
+ }
49
+ });
50
+ if (status === 'done') {
51
+ const selected = choices[cursor];
52
+ return `${prefix} ${colorize(message, ANSI.bold, useColor)} ${colorize(selected?.name ?? '', ANSI.cyan, useColor)}`;
53
+ }
54
+ const lines = [];
55
+ lines.push(`${prefix} ${colorize(message, ANSI.bold, useColor)}`);
56
+ const activeChoice = choices[cursor];
57
+ if (activeChoice?.description) {
58
+ lines.push('');
59
+ lines.push(colorize(activeChoice.description, ANSI.cyan, useColor));
60
+ }
61
+ lines.push('');
62
+ lines.push(` ${colorize('↑↓', ANSI.cyan, useColor)} navigate • ${colorize('Enter', ANSI.cyan, useColor)} select${allowBack ? ` • ${colorize('Esc', ANSI.cyan, useColor)} back` : ''}`);
63
+ lines.push('');
64
+ for (let index = 0; index < choices.length; index += 1) {
65
+ const choice = choices[index];
66
+ const isActive = index === cursor;
67
+ const arrow = isActive ? colorize('›', ANSI.cyan, useColor) : ' ';
68
+ const name = isActive ? colorize(choice.name, ANSI.cyan, useColor) : choice.name;
69
+ lines.push(` ${arrow} ${name}`);
70
+ }
71
+ return lines.join('\n');
72
+ })(config);
73
+ }
74
+ //# sourceMappingURL=styled-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled-select.js","sourceRoot":"","sources":["../../src/utils/styled-select.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@shendu-sdt/sdt-dev-agent",
3
+ "version": "0.1.1",
4
+ "description": "Project-level AI collaboration bootstrapper for engineering teams",
5
+ "type": "module",
6
+ "bin": {
7
+ "sdt-dev-agent": "./bin/sdt-dev-agent.js"
8
+ },
9
+ "scripts": {
10
+ "dev": "tsx watch src/cli/index.ts",
11
+ "build": "node build.js",
12
+ "typecheck": "tsc --noEmit -p tsconfig.json",
13
+ "lint": "eslint .",
14
+ "test": "vitest run --no-api",
15
+ "test:watch": "vitest --no-api",
16
+ "verify": "pnpm run lint && pnpm run test && pnpm run build",
17
+ "prepare": "husky",
18
+ "release": "node scripts/release.js",
19
+ "release:patch": "node scripts/release.js patch",
20
+ "release:minor": "node scripts/release.js minor",
21
+ "release:major": "node scripts/release.js major"
22
+ },
23
+ "engines": {
24
+ "node": ">=20.19.0"
25
+ },
26
+ "files": [
27
+ "bin",
28
+ "dist",
29
+ "templates"
30
+ ],
31
+ "publishConfig": {
32
+ "registry": "https://registry.npmjs.org/",
33
+ "access": "public"
34
+ },
35
+ "keywords": [
36
+ "cli",
37
+ "ai",
38
+ "codex",
39
+ "claude-code",
40
+ "developer-tools"
41
+ ],
42
+ "license": "MIT",
43
+ "dependencies": {
44
+ "@inquirer/core": "^10.3.2",
45
+ "@inquirer/prompts": "^7.8.0",
46
+ "commander": "^14.0.0"
47
+ },
48
+ "devDependencies": {
49
+ "@commitlint/cli": "^19.8.1",
50
+ "@commitlint/config-conventional": "^19.8.1",
51
+ "@eslint/js": "^9.39.2",
52
+ "@types/node": "^24.2.0",
53
+ "eslint": "^9.39.2",
54
+ "husky": "^9.1.7",
55
+ "lint-staged": "^16.4.0",
56
+ "prettier": "^3.4.2",
57
+ "sdt-dev-agent": "file:/Users/admin/Desktop/works/SDT-DevAgent",
58
+ "tsx": "^4.20.3",
59
+ "typescript": "^5.9.3",
60
+ "typescript-eslint": "^8.50.1",
61
+ "vitest": "^3.2.4"
62
+ }
63
+ }
@@ -0,0 +1,24 @@
1
+ # AGENTS.md
2
+
3
+ ## 用途
4
+
5
+ 此文件由 `sdt-dev-agent init` 生成,作为项目级 AI 协作入口。
6
+
7
+ ## 已知事实
8
+
9
+ - 项目名称:{{projectName}}
10
+ - 包管理器:{{packageManager}}
11
+ - 源码目录:{{sourceRoot}}
12
+ - 测试目录:{{testRoot}}
13
+ - 已选择工具:{{selectedTools}}
14
+
15
+ ## 协作边界
16
+
17
+ - 修改前优先阅读现有架构文档和源码。
18
+ - 保持最小改动,并且改动必须直接对应当前任务。
19
+ - 优先遵循项目已有约定,不要用通用 AI 默认做法覆盖项目规则。
20
+
21
+ ## 待补充
22
+
23
+ - 补充业务边界、关键模块和部署注意事项。
24
+ - 补充项目级评审规则和常见陷阱。
@@ -0,0 +1,26 @@
1
+ # ARCHITECTURE.md
2
+
3
+ ## 项目快照
4
+
5
+ - 项目名称:{{projectName}}
6
+ - 包管理器:{{packageManager}}
7
+ - 源码目录:{{sourceRoot}}
8
+ - 测试目录:{{testRoot}}
9
+
10
+ ## 建议章节
11
+
12
+ ### 运行入口
13
+
14
+ 说明应用如何启动,以及主要运行入口位于哪些目录。
15
+
16
+ ### 模块边界
17
+
18
+ 列出主要业务模块,以及每个模块负责的范围。
19
+
20
+ ### 外部依赖
21
+
22
+ 记录关键第三方服务、MCP 工具和项目特有集成。
23
+
24
+ ### 高风险区域
25
+
26
+ 列出需要 AI 谨慎处理的文件、链路或业务域。
@@ -0,0 +1,8 @@
1
+ # MCP 能力包
2
+
3
+ 这个占位文件表示:已为所选工具安装了 MCP 能力包目录。
4
+
5
+ ## 当前状态
6
+
7
+ - 当前 `init` 基座版只会创建目录契约。
8
+ - 具体的 MCP Server 接线可在后续实现阶段补充。
@@ -0,0 +1,8 @@
1
+ # Skills 能力包
2
+
3
+ 这个占位文件表示:已为所选工具安装了 Skills 能力包目录。
4
+
5
+ ## 当前状态
6
+
7
+ - 当前 `init` 基座版只会创建目录契约。
8
+ - 具体的 Skill 内容可在后续实现阶段补充。
@@ -0,0 +1,16 @@
1
+ # AI 协作
2
+
3
+ 此目录由 `sdt-dev-agent init` 生成。
4
+
5
+ ## 已安装概况
6
+
7
+ - 已选择工具:{{selectedTools}}
8
+ - 安装模式:{{installMode}}
9
+ - 能力包:{{capabilities}}
10
+
11
+ ## 下一步建议
12
+
13
+ 1. 检查 `AGENTS.md`,将占位内容替换为项目实际规则。
14
+ 2. 检查 `ARCHITECTURE.md`,补充真实运行链路和模块边界。
15
+ 3. 确认各工具目录下生成的工具专属文件。
16
+ 4. 后续可在此目录继续补充 Bug 分析、Review 和 PR 协作模板。
@@ -0,0 +1,8 @@
1
+ # Claude Code 接入
2
+
3
+ 这个占位文件表示:`sdt-dev-agent init` 已生成 Claude Code 的接入目录。
4
+
5
+ ## 下一步
6
+
7
+ - 项目级协作规则继续维护在仓库根目录 `AGENTS.md`。
8
+ - 后续扩展接入能力时,可在这里补充 Claude Code 专属的本地规则、提示词或生成资产。
@@ -0,0 +1,8 @@
1
+ # Codex 接入
2
+
3
+ 这个占位文件表示:`sdt-dev-agent init` 已生成 Codex 的接入目录。
4
+
5
+ ## 下一步
6
+
7
+ - 项目级协作规则继续维护在仓库根目录 `AGENTS.md`。
8
+ - 后续扩展接入能力时,可在这里补充 Codex 专属的本地规则、快捷指令或生成资产。