@corbat-tech/coding-standards-mcp 1.0.2 → 1.1.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 (104) hide show
  1. package/README.md +170 -269
  2. package/assets/demo.gif +0 -0
  3. package/assets/demo.tape +63 -0
  4. package/dist/agent.d.ts +5 -6
  5. package/dist/agent.d.ts.map +1 -1
  6. package/dist/agent.js +95 -217
  7. package/dist/agent.js.map +1 -1
  8. package/dist/cli/init.js +1 -1
  9. package/dist/cli/init.js.map +1 -1
  10. package/dist/config.d.ts +15 -26
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/errors.d.ts +58 -0
  13. package/dist/errors.d.ts.map +1 -0
  14. package/dist/errors.js +112 -0
  15. package/dist/errors.js.map +1 -0
  16. package/dist/guardrails.d.ts +35 -0
  17. package/dist/guardrails.d.ts.map +1 -0
  18. package/dist/guardrails.js +303 -0
  19. package/dist/guardrails.js.map +1 -0
  20. package/dist/index.js +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/logger.d.ts +36 -0
  23. package/dist/logger.d.ts.map +1 -0
  24. package/dist/logger.js +63 -0
  25. package/dist/logger.js.map +1 -0
  26. package/dist/metrics.d.ts +40 -0
  27. package/dist/metrics.d.ts.map +1 -0
  28. package/dist/metrics.js +97 -0
  29. package/dist/metrics.js.map +1 -0
  30. package/dist/profiles.d.ts +1 -1
  31. package/dist/profiles.d.ts.map +1 -1
  32. package/dist/profiles.js +240 -109
  33. package/dist/profiles.js.map +1 -1
  34. package/dist/prompts.js +1 -1
  35. package/dist/prompts.js.map +1 -1
  36. package/dist/tools/definitions.d.ts +104 -0
  37. package/dist/tools/definitions.d.ts.map +1 -0
  38. package/dist/tools/definitions.js +171 -0
  39. package/dist/tools/definitions.js.map +1 -0
  40. package/dist/tools/handlers/get-context.d.ts +12 -0
  41. package/dist/tools/handlers/get-context.d.ts.map +1 -0
  42. package/dist/tools/handlers/get-context.js +118 -0
  43. package/dist/tools/handlers/get-context.js.map +1 -0
  44. package/dist/tools/handlers/health.d.ts +11 -0
  45. package/dist/tools/handlers/health.d.ts.map +1 -0
  46. package/dist/tools/handlers/health.js +57 -0
  47. package/dist/tools/handlers/health.js.map +1 -0
  48. package/dist/tools/handlers/index.d.ts +11 -0
  49. package/dist/tools/handlers/index.d.ts.map +1 -0
  50. package/dist/tools/handlers/index.js +11 -0
  51. package/dist/tools/handlers/index.js.map +1 -0
  52. package/dist/tools/handlers/init.d.ts +12 -0
  53. package/dist/tools/handlers/init.d.ts.map +1 -0
  54. package/dist/tools/handlers/init.js +102 -0
  55. package/dist/tools/handlers/init.js.map +1 -0
  56. package/dist/tools/handlers/profiles.d.ts +11 -0
  57. package/dist/tools/handlers/profiles.d.ts.map +1 -0
  58. package/dist/tools/handlers/profiles.js +25 -0
  59. package/dist/tools/handlers/profiles.js.map +1 -0
  60. package/dist/tools/handlers/search.d.ts +12 -0
  61. package/dist/tools/handlers/search.d.ts.map +1 -0
  62. package/dist/tools/handlers/search.js +58 -0
  63. package/dist/tools/handlers/search.js.map +1 -0
  64. package/dist/tools/handlers/validate.d.ts +12 -0
  65. package/dist/tools/handlers/validate.d.ts.map +1 -0
  66. package/dist/tools/handlers/validate.js +76 -0
  67. package/dist/tools/handlers/validate.js.map +1 -0
  68. package/dist/tools/index.d.ts +22 -0
  69. package/dist/tools/index.d.ts.map +1 -0
  70. package/dist/tools/index.js +72 -0
  71. package/dist/tools/index.js.map +1 -0
  72. package/dist/tools/schemas.d.ts +29 -0
  73. package/dist/tools/schemas.d.ts.map +1 -0
  74. package/dist/tools/schemas.js +20 -0
  75. package/dist/tools/schemas.js.map +1 -0
  76. package/dist/tools.js +2 -2
  77. package/dist/tools.js.map +1 -1
  78. package/dist/types.d.ts +417 -2588
  79. package/dist/types.d.ts.map +1 -1
  80. package/dist/types.js +99 -47
  81. package/dist/types.js.map +1 -1
  82. package/dist/utils/index.d.ts +1 -1
  83. package/dist/utils/index.d.ts.map +1 -1
  84. package/dist/utils/index.js +1 -1
  85. package/dist/utils/index.js.map +1 -1
  86. package/dist/utils/retry.d.ts.map +1 -1
  87. package/dist/utils/retry.js +3 -2
  88. package/dist/utils/retry.js.map +1 -1
  89. package/package.json +10 -9
  90. package/profiles/examples/microservice-kafka.yaml +122 -0
  91. package/profiles/examples/startup-fast.yaml +67 -0
  92. package/profiles/examples/strict-enterprise.yaml +62 -0
  93. package/profiles/templates/angular.yaml +614 -0
  94. package/profiles/templates/csharp-dotnet.yaml +529 -0
  95. package/profiles/templates/flutter.yaml +547 -0
  96. package/profiles/templates/go.yaml +1276 -0
  97. package/profiles/templates/java-spring-backend.yaml +326 -0
  98. package/profiles/templates/kotlin-spring.yaml +417 -0
  99. package/profiles/templates/nextjs.yaml +536 -0
  100. package/profiles/templates/nodejs.yaml +594 -0
  101. package/profiles/templates/python.yaml +546 -0
  102. package/profiles/templates/react.yaml +456 -0
  103. package/profiles/templates/rust.yaml +508 -0
  104. package/profiles/templates/vue.yaml +483 -0
@@ -0,0 +1,67 @@
1
+ # ============================================================================
2
+ # CORBAT MCP - Startup Fast Profile (Example)
3
+ # ============================================================================
4
+ # For startups and MVPs that prioritize speed over perfection.
5
+ # Relaxed rules while still maintaining basic quality.
6
+ #
7
+ # Usage:
8
+ # 1. Copy this file to profiles/custom/startup-fast.yaml
9
+ # 2. Or reference in .corbat.json: { "profile": "startup-fast" }
10
+ # ============================================================================
11
+
12
+ name: "Startup Fast"
13
+ description: "Pragmatic standards for startups - ship fast while maintaining basic quality"
14
+ extends: "nodejs"
15
+
16
+ # Relaxed code quality for faster iteration
17
+ codeQuality:
18
+ maxMethodLines: 30 # More lenient (default: 20)
19
+ maxClassLines: 300 # More lenient (default: 200)
20
+ maxFileLines: 500 # More lenient (default: 400)
21
+ maxMethodParameters: 5 # More lenient (default: 4)
22
+ maxCyclomaticComplexity: 15 # More lenient (default: 10)
23
+ minimumTestCoverage: 60 # More lenient (default: 80)
24
+ requireDocumentation: false # Don't require docs on everything
25
+ requireTests: true # Still require tests
26
+ principles:
27
+ - "Working code > perfect code"
28
+ - "Test critical paths thoroughly"
29
+ - "Document only complex logic"
30
+ - "Refactor when it hurts, not before"
31
+
32
+ # Simpler testing requirements
33
+ testing:
34
+ framework: "Vitest"
35
+ assertionLibrary: "Vitest"
36
+ mockingLibrary: "Vitest"
37
+ types:
38
+ unit:
39
+ suffix: "test"
40
+ coverage: 60
41
+ fastExecution: true
42
+ integration:
43
+ suffix: "integration.test"
44
+ useTestcontainers: false # Keep it simple initially
45
+ e2e:
46
+ framework: "Playwright"
47
+
48
+ # Simpler architecture - avoid over-engineering
49
+ architecture:
50
+ type: "feature-based"
51
+ enforceLayerDependencies: false # Allow flexibility
52
+
53
+ # No strict DDD/CQRS requirements
54
+ ddd:
55
+ enabled: false
56
+
57
+ cqrs:
58
+ enabled: false
59
+
60
+ # Basic security only
61
+ security:
62
+ authentication:
63
+ method: "JWT"
64
+ practices:
65
+ - "Validate user input"
66
+ - "Use HTTPS in production"
67
+ - "Don't log sensitive data"
@@ -0,0 +1,62 @@
1
+ # ============================================================================
2
+ # CORBAT MCP - Strict Enterprise Profile (Example)
3
+ # ============================================================================
4
+ # For enterprise projects with strict quality requirements.
5
+ # Copy to profiles/custom/ and modify as needed.
6
+ #
7
+ # Usage:
8
+ # 1. Copy this file to profiles/custom/strict-enterprise.yaml
9
+ # 2. Or reference in .corbat.json: { "profile": "strict-enterprise" }
10
+ # ============================================================================
11
+
12
+ name: "Strict Enterprise"
13
+ description: "Enterprise-grade standards with strict quality gates for mission-critical systems"
14
+ extends: "java-spring-backend"
15
+
16
+ # Override code quality with stricter limits
17
+ codeQuality:
18
+ maxMethodLines: 15 # Stricter than default (20)
19
+ maxClassLines: 150 # Stricter than default (200)
20
+ maxFileLines: 300 # Stricter than default (400)
21
+ maxMethodParameters: 3 # Stricter than default (4)
22
+ maxCyclomaticComplexity: 8 # Stricter than default (10)
23
+ minimumTestCoverage: 90 # Stricter than default (80)
24
+ requireDocumentation: true
25
+ requireTests: true
26
+ principles:
27
+ - "SOLID principles are mandatory"
28
+ - "All public APIs must have JavaDoc"
29
+ - "No @SuppressWarnings without justification comment"
30
+ - "All TODOs must have JIRA ticket reference"
31
+
32
+ # Enhanced testing requirements
33
+ testing:
34
+ framework: "JUnit5"
35
+ assertionLibrary: "AssertJ"
36
+ mockingLibrary: "Mockito"
37
+ types:
38
+ unit:
39
+ suffix: "Test"
40
+ coverage: 90
41
+ fastExecution: true
42
+ integration:
43
+ suffix: "IT"
44
+ useTestcontainers: true
45
+ architecture:
46
+ tool: "ArchUnit"
47
+ recommended: true
48
+
49
+ # Stricter security requirements
50
+ security:
51
+ authentication:
52
+ method: "OAuth2/OIDC"
53
+ authorization:
54
+ method: "RBAC with fine-grained permissions"
55
+ framework: "Spring Security"
56
+ practices:
57
+ - "All endpoints require authentication except health checks"
58
+ - "Sensitive data must be encrypted at rest and in transit"
59
+ - "Input validation on all external boundaries"
60
+ - "Security headers on all HTTP responses"
61
+ - "Rate limiting on public endpoints"
62
+ - "Audit logging for all data modifications"