rebar-mcp 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 (248) hide show
  1. package/.claude/agents/template-writer.md +43 -0
  2. package/.claude/agents/test-runner.md +47 -0
  3. package/.claude/mcp.json +9 -0
  4. package/.claude/settings.json +29 -0
  5. package/.claude/skills/ /SKILL.md +21 -0
  6. package/.claude/skills/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SKILL.md +21 -0
  7. package/.claude/skills/bmmibwetxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  8. package/.claude/skills/bmmibwjgvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  9. package/.claude/skills/bmmibwsesxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  10. package/.claude/skills/bmmibwxufxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  11. package/.claude/skills/bmmibx3r9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  12. package/.claude/skills/bmmji0lrkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  13. package/.claude/skills/bmmjiniphxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  14. package/.claude/skills/bmmjio86zxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  15. package/.claude/skills/bmmjiolfbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  16. package/.claude/skills/bmmjit1lvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  17. package/.claude/skills/bmmjita1qxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  18. package/.claude/skills/bnd-mmibweu3/SKILL.md +21 -0
  19. package/.claude/skills/bnd-mmibwjh4/SKILL.md +21 -0
  20. package/.claude/skills/bnd-mmibwsey/SKILL.md +21 -0
  21. package/.claude/skills/bnd-mmibwxup/SKILL.md +21 -0
  22. package/.claude/skills/bnd-mmibx3rg/SKILL.md +21 -0
  23. package/.claude/skills/bnd-mmji0lrp/SKILL.md +21 -0
  24. package/.claude/skills/bnd-mmjinipm/SKILL.md +21 -0
  25. package/.claude/skills/bnd-mmjio875/SKILL.md +21 -0
  26. package/.claude/skills/bnd-mmjiolfg/SKILL.md +21 -0
  27. package/.claude/skills/bnd-mmjit1m3/SKILL.md +21 -0
  28. package/.claude/skills/bnd-mmjita1x/SKILL.md +21 -0
  29. package/.claude/skills/coercion-test/SKILL.md +50 -0
  30. package/.claude/skills/large-skill/SKILL.md +21 -0
  31. package/.claude/skills/long-desc-skill/SKILL.md +21 -0
  32. package/.claude/skills/mcp-dev/SKILL.md +61 -0
  33. package/.claude/skills/nl-mmibweus/SKILL.md +25 -0
  34. package/.claude/skills/nl-mmibwjhf/SKILL.md +25 -0
  35. package/.claude/skills/nl-mmibwsf7/SKILL.md +25 -0
  36. package/.claude/skills/nl-mmibwxvq/SKILL.md +25 -0
  37. package/.claude/skills/nl-mmibx3rt/SKILL.md +25 -0
  38. package/.claude/skills/nl-mmji0lrz/SKILL.md +25 -0
  39. package/.claude/skills/nl-mmjinipx/SKILL.md +25 -0
  40. package/.claude/skills/nl-mmjio87f/SKILL.md +25 -0
  41. package/.claude/skills/nl-mmjiolfs/SKILL.md +25 -0
  42. package/.claude/skills/nl-mmjit1mc/SKILL.md +25 -0
  43. package/.claude/skills/nl-mmjita26/SKILL.md +25 -0
  44. package/.claude/skills/rapid-1/SKILL.md +21 -0
  45. package/.claude/skills/rapid-2/SKILL.md +21 -0
  46. package/.claude/skills/rapid-3/SKILL.md +21 -0
  47. package/.claude/skills/rapid-4/SKILL.md +21 -0
  48. package/.claude/skills/rapid-5/SKILL.md +21 -0
  49. package/.claude/skills/test/", /"malicious/": /"true/SKILL.md" +69 -0
  50. package/.claude/skills/test-emoji-/360/237/230/200-skill/SKILL.md +69 -0
  51. package/.claude/skills/test-skill/SKILL.md +69 -0
  52. package/.claude/skills/test; rm -rf /; skill/SKILL.md +69 -0
  53. package/.claude/skills/test<script>alert(1)</script>skill/SKILL.md +69 -0
  54. package/.claudeignore +5 -0
  55. package/.mcp.json +3 -0
  56. package/CHANGELOG.md +29 -0
  57. package/CLAUDE.md +76 -0
  58. package/LICENSE +21 -0
  59. package/README.md +149 -0
  60. package/ROADMAP.md +526 -0
  61. package/ccboot-PRD-v1.0.docx.md +732 -0
  62. package/ccboot-v1.2.0-enforcement-spec.md +1272 -0
  63. package/dist/cli.d.ts +3 -0
  64. package/dist/cli.d.ts.map +1 -0
  65. package/dist/cli.js +674 -0
  66. package/dist/cli.js.map +1 -0
  67. package/dist/constants.d.ts +25 -0
  68. package/dist/constants.d.ts.map +1 -0
  69. package/dist/constants.js +118 -0
  70. package/dist/constants.js.map +1 -0
  71. package/dist/index.d.ts +3 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +47 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/schemas/common.d.ts +62 -0
  76. package/dist/schemas/common.d.ts.map +1 -0
  77. package/dist/schemas/common.js +15 -0
  78. package/dist/schemas/common.js.map +1 -0
  79. package/dist/schemas/scaffolding.d.ts +277 -0
  80. package/dist/schemas/scaffolding.d.ts.map +1 -0
  81. package/dist/schemas/scaffolding.js +133 -0
  82. package/dist/schemas/scaffolding.js.map +1 -0
  83. package/dist/services/claudemd-generator.d.ts +16 -0
  84. package/dist/services/claudemd-generator.d.ts.map +1 -0
  85. package/dist/services/claudemd-generator.js +426 -0
  86. package/dist/services/claudemd-generator.js.map +1 -0
  87. package/dist/services/codex-generator.d.ts +6 -0
  88. package/dist/services/codex-generator.d.ts.map +1 -0
  89. package/dist/services/codex-generator.js +35 -0
  90. package/dist/services/codex-generator.js.map +1 -0
  91. package/dist/services/cursor-generator.d.ts +15 -0
  92. package/dist/services/cursor-generator.d.ts.map +1 -0
  93. package/dist/services/cursor-generator.js +134 -0
  94. package/dist/services/cursor-generator.js.map +1 -0
  95. package/dist/services/file-ops.d.ts +48 -0
  96. package/dist/services/file-ops.d.ts.map +1 -0
  97. package/dist/services/file-ops.js +153 -0
  98. package/dist/services/file-ops.js.map +1 -0
  99. package/dist/services/output-formatter.d.ts +57 -0
  100. package/dist/services/output-formatter.d.ts.map +1 -0
  101. package/dist/services/output-formatter.js +88 -0
  102. package/dist/services/output-formatter.js.map +1 -0
  103. package/dist/services/platform-detect.d.ts +14 -0
  104. package/dist/services/platform-detect.d.ts.map +1 -0
  105. package/dist/services/platform-detect.js +63 -0
  106. package/dist/services/platform-detect.js.map +1 -0
  107. package/dist/services/project-analyzer.d.ts +71 -0
  108. package/dist/services/project-analyzer.d.ts.map +1 -0
  109. package/dist/services/project-analyzer.js +595 -0
  110. package/dist/services/project-analyzer.js.map +1 -0
  111. package/dist/services/rules-engine.d.ts +41 -0
  112. package/dist/services/rules-engine.d.ts.map +1 -0
  113. package/dist/services/rules-engine.js +304 -0
  114. package/dist/services/rules-engine.js.map +1 -0
  115. package/dist/services/strictness.d.ts +37 -0
  116. package/dist/services/strictness.d.ts.map +1 -0
  117. package/dist/services/strictness.js +182 -0
  118. package/dist/services/strictness.js.map +1 -0
  119. package/dist/services/template-engine.d.ts +16 -0
  120. package/dist/services/template-engine.d.ts.map +1 -0
  121. package/dist/services/template-engine.js +85 -0
  122. package/dist/services/template-engine.js.map +1 -0
  123. package/dist/services/validation.d.ts +41 -0
  124. package/dist/services/validation.d.ts.map +1 -0
  125. package/dist/services/validation.js +104 -0
  126. package/dist/services/validation.js.map +1 -0
  127. package/dist/services/windsurf-generator.d.ts +15 -0
  128. package/dist/services/windsurf-generator.d.ts.map +1 -0
  129. package/dist/services/windsurf-generator.js +127 -0
  130. package/dist/services/windsurf-generator.js.map +1 -0
  131. package/dist/tests/enforcement.test.d.ts +2 -0
  132. package/dist/tests/enforcement.test.d.ts.map +1 -0
  133. package/dist/tests/enforcement.test.js +541 -0
  134. package/dist/tests/enforcement.test.js.map +1 -0
  135. package/dist/tests/enterprise.test.d.ts +2 -0
  136. package/dist/tests/enterprise.test.d.ts.map +1 -0
  137. package/dist/tests/enterprise.test.js +353 -0
  138. package/dist/tests/enterprise.test.js.map +1 -0
  139. package/dist/tests/fuzzing.test.d.ts +2 -0
  140. package/dist/tests/fuzzing.test.d.ts.map +1 -0
  141. package/dist/tests/fuzzing.test.js +596 -0
  142. package/dist/tests/fuzzing.test.js.map +1 -0
  143. package/dist/tests/knowledge.test.d.ts +2 -0
  144. package/dist/tests/knowledge.test.d.ts.map +1 -0
  145. package/dist/tests/knowledge.test.js +292 -0
  146. package/dist/tests/knowledge.test.js.map +1 -0
  147. package/dist/tests/management.test.d.ts +2 -0
  148. package/dist/tests/management.test.d.ts.map +1 -0
  149. package/dist/tests/management.test.js +338 -0
  150. package/dist/tests/management.test.js.map +1 -0
  151. package/dist/tests/scaffolding.test.d.ts +2 -0
  152. package/dist/tests/scaffolding.test.d.ts.map +1 -0
  153. package/dist/tests/scaffolding.test.js +419 -0
  154. package/dist/tests/scaffolding.test.js.map +1 -0
  155. package/dist/tests/test-utils.d.ts +76 -0
  156. package/dist/tests/test-utils.d.ts.map +1 -0
  157. package/dist/tests/test-utils.js +171 -0
  158. package/dist/tests/test-utils.js.map +1 -0
  159. package/dist/tests/tool-harness.d.ts +18 -0
  160. package/dist/tests/tool-harness.d.ts.map +1 -0
  161. package/dist/tests/tool-harness.js +51 -0
  162. package/dist/tests/tool-harness.js.map +1 -0
  163. package/dist/tools/enterprise.d.ts +8 -0
  164. package/dist/tools/enterprise.d.ts.map +1 -0
  165. package/dist/tools/enterprise.js +571 -0
  166. package/dist/tools/enterprise.js.map +1 -0
  167. package/dist/tools/knowledge.d.ts +7 -0
  168. package/dist/tools/knowledge.d.ts.map +1 -0
  169. package/dist/tools/knowledge.js +120 -0
  170. package/dist/tools/knowledge.js.map +1 -0
  171. package/dist/tools/management.d.ts +10 -0
  172. package/dist/tools/management.d.ts.map +1 -0
  173. package/dist/tools/management.js +1541 -0
  174. package/dist/tools/management.js.map +1 -0
  175. package/dist/tools/scaffolding.d.ts +8 -0
  176. package/dist/tools/scaffolding.d.ts.map +1 -0
  177. package/dist/tools/scaffolding.js +736 -0
  178. package/dist/tools/scaffolding.js.map +1 -0
  179. package/dist/types.d.ts +54 -0
  180. package/dist/types.d.ts.map +1 -0
  181. package/dist/types.js +5 -0
  182. package/dist/types.js.map +1 -0
  183. package/landing/app/layout.tsx +30 -0
  184. package/landing/app/page.tsx +944 -0
  185. package/landing/next-env.d.ts +6 -0
  186. package/landing/next.config.js +6 -0
  187. package/landing/package-lock.json +896 -0
  188. package/landing/package.json +20 -0
  189. package/landing/tsconfig.json +40 -0
  190. package/package.json +49 -0
  191. package/rebar-v2.0.0-platform-spec.md +1567 -0
  192. package/server.json +20 -0
  193. package/src/cli.ts +735 -0
  194. package/src/constants.ts +131 -0
  195. package/src/index.ts +54 -0
  196. package/src/schemas/common.ts +22 -0
  197. package/src/schemas/scaffolding.ts +161 -0
  198. package/src/services/claudemd-generator.ts +481 -0
  199. package/src/services/codex-generator.ts +44 -0
  200. package/src/services/cursor-generator.ts +153 -0
  201. package/src/services/file-ops.ts +172 -0
  202. package/src/services/platform-detect.ts +80 -0
  203. package/src/services/project-analyzer.ts +690 -0
  204. package/src/services/rules-engine.ts +353 -0
  205. package/src/services/strictness.ts +202 -0
  206. package/src/services/template-engine.ts +119 -0
  207. package/src/services/validation.ts +138 -0
  208. package/src/services/windsurf-generator.ts +145 -0
  209. package/src/tests/enforcement.test.ts +794 -0
  210. package/src/tests/enterprise.test.ts +483 -0
  211. package/src/tests/fuzzing.test.ts +690 -0
  212. package/src/tests/knowledge.test.ts +371 -0
  213. package/src/tests/management.test.ts +451 -0
  214. package/src/tests/scaffolding.test.ts +575 -0
  215. package/src/tests/test-utils.ts +206 -0
  216. package/src/tests/tool-harness.ts +70 -0
  217. package/src/tools/enterprise.ts +666 -0
  218. package/src/tools/knowledge.ts +162 -0
  219. package/src/tools/management.ts +1706 -0
  220. package/src/tools/scaffolding.ts +909 -0
  221. package/src/types.ts +93 -0
  222. package/supabase/.temp/cli-latest +1 -0
  223. package/supabase/.temp/gotrue-version +1 -0
  224. package/supabase/.temp/pooler-url +1 -0
  225. package/supabase/.temp/postgres-version +1 -0
  226. package/supabase/.temp/project-ref +1 -0
  227. package/supabase/.temp/rest-version +1 -0
  228. package/supabase/.temp/storage-migration +1 -0
  229. package/supabase/.temp/storage-version +1 -0
  230. package/templates/agents/explore.md +41 -0
  231. package/templates/agents/plan.md +73 -0
  232. package/templates/agents/security-auditor.md +77 -0
  233. package/templates/agents/test-runner.md +60 -0
  234. package/templates/claudemd/fastapi.md +49 -0
  235. package/templates/claudemd/monorepo.md +48 -0
  236. package/templates/claudemd/nextjs.md +52 -0
  237. package/templates/claudemd/react-spa.md +50 -0
  238. package/templates/claudemd/springboot.md +50 -0
  239. package/templates/hooks/danger-blocker.json +11 -0
  240. package/templates/hooks/format-on-write.json +17 -0
  241. package/templates/hooks/lint-on-write.json +16 -0
  242. package/templates/hooks/secret-detector.json +11 -0
  243. package/templates/skills/code-review.md +68 -0
  244. package/templates/skills/documentation.md +62 -0
  245. package/templates/skills/performance-audit.md +80 -0
  246. package/templates/skills/security-scan.md +66 -0
  247. package/templates/skills/test-writer.md +56 -0
  248. package/tsconfig.json +19 -0
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Zod schemas for scaffolding tool inputs
3
+ */
4
+ import { z } from "zod";
5
+ import { TechStackSchema, ComplianceStandardSchema, HookEventSchema, ProjectPathSchema, ArtifactTypeFilterSchema, MCPServiceSchema, } from "./common.js";
6
+ export const InitProjectInputSchema = z.object({
7
+ project_path: ProjectPathSchema,
8
+ tech_stack: z.array(TechStackSchema).min(1).describe("Technology stacks used in the project"),
9
+ team_size: z.number().int().min(1).max(1000).describe("Number of developers on the team"),
10
+ compliance: z
11
+ .array(ComplianceStandardSchema)
12
+ .optional()
13
+ .default([])
14
+ .describe("Compliance standards to apply"),
15
+ strictness: z
16
+ .enum(["standard", "strict", "paranoid"])
17
+ .default("standard")
18
+ .describe("Enforcement strictness level. 'standard' notifies on issues, 'strict' blocks on test/lint failures, 'paranoid' adds file size limits, any-type blocking, and commit completeness checks."),
19
+ platforms: z
20
+ .array(z.enum(["claude-code", "cursor", "windsurf", "codex", "all"]))
21
+ .default(["all"])
22
+ .describe("Which AI coding platforms to generate configuration for. 'all' generates for all supported platforms."),
23
+ }).strict();
24
+ export const GenerateClaudeMDInputSchema = z.object({
25
+ project_path: ProjectPathSchema,
26
+ scope: z.enum(["root", "subdir"]).default("root").describe("Whether this is the root or subdirectory CLAUDE.md"),
27
+ tech_stack: z.array(TechStackSchema).optional().describe("Tech stack override; auto-detected if omitted"),
28
+ merge_existing: z.boolean().default(false).describe("Whether to merge with an existing CLAUDE.md"),
29
+ }).strict();
30
+ export const CreateSkillInputSchema = z.object({
31
+ name: z.string().min(1).max(64).describe("Skill name (max 64 chars, lowercase with hyphens)"),
32
+ description: z.string().min(1).max(200).describe("Skill description (max 200 chars)"),
33
+ invocation: z.enum(["user", "auto", "both"]).default("user").describe("How the skill is triggered"),
34
+ context: z.enum(["inline", "fork"]).default("inline").describe("Whether skill runs inline or in forked context"),
35
+ agent_type: z.string().optional().describe("Agent type hint for forked skills"),
36
+ allowed_tools: z.array(z.string()).optional().default([]).describe("List of tools the skill can use"),
37
+ }).strict();
38
+ export const CreateAgentInputSchema = z.object({
39
+ name: z.string().min(1).max(64).describe("Agent name (lowercase with hyphens)"),
40
+ description: z.string().min(1).max(200).describe("Agent description"),
41
+ role: z.enum(["explore", "plan", "general", "custom"]).default("general").describe("Agent role type"),
42
+ allowed_tools: z.array(z.string()).optional().default([]).describe("Tools the agent can access"),
43
+ model_hint: z.string().optional().describe("Preferred model hint"),
44
+ }).strict();
45
+ export const CreateHookInputSchema = z.object({
46
+ event: HookEventSchema.describe("Claude Code lifecycle event to hook into"),
47
+ matcher: z.string().optional().describe("Regex pattern to match (e.g., tool name for PreToolCall)"),
48
+ command: z.string().min(1).describe("Shell command to execute"),
49
+ exit_behavior: z.enum(["block", "notify"]).default("block").describe("What to do on non-zero exit"),
50
+ description: z.string().min(1).describe("Human-readable description of the hook"),
51
+ }).strict();
52
+ export const CreateCommandInputSchema = z.object({
53
+ name: z.string().min(1).max(64).describe("Command name (used as /command-name)"),
54
+ description: z.string().min(1).max(200).describe("Command description"),
55
+ prompt_body: z.string().min(1).describe("The prompt template body for the command"),
56
+ arguments: z
57
+ .array(z.object({
58
+ name: z.string(),
59
+ description: z.string(),
60
+ required: z.boolean().default(true),
61
+ }).strict())
62
+ .optional()
63
+ .default([])
64
+ .describe("Arguments the command accepts"),
65
+ }).strict();
66
+ export const CreateKnowledgeInputSchema = z.object({
67
+ title: z.string().min(1).describe("Document title"),
68
+ category: z.enum(["adr", "runbook", "api", "schema", "style"]).describe("Document category"),
69
+ content: z.string().min(1).describe("Document content in markdown"),
70
+ tags: z.array(z.string()).optional().default([]).describe("Tags for categorization"),
71
+ }).strict();
72
+ export const CreateADRInputSchema = z.object({
73
+ title: z.string().min(1).describe("ADR title"),
74
+ status: z.enum(["proposed", "accepted", "deprecated"]).default("proposed").describe("Decision status"),
75
+ context: z.string().min(1).describe("Context and problem statement"),
76
+ decision: z.string().min(1).describe("The decision made"),
77
+ consequences: z.string().min(1).describe("Consequences of the decision"),
78
+ }).strict();
79
+ export const ListArtifactsInputSchema = z.object({
80
+ project_path: ProjectPathSchema,
81
+ type_filter: ArtifactTypeFilterSchema.optional().default("all").describe("Filter by artifact type"),
82
+ }).strict();
83
+ export const ValidateConfigInputSchema = z.object({
84
+ project_path: ProjectPathSchema,
85
+ fix_mode: z.enum(["report", "auto_fix"]).default("report").describe("Whether to report issues or auto-fix them"),
86
+ }).strict();
87
+ export const AuditContextInputSchema = z.object({
88
+ project_path: ProjectPathSchema,
89
+ }).strict();
90
+ export const ApplyComplianceInputSchema = z.object({
91
+ project_path: ProjectPathSchema,
92
+ standard: ComplianceStandardSchema.describe("Compliance standard to apply"),
93
+ scope: z.enum(["full", "hooks_only", "skills_only"]).default("full").describe("Scope of compliance artifacts"),
94
+ }).strict();
95
+ export const CreateCIWorkflowInputSchema = z.object({
96
+ repo_path: ProjectPathSchema.describe("Path to the git repository"),
97
+ review_focus: z.enum(["security", "performance", "style", "all"]).default("all").describe("Focus area for reviews"),
98
+ branch_pattern: z.string().default("main").describe("Branch pattern to trigger on"),
99
+ }).strict();
100
+ export const CreateSecurityHookInputSchema = z.object({
101
+ project_path: ProjectPathSchema,
102
+ strictness: z.enum(["standard", "strict", "paranoid"]).default("standard").describe("Security strictness level"),
103
+ }).strict();
104
+ export const GenerateMCPConfigInputSchema = z.object({
105
+ project_path: ProjectPathSchema,
106
+ services: z.array(MCPServiceSchema).min(1).describe("MCP services to configure"),
107
+ scope: z.enum(["project", "user"]).default("project").describe("Configuration scope"),
108
+ }).strict();
109
+ export const SetStrictnessInputSchema = z.object({
110
+ project_path: ProjectPathSchema,
111
+ strictness: z.enum(["standard", "strict", "paranoid"]).describe("Desired strictness level"),
112
+ output_format: z.enum(["markdown", "json"]).default("markdown").describe("Output format"),
113
+ }).strict();
114
+ export const DoctorInputSchema = z.object({
115
+ project_path: ProjectPathSchema,
116
+ output_format: z.enum(["markdown", "json"]).default("markdown").describe("Output format"),
117
+ }).strict();
118
+ export const MetricsInputSchema = z.object({
119
+ project_path: ProjectPathSchema,
120
+ action: z.enum(["view", "record"]).default("view").describe("View history or record new score"),
121
+ output_format: z.enum(["markdown", "json"]).default("markdown").describe("Output format"),
122
+ }).strict();
123
+ export const BadgeInputSchema = z.object({
124
+ project_path: ProjectPathSchema,
125
+ style: z.enum(["flat", "flat-square", "plastic"]).default("flat").describe("Badge style"),
126
+ output_format: z.enum(["svg", "json"]).default("svg").describe("Output format"),
127
+ }).strict();
128
+ export const CustomRulesInputSchema = z.object({
129
+ project_path: ProjectPathSchema,
130
+ action: z.enum(["list", "init", "evaluate"]).default("list").describe("Action to perform"),
131
+ output_format: z.enum(["markdown", "json"]).default("markdown").describe("Output format"),
132
+ }).strict();
133
+ //# sourceMappingURL=scaffolding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffolding.js","sourceRoot":"","sources":["../../src/schemas/scaffolding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Intelligent CLAUDE.md generator.
3
+ *
4
+ * Unlike a dumb template fill, this reads the actual project analysis
5
+ * and generates a CLAUDE.md that reflects the real project — with real
6
+ * build commands, real dependencies, real architecture rules.
7
+ *
8
+ * The output should feel like a senior engineer sat down and wrote it
9
+ * by hand after spending 30 minutes understanding the project.
10
+ */
11
+ import type { ProjectAnalysis } from "./project-analyzer.js";
12
+ /**
13
+ * Generates a production-quality CLAUDE.md from project analysis.
14
+ */
15
+ export declare function generateClaudeMD(analysis: ProjectAnalysis, compliance?: string[]): string;
16
+ //# sourceMappingURL=claudemd-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claudemd-generator.d.ts","sourceRoot":"","sources":["../../src/services/claudemd-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,GAAE,MAAM,EAAO,GAAG,MAAM,CA0C7F"}
@@ -0,0 +1,426 @@
1
+ /**
2
+ * Generates a production-quality CLAUDE.md from project analysis.
3
+ */
4
+ export function generateClaudeMD(analysis, compliance = []) {
5
+ const sections = [];
6
+ // ── Header ────────────────────────────────────────────────────
7
+ sections.push(`# ${analysis.name}\n`);
8
+ if (analysis.description) {
9
+ sections.push(`${analysis.description}\n`);
10
+ }
11
+ // ── Tech Stack ────────────────────────────────────────────────
12
+ sections.push(generateTechStackSection(analysis));
13
+ // ── Architecture Rules ────────────────────────────────────────
14
+ sections.push(generateArchitectureRules(analysis));
15
+ // ── Build & Test ──────────────────────────────────────────────
16
+ sections.push(generateBuildSection(analysis));
17
+ // ── File Structure ────────────────────────────────────────────
18
+ if (analysis.sourceDirs.length > 0) {
19
+ sections.push(generateFileStructure(analysis));
20
+ }
21
+ // ── Code Conventions ──────────────────────────────────────────
22
+ sections.push(generateCodeConventions(analysis));
23
+ // ── Database ──────────────────────────────────────────────────
24
+ if (analysis.database) {
25
+ sections.push(generateDatabaseSection(analysis));
26
+ }
27
+ // ── Environment ───────────────────────────────────────────────
28
+ if (analysis.envVarNames.length > 0) {
29
+ sections.push(generateEnvSection(analysis));
30
+ }
31
+ // ── Compliance ────────────────────────────────────────────────
32
+ if (compliance.length > 0) {
33
+ sections.push(generateComplianceSection(compliance));
34
+ }
35
+ return sections.join("\n");
36
+ }
37
+ function generateTechStackSection(a) {
38
+ const lines = ["## Tech Stack"];
39
+ // Primary language and version
40
+ if (a.language === "typescript") {
41
+ lines.push("- TypeScript (strict mode)");
42
+ }
43
+ else if (a.language === "javascript") {
44
+ lines.push("- JavaScript (ES2022+)");
45
+ }
46
+ else if (a.language === "python") {
47
+ lines.push("- Python 3.11+");
48
+ }
49
+ else if (a.language === "go") {
50
+ lines.push("- Go 1.21+");
51
+ }
52
+ else if (a.language === "rust") {
53
+ lines.push("- Rust (latest stable)");
54
+ }
55
+ else if (a.language === "java") {
56
+ lines.push("- Java 17+ / Spring Boot 3.x");
57
+ }
58
+ if (a.nodeVersion) {
59
+ lines.push(`- Node.js ${a.nodeVersion}`);
60
+ }
61
+ // Frameworks
62
+ for (const dep of a.keyDependencies.filter((d) => d.category === "framework")) {
63
+ lines.push(`- ${dep.name} — ${dep.description}`);
64
+ }
65
+ // Database/ORM
66
+ for (const dep of a.keyDependencies.filter((d) => d.category === "orm")) {
67
+ lines.push(`- ${dep.name} — ${dep.description}`);
68
+ }
69
+ // Styling
70
+ if (a.cssFramework) {
71
+ lines.push(`- ${a.cssFramework} for styling`);
72
+ }
73
+ // Testing
74
+ if (a.testFramework) {
75
+ lines.push(`- ${a.testFramework} for testing`);
76
+ }
77
+ // Linting
78
+ if (a.linter && a.formatter && a.linter === a.formatter) {
79
+ lines.push(`- ${a.linter} for linting and formatting`);
80
+ }
81
+ else {
82
+ if (a.linter)
83
+ lines.push(`- ${a.linter} for linting`);
84
+ if (a.formatter)
85
+ lines.push(`- ${a.formatter} for formatting`);
86
+ }
87
+ // State management, auth, API
88
+ for (const dep of a.keyDependencies.filter((d) => ["state", "auth", "api"].includes(d.category))) {
89
+ lines.push(`- ${dep.name} — ${dep.description}`);
90
+ }
91
+ // Deploy
92
+ if (a.deployTarget) {
93
+ lines.push(`- Deployed to ${a.deployTarget}`);
94
+ }
95
+ // Monitoring
96
+ for (const dep of a.keyDependencies.filter((d) => d.category === "monitoring")) {
97
+ lines.push(`- ${dep.name} — ${dep.description}`);
98
+ }
99
+ // Monorepo
100
+ if (a.isMonorepo && a.monorepoTool) {
101
+ lines.push(`- Monorepo managed with ${a.monorepoTool}`);
102
+ }
103
+ return lines.join("\n") + "\n";
104
+ }
105
+ function generateArchitectureRules(a) {
106
+ const rules = ["## Architecture Rules"];
107
+ // ── Framework-specific rules ──────────────────────────────────
108
+ if (a.stacks.includes("nextjs")) {
109
+ const appRouter = a.patterns.some((p) => p.name === "app-router");
110
+ if (appRouter) {
111
+ rules.push("- Use App Router conventions: `page.tsx`, `layout.tsx`, `loading.tsx`, `error.tsx`");
112
+ rules.push("- Server Components by default; add `\"use client\"` only when client interactivity is needed");
113
+ rules.push("- All data fetching in Server Components or Route Handlers — never use `getServerSideProps`");
114
+ rules.push("- Use `next/image` for images, `next/link` for navigation, `next/font` for fonts");
115
+ }
116
+ else {
117
+ rules.push("- Follow Pages Router conventions: `pages/`, `getStaticProps`, `getServerSideProps`");
118
+ rules.push("- Use `next/image` for images, `next/link` for navigation");
119
+ }
120
+ rules.push("- Environment variables: `NEXT_PUBLIC_` prefix for client-side only");
121
+ }
122
+ if (a.stacks.includes("react") && !a.stacks.includes("nextjs")) {
123
+ rules.push("- Functional components only — no class components");
124
+ rules.push("- Custom hooks for reusable logic (`useXxx` naming convention)");
125
+ rules.push("- Use `React.lazy()` for code splitting at route level");
126
+ rules.push("- Colocate related files: component, styles, tests, types in same directory");
127
+ }
128
+ if (a.stacks.includes("express")) {
129
+ rules.push("- Controllers handle HTTP concerns only — business logic goes in services/");
130
+ rules.push("- Use middleware for cross-cutting concerns (auth, logging, validation)");
131
+ rules.push("- All route handlers must have error handling (try/catch or error middleware)");
132
+ }
133
+ if (a.stacks.includes("fastapi")) {
134
+ rules.push("- Use dependency injection via `Depends()` for shared logic");
135
+ rules.push("- All endpoints return Pydantic models — never return raw dicts");
136
+ rules.push("- Use `async/await` for all I/O operations");
137
+ rules.push("- Keep route handlers thin; business logic in `services/`");
138
+ rules.push("- Use `HTTPException` for error responses with proper status codes");
139
+ }
140
+ if (a.stacks.includes("django")) {
141
+ rules.push("- Follow Django conventions: models → views → serializers → urls");
142
+ rules.push("- Use Django ORM for all database operations — no raw SQL unless performance-critical");
143
+ rules.push("- Class-based views for CRUD, function-based for custom logic");
144
+ rules.push("- All settings via `django.conf.settings` — never `os.environ` directly");
145
+ }
146
+ if (a.stacks.includes("springboot")) {
147
+ rules.push("- Follow layered architecture: Controller → Service → Repository");
148
+ rules.push("- Use constructor injection — never field injection with `@Autowired`");
149
+ rules.push("- All REST controllers return `ResponseEntity<T>`");
150
+ rules.push("- Use `@Valid` and Jakarta Bean Validation for input validation");
151
+ rules.push("- Use DTOs for API boundaries — never expose JPA entities directly");
152
+ rules.push("- `@Transactional` at service layer, not controller layer");
153
+ }
154
+ if (a.stacks.includes("go")) {
155
+ rules.push("- Follow standard Go project layout: `cmd/`, `internal/`, `pkg/`");
156
+ rules.push("- Errors are values — always check and propagate errors, never ignore");
157
+ rules.push("- Use `context.Context` as first parameter for cancellation and deadlines");
158
+ rules.push("- Interfaces should be small (1-3 methods) and defined at point of use");
159
+ rules.push("- Use `go vet`, `staticcheck`, and `golangci-lint` before committing");
160
+ }
161
+ if (a.stacks.includes("rust")) {
162
+ rules.push("- Use `Result<T, E>` for fallible operations — avoid `.unwrap()` in production code");
163
+ rules.push("- Prefer `&str` over `String` in function parameters where ownership isn't needed");
164
+ rules.push("- Use `thiserror` for library errors, `anyhow` for application errors");
165
+ rules.push("- Run `cargo clippy` and `cargo fmt` before committing");
166
+ }
167
+ // ── API-specific rules ────────────────────────────────────────
168
+ if (a.apiStyle === "trpc") {
169
+ rules.push("- Define all API routes as tRPC procedures with full input/output validation");
170
+ rules.push("- Share types between client and server via the tRPC router type");
171
+ }
172
+ if (a.apiStyle === "graphql") {
173
+ rules.push("- All GraphQL resolvers must handle errors gracefully (never throw unhandled)");
174
+ rules.push("- Use DataLoader pattern to prevent N+1 query issues");
175
+ }
176
+ // ── General rules ─────────────────────────────────────────────
177
+ if (a.usesTypeScript) {
178
+ rules.push("- No use of `any` type — use `unknown` with type narrowing or proper generics");
179
+ rules.push("- Prefer `interface` for object shapes, `type` for unions and intersections");
180
+ }
181
+ rules.push("- Never store secrets in code, config files, or version control");
182
+ rules.push("- All external data (user input, API responses, env vars) must be validated before use");
183
+ if (a.isMonorepo) {
184
+ rules.push("- Each package has its own `package.json`, `tsconfig.json`, and tests");
185
+ rules.push("- Shared code goes in a `packages/shared` or `packages/common` package");
186
+ rules.push("- Apps depend on packages; packages NEVER depend on apps");
187
+ }
188
+ return rules.join("\n") + "\n";
189
+ }
190
+ function generateBuildSection(a) {
191
+ const lines = ["## Build & Test"];
192
+ const pm = a.packageManager;
193
+ const run = pm === "yarn" ? "yarn" : pm === "pnpm" ? "pnpm" : pm === "bun" ? "bun" : "npm run";
194
+ // Build commands — prefer real detected commands
195
+ if (Object.keys(a.buildCommands).length > 0) {
196
+ for (const [key, value] of Object.entries(a.buildCommands)) {
197
+ if (key === "build") {
198
+ lines.push(`- Build: \`${run} build\` (runs: \`${value}\`)`);
199
+ }
200
+ else if (key === "dev") {
201
+ lines.push(`- Dev: \`${run} dev\` (runs: \`${value}\`)`);
202
+ }
203
+ else {
204
+ lines.push(`- ${key}: \`${run} ${key}\``);
205
+ }
206
+ }
207
+ }
208
+ else {
209
+ // Fallback to language-specific defaults
210
+ if (a.language === "typescript" || a.language === "javascript") {
211
+ lines.push(`- Build: \`${run} build\``);
212
+ lines.push(`- Dev: \`${run} dev\``);
213
+ }
214
+ }
215
+ // Test commands
216
+ if (Object.keys(a.testCommands).length > 0) {
217
+ for (const [key, value] of Object.entries(a.testCommands)) {
218
+ if (key === "test") {
219
+ lines.push(`- Test: \`${run} test\` (runs: \`${value}\`)`);
220
+ }
221
+ else {
222
+ lines.push(`- ${key}: \`${run} ${key}\``);
223
+ }
224
+ }
225
+ }
226
+ else if (a.testFramework) {
227
+ if (a.language === "python") {
228
+ lines.push("- Test: `pytest`");
229
+ }
230
+ else {
231
+ lines.push(`- Test: \`${run} test\``);
232
+ }
233
+ }
234
+ // Lint/format
235
+ if (a.linter) {
236
+ if (a.language === "typescript" || a.language === "javascript") {
237
+ lines.push(`- Lint: \`${run} lint\``);
238
+ lines.push("- Type check: `npx tsc --noEmit`");
239
+ }
240
+ else if (a.language === "python") {
241
+ if (a.linter === "Ruff") {
242
+ lines.push("- Lint: `ruff check .`");
243
+ lines.push("- Format: `ruff format .`");
244
+ }
245
+ lines.push("- Type check: `mypy .`");
246
+ }
247
+ else if (a.language === "go") {
248
+ lines.push("- Lint: `golangci-lint run`");
249
+ lines.push("- Format: `gofmt -w .`");
250
+ }
251
+ else if (a.language === "rust") {
252
+ lines.push("- Lint: `cargo clippy`");
253
+ lines.push("- Format: `cargo fmt`");
254
+ }
255
+ }
256
+ return lines.join("\n") + "\n";
257
+ }
258
+ function generateFileStructure(a) {
259
+ const lines = ["## File Structure"];
260
+ // Use detected source dirs to build an accurate picture
261
+ const dirDescriptions = {
262
+ src: "Source code",
263
+ app: a.stacks.includes("nextjs") ? "Pages and API routes (App Router)" : "Application code",
264
+ lib: "Shared libraries and utilities",
265
+ pages: "Page components / routes",
266
+ components: "Reusable UI components",
267
+ api: "API routes and handlers",
268
+ server: "Server-side code",
269
+ client: "Client-side code",
270
+ packages: "Monorepo packages",
271
+ apps: "Monorepo applications",
272
+ tests: "Test files",
273
+ test: "Test files",
274
+ __tests__: "Test files",
275
+ spec: "Test specifications",
276
+ services: "Business logic services",
277
+ models: "Data models",
278
+ hooks: "Custom React hooks",
279
+ utils: "Utility functions",
280
+ types: "TypeScript type definitions",
281
+ config: "Configuration files",
282
+ public: "Static assets",
283
+ prisma: "Prisma schema and migrations",
284
+ migrations: "Database migrations",
285
+ middleware: "Middleware functions",
286
+ styles: "Stylesheets",
287
+ };
288
+ for (const dir of a.sourceDirs) {
289
+ const desc = dirDescriptions[dir] || dir;
290
+ lines.push(`- \`${dir}/\` — ${desc}`);
291
+ }
292
+ return lines.join("\n") + "\n";
293
+ }
294
+ function generateCodeConventions(a) {
295
+ const rules = ["## Code Conventions"];
296
+ if (a.usesTypeScript) {
297
+ rules.push("- TypeScript strict mode with no `any` types");
298
+ rules.push("- Prefer named exports over default exports");
299
+ rules.push("- Interface names: `PascalCase` (no `I` prefix)");
300
+ rules.push("- Constants: `UPPER_SNAKE_CASE`");
301
+ rules.push("- Zod schemas for runtime validation of external data");
302
+ }
303
+ if (a.language === "python") {
304
+ rules.push("- Type hints on all function signatures");
305
+ rules.push("- Docstrings on all public functions (Google style)");
306
+ rules.push("- Use `from __future__ import annotations` for modern type syntax");
307
+ rules.push("- Pydantic models for all external data validation");
308
+ }
309
+ if (a.language === "go") {
310
+ rules.push("- Export only what's needed — keep interfaces small");
311
+ rules.push("- Comments on all exported functions (godoc format)");
312
+ rules.push("- Table-driven tests as default test pattern");
313
+ rules.push("- No package-level `init()` unless absolutely necessary");
314
+ }
315
+ if (a.language === "rust") {
316
+ rules.push("- Use `clippy::pedantic` lint level for new code");
317
+ rules.push("- Document all public items with `///` doc comments");
318
+ rules.push("- Prefer `impl Trait` over `dyn Trait` where possible");
319
+ rules.push("- Use `#[must_use]` on functions returning important values");
320
+ }
321
+ if (a.language === "java") {
322
+ rules.push("- Use records for DTOs where applicable (Java 16+)");
323
+ rules.push("- Use `Optional<T>` return types for nullable queries");
324
+ rules.push("- Log with SLF4J (`@Slf4j` annotation)");
325
+ rules.push("- Never catch generic `Exception` — catch specific types");
326
+ }
327
+ if (a.testFramework) {
328
+ rules.push(`- Test files colocated with source or in dedicated test directories`);
329
+ rules.push("- Test names describe the scenario and expected outcome");
330
+ rules.push("- Arrange-Act-Assert pattern for all unit tests");
331
+ rules.push("- Mock external dependencies — never make real API calls in unit tests");
332
+ }
333
+ if (a.cssFramework === "Tailwind CSS") {
334
+ rules.push("- Use Tailwind utility classes — no custom CSS unless absolutely necessary");
335
+ rules.push("- Extract repeated class combinations into components, not `@apply`");
336
+ }
337
+ return rules.join("\n") + "\n";
338
+ }
339
+ function generateDatabaseSection(a) {
340
+ const lines = ["## Database"];
341
+ if (a.database === "Prisma") {
342
+ lines.push("- Schema defined in `prisma/schema.prisma`");
343
+ lines.push("- Run `npx prisma generate` after schema changes");
344
+ lines.push("- Run `npx prisma db push` for dev, `npx prisma migrate deploy` for production");
345
+ lines.push("- Never commit `.env` files containing `DATABASE_URL`");
346
+ lines.push("- Use Prisma Client for all database operations — no raw SQL unless performance-critical");
347
+ }
348
+ else if (a.database === "Drizzle") {
349
+ lines.push("- Schema defined in `src/db/schema.ts`");
350
+ lines.push("- Run `npx drizzle-kit generate` for migrations");
351
+ lines.push("- Run `npx drizzle-kit push` to sync schema");
352
+ }
353
+ else if (a.database === "SQLAlchemy") {
354
+ lines.push("- Models defined in `app/models/`");
355
+ lines.push("- Use Alembic for all schema migrations: `alembic revision --autogenerate`");
356
+ lines.push("- Always use async session for database operations");
357
+ lines.push("- Never commit database credentials");
358
+ }
359
+ else if (a.database === "Spring Data JPA") {
360
+ lines.push("- JPA entities in `src/main/java/.../model/`");
361
+ lines.push("- Use Spring Data repositories — no manual query implementations unless needed");
362
+ lines.push("- Flyway migrations in `src/main/resources/db/migration/`");
363
+ lines.push("- Use `@Transactional` at service layer");
364
+ }
365
+ else if (a.database) {
366
+ lines.push(`- Using ${a.database} for data access`);
367
+ lines.push("- Never commit database credentials or connection strings");
368
+ }
369
+ return lines.join("\n") + "\n";
370
+ }
371
+ function generateEnvSection(a) {
372
+ const lines = ["## Environment Variables"];
373
+ lines.push(`Required environment variables (see \`.env.example\`):`);
374
+ for (const name of a.envVarNames) {
375
+ lines.push(`- \`${name}\``);
376
+ }
377
+ lines.push("");
378
+ lines.push("Never commit `.env` files. Use `.env.example` as a template.");
379
+ return lines.join("\n") + "\n";
380
+ }
381
+ function generateComplianceSection(standards) {
382
+ const lines = ["## Compliance Requirements"];
383
+ for (const standard of standards) {
384
+ switch (standard) {
385
+ case "hipaa":
386
+ lines.push("");
387
+ lines.push("### HIPAA");
388
+ lines.push("- All PHI must be encrypted at rest (AES-256) and in transit (TLS 1.2+)");
389
+ lines.push("- Never log PHI in application logs, console output, or error messages");
390
+ lines.push("- Access to PHI requires authentication and authorization checks");
391
+ lines.push("- All PHI access must be logged for audit purposes");
392
+ lines.push("- Use de-identified data for development and testing");
393
+ lines.push("- Data classification: PHI includes patient names, SSN, medical records, insurance IDs, dates of service");
394
+ break;
395
+ case "soc2":
396
+ lines.push("");
397
+ lines.push("### SOC2");
398
+ lines.push("- All changes require code review before merge");
399
+ lines.push("- Access follows principle of least privilege");
400
+ lines.push("- Audit logging enabled for all state-changing operations");
401
+ lines.push("- Encryption required for all sensitive data");
402
+ lines.push("- Regular dependency vulnerability scanning required");
403
+ lines.push("- Incident response procedures documented and tested");
404
+ break;
405
+ case "pci-dss":
406
+ lines.push("");
407
+ lines.push("### PCI-DSS");
408
+ lines.push("- Never store full card numbers in code, logs, or comments");
409
+ lines.push("- Use tokenization for all payment card data references");
410
+ lines.push("- All cardholder data must be encrypted in transit and at rest");
411
+ lines.push("- Follow OWASP secure coding guidelines");
412
+ lines.push("- Quarterly vulnerability scans required");
413
+ break;
414
+ case "sox":
415
+ lines.push("");
416
+ lines.push("### SOX");
417
+ lines.push("- All changes to financial calculations require dual review");
418
+ lines.push("- Complete audit trail for all data modifications");
419
+ lines.push("- Separation of duties in deployment pipeline");
420
+ lines.push("- Change management documentation required for all releases");
421
+ break;
422
+ }
423
+ }
424
+ return lines.join("\n") + "\n";
425
+ }
426
+ //# sourceMappingURL=claudemd-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claudemd-generator.js","sourceRoot":"","sources":["../../src/services/claudemd-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { GeneratedFile } from "../types.js";
2
+ /**
3
+ * Generates Codex CLI configuration (AGENTS.md) from CLAUDE.md content.
4
+ */
5
+ export declare function generateCodexConfig(projectPath: string, projectName: string, claudeMdContent: string): Promise<GeneratedFile[]>;
6
+ //# sourceMappingURL=codex-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-generator.d.ts","sourceRoot":"","sources":["../../src/services/codex-generator.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,aAAa,EAAE,CAAC,CAwB1B"}