@ankh-studio/ai-enablement 1.0.0 → 1.0.3

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 (112) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +40 -10
  3. package/dist/cli/index.js +21239 -312
  4. package/dist/index.js +5 -0
  5. package/package.json +35 -35
  6. package/dist/analyzers/tech-stack-analyzer.d.ts +0 -63
  7. package/dist/analyzers/tech-stack-analyzer.d.ts.map +0 -1
  8. package/dist/analyzers/tech-stack-analyzer.js +0 -401
  9. package/dist/analyzers/tech-stack-analyzer.js.map +0 -1
  10. package/dist/cli/index.d.ts +0 -9
  11. package/dist/cli/index.d.ts.map +0 -1
  12. package/dist/cli/index.js.map +0 -1
  13. package/dist/collectors/evidence-collector.d.ts +0 -57
  14. package/dist/collectors/evidence-collector.d.ts.map +0 -1
  15. package/dist/collectors/evidence-collector.js +0 -386
  16. package/dist/collectors/evidence-collector.js.map +0 -1
  17. package/dist/core/assessment-engine.d.ts +0 -76
  18. package/dist/core/assessment-engine.d.ts.map +0 -1
  19. package/dist/core/assessment-engine.js +0 -310
  20. package/dist/core/assessment-engine.js.map +0 -1
  21. package/dist/generators/adr-generator.d.ts +0 -35
  22. package/dist/generators/adr-generator.d.ts.map +0 -1
  23. package/dist/generators/adr-generator.js +0 -339
  24. package/dist/generators/adr-generator.js.map +0 -1
  25. package/dist/generators-backup-phase-2/adr-generator.d.ts +0 -31
  26. package/dist/generators-backup-phase-2/adr-generator.d.ts.map +0 -1
  27. package/dist/generators-backup-phase-2/adr-generator.js +0 -309
  28. package/dist/generators-backup-phase-2/adr-generator.js.map +0 -1
  29. package/dist/llm/coalescer.d.ts +0 -45
  30. package/dist/llm/coalescer.d.ts.map +0 -1
  31. package/dist/llm/coalescer.js +0 -258
  32. package/dist/llm/coalescer.js.map +0 -1
  33. package/dist/llm/copilot-client.d.ts +0 -53
  34. package/dist/llm/copilot-client.d.ts.map +0 -1
  35. package/dist/llm/copilot-client.js +0 -198
  36. package/dist/llm/copilot-client.js.map +0 -1
  37. package/dist/llm/prompt-templates.d.ts +0 -24
  38. package/dist/llm/prompt-templates.d.ts.map +0 -1
  39. package/dist/llm/prompt-templates.js +0 -255
  40. package/dist/llm/prompt-templates.js.map +0 -1
  41. package/dist/llm/response-processor.d.ts +0 -50
  42. package/dist/llm/response-processor.d.ts.map +0 -1
  43. package/dist/llm/response-processor.js +0 -321
  44. package/dist/llm/response-processor.js.map +0 -1
  45. package/dist/llm/structured-types.d.ts +0 -184
  46. package/dist/llm/structured-types.d.ts.map +0 -1
  47. package/dist/llm/structured-types.js +0 -61
  48. package/dist/llm/structured-types.js.map +0 -1
  49. package/dist/llm/validation.d.ts +0 -57
  50. package/dist/llm/validation.d.ts.map +0 -1
  51. package/dist/llm/validation.js +0 -273
  52. package/dist/llm/validation.js.map +0 -1
  53. package/dist/llm-backup-phase-1/coalescer.d.ts +0 -40
  54. package/dist/llm-backup-phase-1/coalescer.d.ts.map +0 -1
  55. package/dist/llm-backup-phase-1/coalescer.js +0 -209
  56. package/dist/llm-backup-phase-1/coalescer.js.map +0 -1
  57. package/dist/llm-backup-phase-1/copilot-client.d.ts +0 -53
  58. package/dist/llm-backup-phase-1/copilot-client.d.ts.map +0 -1
  59. package/dist/llm-backup-phase-1/copilot-client.js +0 -198
  60. package/dist/llm-backup-phase-1/copilot-client.js.map +0 -1
  61. package/dist/llm-backup-phase-1/prompt-templates.d.ts +0 -23
  62. package/dist/llm-backup-phase-1/prompt-templates.d.ts.map +0 -1
  63. package/dist/llm-backup-phase-1/prompt-templates.js +0 -197
  64. package/dist/llm-backup-phase-1/prompt-templates.js.map +0 -1
  65. package/dist/llm-backup-phase-1/response-processor.d.ts +0 -44
  66. package/dist/llm-backup-phase-1/response-processor.d.ts.map +0 -1
  67. package/dist/llm-backup-phase-1/response-processor.js +0 -200
  68. package/dist/llm-backup-phase-1/response-processor.js.map +0 -1
  69. package/dist/llm-backup-phase-1/validation.d.ts +0 -57
  70. package/dist/llm-backup-phase-1/validation.d.ts.map +0 -1
  71. package/dist/llm-backup-phase-1/validation.js +0 -273
  72. package/dist/llm-backup-phase-1/validation.js.map +0 -1
  73. package/dist/personas/base-persona.d.ts +0 -28
  74. package/dist/personas/base-persona.d.ts.map +0 -1
  75. package/dist/personas/base-persona.js +0 -140
  76. package/dist/personas/base-persona.js.map +0 -1
  77. package/dist/personas/consultant-persona.d.ts +0 -25
  78. package/dist/personas/consultant-persona.d.ts.map +0 -1
  79. package/dist/personas/consultant-persona.js +0 -288
  80. package/dist/personas/consultant-persona.js.map +0 -1
  81. package/dist/personas/persona-factory.d.ts +0 -17
  82. package/dist/personas/persona-factory.d.ts.map +0 -1
  83. package/dist/personas/persona-factory.js +0 -53
  84. package/dist/personas/persona-factory.js.map +0 -1
  85. package/dist/personas/research-backed-consultant.d.ts +0 -12
  86. package/dist/personas/research-backed-consultant.d.ts.map +0 -1
  87. package/dist/personas/research-backed-consultant.js +0 -100
  88. package/dist/personas/research-backed-consultant.js.map +0 -1
  89. package/dist/personas-backup-phase-1/base-persona.d.ts +0 -28
  90. package/dist/personas-backup-phase-1/base-persona.d.ts.map +0 -1
  91. package/dist/personas-backup-phase-1/base-persona.js +0 -140
  92. package/dist/personas-backup-phase-1/base-persona.js.map +0 -1
  93. package/dist/personas-backup-phase-1/consultant-persona.d.ts +0 -24
  94. package/dist/personas-backup-phase-1/consultant-persona.d.ts.map +0 -1
  95. package/dist/personas-backup-phase-1/consultant-persona.js +0 -197
  96. package/dist/personas-backup-phase-1/consultant-persona.js.map +0 -1
  97. package/dist/personas-backup-phase-1/persona-factory.d.ts +0 -17
  98. package/dist/personas-backup-phase-1/persona-factory.d.ts.map +0 -1
  99. package/dist/personas-backup-phase-1/persona-factory.js +0 -53
  100. package/dist/personas-backup-phase-1/persona-factory.js.map +0 -1
  101. package/dist/scanners/copilot-feature-scanner.d.ts +0 -55
  102. package/dist/scanners/copilot-feature-scanner.d.ts.map +0 -1
  103. package/dist/scanners/copilot-feature-scanner.js +0 -259
  104. package/dist/scanners/copilot-feature-scanner.js.map +0 -1
  105. package/dist/scorers/readiness-scorer.d.ts +0 -42
  106. package/dist/scorers/readiness-scorer.d.ts.map +0 -1
  107. package/dist/scorers/readiness-scorer.js +0 -279
  108. package/dist/scorers/readiness-scorer.js.map +0 -1
  109. package/dist/types/persona.d.ts +0 -69
  110. package/dist/types/persona.d.ts.map +0 -1
  111. package/dist/types/persona.js +0 -9
  112. package/dist/types/persona.js.map +0 -1
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ // src/index.ts
2
+ var VERSION = "1.0.0";
3
+ export {
4
+ VERSION
5
+ };
package/package.json CHANGED
@@ -1,26 +1,35 @@
1
1
  {
2
2
  "name": "@ankh-studio/ai-enablement",
3
- "version": "1.0.0",
4
- "description": "A comprehensive AI enablement platform that combines deterministic repository analysis with expert consulting personas to provide professional AI adoption guidance",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
3
+ "version": "1.0.3",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": {
7
+ "types": "./dist/index.d.ts",
8
+ "default": "./dist/index.js"
9
+ }
10
+ },
7
11
  "bin": {
8
12
  "ai-enablement": "dist/cli/index.js"
9
13
  },
14
+ "files": [
15
+ "dist",
16
+ "README.md",
17
+ "LICENSE"
18
+ ],
10
19
  "scripts": {
11
- "build": "tsc",
12
- "build:prod": "esbuild src/index.ts --bundle --platform=node --outfile=dist/bundle.js --format=cjs --external:node_modules",
13
- "dev": "tsc --watch",
14
- "start": "node dist/cli/index.js",
15
- "test": "jest",
16
- "test:watch": "jest --watch",
17
- "test:coverage": "jest --coverage",
18
- "lint": "eslint src --ext .ts",
19
- "lint:fix": "eslint src --ext .ts --fix",
20
- "format": "prettier --write \"src/**/*.{ts,js,json}\"",
21
- "check": "npm run lint && npm run build && npm run test",
22
- "typecheck": "tsc --noEmit",
23
- "prepublishOnly": "npm run build"
20
+ "build": "bun build src/index.ts --outdir dist --target=node && bun build src/cli/index.ts --outdir dist/cli --target=node",
21
+ "build:binary": "bun build --compile --minify src/index.ts --outfile dist/ai-enablement",
22
+ "dev": "bun run src/index.ts",
23
+ "start": "bun run dist/cli/index.js",
24
+ "test": "bun test",
25
+ "test:watch": "bun test --watch",
26
+ "test:coverage": "bun test --coverage",
27
+ "lint": "bunx --bun @biomejs/biome check src/",
28
+ "lint:fix": "bunx --bun @biomejs/biome check --write src/",
29
+ "format": "bunx --bun @biomejs/biome format --write src/",
30
+ "check": "bun run lint && bun run build && bun run test",
31
+ "typecheck": "bunx tsc --noEmit",
32
+ "prepublishOnly": "bun run build"
24
33
  },
25
34
  "keywords": [
26
35
  "ai",
@@ -46,29 +55,20 @@
46
55
  "zod": "^3.22.0"
47
56
  },
48
57
  "devDependencies": {
49
- "@types/jest": "^29.0.0",
50
- "@types/node": "^20.0.0",
51
- "@types/semver": "^7.5.0",
52
- "@typescript-eslint/eslint-plugin": "^6.21.0",
53
- "@typescript-eslint/parser": "^6.21.0",
54
- "esbuild": "^0.20.0",
55
- "eslint": "^8.57.0",
56
- "jest": "^29.0.0",
57
- "prettier": "^3.0.0",
58
- "ts-jest": "^29.0.0",
59
- "typescript": "^5.0.0"
58
+ "@biomejs/biome": "^1.9.4",
59
+ "@types/bun": "^1.3.5",
60
+ "typescript": "^5.9.3"
60
61
  },
61
- "files": [
62
- "dist",
63
- "README.md",
64
- "LICENSE"
65
- ],
66
62
  "engines": {
67
- "node": ">=20.0.0"
63
+ "bun": ">=1.0.0"
64
+ },
65
+ "publishConfig": {
66
+ "access": "public",
67
+ "provenance": true
68
68
  },
69
69
  "repository": {
70
70
  "type": "git",
71
- "url": "https://github.com/Ankh-Studio/ai-enablement-platform.git"
71
+ "url": "git+https://github.com/Ankh-Studio/ai-enablement-platform.git"
72
72
  },
73
73
  "homepage": "https://github.com/Ankh-Studio/ai-enablement-platform#readme",
74
74
  "bugs": {
@@ -1,63 +0,0 @@
1
- /**
2
- * Tech Stack Analyzer
3
- *
4
- * Analyzes repository technology stack using @specfy/stack-analyser
5
- * and additional custom analysis for AI readiness assessment
6
- */
7
- export interface TechStackAnalysis {
8
- languages: {
9
- primary: string;
10
- secondary: string[];
11
- frameworks: string[];
12
- totalLanguages: number;
13
- };
14
- dependencies: {
15
- total: number;
16
- categories: {
17
- frontend: number;
18
- backend: number;
19
- testing: number;
20
- build: number;
21
- ai: number;
22
- devops: number;
23
- };
24
- aiRelated: Array<{
25
- name: string;
26
- version: string;
27
- category: "copilot" | "openai" | "anthropic" | "huggingface" | "other";
28
- }>;
29
- };
30
- infrastructure: {
31
- packageManager: "npm" | "yarn" | "pnpm" | "unknown";
32
- buildTools: string[];
33
- testingFrameworks: string[];
34
- ciConfigured: boolean;
35
- containerization: boolean;
36
- };
37
- aiReadiness: {
38
- typescriptUsage: boolean;
39
- modernFramework: boolean;
40
- testCoverage: boolean;
41
- documentation: boolean;
42
- score: number;
43
- };
44
- }
45
- export declare class TechStackAnalyzer {
46
- analyze(repoPath: string): Promise<TechStackAnalysis>;
47
- private analyzePackageJson;
48
- private categorizeDependency;
49
- private isAiDependency;
50
- private categorizeAiDependency;
51
- private isFrontendDependency;
52
- private isFramework;
53
- private isBackendDependency;
54
- private isTestingDependency;
55
- private isBuildDependency;
56
- private isDevopsDependency;
57
- private analyzeScripts;
58
- private analyzeLanguages;
59
- private analyzeInfrastructure;
60
- private calculateAiReadiness;
61
- private exists;
62
- }
63
- //# sourceMappingURL=tech-stack-analyzer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tech-stack-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/tech-stack-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,MAAM,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;YACd,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,SAAS,EAAE,KAAK,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,CAAC;SACxE,CAAC,CAAC;KACJ,CAAC;IACF,cAAc,EAAE;QACd,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QACpD,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,YAAY,EAAE,OAAO,CAAC;QACtB,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,WAAW,EAAE;QACX,eAAe,EAAE,OAAO,CAAC;QACzB,eAAe,EAAE,OAAO,CAAC;QACzB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,qBAAa,iBAAiB;IACtB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAuD7C,kBAAkB;IA2ChC,OAAO,CAAC,oBAAoB;IA2C5B,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,cAAc;YAyCR,gBAAgB;YAoBhB,qBAAqB;IA0DnC,OAAO,CAAC,oBAAoB;YAiBd,MAAM;CAQrB"}
@@ -1,401 +0,0 @@
1
- "use strict";
2
- /**
3
- * Tech Stack Analyzer
4
- *
5
- * Analyzes repository technology stack using @specfy/stack-analyser
6
- * and additional custom analysis for AI readiness assessment
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.TechStackAnalyzer = void 0;
10
- const promises_1 = require("fs/promises");
11
- const path_1 = require("path");
12
- class TechStackAnalyzer {
13
- async analyze(repoPath) {
14
- const analysis = {
15
- languages: {
16
- primary: "unknown",
17
- secondary: [],
18
- frameworks: [],
19
- totalLanguages: 0,
20
- },
21
- dependencies: {
22
- total: 0,
23
- categories: {
24
- frontend: 0,
25
- backend: 0,
26
- testing: 0,
27
- build: 0,
28
- ai: 0,
29
- devops: 0,
30
- },
31
- aiRelated: [],
32
- },
33
- infrastructure: {
34
- packageManager: "unknown",
35
- buildTools: [],
36
- testingFrameworks: [],
37
- ciConfigured: false,
38
- containerization: false,
39
- },
40
- aiReadiness: {
41
- typescriptUsage: false,
42
- modernFramework: false,
43
- testCoverage: false,
44
- documentation: false,
45
- score: 0,
46
- },
47
- };
48
- try {
49
- // Analyze package.json for dependencies and scripts
50
- await this.analyzePackageJson(repoPath, analysis);
51
- // Analyze language usage
52
- await this.analyzeLanguages(repoPath, analysis);
53
- // Analyze infrastructure
54
- await this.analyzeInfrastructure(repoPath, analysis);
55
- // Calculate AI readiness score
56
- this.calculateAiReadiness(analysis);
57
- }
58
- catch (error) {
59
- console.warn(`Warning: Could not complete tech stack analysis: ${error}`);
60
- }
61
- return analysis;
62
- }
63
- async analyzePackageJson(repoPath, analysis) {
64
- const packageJsonPath = (0, path_1.join)(repoPath, "package.json");
65
- try {
66
- await (0, promises_1.access)(packageJsonPath, promises_1.constants.R_OK);
67
- const content = await (0, promises_1.readFile)(packageJsonPath, "utf-8");
68
- const packageJson = JSON.parse(content);
69
- // Analyze dependencies
70
- const allDeps = {
71
- ...packageJson.dependencies,
72
- ...packageJson.devDependencies,
73
- ...packageJson.peerDependencies,
74
- };
75
- analysis.dependencies.total = Object.keys(allDeps).length;
76
- // Categorize dependencies
77
- for (const [name, version] of Object.entries(allDeps)) {
78
- this.categorizeDependency(name, version, analysis);
79
- }
80
- // Detect package manager
81
- if (await this.exists((0, path_1.join)(repoPath, "yarn.lock"))) {
82
- analysis.infrastructure.packageManager = "yarn";
83
- }
84
- else if (await this.exists((0, path_1.join)(repoPath, "pnpm-lock.yaml"))) {
85
- analysis.infrastructure.packageManager = "pnpm";
86
- }
87
- else if (await this.exists((0, path_1.join)(repoPath, "package-lock.json"))) {
88
- analysis.infrastructure.packageManager = "npm";
89
- }
90
- // Detect build tools and testing frameworks from scripts
91
- if (packageJson.scripts) {
92
- this.analyzeScripts(packageJson.scripts, analysis);
93
- }
94
- }
95
- catch (error) {
96
- console.warn(`Warning: Could not analyze package.json: ${error}`);
97
- }
98
- }
99
- categorizeDependency(name, version, analysis) {
100
- const lowerName = name.toLowerCase();
101
- // AI-related dependencies
102
- if (this.isAiDependency(lowerName)) {
103
- analysis.dependencies.categories.ai++;
104
- analysis.dependencies.aiRelated.push({
105
- name,
106
- version,
107
- category: this.categorizeAiDependency(lowerName),
108
- });
109
- }
110
- // Frontend dependencies
111
- else if (this.isFrontendDependency(lowerName)) {
112
- analysis.dependencies.categories.frontend++;
113
- if (this.isFramework(lowerName)) {
114
- analysis.languages.frameworks.push(name);
115
- }
116
- }
117
- // Backend dependencies
118
- else if (this.isBackendDependency(lowerName)) {
119
- analysis.dependencies.categories.backend++;
120
- }
121
- // Testing dependencies
122
- else if (this.isTestingDependency(lowerName)) {
123
- analysis.dependencies.categories.testing++;
124
- analysis.infrastructure.testingFrameworks.push(name);
125
- }
126
- // Build dependencies
127
- else if (this.isBuildDependency(lowerName)) {
128
- analysis.dependencies.categories.build++;
129
- analysis.infrastructure.buildTools.push(name);
130
- }
131
- // DevOps dependencies
132
- else if (this.isDevopsDependency(lowerName)) {
133
- analysis.dependencies.categories.devops++;
134
- }
135
- }
136
- isAiDependency(name) {
137
- const aiKeywords = [
138
- "copilot",
139
- "openai",
140
- "anthropic",
141
- "claude",
142
- "gpt",
143
- "chatgpt",
144
- "huggingface",
145
- "transformers",
146
- "tensorflow",
147
- "torch",
148
- "keras",
149
- "langchain",
150
- "llama",
151
- "ollama",
152
- "ai",
153
- "ml",
154
- "machine-learning",
155
- ];
156
- return aiKeywords.some((keyword) => name.includes(keyword));
157
- }
158
- categorizeAiDependency(name) {
159
- if (name.includes("copilot"))
160
- return "copilot";
161
- if (name.includes("openai"))
162
- return "openai";
163
- if (name.includes("anthropic") || name.includes("claude"))
164
- return "anthropic";
165
- if (name.includes("huggingface"))
166
- return "huggingface";
167
- return "other";
168
- }
169
- isFrontendDependency(name) {
170
- const frontendKeywords = [
171
- "react",
172
- "vue",
173
- "angular",
174
- "svelte",
175
- "next",
176
- "nuxt",
177
- "webpack",
178
- "vite",
179
- "parcel",
180
- "rollup",
181
- "esbuild",
182
- "css",
183
- "sass",
184
- "scss",
185
- "less",
186
- "stylus",
187
- "tailwind",
188
- "bootstrap",
189
- "material-ui",
190
- "antd",
191
- "chakra",
192
- "mantine",
193
- ];
194
- return frontendKeywords.some((keyword) => name.includes(keyword));
195
- }
196
- isFramework(name) {
197
- const frameworks = [
198
- "react",
199
- "vue",
200
- "angular",
201
- "svelte",
202
- "next",
203
- "nuxt",
204
- "express",
205
- "fastify",
206
- "koa",
207
- ];
208
- return frameworks.includes(name);
209
- }
210
- isBackendDependency(name) {
211
- const backendKeywords = [
212
- "express",
213
- "fastify",
214
- "koa",
215
- "hapi",
216
- "nest",
217
- "loopback",
218
- "mongoose",
219
- "sequelize",
220
- "prisma",
221
- "typeorm",
222
- "knex",
223
- "passport",
224
- "jsonwebtoken",
225
- "bcrypt",
226
- "helmet",
227
- "cors",
228
- ];
229
- return backendKeywords.some((keyword) => name.includes(keyword));
230
- }
231
- isTestingDependency(name) {
232
- const testingKeywords = [
233
- "jest",
234
- "vitest",
235
- "mocha",
236
- "chai",
237
- "jasmine",
238
- "karma",
239
- "cypress",
240
- "playwright",
241
- "puppeteer",
242
- "testing-library",
243
- "supertest",
244
- "sinon",
245
- "nyc",
246
- "istanbul",
247
- "coverage",
248
- ];
249
- return testingKeywords.some((keyword) => name.includes(keyword));
250
- }
251
- isBuildDependency(name) {
252
- const buildKeywords = [
253
- "webpack",
254
- "vite",
255
- "parcel",
256
- "rollup",
257
- "esbuild",
258
- "babel",
259
- "typescript",
260
- "ts-node",
261
- "nodemon",
262
- "eslint",
263
- "prettier",
264
- "lint-staged",
265
- "husky",
266
- ];
267
- return buildKeywords.some((keyword) => name.includes(keyword));
268
- }
269
- isDevopsDependency(name) {
270
- const devopsKeywords = [
271
- "docker",
272
- "kubernetes",
273
- "helm",
274
- "terraform",
275
- "ansible",
276
- "ci",
277
- "cd",
278
- "github-actions",
279
- "gitlab-ci",
280
- "jenkins",
281
- ];
282
- return devopsKeywords.some((keyword) => name.includes(keyword));
283
- }
284
- analyzeScripts(scripts, analysis) {
285
- for (const [, scriptCommand] of Object.entries(scripts)) {
286
- const command = scriptCommand.toLowerCase();
287
- // Detect build tools
288
- if (command.includes("webpack") ||
289
- command.includes("vite") ||
290
- command.includes("parcel")) {
291
- const tool = command.includes("webpack")
292
- ? "webpack"
293
- : command.includes("vite")
294
- ? "vite"
295
- : "parcel";
296
- if (!analysis.infrastructure.buildTools.includes(tool)) {
297
- analysis.infrastructure.buildTools.push(tool);
298
- }
299
- }
300
- // Detect testing frameworks
301
- if (command.includes("jest") ||
302
- command.includes("vitest") ||
303
- command.includes("mocha")) {
304
- const framework = command.includes("jest")
305
- ? "jest"
306
- : command.includes("vitest")
307
- ? "vitest"
308
- : "mocha";
309
- if (!analysis.infrastructure.testingFrameworks.includes(framework)) {
310
- analysis.infrastructure.testingFrameworks.push(framework);
311
- }
312
- }
313
- }
314
- }
315
- async analyzeLanguages(repoPath, analysis) {
316
- // Check for TypeScript
317
- if (await this.exists((0, path_1.join)(repoPath, "tsconfig.json"))) {
318
- analysis.languages.primary = "typescript";
319
- analysis.aiReadiness.typescriptUsage = true;
320
- }
321
- else {
322
- analysis.languages.primary = "javascript";
323
- }
324
- // In a full implementation, we would scan source files to detect:
325
- // - Secondary languages
326
- // - Total language count
327
- // For now, set reasonable defaults
328
- analysis.languages.secondary = ["json"];
329
- analysis.languages.totalLanguages = 2;
330
- }
331
- async analyzeInfrastructure(repoPath, analysis) {
332
- // Check for CI configuration
333
- const ciPaths = [
334
- ".github/workflows",
335
- ".gitlab-ci.yml",
336
- "jenkinsfile",
337
- "azure-pipelines.yml",
338
- ".travis.yml",
339
- ];
340
- for (const path of ciPaths) {
341
- if (await this.exists((0, path_1.join)(repoPath, path))) {
342
- analysis.infrastructure.ciConfigured = true;
343
- break;
344
- }
345
- }
346
- // Check for containerization
347
- const containerPaths = [
348
- "Dockerfile",
349
- "docker-compose.yml",
350
- "docker-compose.yaml",
351
- ".dockerignore",
352
- ];
353
- for (const path of containerPaths) {
354
- if (await this.exists((0, path_1.join)(repoPath, path))) {
355
- analysis.infrastructure.containerization = true;
356
- break;
357
- }
358
- }
359
- // Check for documentation
360
- const docPaths = ["README.md", "docs/", "doc/", ".github/README.md"];
361
- for (const path of docPaths) {
362
- if (await this.exists((0, path_1.join)(repoPath, path))) {
363
- analysis.aiReadiness.documentation = true;
364
- break;
365
- }
366
- }
367
- // Check for test coverage setup
368
- analysis.aiReadiness.testCoverage =
369
- analysis.infrastructure.testingFrameworks.length > 0;
370
- // Check for modern framework
371
- analysis.aiReadiness.modernFramework = analysis.languages.frameworks.some((framework) => ["react", "vue", "next", "nuxt", "svelte"].includes(framework.toLowerCase()));
372
- }
373
- calculateAiReadiness(analysis) {
374
- let score = 0;
375
- const maxScore = 4;
376
- if (analysis.aiReadiness.typescriptUsage)
377
- score++;
378
- if (analysis.aiReadiness.modernFramework)
379
- score++;
380
- if (analysis.aiReadiness.testCoverage)
381
- score++;
382
- if (analysis.aiReadiness.documentation)
383
- score++;
384
- // Bonus points for AI-related dependencies
385
- if (analysis.dependencies.aiRelated.length > 0) {
386
- score += Math.min(analysis.dependencies.aiRelated.length, 2);
387
- }
388
- analysis.aiReadiness.score = Math.min((score / (maxScore + 2)) * 100, 100);
389
- }
390
- async exists(path) {
391
- try {
392
- await (0, promises_1.access)(path, promises_1.constants.F_OK);
393
- return true;
394
- }
395
- catch {
396
- return false;
397
- }
398
- }
399
- }
400
- exports.TechStackAnalyzer = TechStackAnalyzer;
401
- //# sourceMappingURL=tech-stack-analyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tech-stack-analyzer.js","sourceRoot":"","sources":["../../src/analyzers/tech-stack-analyzer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * AI Enablement Platform CLI
4
- *
5
- * Command-line interface for analyzing repository AI enablement readiness
6
- * and generating consultant-quality recommendations.
7
- */
8
- export {};
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}