@corbat-tech/coding-standards-mcp 1.0.3 → 2.0.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 +233 -337
- package/dist/agent.d.ts +5 -6
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +95 -217
- package/dist/agent.js.map +1 -1
- package/dist/analysis/code-analyzer.d.ts +44 -0
- package/dist/analysis/code-analyzer.d.ts.map +1 -0
- package/dist/analysis/code-analyzer.js +528 -0
- package/dist/analysis/code-analyzer.js.map +1 -0
- package/dist/errors.d.ts +58 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +112 -0
- package/dist/errors.js.map +1 -0
- package/dist/guardrails.d.ts +35 -0
- package/dist/guardrails.d.ts.map +1 -0
- package/dist/guardrails.js +303 -0
- package/dist/guardrails.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +36 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +63 -0
- package/dist/logger.js.map +1 -0
- package/dist/metrics.d.ts +40 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +97 -0
- package/dist/metrics.js.map +1 -0
- package/dist/profiles.d.ts +1 -1
- package/dist/profiles.d.ts.map +1 -1
- package/dist/profiles.js +239 -108
- package/dist/profiles.js.map +1 -1
- package/dist/prompts.js +1 -1
- package/dist/prompts.js.map +1 -1
- package/dist/tools/definitions.d.ts +143 -0
- package/dist/tools/definitions.d.ts.map +1 -0
- package/dist/tools/definitions.js +229 -0
- package/dist/tools/definitions.js.map +1 -0
- package/dist/tools/handlers/get-context.d.ts +12 -0
- package/dist/tools/handlers/get-context.d.ts.map +1 -0
- package/dist/tools/handlers/get-context.js +233 -0
- package/dist/tools/handlers/get-context.js.map +1 -0
- package/dist/tools/handlers/health.d.ts +11 -0
- package/dist/tools/handlers/health.d.ts.map +1 -0
- package/dist/tools/handlers/health.js +57 -0
- package/dist/tools/handlers/health.js.map +1 -0
- package/dist/tools/handlers/index.d.ts +12 -0
- package/dist/tools/handlers/index.d.ts.map +1 -0
- package/dist/tools/handlers/index.js +12 -0
- package/dist/tools/handlers/index.js.map +1 -0
- package/dist/tools/handlers/init.d.ts +12 -0
- package/dist/tools/handlers/init.d.ts.map +1 -0
- package/dist/tools/handlers/init.js +102 -0
- package/dist/tools/handlers/init.js.map +1 -0
- package/dist/tools/handlers/profiles.d.ts +11 -0
- package/dist/tools/handlers/profiles.d.ts.map +1 -0
- package/dist/tools/handlers/profiles.js +25 -0
- package/dist/tools/handlers/profiles.js.map +1 -0
- package/dist/tools/handlers/search.d.ts +12 -0
- package/dist/tools/handlers/search.d.ts.map +1 -0
- package/dist/tools/handlers/search.js +58 -0
- package/dist/tools/handlers/search.js.map +1 -0
- package/dist/tools/handlers/validate.d.ts +15 -0
- package/dist/tools/handlers/validate.d.ts.map +1 -0
- package/dist/tools/handlers/validate.js +71 -0
- package/dist/tools/handlers/validate.js.map +1 -0
- package/dist/tools/handlers/verify.d.ts +38 -0
- package/dist/tools/handlers/verify.d.ts.map +1 -0
- package/dist/tools/handlers/verify.js +172 -0
- package/dist/tools/handlers/verify.js.map +1 -0
- package/dist/tools/index.d.ts +22 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +75 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/schemas.d.ts +29 -0
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +20 -0
- package/dist/tools/schemas.js.map +1 -0
- package/dist/tools.js +2 -2
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +141 -71
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +92 -40
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/profiles/examples/microservice-kafka.yaml +122 -0
- package/profiles/examples/startup-fast.yaml +67 -0
- package/profiles/examples/strict-enterprise.yaml +62 -0
- package/profiles/templates/angular.yaml +614 -0
- package/profiles/templates/csharp-dotnet.yaml +529 -0
- package/profiles/templates/flutter.yaml +547 -0
- package/profiles/templates/go.yaml +1276 -0
- package/profiles/templates/java-spring-backend.yaml +326 -0
- package/profiles/templates/kotlin-spring.yaml +417 -0
- package/profiles/templates/nextjs.yaml +536 -0
- package/profiles/templates/nodejs.yaml +594 -0
- package/profiles/templates/python.yaml +546 -0
- package/profiles/templates/react.yaml +456 -0
- package/profiles/templates/rust.yaml +508 -0
- package/profiles/templates/vue.yaml +483 -0
package/dist/agent.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ExtendedGuardrails, formatGuardrailsAsMarkdown, loadGuardrails } from './guardrails.js';
|
|
2
|
+
import { type DetectedStack, type ProjectConfig, type TaskType } from './types.js';
|
|
3
|
+
export { loadGuardrails, formatGuardrailsAsMarkdown, type ExtendedGuardrails };
|
|
2
4
|
/**
|
|
3
5
|
* Load project configuration from .corbat.json
|
|
4
6
|
*/
|
|
@@ -9,8 +11,9 @@ export declare function loadProjectConfig(projectDir: string): Promise<ProjectCo
|
|
|
9
11
|
export declare function detectProjectStack(projectDir: string): Promise<DetectedStack | null>;
|
|
10
12
|
/**
|
|
11
13
|
* Get guardrails for a specific task type.
|
|
14
|
+
* Loads from YAML files and merges with project-specific overrides.
|
|
12
15
|
*/
|
|
13
|
-
export declare function getGuardrails(taskType: TaskType, projectConfig?: ProjectConfig | null):
|
|
16
|
+
export declare function getGuardrails(taskType: TaskType, projectConfig?: ProjectConfig | null): Promise<ExtendedGuardrails>;
|
|
14
17
|
/**
|
|
15
18
|
* Get project rules (always rules + task-specific rules).
|
|
16
19
|
*/
|
|
@@ -46,8 +49,4 @@ export declare function getTechnicalDecision(category: string, _context: string,
|
|
|
46
49
|
recommendation: string;
|
|
47
50
|
reasoning: string;
|
|
48
51
|
} | null;
|
|
49
|
-
/**
|
|
50
|
-
* Format guardrails as markdown.
|
|
51
|
-
*/
|
|
52
|
-
export declare function formatGuardrailsAsMarkdown(guardrails: Guardrails): string;
|
|
53
52
|
//# sourceMappingURL=agent.d.ts.map
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EACvB,0BAA0B,EAE1B,cAAc,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAuB,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGxG,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,KAAK,kBAAkB,EAAE,CAAC;AAgJ/E;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAWzF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA6E1F;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,QAAQ,EAClB,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAqB7B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,MAAM,EAAE,CAkBlG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAuF9D;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN;IACE,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC,CAAC;IACH,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAoIF,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,GACnC;IACD,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC,CAAC;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAsBP"}
|
package/dist/agent.js
CHANGED
|
@@ -1,187 +1,11 @@
|
|
|
1
1
|
import { access, readFile } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const DEFAULT_GUARDRAILS = {
|
|
8
|
-
feature: {
|
|
9
|
-
taskType: 'feature',
|
|
10
|
-
mandatory: [
|
|
11
|
-
'Follow TDD: write tests before implementation',
|
|
12
|
-
'Ensure 80%+ unit test coverage for new code',
|
|
13
|
-
'Apply SOLID principles',
|
|
14
|
-
'Follow project naming conventions',
|
|
15
|
-
'Document public APIs',
|
|
16
|
-
'Validate inputs at boundaries',
|
|
17
|
-
],
|
|
18
|
-
recommended: [
|
|
19
|
-
'Keep methods under 20 lines',
|
|
20
|
-
'Keep classes under 200 lines',
|
|
21
|
-
'Use dependency injection',
|
|
22
|
-
'Apply single responsibility principle',
|
|
23
|
-
'Write integration tests for critical paths',
|
|
24
|
-
],
|
|
25
|
-
avoid: [
|
|
26
|
-
'God classes or methods',
|
|
27
|
-
'Hard-coded configuration',
|
|
28
|
-
'Mixing business logic with infrastructure',
|
|
29
|
-
'Circular dependencies',
|
|
30
|
-
'Over-engineering for hypothetical futures',
|
|
31
|
-
],
|
|
32
|
-
},
|
|
33
|
-
bugfix: {
|
|
34
|
-
taskType: 'bugfix',
|
|
35
|
-
mandatory: [
|
|
36
|
-
'First write a failing test that reproduces the bug',
|
|
37
|
-
'Make the minimum change necessary to fix',
|
|
38
|
-
'Verify fix does not break existing tests',
|
|
39
|
-
'Document root cause in commit message',
|
|
40
|
-
],
|
|
41
|
-
recommended: [
|
|
42
|
-
'Add regression test if not already covered',
|
|
43
|
-
'Consider if bug exists elsewhere (same pattern)',
|
|
44
|
-
'Update documentation if behavior changed',
|
|
45
|
-
],
|
|
46
|
-
avoid: [
|
|
47
|
-
'Refactoring unrelated code',
|
|
48
|
-
'Adding features while fixing bugs',
|
|
49
|
-
'Changing APIs without necessity',
|
|
50
|
-
'Fixing symptoms instead of root cause',
|
|
51
|
-
],
|
|
52
|
-
},
|
|
53
|
-
refactor: {
|
|
54
|
-
taskType: 'refactor',
|
|
55
|
-
mandatory: [
|
|
56
|
-
'All existing tests must pass before AND after',
|
|
57
|
-
'No behavior changes (only structure)',
|
|
58
|
-
'Commit in small, reviewable increments',
|
|
59
|
-
'Extract one concept at a time',
|
|
60
|
-
],
|
|
61
|
-
recommended: [
|
|
62
|
-
'Increase test coverage if below threshold',
|
|
63
|
-
'Apply design patterns where appropriate',
|
|
64
|
-
'Improve naming and readability',
|
|
65
|
-
'Remove dead code',
|
|
66
|
-
],
|
|
67
|
-
avoid: [
|
|
68
|
-
'Changing behavior during refactor',
|
|
69
|
-
'Big bang refactoring',
|
|
70
|
-
'Refactoring without tests',
|
|
71
|
-
'Premature abstraction',
|
|
72
|
-
],
|
|
73
|
-
},
|
|
74
|
-
test: {
|
|
75
|
-
taskType: 'test',
|
|
76
|
-
mandatory: [
|
|
77
|
-
'Follow Arrange-Act-Assert pattern',
|
|
78
|
-
'One logical assertion per test',
|
|
79
|
-
'Test names describe behavior (should_X_when_Y)',
|
|
80
|
-
'Tests must be independent and repeatable',
|
|
81
|
-
],
|
|
82
|
-
recommended: [
|
|
83
|
-
'Use test fixtures for complex setup',
|
|
84
|
-
'Mock external dependencies',
|
|
85
|
-
'Test edge cases and error conditions',
|
|
86
|
-
'Use parameterized tests for variations',
|
|
87
|
-
],
|
|
88
|
-
avoid: [
|
|
89
|
-
'Testing implementation details',
|
|
90
|
-
'Flaky tests',
|
|
91
|
-
'Tests that depend on order',
|
|
92
|
-
'Assertions without clear purpose',
|
|
93
|
-
],
|
|
94
|
-
},
|
|
95
|
-
documentation: {
|
|
96
|
-
taskType: 'documentation',
|
|
97
|
-
mandatory: [
|
|
98
|
-
'Use clear, concise language',
|
|
99
|
-
'Include code examples where applicable',
|
|
100
|
-
'Keep documentation close to code',
|
|
101
|
-
'Document the WHY, not just the WHAT',
|
|
102
|
-
],
|
|
103
|
-
recommended: [
|
|
104
|
-
'Use consistent formatting',
|
|
105
|
-
'Include diagrams for complex flows',
|
|
106
|
-
'Document assumptions and constraints',
|
|
107
|
-
'Keep README updated',
|
|
108
|
-
],
|
|
109
|
-
avoid: [
|
|
110
|
-
'Outdated documentation',
|
|
111
|
-
'Duplicating code in comments',
|
|
112
|
-
'Over-documenting obvious code',
|
|
113
|
-
'Documentation without context',
|
|
114
|
-
],
|
|
115
|
-
},
|
|
116
|
-
performance: {
|
|
117
|
-
taskType: 'performance',
|
|
118
|
-
mandatory: [
|
|
119
|
-
'Measure before optimizing (baseline metrics)',
|
|
120
|
-
'Profile to identify actual bottlenecks',
|
|
121
|
-
'Document performance requirements',
|
|
122
|
-
'Add performance tests/benchmarks',
|
|
123
|
-
],
|
|
124
|
-
recommended: [
|
|
125
|
-
'Consider caching strategies',
|
|
126
|
-
'Optimize database queries',
|
|
127
|
-
'Use async/non-blocking where appropriate',
|
|
128
|
-
'Consider lazy loading',
|
|
129
|
-
],
|
|
130
|
-
avoid: [
|
|
131
|
-
'Premature optimization',
|
|
132
|
-
'Optimizing without measurements',
|
|
133
|
-
'Sacrificing readability without significant gain',
|
|
134
|
-
'Micro-optimizations in non-critical paths',
|
|
135
|
-
],
|
|
136
|
-
},
|
|
137
|
-
security: {
|
|
138
|
-
taskType: 'security',
|
|
139
|
-
mandatory: [
|
|
140
|
-
'Validate ALL user inputs',
|
|
141
|
-
'Use parameterized queries (prevent SQL injection)',
|
|
142
|
-
'Escape output (prevent XSS)',
|
|
143
|
-
'Apply principle of least privilege',
|
|
144
|
-
'Never log sensitive data',
|
|
145
|
-
],
|
|
146
|
-
recommended: [
|
|
147
|
-
'Use established security libraries',
|
|
148
|
-
'Implement rate limiting',
|
|
149
|
-
'Add security headers',
|
|
150
|
-
'Use HTTPS everywhere',
|
|
151
|
-
'Implement proper authentication/authorization',
|
|
152
|
-
],
|
|
153
|
-
avoid: [
|
|
154
|
-
'Rolling your own crypto',
|
|
155
|
-
'Hardcoded secrets',
|
|
156
|
-
'Trusting client-side validation alone',
|
|
157
|
-
'Exposing stack traces to users',
|
|
158
|
-
'Using deprecated crypto algorithms',
|
|
159
|
-
],
|
|
160
|
-
},
|
|
161
|
-
infrastructure: {
|
|
162
|
-
taskType: 'infrastructure',
|
|
163
|
-
mandatory: [
|
|
164
|
-
'Infrastructure as Code (no manual changes)',
|
|
165
|
-
'Version control all configurations',
|
|
166
|
-
'Test in staging before production',
|
|
167
|
-
'Document deployment procedures',
|
|
168
|
-
],
|
|
169
|
-
recommended: [
|
|
170
|
-
'Use immutable infrastructure',
|
|
171
|
-
'Implement health checks',
|
|
172
|
-
'Set up proper monitoring/alerting',
|
|
173
|
-
'Plan for rollback',
|
|
174
|
-
],
|
|
175
|
-
avoid: [
|
|
176
|
-
'Manual server configuration',
|
|
177
|
-
'Snowflake servers',
|
|
178
|
-
'Deploying directly to production',
|
|
179
|
-
'Ignoring resource limits',
|
|
180
|
-
],
|
|
181
|
-
},
|
|
182
|
-
};
|
|
3
|
+
import { formatGuardrailsAsMarkdown, getGuardrails as getGuardrailsFromFiles, loadGuardrails, } from './guardrails.js';
|
|
4
|
+
import { ProjectConfigSchema } from './types.js';
|
|
5
|
+
// Re-export guardrails utilities for external use
|
|
6
|
+
export { loadGuardrails, formatGuardrailsAsMarkdown };
|
|
183
7
|
const STACK_PATTERNS = [
|
|
184
|
-
// Java Spring
|
|
8
|
+
// Java Spring (check for Spring-specific files)
|
|
185
9
|
{
|
|
186
10
|
files: ['pom.xml', 'build.gradle', 'build.gradle.kts'],
|
|
187
11
|
language: 'Java',
|
|
@@ -191,6 +15,64 @@ const STACK_PATTERNS = [
|
|
|
191
15
|
profile: 'java-spring-backend',
|
|
192
16
|
confidence: 'high',
|
|
193
17
|
},
|
|
18
|
+
// Kotlin Spring (check for Kotlin + Spring)
|
|
19
|
+
{
|
|
20
|
+
files: ['build.gradle.kts', 'settings.gradle.kts'],
|
|
21
|
+
language: 'Kotlin',
|
|
22
|
+
framework: 'Spring Boot',
|
|
23
|
+
buildTool: 'Gradle',
|
|
24
|
+
testFramework: 'JUnit5/Kotest',
|
|
25
|
+
profile: 'kotlin-spring',
|
|
26
|
+
confidence: 'medium',
|
|
27
|
+
},
|
|
28
|
+
// Go
|
|
29
|
+
{
|
|
30
|
+
files: ['go.mod', 'go.sum'],
|
|
31
|
+
language: 'Go',
|
|
32
|
+
buildTool: 'go',
|
|
33
|
+
testFramework: 'testing',
|
|
34
|
+
profile: 'go',
|
|
35
|
+
confidence: 'high',
|
|
36
|
+
},
|
|
37
|
+
// Rust
|
|
38
|
+
{
|
|
39
|
+
files: ['Cargo.toml', 'Cargo.lock'],
|
|
40
|
+
language: 'Rust',
|
|
41
|
+
buildTool: 'cargo',
|
|
42
|
+
testFramework: 'built-in',
|
|
43
|
+
profile: 'rust',
|
|
44
|
+
confidence: 'high',
|
|
45
|
+
},
|
|
46
|
+
// C# / .NET
|
|
47
|
+
{
|
|
48
|
+
files: ['*.csproj', '*.sln'],
|
|
49
|
+
language: 'C#',
|
|
50
|
+
framework: 'ASP.NET Core',
|
|
51
|
+
buildTool: 'dotnet',
|
|
52
|
+
testFramework: 'xUnit',
|
|
53
|
+
profile: 'csharp-dotnet',
|
|
54
|
+
confidence: 'high',
|
|
55
|
+
},
|
|
56
|
+
// Flutter / Dart
|
|
57
|
+
{
|
|
58
|
+
files: ['pubspec.yaml', 'pubspec.lock'],
|
|
59
|
+
language: 'Dart',
|
|
60
|
+
framework: 'Flutter',
|
|
61
|
+
buildTool: 'flutter',
|
|
62
|
+
testFramework: 'flutter_test',
|
|
63
|
+
profile: 'flutter',
|
|
64
|
+
confidence: 'high',
|
|
65
|
+
},
|
|
66
|
+
// Next.js (must come before generic React)
|
|
67
|
+
{
|
|
68
|
+
files: ['next.config.js', 'next.config.mjs', 'next.config.ts'],
|
|
69
|
+
language: 'TypeScript',
|
|
70
|
+
framework: 'Next.js',
|
|
71
|
+
buildTool: 'npm/pnpm',
|
|
72
|
+
testFramework: 'Vitest/Jest',
|
|
73
|
+
profile: 'nextjs',
|
|
74
|
+
confidence: 'high',
|
|
75
|
+
},
|
|
194
76
|
// Angular (must come before generic Node.js)
|
|
195
77
|
{
|
|
196
78
|
files: ['angular.json'],
|
|
@@ -201,6 +83,26 @@ const STACK_PATTERNS = [
|
|
|
201
83
|
profile: 'angular',
|
|
202
84
|
confidence: 'high',
|
|
203
85
|
},
|
|
86
|
+
// Vue.js
|
|
87
|
+
{
|
|
88
|
+
files: ['vue.config.js', 'vite.config.ts', 'nuxt.config.ts'],
|
|
89
|
+
language: 'TypeScript',
|
|
90
|
+
framework: 'Vue',
|
|
91
|
+
buildTool: 'Vite',
|
|
92
|
+
testFramework: 'Vitest',
|
|
93
|
+
profile: 'vue',
|
|
94
|
+
confidence: 'medium',
|
|
95
|
+
},
|
|
96
|
+
// React (Vite)
|
|
97
|
+
{
|
|
98
|
+
files: ['package.json', 'vite.config.ts', 'vite.config.js'],
|
|
99
|
+
language: 'TypeScript',
|
|
100
|
+
framework: 'React',
|
|
101
|
+
buildTool: 'Vite',
|
|
102
|
+
testFramework: 'Vitest',
|
|
103
|
+
profile: 'react',
|
|
104
|
+
confidence: 'medium',
|
|
105
|
+
},
|
|
204
106
|
// Node.js/TypeScript
|
|
205
107
|
{
|
|
206
108
|
files: ['package.json', 'tsconfig.json'],
|
|
@@ -221,16 +123,6 @@ const STACK_PATTERNS = [
|
|
|
221
123
|
profile: 'python',
|
|
222
124
|
confidence: 'high',
|
|
223
125
|
},
|
|
224
|
-
// React (Vite)
|
|
225
|
-
{
|
|
226
|
-
files: ['package.json', 'vite.config.ts', 'vite.config.js'],
|
|
227
|
-
language: 'TypeScript',
|
|
228
|
-
framework: 'React',
|
|
229
|
-
buildTool: 'Vite',
|
|
230
|
-
testFramework: 'Vitest',
|
|
231
|
-
profile: 'react',
|
|
232
|
-
confidence: 'medium',
|
|
233
|
-
},
|
|
234
126
|
// Generic JavaScript
|
|
235
127
|
{
|
|
236
128
|
files: ['package.json'],
|
|
@@ -341,10 +233,18 @@ export async function detectProjectStack(projectDir) {
|
|
|
341
233
|
}
|
|
342
234
|
/**
|
|
343
235
|
* Get guardrails for a specific task type.
|
|
236
|
+
* Loads from YAML files and merges with project-specific overrides.
|
|
344
237
|
*/
|
|
345
|
-
export function getGuardrails(taskType, projectConfig) {
|
|
346
|
-
//
|
|
347
|
-
const
|
|
238
|
+
export async function getGuardrails(taskType, projectConfig) {
|
|
239
|
+
// Load from YAML files
|
|
240
|
+
const baseGuardrails = await getGuardrailsFromFiles(taskType);
|
|
241
|
+
// Create a copy to avoid mutating the cached version
|
|
242
|
+
const guardrails = {
|
|
243
|
+
...baseGuardrails,
|
|
244
|
+
mandatory: [...baseGuardrails.mandatory],
|
|
245
|
+
recommended: [...baseGuardrails.recommended],
|
|
246
|
+
avoid: [...baseGuardrails.avoid],
|
|
247
|
+
};
|
|
348
248
|
// Override with project-specific guardrails if available
|
|
349
249
|
if (projectConfig?.guardrails?.[taskType]) {
|
|
350
250
|
const projectGuardrails = projectConfig.guardrails[taskType];
|
|
@@ -603,27 +503,5 @@ export function getTechnicalDecision(category, _context, projectConfig) {
|
|
|
603
503
|
reasoning: `${decision.defaultRecommendation} is recommended as the default choice for ${category} based on industry best practices and versatility.`,
|
|
604
504
|
};
|
|
605
505
|
}
|
|
606
|
-
|
|
607
|
-
* Format guardrails as markdown.
|
|
608
|
-
*/
|
|
609
|
-
export function formatGuardrailsAsMarkdown(guardrails) {
|
|
610
|
-
const lines = [
|
|
611
|
-
`# Guardrails for ${guardrails.taskType.toUpperCase()} task`,
|
|
612
|
-
'',
|
|
613
|
-
'## MANDATORY (must follow)',
|
|
614
|
-
'',
|
|
615
|
-
];
|
|
616
|
-
for (const rule of guardrails.mandatory) {
|
|
617
|
-
lines.push(`- ✅ ${rule}`);
|
|
618
|
-
}
|
|
619
|
-
lines.push('', '## RECOMMENDED (should follow)', '');
|
|
620
|
-
for (const rule of guardrails.recommended) {
|
|
621
|
-
lines.push(`- 💡 ${rule}`);
|
|
622
|
-
}
|
|
623
|
-
lines.push('', '## AVOID (do not do)', '');
|
|
624
|
-
for (const rule of guardrails.avoid) {
|
|
625
|
-
lines.push(`- ❌ ${rule}`);
|
|
626
|
-
}
|
|
627
|
-
return lines.join('\n');
|
|
628
|
-
}
|
|
506
|
+
// formatGuardrailsAsMarkdown is now exported from guardrails.ts
|
|
629
507
|
//# sourceMappingURL=agent.js.map
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAEL,0BAA0B,EAC1B,aAAa,IAAI,sBAAsB,EACvC,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAA0C,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAExG,kDAAkD;AAClD,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAA2B,CAAC;AAe/E,MAAM,cAAc,GAAmB;IACrC,gDAAgD;IAChD;QACE,KAAK,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,kBAAkB,CAAC;QACtD,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,aAAa;QACxB,SAAS,EAAE,cAAc;QACzB,aAAa,EAAE,QAAQ;QACvB,OAAO,EAAE,qBAAqB;QAC9B,UAAU,EAAE,MAAM;KACnB;IACD,4CAA4C;IAC5C;QACE,KAAK,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;QAClD,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,aAAa;QACxB,SAAS,EAAE,QAAQ;QACnB,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,QAAQ;KACrB;IACD,KAAK;IACL;QACE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC3B,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,SAAS;QACxB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,MAAM;KACnB;IACD,OAAO;IACP;QACE,KAAK,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;QACnC,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,OAAO;QAClB,aAAa,EAAE,UAAU;QACzB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,MAAM;KACnB;IACD,YAAY;IACZ;QACE,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;QAC5B,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,QAAQ;QACnB,aAAa,EAAE,OAAO;QACtB,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,MAAM;KACnB;IACD,iBAAiB;IACjB;QACE,KAAK,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;QACvC,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,cAAc;QAC7B,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,MAAM;KACnB;IACD,2CAA2C;IAC3C;QACE,KAAK,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;QAC9D,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,UAAU;QACrB,aAAa,EAAE,aAAa;QAC5B,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,MAAM;KACnB;IACD,6CAA6C;IAC7C;QACE,KAAK,EAAE,CAAC,cAAc,CAAC;QACvB,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,aAAa;QACxB,aAAa,EAAE,aAAa;QAC5B,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,MAAM;KACnB;IACD,SAAS;IACT;QACE,KAAK,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAC5D,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,QAAQ;QACvB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,QAAQ;KACrB;IACD,eAAe;IACf;QACE,KAAK,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAC3D,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,QAAQ;QACvB,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,QAAQ;KACrB;IACD,qBAAqB;IACrB;QACE,KAAK,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;QACxC,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,UAAU;QACrB,aAAa,EAAE,aAAa;QAC5B,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,MAAM;KACnB;IACD,SAAS;IACT;QACE,KAAK,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,CAAC;QACzD,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,gBAAgB;QAC3B,SAAS,EAAE,YAAY;QACvB,aAAa,EAAE,QAAQ;QACvB,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,MAAM;KACnB;IACD,qBAAqB;IACrB;QACE,KAAK,EAAE,CAAC,cAAc,CAAC;QACvB,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,KAAK;KAClB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACzD,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACvB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,oDAAoD;YACpD,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAClC,IAAI,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;YAC1C,IAAI,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;YAEvC,0CAA0C;YAC1C,IAAI,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC1F,MAAM,IAAI,GAAG,EAAE,GAAG,WAAW,CAAC,YAAY,EAAE,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;oBAE7E,gDAAgD;oBAChD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBACf,SAAS,GAAG,OAAO,CAAC;wBACpB,gBAAgB,GAAG,OAAO,CAAC;oBAC7B,CAAC;yBAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;wBACpB,SAAS,GAAG,KAAK,CAAC;wBAClB,gBAAgB,GAAG,KAAK,CAAC;oBAC3B,CAAC;yBAAM,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;wBACjC,SAAS,GAAG,SAAS,CAAC;wBACtB,gBAAgB,GAAG,SAAS,CAAC;oBAC/B,CAAC;yBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACxB,SAAS,GAAG,SAAS,CAAC;oBACxB,CAAC;yBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACxB,SAAS,GAAG,SAAS,CAAC;oBACxB,CAAC;yBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;wBAC/C,SAAS,GAAG,QAAQ,CAAC;oBACvB,CAAC;oBAED,IAAI,IAAI,CAAC,MAAM;wBAAE,aAAa,GAAG,QAAQ,CAAC;yBACrC,IAAI,IAAI,CAAC,IAAI;wBAAE,aAAa,GAAG,MAAM,CAAC;yBACtC,IAAI,IAAI,CAAC,KAAK;wBAAE,aAAa,GAAG,OAAO,CAAC;gBAC/C,CAAC;gBAAC,MAAM,CAAC;oBACP,+BAA+B;gBACjC,CAAC;YACH,CAAC;YAED,4CAA4C;YAC5C,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBACxE,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;wBACvC,SAAS,GAAG,aAAa,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,yBAAyB;gBAC3B,CAAC;YACH,CAAC;YAED,OAAO;gBACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS;gBACT,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,aAAa;gBACb,gBAAgB;gBAChB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAkB,EAClB,aAAoC;IAEpC,uBAAuB;IACvB,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAE9D,qDAAqD;IACrD,MAAM,UAAU,GAAuB;QACrC,GAAG,cAAc;QACjB,SAAS,EAAE,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC;QACxC,WAAW,EAAE,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC;QAC5C,KAAK,EAAE,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC;KACjC,CAAC;IAEF,yDAAyD;IACzD,IAAI,aAAa,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,MAAM,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7D,UAAU,CAAC,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACjF,UAAU,CAAC,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACvF,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAkB,EAAE,aAAoC;IACtF,IAAI,CAAC,aAAa,EAAE,KAAK;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,KAAK,GAAa,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAEhE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,SAAS;YACZ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;YACrD,MAAM;QACR,KAAK,MAAM;YACT,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM;QACR,KAAK,UAAU;YACb,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;YACtD,MAAM;IACV,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAEvC,mBAAmB;IACnB,IACE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACvB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,oBAAoB;IACpB,IACE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAClC,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,IACE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EACjC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,yBAAyB;IACzB,IACE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EACxB,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,uBAAuB;IACvB,IACE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EACtB,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,oBAAoB;IACpB,IACE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EACxB,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0BAA0B;IAC1B,IACE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAC/B,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,qBAAqB;IACrB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAY5B;IACF,QAAQ,EAAE;QACR,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,0CAA0C;gBACvD,IAAI,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,kBAAkB,CAAC;gBAC1F,IAAI,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;gBACrD,OAAO,EAAE,CAAC,wBAAwB,EAAE,yBAAyB,EAAE,yBAAyB,CAAC;aAC1F;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,yCAAyC;gBACtD,IAAI,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,4BAA4B,CAAC;gBACtE,IAAI,EAAE,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;gBAC1D,OAAO,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,kBAAkB,CAAC;aAChF;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,kCAAkC;gBAC/C,IAAI,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC;gBACrE,IAAI,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,sBAAsB,CAAC;gBACxE,OAAO,EAAE,CAAC,2BAA2B,EAAE,wBAAwB,EAAE,mBAAmB,CAAC;aACtF;SACF;QACD,qBAAqB,EAAE,YAAY;KACpC;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,gCAAgC;gBAC7C,IAAI,EAAE,CAAC,WAAW,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;gBACrF,IAAI,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;gBACzC,OAAO,EAAE,CAAC,0BAA0B,EAAE,iBAAiB,EAAE,oBAAoB,CAAC;aAC/E;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,CAAC,wBAAwB,EAAE,gBAAgB,EAAE,cAAc,CAAC;gBAClE,IAAI,EAAE,CAAC,6BAA6B,EAAE,sBAAsB,EAAE,iBAAiB,CAAC;gBAChF,OAAO,EAAE,CAAC,4BAA4B,EAAE,kBAAkB,EAAE,sBAAsB,CAAC;aACpF;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,4BAA4B;gBACzC,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,yBAAyB,CAAC;gBAC7D,IAAI,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,YAAY,CAAC;gBAC5D,OAAO,EAAE,CAAC,0BAA0B,EAAE,kBAAkB,EAAE,oBAAoB,CAAC;aAChF;SACF;QACD,qBAAqB,EAAE,OAAO;KAC/B;IACD,SAAS,EAAE;QACT,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,gCAAgC;gBAC7C,IAAI,EAAE,CAAC,iBAAiB,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;gBAC5E,IAAI,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;gBACjE,OAAO,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,CAAC;aAClF;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,6BAA6B;gBAC1C,IAAI,EAAE,CAAC,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC;gBAC3E,IAAI,EAAE,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;gBACrD,OAAO,EAAE,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,cAAc,CAAC;aACvE;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,+BAA+B;gBAC5C,IAAI,EAAE,CAAC,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,CAAC;gBACpE,IAAI,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;gBAC3D,OAAO,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,aAAa,CAAC;aACjE;SACF;QACD,qBAAqB,EAAE,cAAc;KACtC;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,sCAAsC;gBACnD,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,sBAAsB,EAAE,gBAAgB,CAAC;gBACzE,IAAI,EAAE,CAAC,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,CAAC;gBAC9D,OAAO,EAAE,CAAC,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,CAAC;aACtE;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,6BAA6B;gBAC1C,IAAI,EAAE,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,iBAAiB,CAAC;gBACrE,IAAI,EAAE,CAAC,cAAc,EAAE,oBAAoB,EAAE,eAAe,CAAC;gBAC7D,OAAO,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;aACxE;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,kCAAkC;gBAC/C,IAAI,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;gBACtE,IAAI,EAAE,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;gBAClD,OAAO,EAAE,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,uBAAuB,CAAC;aAClF;SACF;QACD,qBAAqB,EAAE,uBAAuB;KAC/C;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,CAAC,wBAAwB,EAAE,eAAe,EAAE,uBAAuB,CAAC;gBAC1E,IAAI,EAAE,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;gBACjD,OAAO,EAAE,CAAC,oBAAoB,EAAE,eAAe,EAAE,yBAAyB,CAAC;aAC5E;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,qCAAqC;gBAClD,IAAI,EAAE,CAAC,cAAc,EAAE,kBAAkB,EAAE,YAAY,CAAC;gBACxD,IAAI,EAAE,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;gBAC1D,OAAO,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,CAAC;aAC3D;YACD;gBACE,IAAI,EAAE,+BAA+B;gBACrC,WAAW,EAAE,mCAAmC;gBAChD,IAAI,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,sBAAsB,CAAC;gBAChE,IAAI,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;gBAC5C,OAAO,EAAE,CAAC,wBAAwB,EAAE,uBAAuB,EAAE,cAAc,CAAC;aAC7E;SACF;QACD,qBAAqB,EAAE,0BAA0B;KAClD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAgB,EAChB,QAAgB,EAChB,aAAoC;IAYpC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,6CAA6C;IAC7C,MAAM,kBAAkB,GAAG,aAAa,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;IAChE,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC;QACvG,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,cAAc,EAAE,MAAM,CAAC,IAAI;gBAC3B,SAAS,EAAE,mCAAmC,MAAM,CAAC,IAAI,QAAQ,QAAQ,wDAAwD;aAClI,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,cAAc,EAAE,QAAQ,CAAC,qBAAqB;QAC9C,SAAS,EAAE,GAAG,QAAQ,CAAC,qBAAqB,6CAA6C,QAAQ,oDAAoD;KACtJ,CAAC;AACJ,CAAC;AAED,gEAAgE"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightweight code analyzer using regex and heuristics.
|
|
3
|
+
* No AST parsing to keep it fast and dependency-free.
|
|
4
|
+
*
|
|
5
|
+
* This module provides real code analysis instead of just returning checklists.
|
|
6
|
+
* It detects anti-patterns, measures code quality metrics, and provides
|
|
7
|
+
* actionable feedback.
|
|
8
|
+
*/
|
|
9
|
+
export interface AnalysisIssue {
|
|
10
|
+
type: 'CRITICAL' | 'WARNING' | 'INFO';
|
|
11
|
+
rule: string;
|
|
12
|
+
message: string;
|
|
13
|
+
line?: number;
|
|
14
|
+
suggestion?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface CodeMetrics {
|
|
17
|
+
totalLines: number;
|
|
18
|
+
codeLines: number;
|
|
19
|
+
commentLines: number;
|
|
20
|
+
methodCount: number;
|
|
21
|
+
classCount: number;
|
|
22
|
+
interfaceCount: number;
|
|
23
|
+
testCount: number;
|
|
24
|
+
maxMethodLines: number;
|
|
25
|
+
maxClassLines: number;
|
|
26
|
+
customErrorCount: number;
|
|
27
|
+
importCount: number;
|
|
28
|
+
}
|
|
29
|
+
export interface AnalysisResult {
|
|
30
|
+
issues: AnalysisIssue[];
|
|
31
|
+
score: number;
|
|
32
|
+
summary: string;
|
|
33
|
+
metrics: CodeMetrics;
|
|
34
|
+
passed: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Analyze code and return issues, metrics, and score.
|
|
38
|
+
*/
|
|
39
|
+
export declare function analyzeCode(code: string): AnalysisResult;
|
|
40
|
+
/**
|
|
41
|
+
* Format analysis result as markdown.
|
|
42
|
+
*/
|
|
43
|
+
export declare function formatAnalysisAsMarkdown(result: AnalysisResult): string;
|
|
44
|
+
//# sourceMappingURL=code-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-analyzer.d.ts","sourceRoot":"","sources":["../../src/analysis/code-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAmLD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CA+FxD;AA0OD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwFvE"}
|