@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.
Files changed (99) hide show
  1. package/README.md +233 -337
  2. package/dist/agent.d.ts +5 -6
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +95 -217
  5. package/dist/agent.js.map +1 -1
  6. package/dist/analysis/code-analyzer.d.ts +44 -0
  7. package/dist/analysis/code-analyzer.d.ts.map +1 -0
  8. package/dist/analysis/code-analyzer.js +528 -0
  9. package/dist/analysis/code-analyzer.js.map +1 -0
  10. package/dist/errors.d.ts +58 -0
  11. package/dist/errors.d.ts.map +1 -0
  12. package/dist/errors.js +112 -0
  13. package/dist/errors.js.map +1 -0
  14. package/dist/guardrails.d.ts +35 -0
  15. package/dist/guardrails.d.ts.map +1 -0
  16. package/dist/guardrails.js +303 -0
  17. package/dist/guardrails.js.map +1 -0
  18. package/dist/index.js +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/logger.d.ts +36 -0
  21. package/dist/logger.d.ts.map +1 -0
  22. package/dist/logger.js +63 -0
  23. package/dist/logger.js.map +1 -0
  24. package/dist/metrics.d.ts +40 -0
  25. package/dist/metrics.d.ts.map +1 -0
  26. package/dist/metrics.js +97 -0
  27. package/dist/metrics.js.map +1 -0
  28. package/dist/profiles.d.ts +1 -1
  29. package/dist/profiles.d.ts.map +1 -1
  30. package/dist/profiles.js +239 -108
  31. package/dist/profiles.js.map +1 -1
  32. package/dist/prompts.js +1 -1
  33. package/dist/prompts.js.map +1 -1
  34. package/dist/tools/definitions.d.ts +143 -0
  35. package/dist/tools/definitions.d.ts.map +1 -0
  36. package/dist/tools/definitions.js +229 -0
  37. package/dist/tools/definitions.js.map +1 -0
  38. package/dist/tools/handlers/get-context.d.ts +12 -0
  39. package/dist/tools/handlers/get-context.d.ts.map +1 -0
  40. package/dist/tools/handlers/get-context.js +233 -0
  41. package/dist/tools/handlers/get-context.js.map +1 -0
  42. package/dist/tools/handlers/health.d.ts +11 -0
  43. package/dist/tools/handlers/health.d.ts.map +1 -0
  44. package/dist/tools/handlers/health.js +57 -0
  45. package/dist/tools/handlers/health.js.map +1 -0
  46. package/dist/tools/handlers/index.d.ts +12 -0
  47. package/dist/tools/handlers/index.d.ts.map +1 -0
  48. package/dist/tools/handlers/index.js +12 -0
  49. package/dist/tools/handlers/index.js.map +1 -0
  50. package/dist/tools/handlers/init.d.ts +12 -0
  51. package/dist/tools/handlers/init.d.ts.map +1 -0
  52. package/dist/tools/handlers/init.js +102 -0
  53. package/dist/tools/handlers/init.js.map +1 -0
  54. package/dist/tools/handlers/profiles.d.ts +11 -0
  55. package/dist/tools/handlers/profiles.d.ts.map +1 -0
  56. package/dist/tools/handlers/profiles.js +25 -0
  57. package/dist/tools/handlers/profiles.js.map +1 -0
  58. package/dist/tools/handlers/search.d.ts +12 -0
  59. package/dist/tools/handlers/search.d.ts.map +1 -0
  60. package/dist/tools/handlers/search.js +58 -0
  61. package/dist/tools/handlers/search.js.map +1 -0
  62. package/dist/tools/handlers/validate.d.ts +15 -0
  63. package/dist/tools/handlers/validate.d.ts.map +1 -0
  64. package/dist/tools/handlers/validate.js +71 -0
  65. package/dist/tools/handlers/validate.js.map +1 -0
  66. package/dist/tools/handlers/verify.d.ts +38 -0
  67. package/dist/tools/handlers/verify.d.ts.map +1 -0
  68. package/dist/tools/handlers/verify.js +172 -0
  69. package/dist/tools/handlers/verify.js.map +1 -0
  70. package/dist/tools/index.d.ts +22 -0
  71. package/dist/tools/index.d.ts.map +1 -0
  72. package/dist/tools/index.js +75 -0
  73. package/dist/tools/index.js.map +1 -0
  74. package/dist/tools/schemas.d.ts +29 -0
  75. package/dist/tools/schemas.d.ts.map +1 -0
  76. package/dist/tools/schemas.js +20 -0
  77. package/dist/tools/schemas.js.map +1 -0
  78. package/dist/tools.js +2 -2
  79. package/dist/tools.js.map +1 -1
  80. package/dist/types.d.ts +141 -71
  81. package/dist/types.d.ts.map +1 -1
  82. package/dist/types.js +92 -40
  83. package/dist/types.js.map +1 -1
  84. package/package.json +2 -2
  85. package/profiles/examples/microservice-kafka.yaml +122 -0
  86. package/profiles/examples/startup-fast.yaml +67 -0
  87. package/profiles/examples/strict-enterprise.yaml +62 -0
  88. package/profiles/templates/angular.yaml +614 -0
  89. package/profiles/templates/csharp-dotnet.yaml +529 -0
  90. package/profiles/templates/flutter.yaml +547 -0
  91. package/profiles/templates/go.yaml +1276 -0
  92. package/profiles/templates/java-spring-backend.yaml +326 -0
  93. package/profiles/templates/kotlin-spring.yaml +417 -0
  94. package/profiles/templates/nextjs.yaml +536 -0
  95. package/profiles/templates/nodejs.yaml +594 -0
  96. package/profiles/templates/python.yaml +546 -0
  97. package/profiles/templates/react.yaml +456 -0
  98. package/profiles/templates/rust.yaml +508 -0
  99. package/profiles/templates/vue.yaml +483 -0
package/dist/agent.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- import { type DetectedStack, type Guardrails, type ProjectConfig, type TaskType } from './types.js';
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): Guardrails;
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
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,aAAa,EAElB,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AAgQpB;;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;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,UAAU,CAalG;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;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAyBzE"}
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 { ProjectConfigSchema, } from './types.js';
4
- /**
5
- * Default guardrails by task type.
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
- // Start with defaults
347
- const guardrails = { ...DEFAULT_GUARDRAILS[taskType] };
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":"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"}
@@ -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"}