@qazuor/claude-code-config 0.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 (171) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1248 -0
  3. package/dist/bin.cjs +11886 -0
  4. package/dist/bin.cjs.map +1 -0
  5. package/dist/bin.d.cts +1 -0
  6. package/dist/bin.d.ts +1 -0
  7. package/dist/bin.js +11869 -0
  8. package/dist/bin.js.map +1 -0
  9. package/dist/index.cjs +3887 -0
  10. package/dist/index.cjs.map +1 -0
  11. package/dist/index.d.cts +1325 -0
  12. package/dist/index.d.ts +1325 -0
  13. package/dist/index.js +3835 -0
  14. package/dist/index.js.map +1 -0
  15. package/package.json +86 -0
  16. package/templates/.log/notifications.log +1775 -0
  17. package/templates/agents/README.md +164 -0
  18. package/templates/agents/_registry.json +443 -0
  19. package/templates/agents/design/content-writer.md +353 -0
  20. package/templates/agents/design/ux-ui-designer.md +382 -0
  21. package/templates/agents/engineering/astro-engineer.md +293 -0
  22. package/templates/agents/engineering/db-drizzle-engineer.md +360 -0
  23. package/templates/agents/engineering/express-engineer.md +316 -0
  24. package/templates/agents/engineering/fastify-engineer.md +399 -0
  25. package/templates/agents/engineering/hono-engineer.md +263 -0
  26. package/templates/agents/engineering/mongoose-engineer.md +473 -0
  27. package/templates/agents/engineering/nestjs-engineer.md +429 -0
  28. package/templates/agents/engineering/nextjs-engineer.md +451 -0
  29. package/templates/agents/engineering/node-typescript-engineer.md +347 -0
  30. package/templates/agents/engineering/prisma-engineer.md +432 -0
  31. package/templates/agents/engineering/react-senior-dev.md +394 -0
  32. package/templates/agents/engineering/tanstack-start-engineer.md +447 -0
  33. package/templates/agents/engineering/tech-lead.md +269 -0
  34. package/templates/agents/product/product-functional.md +329 -0
  35. package/templates/agents/product/product-technical.md +578 -0
  36. package/templates/agents/quality/debugger.md +514 -0
  37. package/templates/agents/quality/qa-engineer.md +390 -0
  38. package/templates/agents/specialized/enrichment-agent.md +277 -0
  39. package/templates/agents/specialized/i18n-specialist.md +322 -0
  40. package/templates/agents/specialized/seo-ai-specialist.md +387 -0
  41. package/templates/agents/specialized/tech-writer.md +300 -0
  42. package/templates/code-style/.editorconfig +27 -0
  43. package/templates/code-style/.prettierignore +25 -0
  44. package/templates/code-style/.prettierrc +12 -0
  45. package/templates/code-style/biome.json +78 -0
  46. package/templates/code-style/commitlint.config.js +44 -0
  47. package/templates/commands/README.md +175 -0
  48. package/templates/commands/_registry.json +420 -0
  49. package/templates/commands/add-new-entity.md +211 -0
  50. package/templates/commands/audit/accessibility-audit.md +360 -0
  51. package/templates/commands/audit/performance-audit.md +290 -0
  52. package/templates/commands/audit/security-audit.md +231 -0
  53. package/templates/commands/code-check.md +127 -0
  54. package/templates/commands/five-why.md +225 -0
  55. package/templates/commands/formatting/format-markdown.md +197 -0
  56. package/templates/commands/git/commit.md +247 -0
  57. package/templates/commands/meta/create-agent.md +257 -0
  58. package/templates/commands/meta/create-command.md +312 -0
  59. package/templates/commands/meta/create-skill.md +321 -0
  60. package/templates/commands/meta/help.md +318 -0
  61. package/templates/commands/planning/check-completed-tasks.md +224 -0
  62. package/templates/commands/planning/cleanup-issues.md +248 -0
  63. package/templates/commands/planning/planning-cleanup.md +251 -0
  64. package/templates/commands/planning/sync-planning-github.md +133 -0
  65. package/templates/commands/planning/sync-todos-github.md +203 -0
  66. package/templates/commands/quality-check.md +211 -0
  67. package/templates/commands/run-tests.md +159 -0
  68. package/templates/commands/start-feature-plan.md +232 -0
  69. package/templates/commands/start-refactor-plan.md +244 -0
  70. package/templates/commands/sync-planning.md +176 -0
  71. package/templates/commands/update-docs.md +242 -0
  72. package/templates/docs/CHECKPOINT-SYSTEM.md +504 -0
  73. package/templates/docs/INDEX.md +677 -0
  74. package/templates/docs/RECOMMENDED-HOOKS.md +415 -0
  75. package/templates/docs/_registry.json +329 -0
  76. package/templates/docs/diagrams/README.md +220 -0
  77. package/templates/docs/diagrams/agent-hierarchy.mmd +55 -0
  78. package/templates/docs/diagrams/documentation-map.mmd +61 -0
  79. package/templates/docs/diagrams/tools-relationship.mmd +55 -0
  80. package/templates/docs/diagrams/workflow-decision-tree.mmd +38 -0
  81. package/templates/docs/doc-sync.md +533 -0
  82. package/templates/docs/examples/end-to-end-workflow.md +1505 -0
  83. package/templates/docs/glossary.md +495 -0
  84. package/templates/docs/guides/mockup-prompt-engineering.md +644 -0
  85. package/templates/docs/guides/mockup-setup.md +737 -0
  86. package/templates/docs/learnings/README.md +250 -0
  87. package/templates/docs/learnings/common-architectural-patterns.md +123 -0
  88. package/templates/docs/learnings/common-mistakes-to-avoid.md +149 -0
  89. package/templates/docs/learnings/markdown-formatting-standards.md +104 -0
  90. package/templates/docs/learnings/monorepo-command-execution.md +64 -0
  91. package/templates/docs/learnings/optimization-tips.md +146 -0
  92. package/templates/docs/learnings/planning-linear-sync-workflow.md +70 -0
  93. package/templates/docs/learnings/shell-compatibility-fish.md +46 -0
  94. package/templates/docs/learnings/test-organization-structure.md +68 -0
  95. package/templates/docs/mcp-installation.md +613 -0
  96. package/templates/docs/mcp-servers.md +989 -0
  97. package/templates/docs/notification-installation.md +570 -0
  98. package/templates/docs/quick-start.md +354 -0
  99. package/templates/docs/standards/architecture-patterns.md +1064 -0
  100. package/templates/docs/standards/atomic-commits.md +513 -0
  101. package/templates/docs/standards/code-standards.md +993 -0
  102. package/templates/docs/standards/design-standards.md +656 -0
  103. package/templates/docs/standards/documentation-standards.md +1160 -0
  104. package/templates/docs/standards/testing-standards.md +969 -0
  105. package/templates/docs/system-maintenance.md +604 -0
  106. package/templates/docs/templates/PDR-template.md +561 -0
  107. package/templates/docs/templates/TODOs-template.md +534 -0
  108. package/templates/docs/templates/tech-analysis-template.md +800 -0
  109. package/templates/docs/workflows/README.md +519 -0
  110. package/templates/docs/workflows/atomic-task-protocol.md +955 -0
  111. package/templates/docs/workflows/decision-tree.md +482 -0
  112. package/templates/docs/workflows/edge-cases.md +856 -0
  113. package/templates/docs/workflows/phase-1-planning.md +957 -0
  114. package/templates/docs/workflows/phase-2-implementation.md +896 -0
  115. package/templates/docs/workflows/phase-3-validation.md +792 -0
  116. package/templates/docs/workflows/phase-4-finalization.md +927 -0
  117. package/templates/docs/workflows/quick-fix-protocol.md +505 -0
  118. package/templates/docs/workflows/task-atomization.md +537 -0
  119. package/templates/docs/workflows/task-completion-protocol.md +448 -0
  120. package/templates/hooks/on-notification.sh +28 -0
  121. package/templates/schemas/checkpoint.schema.json +97 -0
  122. package/templates/schemas/code-registry.schema.json +84 -0
  123. package/templates/schemas/pdr.schema.json +314 -0
  124. package/templates/schemas/problems.schema.json +55 -0
  125. package/templates/schemas/tech-analysis.schema.json +404 -0
  126. package/templates/schemas/telemetry.schema.json +298 -0
  127. package/templates/schemas/todos.schema.json +234 -0
  128. package/templates/schemas/workflows.schema.json +69 -0
  129. package/templates/scripts/add-changelogs.sh +105 -0
  130. package/templates/scripts/generate-code-registry.ts +270 -0
  131. package/templates/scripts/health-check.sh +343 -0
  132. package/templates/scripts/sync-registry.sh +40 -0
  133. package/templates/scripts/telemetry-report.ts +36 -0
  134. package/templates/scripts/validate-docs.sh +224 -0
  135. package/templates/scripts/validate-registry.sh +225 -0
  136. package/templates/scripts/validate-schemas.ts +283 -0
  137. package/templates/scripts/validate-structure.sh +165 -0
  138. package/templates/scripts/worktree-cleanup.sh +81 -0
  139. package/templates/scripts/worktree-create.sh +63 -0
  140. package/templates/sessions/planning/.gitkeep +0 -0
  141. package/templates/sessions/planning/archived/.gitkeep +0 -0
  142. package/templates/settings.json +202 -0
  143. package/templates/settings.local.json +138 -0
  144. package/templates/skills/README.md +197 -0
  145. package/templates/skills/_registry.json +473 -0
  146. package/templates/skills/audit/accessibility-audit.md +309 -0
  147. package/templates/skills/audit/performance-audit.md +257 -0
  148. package/templates/skills/audit/security-audit.md +217 -0
  149. package/templates/skills/auth/nextauth-patterns.md +308 -0
  150. package/templates/skills/brand-guidelines.md +240 -0
  151. package/templates/skills/documentation/markdown-formatter.md +302 -0
  152. package/templates/skills/git/git-commit-helper.md +321 -0
  153. package/templates/skills/i18n/i18n-patterns.md +251 -0
  154. package/templates/skills/patterns/error-handling-patterns.md +242 -0
  155. package/templates/skills/patterns/tdd-methodology.md +342 -0
  156. package/templates/skills/qa/qa-criteria-validator.md +383 -0
  157. package/templates/skills/qa/web-app-testing.md +398 -0
  158. package/templates/skills/react/react-hook-form-patterns.md +359 -0
  159. package/templates/skills/state/redux-toolkit-patterns.md +272 -0
  160. package/templates/skills/state/tanstack-query-patterns.md +299 -0
  161. package/templates/skills/state/zustand-patterns.md +301 -0
  162. package/templates/skills/tech/mermaid-diagram-specialist.md +195 -0
  163. package/templates/skills/tech/shadcn-specialist.md +252 -0
  164. package/templates/skills/tech/vercel-specialist.md +297 -0
  165. package/templates/skills/testing/api-app-testing.md +254 -0
  166. package/templates/skills/testing/performance-testing.md +275 -0
  167. package/templates/skills/testing/security-testing.md +348 -0
  168. package/templates/skills/utils/add-memory.md +295 -0
  169. package/templates/skills/utils/json-data-auditor.md +283 -0
  170. package/templates/skills/utils/pdf-creator-editor.md +342 -0
  171. package/templates/tools/format-markdown.sh +185 -0
@@ -0,0 +1,1325 @@
1
+ /**
2
+ * Folder structure preferences based on selected bundles
3
+ */
4
+ /**
5
+ * Test files location preference
6
+ */
7
+ type TestFileLocation = 'colocated' | 'test-folder-root' | 'test-folder-src';
8
+ /**
9
+ * Planning files location preference
10
+ */
11
+ type PlanningFileLocation = 'claude-sessions' | 'docs-planning' | 'root-planning';
12
+ /**
13
+ * Documentation files location preference
14
+ */
15
+ type DocsFileLocation = 'docs-root' | 'claude-docs' | 'readme-only';
16
+ /**
17
+ * CI/CD configuration location
18
+ */
19
+ type CiCdLocation = 'github-workflows' | 'gitlab-ci' | 'custom';
20
+ /**
21
+ * Folder structure preferences
22
+ */
23
+ interface FolderPreferences {
24
+ /** Test files location */
25
+ tests?: {
26
+ location: TestFileLocation;
27
+ /** Test file naming pattern (e.g., "*.test.ts", "*.spec.ts") */
28
+ pattern: string;
29
+ };
30
+ /** Planning/sessions files location */
31
+ planning?: {
32
+ location: PlanningFileLocation;
33
+ /** Whether to commit planning files to git */
34
+ commitToGit: boolean;
35
+ };
36
+ /** Documentation files location */
37
+ docs?: {
38
+ location: DocsFileLocation;
39
+ };
40
+ /** CI/CD configuration */
41
+ cicd?: {
42
+ location: CiCdLocation;
43
+ /** Selected workflow templates */
44
+ workflows: string[];
45
+ };
46
+ }
47
+
48
+ /**
49
+ * MCP (Model Context Protocol) server types
50
+ */
51
+ /**
52
+ * MCP server categories
53
+ */
54
+ type McpCategory = 'documentation' | 'database' | 'cache' | 'version-control' | 'deployment' | 'infrastructure' | 'project-mgmt' | 'monitoring' | 'testing' | 'security' | 'communication' | 'design' | 'payments' | 'search' | 'ai' | 'custom';
55
+ /**
56
+ * Configuration field for MCP servers that require setup
57
+ */
58
+ interface McpConfigField {
59
+ /** Field name */
60
+ name: string;
61
+ /** Field type */
62
+ type: 'string' | 'boolean' | 'number';
63
+ /** Whether this field is required */
64
+ required: boolean;
65
+ /** Description for user prompt */
66
+ description: string;
67
+ /** Environment variable to read from (optional) */
68
+ envVar?: string;
69
+ /** Default value (optional) */
70
+ default?: string | boolean | number;
71
+ }
72
+ /**
73
+ * MCP server definition
74
+ */
75
+ interface McpServerDefinition {
76
+ /** Unique server identifier */
77
+ id: string;
78
+ /** Display name */
79
+ name: string;
80
+ /** Description of what this server provides */
81
+ description: string;
82
+ /** npm package or command to run */
83
+ package: string;
84
+ /** Server category */
85
+ category: McpCategory;
86
+ /** Whether this server requires configuration */
87
+ requiresConfig: boolean;
88
+ /** Configuration fields (if requiresConfig is true) */
89
+ configFields?: McpConfigField[];
90
+ /** Installation instructions (optional) */
91
+ installInstructions?: string;
92
+ }
93
+ /**
94
+ * MCP server installation record
95
+ */
96
+ interface McpInstallation {
97
+ /** Server ID from definition */
98
+ serverId: string;
99
+ /** Installation level */
100
+ level: 'user' | 'project';
101
+ /** Configuration values */
102
+ config: Record<string, unknown>;
103
+ }
104
+
105
+ /**
106
+ * Permission configuration types for Claude Code
107
+ */
108
+ /**
109
+ * Permission preset names
110
+ */
111
+ type PermissionPreset = 'default' | 'trust' | 'restrictive' | 'custom';
112
+ /**
113
+ * File operation permissions
114
+ */
115
+ interface FilePermissions {
116
+ /** Allow Read on all files */
117
+ readAll: boolean;
118
+ /** Allow Write on code files (*.ts, *.js, *.tsx, *.jsx) */
119
+ writeCode: boolean;
120
+ /** Allow Write on config files (*.json, *.yaml, *.toml) */
121
+ writeConfig: boolean;
122
+ /** Allow Write on markdown files (*.md) */
123
+ writeMarkdown: boolean;
124
+ /** Allow Write on other file types */
125
+ writeOther: boolean;
126
+ /** Allow Edit tool */
127
+ editTool: boolean;
128
+ }
129
+ /**
130
+ * Git operation permissions
131
+ */
132
+ interface GitPermissions {
133
+ /** Allow read-only operations (status, diff, log) */
134
+ readOnly: boolean;
135
+ /** Allow staging (git add) */
136
+ staging: boolean;
137
+ /** Allow commit */
138
+ commit: boolean;
139
+ /** Allow push (dangerous) */
140
+ push: boolean;
141
+ /** Allow branching (checkout, branch) */
142
+ branching: boolean;
143
+ }
144
+ /**
145
+ * Bash/Terminal permissions
146
+ */
147
+ interface BashPermissions {
148
+ /** Allow package manager commands (pnpm, npm, yarn) */
149
+ packageManager: boolean;
150
+ /** Allow test commands (vitest, jest) */
151
+ testing: boolean;
152
+ /** Allow build commands */
153
+ building: boolean;
154
+ /** Allow docker commands */
155
+ docker: boolean;
156
+ /** Allow arbitrary bash commands (dangerous) */
157
+ arbitrary: boolean;
158
+ }
159
+ /**
160
+ * Web operation permissions
161
+ */
162
+ interface WebPermissions {
163
+ /** Allow WebFetch tool */
164
+ fetch: boolean;
165
+ /** Allow WebSearch tool */
166
+ search: boolean;
167
+ }
168
+ /**
169
+ * Custom permission rules
170
+ */
171
+ interface CustomPermissions {
172
+ /** Additional allow patterns */
173
+ allow: string[];
174
+ /** Additional deny patterns */
175
+ deny: string[];
176
+ }
177
+ /**
178
+ * Full permissions configuration
179
+ */
180
+ interface PermissionsConfig {
181
+ /** Selected preset */
182
+ preset: PermissionPreset;
183
+ /** File operation permissions */
184
+ files: FilePermissions;
185
+ /** Git operation permissions */
186
+ git: GitPermissions;
187
+ /** Bash/Terminal permissions */
188
+ bash: BashPermissions;
189
+ /** Web operation permissions */
190
+ web: WebPermissions;
191
+ /** Custom rules */
192
+ custom: CustomPermissions;
193
+ }
194
+
195
+ /**
196
+ * Project scaffold types
197
+ */
198
+ /**
199
+ * Scaffold type options
200
+ */
201
+ type ScaffoldType = 'claude-only' | 'full-project';
202
+ /**
203
+ * Supported project types for scaffolding
204
+ */
205
+ type ProjectType = 'node' | 'monorepo' | 'astro' | 'nextjs' | 'vite-react' | 'hono' | 'custom';
206
+ /**
207
+ * Supported package managers
208
+ */
209
+ type PackageManager = 'pnpm' | 'npm' | 'yarn' | 'bun';
210
+ /**
211
+ * Scaffold options from user selection
212
+ */
213
+ interface ScaffoldOptions {
214
+ /** Type of scaffold to perform */
215
+ type: ScaffoldType;
216
+ /** Project type (only for full-project) */
217
+ projectType?: ProjectType;
218
+ /** Package manager to use */
219
+ packageManager?: PackageManager;
220
+ /** Initialize git repository */
221
+ initGit?: boolean;
222
+ /** Create README.md */
223
+ createReadme?: boolean;
224
+ /** Create .gitignore */
225
+ createGitignore?: boolean;
226
+ }
227
+ /**
228
+ * Scaffold operation result
229
+ */
230
+ interface ScaffoldResult {
231
+ /** Files created */
232
+ createdFiles: string[];
233
+ /** Directories created */
234
+ createdDirs: string[];
235
+ /** Post-install instructions */
236
+ instructions: string[];
237
+ }
238
+ /**
239
+ * Project detection signal
240
+ */
241
+ interface DetectionSignal {
242
+ /** File or pattern that was found */
243
+ file: string;
244
+ /** Whether it exists */
245
+ exists: boolean;
246
+ /** What it indicates */
247
+ indicates: string;
248
+ }
249
+ /**
250
+ * Project detection result
251
+ */
252
+ interface ProjectDetectionResult {
253
+ /** Whether a project was detected */
254
+ detected: boolean;
255
+ /** Detected project type */
256
+ projectType?: ProjectType;
257
+ /** Detected package manager */
258
+ packageManager?: PackageManager;
259
+ /** Suggested bundle IDs based on detection */
260
+ suggestedBundles?: string[];
261
+ /** Detected technologies (e.g., ['react', 'typescript', 'tailwind']) */
262
+ detectedTechnologies?: string[];
263
+ /** Overall confidence */
264
+ confidence: 'high' | 'medium' | 'low';
265
+ /** Signals that were found */
266
+ signals: DetectionSignal[];
267
+ }
268
+
269
+ /**
270
+ * User's template configuration - Commands
271
+ */
272
+ interface TemplateConfigCommands {
273
+ typecheck?: string;
274
+ lint?: string;
275
+ test?: string;
276
+ coverage?: string;
277
+ build?: string;
278
+ format?: string;
279
+ securityScan?: string;
280
+ lighthouse?: string;
281
+ bundleAnalyze?: string;
282
+ }
283
+ /**
284
+ * User's template configuration - Paths
285
+ */
286
+ interface TemplateConfigPaths {
287
+ planningPath?: string;
288
+ refactorPath?: string;
289
+ archivePath?: string;
290
+ schemasPath?: string;
291
+ projectRoot?: string;
292
+ }
293
+ /**
294
+ * User's template configuration - Targets
295
+ */
296
+ interface TemplateConfigTargets {
297
+ coverageTarget?: number;
298
+ bundleSizeTarget?: number;
299
+ lcpTarget?: number;
300
+ fidTarget?: number;
301
+ clsTarget?: number;
302
+ apiResponseTarget?: number;
303
+ dbQueryTarget?: number;
304
+ wcagLevel?: 'A' | 'AA' | 'AAA';
305
+ }
306
+ /**
307
+ * User's template configuration - Tracking
308
+ */
309
+ interface TemplateConfigTracking {
310
+ issueTracker?: 'github' | 'linear' | 'jira' | 'none';
311
+ trackingFile?: string;
312
+ registryFile?: string;
313
+ taskCodePattern?: string;
314
+ closedDays?: number;
315
+ staleDays?: number;
316
+ }
317
+ /**
318
+ * User's template configuration - Tech Stack
319
+ */
320
+ interface TemplateConfigTechStack {
321
+ frontendFramework?: string;
322
+ databaseOrm?: string;
323
+ validationLibrary?: string;
324
+ authPattern?: string;
325
+ stateManagement?: string;
326
+ testFramework?: string;
327
+ bundler?: string;
328
+ apiFramework?: string;
329
+ }
330
+ /**
331
+ * User's template configuration - Environment Variables
332
+ */
333
+ interface TemplateConfigEnvironment {
334
+ githubTokenEnv?: string;
335
+ githubOwnerEnv?: string;
336
+ githubRepoEnv?: string;
337
+ issueTrackerTokenEnv?: string;
338
+ issueTrackerOwnerEnv?: string;
339
+ issueTrackerRepoEnv?: string;
340
+ }
341
+ /**
342
+ * User's template configuration - Brand
343
+ */
344
+ interface TemplateConfigBrand {
345
+ brandName?: string;
346
+ primaryColor?: string;
347
+ secondaryColor?: string;
348
+ fontFamily?: string;
349
+ toneOfVoice?: string;
350
+ }
351
+ /**
352
+ * Complete template configuration
353
+ */
354
+ interface TemplateConfig {
355
+ /** CLI commands */
356
+ commands: TemplateConfigCommands;
357
+ /** Directory paths */
358
+ paths: TemplateConfigPaths;
359
+ /** Quality targets */
360
+ targets: TemplateConfigTargets;
361
+ /** Issue tracking */
362
+ tracking: TemplateConfigTracking;
363
+ /** Technology stack */
364
+ techStack: TemplateConfigTechStack;
365
+ /** Environment variables */
366
+ environment: TemplateConfigEnvironment;
367
+ /** Brand identity */
368
+ brand: TemplateConfigBrand;
369
+ }
370
+
371
+ /**
372
+ * Main configuration types for Claude Code config
373
+ */
374
+
375
+ /**
376
+ * Template source configuration
377
+ */
378
+ interface TemplateSource {
379
+ /** Whether using local bundled or remote templates */
380
+ type: 'local' | 'remote';
381
+ /** Git repository URL if remote */
382
+ repository?: string;
383
+ /** Branch or tag if remote */
384
+ ref?: string;
385
+ /** When the template was installed */
386
+ installedAt: string;
387
+ }
388
+ /**
389
+ * Project information for placeholder replacement
390
+ */
391
+ interface ProjectInfo {
392
+ /** Project name */
393
+ name: string;
394
+ /** Brief project description */
395
+ description: string;
396
+ /** GitHub organization or username */
397
+ org: string;
398
+ /** Repository name */
399
+ repo: string;
400
+ /** Project domain (optional) */
401
+ domain?: string;
402
+ /** Primary entity type (singular) */
403
+ entityType: string;
404
+ /** Primary entity type (plural) */
405
+ entityTypePlural: string;
406
+ /** Location for examples (optional) */
407
+ location?: string;
408
+ }
409
+ /**
410
+ * User preferences
411
+ */
412
+ interface Preferences {
413
+ /** Working language */
414
+ language: 'es' | 'en';
415
+ /** Language for Claude responses */
416
+ responseLanguage: 'es' | 'en';
417
+ /** Include Claude as commit co-author */
418
+ includeCoAuthor: boolean;
419
+ /** Preferred package manager */
420
+ packageManager?: PackageManager;
421
+ }
422
+ /**
423
+ * Module selection state
424
+ */
425
+ interface ModuleSelection {
426
+ /** Selected module IDs */
427
+ selected: string[];
428
+ /** Excluded module IDs */
429
+ excluded: string[];
430
+ }
431
+ /**
432
+ * Hook configuration
433
+ */
434
+ interface HookConfig {
435
+ /** Whether hooks are enabled */
436
+ enabled: boolean;
437
+ /** Notification hook customizations */
438
+ notification?: {
439
+ /** Enable desktop notifications */
440
+ desktop: boolean;
441
+ /** Enable audio notifications */
442
+ audio: boolean;
443
+ /** Custom notification command */
444
+ customCommand?: string;
445
+ };
446
+ /** Stop hook configuration */
447
+ stop?: {
448
+ /** Play beep sound */
449
+ beep?: boolean;
450
+ /** Custom sound file */
451
+ customSound?: string;
452
+ /** Custom command */
453
+ customCommand?: string;
454
+ };
455
+ /** Subagent stop hook configuration */
456
+ subagentStop?: {
457
+ /** Play beep sound */
458
+ beep?: boolean;
459
+ /** Custom sound file */
460
+ customSound?: string;
461
+ /** Custom command */
462
+ customCommand?: string;
463
+ };
464
+ }
465
+ /**
466
+ * MCP configuration
467
+ */
468
+ interface McpConfig {
469
+ /** Installation level */
470
+ level: 'user' | 'project';
471
+ /** Installed MCP servers */
472
+ servers: McpInstallation[];
473
+ }
474
+ /**
475
+ * Scaffold configuration tracking
476
+ */
477
+ interface ScaffoldConfig {
478
+ /** What type of scaffold was performed */
479
+ type: 'claude-only' | 'full-project';
480
+ /** List of created directories/files */
481
+ createdStructure: string[];
482
+ }
483
+ /**
484
+ * Customization tracking
485
+ */
486
+ interface Customizations {
487
+ /** Whether placeholders were replaced */
488
+ placeholdersReplaced: boolean;
489
+ /** Last update timestamp */
490
+ lastUpdated: string;
491
+ /** Files that were manually modified */
492
+ customFiles: string[];
493
+ /** Permissions configuration (if custom) */
494
+ permissions?: PermissionsConfig;
495
+ /** Selected bundle IDs used during installation */
496
+ selectedBundles?: string[];
497
+ }
498
+ /**
499
+ * Modules configuration
500
+ */
501
+ interface ModulesConfig {
502
+ /** Installed agents */
503
+ agents: ModuleSelection;
504
+ /** Installed skills */
505
+ skills: ModuleSelection;
506
+ /** Installed commands */
507
+ commands: ModuleSelection;
508
+ /** Installed docs */
509
+ docs: ModuleSelection;
510
+ }
511
+ /**
512
+ * Indent style options
513
+ */
514
+ type IndentStyle = 'space' | 'tab';
515
+ /**
516
+ * Quote style options
517
+ */
518
+ type QuoteStyle = 'single' | 'double';
519
+ /**
520
+ * EditorConfig options
521
+ */
522
+ interface EditorConfigOptions {
523
+ /** Indent style (tabs or spaces) */
524
+ indentStyle: IndentStyle;
525
+ /** Indent size (number of spaces or tab width) */
526
+ indentSize: number;
527
+ /** Line ending style */
528
+ endOfLine: 'lf' | 'crlf' | 'cr';
529
+ /** Insert final newline */
530
+ insertFinalNewline: boolean;
531
+ /** Trim trailing whitespace */
532
+ trimTrailingWhitespace: boolean;
533
+ /** Character set */
534
+ charset: 'utf-8' | 'utf-8-bom' | 'latin1';
535
+ /** Max line length */
536
+ maxLineLength: number | 'off';
537
+ }
538
+ /**
539
+ * Biome formatter options
540
+ */
541
+ interface BiomeFormatterOptions {
542
+ /** Indent style */
543
+ indentStyle: IndentStyle;
544
+ /** Indent width */
545
+ indentWidth: number;
546
+ /** Line width */
547
+ lineWidth: number;
548
+ /** Quote style for JS/TS */
549
+ quoteStyle: QuoteStyle;
550
+ /** Use semicolons */
551
+ semicolons: 'always' | 'asNeeded';
552
+ /** Trailing commas */
553
+ trailingCommas: 'all' | 'es5' | 'none';
554
+ /** Quote properties */
555
+ quoteProperties: 'asNeeded' | 'preserve';
556
+ /** Bracket spacing */
557
+ bracketSpacing: boolean;
558
+ /** Bracket same line (JSX) */
559
+ bracketSameLine: boolean;
560
+ /** Arrow function parentheses */
561
+ arrowParentheses: 'always' | 'asNeeded';
562
+ }
563
+ /**
564
+ * Biome linter options
565
+ */
566
+ interface BiomeLinterOptions {
567
+ /** Enable recommended rules */
568
+ recommended: boolean;
569
+ /** Enable correctness rules */
570
+ correctness: boolean;
571
+ /** Enable suspicious code rules */
572
+ suspicious: boolean;
573
+ /** Enable style rules */
574
+ style: boolean;
575
+ /** Enable complexity rules */
576
+ complexity: boolean;
577
+ /** Enable security rules */
578
+ security: boolean;
579
+ /** Enable performance rules */
580
+ performance: boolean;
581
+ /** Enable accessibility rules */
582
+ a11y: boolean;
583
+ }
584
+ /**
585
+ * Biome configuration options
586
+ */
587
+ interface BiomeOptions {
588
+ /** Formatter options */
589
+ formatter: BiomeFormatterOptions;
590
+ /** Linter options */
591
+ linter: BiomeLinterOptions;
592
+ /** Organize imports */
593
+ organizeImports: boolean;
594
+ /** Files to ignore */
595
+ ignorePatterns: string[];
596
+ }
597
+ /**
598
+ * Prettier options
599
+ */
600
+ interface PrettierOptions {
601
+ /** Print width */
602
+ printWidth: number;
603
+ /** Tab width */
604
+ tabWidth: number;
605
+ /** Use tabs instead of spaces */
606
+ useTabs: boolean;
607
+ /** Use semicolons */
608
+ semi: boolean;
609
+ /** Use single quotes */
610
+ singleQuote: boolean;
611
+ /** JSX single quotes */
612
+ jsxSingleQuote: boolean;
613
+ /** Trailing commas */
614
+ trailingComma: 'all' | 'es5' | 'none';
615
+ /** Bracket spacing */
616
+ bracketSpacing: boolean;
617
+ /** Bracket same line (JSX) */
618
+ bracketSameLine: boolean;
619
+ /** Arrow function parentheses */
620
+ arrowParens: 'always' | 'avoid';
621
+ /** End of line */
622
+ endOfLine: 'lf' | 'crlf' | 'cr' | 'auto';
623
+ /** Prose wrap (for markdown) */
624
+ proseWrap: 'always' | 'never' | 'preserve';
625
+ /** HTML whitespace sensitivity */
626
+ htmlWhitespaceSensitivity: 'css' | 'strict' | 'ignore';
627
+ /** Single attribute per line (HTML/JSX) */
628
+ singleAttributePerLine: boolean;
629
+ }
630
+ /**
631
+ * Commitlint configuration options
632
+ */
633
+ interface CommitlintOptions {
634
+ /** Extends base config */
635
+ extends: string[];
636
+ /** Commit types allowed */
637
+ types: string[];
638
+ /** Scopes allowed (empty for any) */
639
+ scopes: string[];
640
+ /** Maximum header length */
641
+ headerMaxLength: number;
642
+ /** Require scope */
643
+ scopeRequired: boolean;
644
+ /** Require body */
645
+ bodyRequired: boolean;
646
+ /** Body max line length */
647
+ bodyMaxLineLength: number;
648
+ /** Enable Husky integration */
649
+ huskyIntegration: boolean;
650
+ }
651
+ /**
652
+ * Code style configuration
653
+ */
654
+ interface CodeStyleConfig {
655
+ /** Whether code style tools are enabled */
656
+ enabled: boolean;
657
+ /** EditorConfig file installed */
658
+ editorconfig: boolean;
659
+ /** EditorConfig options */
660
+ editorconfigOptions?: EditorConfigOptions;
661
+ /** Commitlint configuration installed */
662
+ commitlint: boolean;
663
+ /** Commitlint options */
664
+ commitlintOptions?: CommitlintOptions;
665
+ /** Biome configuration installed */
666
+ biome: boolean;
667
+ /** Biome options */
668
+ biomeOptions?: BiomeOptions;
669
+ /** Prettier configuration installed */
670
+ prettier: boolean;
671
+ /** Prettier options */
672
+ prettierOptions?: PrettierOptions;
673
+ }
674
+ /**
675
+ * Extra components configuration
676
+ */
677
+ interface ExtrasConfig {
678
+ /** JSON schemas installed */
679
+ schemas: boolean;
680
+ /** Automation scripts installed */
681
+ scripts: boolean;
682
+ /** Hook configuration */
683
+ hooks: HookConfig;
684
+ /** Planning sessions structure */
685
+ sessions: boolean;
686
+ /** Code style configuration */
687
+ codeStyle?: CodeStyleConfig;
688
+ /** Folder structure preferences */
689
+ folderPreferences?: FolderPreferences;
690
+ }
691
+ /**
692
+ * Main Claude configuration stored in .claude/config.json
693
+ */
694
+ interface ClaudeConfig {
695
+ /** CLI version that created this config */
696
+ version: string;
697
+ /** Template source information */
698
+ templateSource: TemplateSource;
699
+ /** Project-specific values */
700
+ project: ProjectInfo;
701
+ /** User preferences */
702
+ preferences: Preferences;
703
+ /** MCP configuration */
704
+ mcp: McpConfig;
705
+ /** Installed modules */
706
+ modules: ModulesConfig;
707
+ /** Extra components */
708
+ extras: ExtrasConfig;
709
+ /** Scaffold tracking */
710
+ scaffold: ScaffoldConfig;
711
+ /** Customization tracking */
712
+ customizations: Customizations;
713
+ /** Template placeholder configuration */
714
+ templateConfig?: Partial<TemplateConfig>;
715
+ }
716
+
717
+ /**
718
+ * Module registry and definition types
719
+ */
720
+ /**
721
+ * Module categories
722
+ */
723
+ type ModuleCategory = 'agents' | 'skills' | 'commands' | 'docs';
724
+ /**
725
+ * Extended description for better user understanding
726
+ */
727
+ interface ModuleExtendedInfo {
728
+ /** Detailed explanation of what this module does */
729
+ longDescription?: string;
730
+ /** List of specific capabilities or features */
731
+ whatItDoes?: string[];
732
+ /** When/why to use this module */
733
+ whenToUse?: string;
734
+ /** Technology stack this module is designed for */
735
+ techStack?: string[];
736
+ /** Alternative modules (e.g., "prisma" is alternative to "drizzle") */
737
+ alternativeTo?: string[];
738
+ /** Related modules that work well together */
739
+ relatedModules?: string[];
740
+ /** Skill level (beginner, intermediate, advanced) */
741
+ skillLevel?: 'beginner' | 'intermediate' | 'advanced';
742
+ /** Author or source of this module */
743
+ author?: string;
744
+ /** Version of the module */
745
+ version?: string;
746
+ }
747
+ /**
748
+ * Module definition in registry
749
+ */
750
+ interface ModuleDefinition extends ModuleExtendedInfo {
751
+ /** Unique identifier */
752
+ id: string;
753
+ /** Display name */
754
+ name: string;
755
+ /** Short description (shown in selection lists) */
756
+ description: string;
757
+ /** Category this module belongs to */
758
+ category: ModuleCategory;
759
+ /** File path relative to category directory */
760
+ file: string;
761
+ /** Other modules this depends on */
762
+ dependencies?: string[];
763
+ /** Categorization tags */
764
+ tags?: string[];
765
+ /** Whether this is a core module (always installed) */
766
+ isCore?: boolean;
767
+ /** Bundle IDs that include this module (optional, can be computed) */
768
+ includedInBundles?: string[];
769
+ /** Placeholders used in this module's files */
770
+ placeholders?: string[];
771
+ }
772
+ /**
773
+ * Full module registry - all categories combined
774
+ */
775
+ interface ModuleRegistry {
776
+ /** Agent modules */
777
+ agents: ModuleDefinition[];
778
+ /** Skill modules */
779
+ skills: ModuleDefinition[];
780
+ /** Command modules */
781
+ commands: ModuleDefinition[];
782
+ /** Documentation modules */
783
+ docs: ModuleDefinition[];
784
+ }
785
+ /**
786
+ * Resolved module ready for installation
787
+ */
788
+ interface ResolvedModule$1 {
789
+ /** Module category */
790
+ category: ModuleCategory;
791
+ /** Module identifier */
792
+ id: string;
793
+ /** Module definition */
794
+ definition: ModuleDefinition;
795
+ /** Source path (in templates) */
796
+ sourcePath: string;
797
+ /** Target path (in .claude) */
798
+ targetPath: string;
799
+ }
800
+ /**
801
+ * Module selection result from prompts
802
+ */
803
+ interface ModuleSelectionResult {
804
+ /** Selected agents by id */
805
+ agents: string[];
806
+ /** Selected skills by id */
807
+ skills: string[];
808
+ /** Selected commands by id */
809
+ commands: string[];
810
+ /** Selected docs by id */
811
+ docs: string[];
812
+ }
813
+
814
+ /**
815
+ * Bundle configuration types for grouping related modules
816
+ */
817
+
818
+ /**
819
+ * Bundle categories for organizing bundles
820
+ */
821
+ type BundleCategory = 'stack' | 'testing' | 'quality' | 'database' | 'api' | 'frontend' | 'workflow' | 'cicd';
822
+ /**
823
+ * Bundle complexity level
824
+ */
825
+ type BundleComplexity = 'minimal' | 'standard' | 'comprehensive';
826
+ /**
827
+ * Module reference within a bundle
828
+ */
829
+ interface BundleModuleRef {
830
+ /** Module ID */
831
+ id: string;
832
+ /** Module category (agents, skills, commands, docs) */
833
+ category: ModuleCategory;
834
+ /** Whether this module is optional in the bundle (nice to have) */
835
+ optional?: boolean;
836
+ /** IDs of modules that require this module to function properly */
837
+ requiredBy?: string[];
838
+ }
839
+ /**
840
+ * Detailed agent information for display
841
+ */
842
+ interface AgentDetail {
843
+ /** Agent module ID */
844
+ id: string;
845
+ /** Primary role of the agent */
846
+ role: string;
847
+ /** Key responsibilities */
848
+ responsibilities: string[];
849
+ }
850
+ /**
851
+ * Detailed skill information for display
852
+ */
853
+ interface SkillDetail {
854
+ /** Skill module ID */
855
+ id: string;
856
+ /** Purpose of the skill */
857
+ purpose: string;
858
+ }
859
+ /**
860
+ * Detailed command information for display
861
+ */
862
+ interface CommandDetail {
863
+ /** Command module ID */
864
+ id: string;
865
+ /** Example usage */
866
+ usage: string;
867
+ }
868
+ /**
869
+ * Detailed doc information for display
870
+ */
871
+ interface DocDetail {
872
+ /** Doc module ID */
873
+ id: string;
874
+ /** Topic the doc covers */
875
+ topic: string;
876
+ }
877
+ /**
878
+ * Detailed module information for rich display
879
+ */
880
+ interface BundleModuleDetails {
881
+ /** Agent details with roles and responsibilities */
882
+ agents: AgentDetail[];
883
+ /** Skill details with purposes */
884
+ skills: SkillDetail[];
885
+ /** Command details with usage examples */
886
+ commands: CommandDetail[];
887
+ /** Doc details with topics */
888
+ docs: DocDetail[];
889
+ }
890
+ /**
891
+ * Bundle definition
892
+ */
893
+ interface BundleDefinition {
894
+ /** Unique bundle identifier */
895
+ id: string;
896
+ /** Display name */
897
+ name: string;
898
+ /** Short description */
899
+ description: string;
900
+ /** Bundle category */
901
+ category: BundleCategory;
902
+ /** Modules included in this bundle */
903
+ modules: BundleModuleRef[];
904
+ /** Long description explaining what this bundle provides */
905
+ longDescription?: string;
906
+ /** Technology stack this bundle is designed for */
907
+ techStack?: string[];
908
+ /** Alternative bundles (e.g., "prisma-bundle" is alternative to "drizzle-bundle") */
909
+ alternativeTo?: string[];
910
+ /** Tags for filtering */
911
+ tags?: string[];
912
+ /** What problems this bundle solves */
913
+ responsibilities?: string[];
914
+ /** Scope/reach of the bundle */
915
+ scope?: string;
916
+ /** When to use this bundle */
917
+ useCases?: string[];
918
+ /** Bundles that should be installed before this one */
919
+ prerequisites?: string[];
920
+ /** Bundles that conflict with this one (mutually exclusive) */
921
+ conflicts?: string[];
922
+ /** Complexity level of the bundle */
923
+ complexity?: BundleComplexity;
924
+ /** Detailed information about each module for rich display */
925
+ moduleDetails?: BundleModuleDetails;
926
+ }
927
+ /**
928
+ * Bundle selection result
929
+ */
930
+ interface BundleSelectionResult {
931
+ /** Selected bundle IDs */
932
+ selectedBundles: string[];
933
+ /** Individual modules selected outside bundles */
934
+ additionalModules: {
935
+ agents: string[];
936
+ skills: string[];
937
+ commands: string[];
938
+ docs: string[];
939
+ };
940
+ }
941
+ /**
942
+ * Resolved bundle with full module definitions
943
+ */
944
+ interface ResolvedBundle {
945
+ /** Bundle definition */
946
+ bundle: BundleDefinition;
947
+ /** Resolved modules from the bundle */
948
+ modules: {
949
+ agents: string[];
950
+ skills: string[];
951
+ commands: string[];
952
+ docs: string[];
953
+ };
954
+ }
955
+
956
+ /**
957
+ * Predefined bundles for grouping related modules
958
+ */
959
+
960
+ /**
961
+ * All available bundles
962
+ */
963
+ declare const BUNDLES: BundleDefinition[];
964
+ /**
965
+ * Get all bundles
966
+ */
967
+ declare function getAllBundles(): BundleDefinition[];
968
+ /**
969
+ * Get bundle by ID
970
+ */
971
+ declare function getBundleById(id: string): BundleDefinition | undefined;
972
+
973
+ /**
974
+ * MCP Server definitions
975
+ */
976
+
977
+ /**
978
+ * Available MCP servers
979
+ */
980
+ declare const MCP_SERVERS: McpServerDefinition[];
981
+
982
+ /**
983
+ * System dependency types
984
+ */
985
+ /**
986
+ * Platform identifiers
987
+ */
988
+ type Platform = 'linux' | 'macos' | 'windows';
989
+ /**
990
+ * Installation instructions for a platform
991
+ */
992
+ interface InstallInstructions {
993
+ /** Commands to run */
994
+ commands: string[];
995
+ /** Additional notes */
996
+ notes?: string;
997
+ /** Useful links */
998
+ links?: string[];
999
+ }
1000
+ /**
1001
+ * System dependency information
1002
+ */
1003
+ interface DependencyInfo {
1004
+ /** Unique identifier */
1005
+ id: string;
1006
+ /** Display name */
1007
+ name: string;
1008
+ /** Description of what this dependency provides */
1009
+ description: string;
1010
+ /** Features that require this dependency */
1011
+ requiredFor: string[];
1012
+ /** Command to check if installed */
1013
+ checkCommand: string;
1014
+ /** Platform-specific installation instructions */
1015
+ platforms: Partial<Record<Platform, InstallInstructions>>;
1016
+ }
1017
+
1018
+ /**
1019
+ * System dependency definitions
1020
+ */
1021
+
1022
+ /**
1023
+ * System dependencies required for various features
1024
+ */
1025
+ declare const DEPENDENCIES: DependencyInfo[];
1026
+
1027
+ /**
1028
+ * Placeholder replacement types
1029
+ */
1030
+
1031
+ /**
1032
+ * Transformation to apply to placeholder value
1033
+ */
1034
+ type PlaceholderTransform = 'none' | 'lowercase' | 'uppercase' | 'capitalize' | 'pluralize';
1035
+ /**
1036
+ * Placeholder definition
1037
+ */
1038
+ interface PlaceholderDefinition {
1039
+ /** Pattern to find (string or regex) */
1040
+ pattern: string | RegExp;
1041
+ /** Config key to get replacement value */
1042
+ configKey: keyof ProjectInfo;
1043
+ /** Transformation to apply */
1044
+ transform: PlaceholderTransform;
1045
+ /** Description for documentation */
1046
+ description: string;
1047
+ /** Example value */
1048
+ example: string;
1049
+ /** Whether this placeholder is required */
1050
+ required: boolean;
1051
+ }
1052
+ /**
1053
+ * Single placeholder replacement record
1054
+ */
1055
+ interface PlaceholderReplacement {
1056
+ /** File where replacement was made */
1057
+ file: string;
1058
+ /** Line number */
1059
+ line: number;
1060
+ /** Original text */
1061
+ original: string;
1062
+ /** Replacement text */
1063
+ replacement: string;
1064
+ /** Placeholder definition used */
1065
+ placeholder: PlaceholderDefinition;
1066
+ }
1067
+ /**
1068
+ * Placeholder replacement report
1069
+ */
1070
+ interface PlaceholderReport {
1071
+ /** Total files scanned */
1072
+ totalFiles: number;
1073
+ /** Files that were modified */
1074
+ filesModified: number;
1075
+ /** All replacements made */
1076
+ replacements: PlaceholderReplacement[];
1077
+ /** Placeholders that couldn't be replaced (missing values) */
1078
+ unreplacedPlaceholders: string[];
1079
+ }
1080
+
1081
+ /**
1082
+ * Placeholder definitions for template processing
1083
+ */
1084
+
1085
+ /**
1086
+ * All placeholder patterns that can be replaced in templates
1087
+ */
1088
+ declare const PLACEHOLDERS: PlaceholderDefinition[];
1089
+
1090
+ /**
1091
+ * Permission preset definitions
1092
+ */
1093
+
1094
+ /**
1095
+ * All permission presets
1096
+ */
1097
+ declare const PERMISSION_PRESETS: Record<PermissionPreset, Omit<PermissionsConfig, 'preset' | 'custom'>>;
1098
+
1099
+ /**
1100
+ * Bundle resolver - resolves bundles to individual modules
1101
+ */
1102
+
1103
+ /**
1104
+ * Resolve a bundle to its constituent modules
1105
+ */
1106
+ declare function resolveBundle(bundle: BundleDefinition): ResolvedBundle;
1107
+ /**
1108
+ * Resolve multiple bundles to a combined module selection
1109
+ */
1110
+ declare function resolveBundles(bundleIds: string[]): ModuleSelectionResult;
1111
+ /**
1112
+ * Merge bundle selection with additional individual modules
1113
+ */
1114
+ declare function mergeBundleSelection(bundleResult: BundleSelectionResult): ModuleSelectionResult;
1115
+
1116
+ /**
1117
+ * Configuration reader - reads Claude config files
1118
+ */
1119
+
1120
+ /**
1121
+ * Read Claude configuration from a project
1122
+ */
1123
+ declare function readConfig(projectPath: string): Promise<ClaudeConfig | null>;
1124
+ /**
1125
+ * Check if a Claude configuration exists
1126
+ */
1127
+ declare function hasConfig(projectPath: string): Promise<boolean>;
1128
+
1129
+ /**
1130
+ * Configuration writer - writes Claude config files
1131
+ */
1132
+
1133
+ /**
1134
+ * Write Claude configuration
1135
+ */
1136
+ declare function writeConfig(projectPath: string, config: ClaudeConfig, options?: {
1137
+ backup?: boolean;
1138
+ }): Promise<void>;
1139
+ /**
1140
+ * Create a default configuration
1141
+ */
1142
+ declare function createDefaultConfig(options: {
1143
+ version: string;
1144
+ projectInfo: ClaudeConfig['project'];
1145
+ preferences: ClaudeConfig['preferences'];
1146
+ }): ClaudeConfig;
1147
+
1148
+ /**
1149
+ * Module registry - reads and manages module definitions from templates
1150
+ */
1151
+
1152
+ /**
1153
+ * Load module registry from a templates directory
1154
+ */
1155
+ declare function loadRegistry(templatesPath: string): Promise<ModuleRegistry>;
1156
+
1157
+ /**
1158
+ * Module resolver - resolves module dependencies and order
1159
+ */
1160
+
1161
+ interface ResolvedModule extends ModuleDefinition {
1162
+ resolvedDependencies: string[];
1163
+ installOrder: number;
1164
+ }
1165
+ interface ResolutionResult {
1166
+ resolved: ResolvedModule[];
1167
+ unresolved: string[];
1168
+ circular: string[];
1169
+ }
1170
+ /**
1171
+ * Resolve dependencies for selected modules
1172
+ */
1173
+ declare function resolveModules(registry: ModuleRegistry, category: ModuleCategory, selectedIds: string[]): ResolutionResult;
1174
+
1175
+ /**
1176
+ * Module installer - copies and configures module files
1177
+ */
1178
+
1179
+ interface InstallOptions {
1180
+ templatesPath: string;
1181
+ targetPath: string;
1182
+ overwrite?: boolean;
1183
+ dryRun?: boolean;
1184
+ }
1185
+ interface InstallResult {
1186
+ success: boolean;
1187
+ installed: string[];
1188
+ skipped: string[];
1189
+ failed: Array<{
1190
+ id: string;
1191
+ error: string;
1192
+ }>;
1193
+ }
1194
+ /**
1195
+ * Install modules for a category
1196
+ */
1197
+ declare function installModules(category: ModuleCategory, modules: ModuleDefinition[], options: InstallOptions): Promise<InstallResult>;
1198
+
1199
+ /**
1200
+ * Placeholder replacer - finds and replaces placeholders in files
1201
+ */
1202
+
1203
+ /**
1204
+ * Replace placeholders with spinner
1205
+ */
1206
+ declare function replacePlaceholders(dirPath: string, projectInfo: ProjectInfo, options?: {
1207
+ extensions?: string[];
1208
+ exclude?: string[];
1209
+ dryRun?: boolean;
1210
+ silent?: boolean;
1211
+ }): Promise<PlaceholderReport>;
1212
+
1213
+ /**
1214
+ * Project detector - detects existing project type and configuration
1215
+ */
1216
+
1217
+ /**
1218
+ * Detect project type and configuration
1219
+ */
1220
+ declare function detectProject(projectPath: string): Promise<ProjectDetectionResult>;
1221
+
1222
+ /**
1223
+ * Template processing types for dynamic content generation
1224
+ */
1225
+
1226
+ /**
1227
+ * Context for template processing
1228
+ */
1229
+ interface TemplateContext {
1230
+ /** Project info from config */
1231
+ project: {
1232
+ name?: string;
1233
+ description?: string;
1234
+ org?: string;
1235
+ repo?: string;
1236
+ domain?: string;
1237
+ entityType?: string;
1238
+ location?: string;
1239
+ };
1240
+ /** Selected modules by category */
1241
+ modules: {
1242
+ agents: string[];
1243
+ skills: string[];
1244
+ commands: string[];
1245
+ docs: string[];
1246
+ };
1247
+ /** Code style choices */
1248
+ codeStyle: {
1249
+ formatter?: 'biome' | 'prettier' | 'none';
1250
+ linter?: 'biome' | 'eslint' | 'none';
1251
+ editorConfig?: boolean;
1252
+ commitlint?: boolean;
1253
+ };
1254
+ /** Technology stack choices */
1255
+ techStack: {
1256
+ framework?: string;
1257
+ database?: string;
1258
+ orm?: string;
1259
+ testing?: string;
1260
+ deployment?: string;
1261
+ };
1262
+ /** Bundle selections */
1263
+ bundles: string[];
1264
+ /** MCP servers enabled */
1265
+ mcpServers: string[];
1266
+ /** Custom variables */
1267
+ custom: Record<string, string | boolean | number | string[]>;
1268
+ }
1269
+ /**
1270
+ * Template processing result
1271
+ */
1272
+ interface TemplateResult {
1273
+ /** Processed content */
1274
+ content: string;
1275
+ /** Whether any directives were processed */
1276
+ modified: boolean;
1277
+ /** Directives found and processed */
1278
+ directivesProcessed: number;
1279
+ /** Any warnings during processing */
1280
+ warnings: string[];
1281
+ /** Any errors during processing */
1282
+ errors: string[];
1283
+ }
1284
+ /**
1285
+ * Template file processing report
1286
+ */
1287
+ interface TemplateProcessingReport {
1288
+ /** Files scanned */
1289
+ totalFiles: number;
1290
+ /** Files modified */
1291
+ filesModified: number;
1292
+ /** Total directives processed */
1293
+ totalDirectives: number;
1294
+ /** Files with errors */
1295
+ filesWithErrors: string[];
1296
+ /** All warnings */
1297
+ warnings: string[];
1298
+ }
1299
+
1300
+ /**
1301
+ * Template processor
1302
+ * Processes templates by evaluating directives and replacing variables
1303
+ */
1304
+
1305
+ /**
1306
+ * Process templates with spinner
1307
+ */
1308
+ declare function processTemplates(dirPath: string, context: TemplateContext, options?: {
1309
+ extensions?: string[];
1310
+ exclude?: string[];
1311
+ dryRun?: boolean;
1312
+ silent?: boolean;
1313
+ }): Promise<TemplateProcessingReport>;
1314
+
1315
+ /**
1316
+ * Template context builder
1317
+ * Creates a context object from config and module selections
1318
+ */
1319
+
1320
+ /**
1321
+ * Build a template context from config
1322
+ */
1323
+ declare function buildTemplateContext(config: Partial<ClaudeConfig>): TemplateContext;
1324
+
1325
+ export { BUNDLES, type BundleCategory, type BundleDefinition, type BundleSelectionResult, type ClaudeConfig, type Customizations, DEPENDENCIES, type HookConfig, MCP_SERVERS, type McpCategory, type McpConfigField, type McpInstallation, type McpServerDefinition, type ModuleCategory, type ModuleDefinition, type ModuleRegistry, type ModuleSelection, PERMISSION_PRESETS, PLACEHOLDERS, type PermissionPreset, type PermissionsConfig, type Preferences, type ProjectDetectionResult, type ProjectType, type ResolvedBundle, type ResolvedModule$1 as ResolvedModule, type ScaffoldConfig, type ScaffoldOptions, type ScaffoldResult, type ScaffoldType, type TemplateContext, type TemplateProcessingReport, type TemplateResult, type TemplateSource, buildTemplateContext, createDefaultConfig, detectProject, getAllBundles, getBundleById, hasConfig, installModules, loadRegistry, mergeBundleSelection, processTemplates, readConfig, replacePlaceholders, resolveBundle, resolveBundles, resolveModules, writeConfig };