opencode-sdlc-plugin 0.2.1 → 0.3.2

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 (72) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +127 -38
  3. package/commands/sdlc-adr.md +245 -17
  4. package/commands/sdlc-debug.md +376 -0
  5. package/commands/sdlc-design.md +205 -47
  6. package/commands/sdlc-dev.md +544 -0
  7. package/commands/sdlc-info.md +325 -0
  8. package/commands/sdlc-parallel.md +283 -0
  9. package/commands/sdlc-recall.md +203 -8
  10. package/commands/sdlc-remember.md +126 -9
  11. package/commands/sdlc-research.md +343 -0
  12. package/commands/sdlc-review.md +201 -128
  13. package/commands/sdlc-status.md +297 -0
  14. package/config/presets/copilot-only.json +69 -0
  15. package/config/presets/enterprise.json +79 -0
  16. package/config/presets/event-modeling.json +74 -8
  17. package/config/presets/minimal.json +70 -0
  18. package/config/presets/solo-quick.json +70 -0
  19. package/config/presets/standard.json +78 -0
  20. package/config/presets/strict-tdd.json +79 -0
  21. package/config/schemas/athena.schema.json +338 -0
  22. package/config/schemas/sdlc.schema.json +442 -26
  23. package/dist/cli/index.d.ts +2 -1
  24. package/dist/cli/index.js +4285 -562
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/index.d.ts +1781 -1
  27. package/dist/index.js +7759 -395
  28. package/dist/index.js.map +1 -1
  29. package/dist/plugin/index.d.ts +17 -2
  30. package/dist/plugin/index.js +7730 -397
  31. package/dist/plugin/index.js.map +1 -1
  32. package/package.json +68 -33
  33. package/prompts/agents/code-reviewer.md +229 -0
  34. package/prompts/agents/domain.md +210 -0
  35. package/prompts/agents/green.md +148 -0
  36. package/prompts/agents/mutation.md +278 -0
  37. package/prompts/agents/red.md +112 -0
  38. package/prompts/event-modeling/discovery.md +176 -0
  39. package/prompts/event-modeling/gwt-generation.md +479 -0
  40. package/prompts/event-modeling/workflow-design.md +318 -0
  41. package/prompts/personas/amelia-developer.md +43 -0
  42. package/prompts/personas/bob-sm.md +43 -0
  43. package/prompts/personas/john-pm.md +43 -0
  44. package/prompts/personas/mary-analyst.md +43 -0
  45. package/prompts/personas/murat-tester.md +43 -0
  46. package/prompts/personas/paige-techwriter.md +43 -0
  47. package/prompts/personas/sally-ux.md +43 -0
  48. package/prompts/personas/winston-architect.md +43 -0
  49. package/agents/design-facilitator.md +0 -8
  50. package/agents/domain.md +0 -9
  51. package/agents/exploration.md +0 -8
  52. package/agents/green.md +0 -9
  53. package/agents/marvin.md +0 -15
  54. package/agents/model-checker.md +0 -9
  55. package/agents/red.md +0 -9
  56. package/commands/sdlc-domain-audit.md +0 -32
  57. package/commands/sdlc-plan.md +0 -63
  58. package/commands/sdlc-pr.md +0 -43
  59. package/commands/sdlc-setup.md +0 -50
  60. package/commands/sdlc-start.md +0 -34
  61. package/commands/sdlc-work.md +0 -118
  62. package/config/presets/traditional.json +0 -12
  63. package/skills/adr-policy.md +0 -21
  64. package/skills/atomic-design.md +0 -39
  65. package/skills/debugging-protocol.md +0 -47
  66. package/skills/event-modeling.md +0 -40
  67. package/skills/git-spice.md +0 -44
  68. package/skills/github-issues.md +0 -44
  69. package/skills/memory-protocol.md +0 -41
  70. package/skills/orchestration.md +0 -118
  71. package/skills/skill-enforcement.md +0 -56
  72. package/skills/tdd-constraints.md +0 -63
package/dist/index.d.ts CHANGED
@@ -1,2 +1,1782 @@
1
- export { default as SdlcPlugin } from './plugin/index.js';
1
+ export { default as OpenCodeSdlc, default } from './plugin/index.js';
2
+ import { z } from 'zod';
2
3
  import '@opencode-ai/plugin';
4
+
5
+ /**
6
+ * Shared TypeScript type definitions for OpenCode SDLC Plugin
7
+ */
8
+ /**
9
+ * Options passed to the install command
10
+ */
11
+ interface InstallOptions {
12
+ preset: string;
13
+ yes: boolean;
14
+ advanced: boolean;
15
+ global: boolean;
16
+ local: boolean;
17
+ reconfigure?: boolean;
18
+ }
19
+ /**
20
+ * Subscription information gathered during install
21
+ */
22
+ interface SubscriptionAnswers {
23
+ hasClaude: boolean;
24
+ claudeTier: "max5x" | "max20x" | "pro" | "none";
25
+ hasOpenAI: boolean;
26
+ hasGoogle: boolean;
27
+ googleAuth: "antigravity" | "personal" | "api" | "none";
28
+ hasGitHubCopilot: boolean;
29
+ copilotPlan: "free" | "pro" | "pro-plus" | "business" | "enterprise" | "none";
30
+ copilotEnabledModels?: string[];
31
+ }
32
+ /**
33
+ * Methodology preferences gathered during install
34
+ */
35
+ interface MethodologyAnswers {
36
+ defaultTrack: "quick-flow" | "enterprise";
37
+ autoStatusUpdate: boolean;
38
+ }
39
+ /**
40
+ * Feature selections gathered during install
41
+ */
42
+ interface FeatureAnswers {
43
+ enabledFeatures: string[];
44
+ mcps: string[];
45
+ }
46
+ /**
47
+ * Advanced options gathered during install
48
+ */
49
+ interface AdvancedAnswers {
50
+ parallelIssueLimit?: number;
51
+ experimental?: string[];
52
+ autoFallback?: boolean;
53
+ }
54
+ /**
55
+ * Available model choices by provider
56
+ */
57
+ type LLMProvider = "anthropic" | "openai" | "google" | "github-copilot";
58
+ /**
59
+ * Custom model definition for user-added models
60
+ */
61
+ interface CustomModelDefinition {
62
+ id: string;
63
+ name: string;
64
+ provider: LLMProvider;
65
+ description?: string;
66
+ capabilities?: {
67
+ thinking?: boolean;
68
+ contextWindow?: number;
69
+ supportsTemperature?: boolean;
70
+ };
71
+ }
72
+ /**
73
+ * Thinking level for reasoning-capable models
74
+ */
75
+ type ThinkingLevel = "off" | "low" | "medium" | "high";
76
+ /**
77
+ * Agent-specific settings for temperature and thinking level
78
+ */
79
+ interface AgentSettings {
80
+ temperature?: number;
81
+ thinkingLevel?: ThinkingLevel;
82
+ }
83
+ /**
84
+ * Model assignments for each agent role
85
+ */
86
+ interface ModelAnswers {
87
+ sisyphus: string;
88
+ oracle: string;
89
+ librarian: string;
90
+ frontend?: string;
91
+ documentWriter?: string;
92
+ multimodalLooker?: string;
93
+ explore?: string;
94
+ settings?: {
95
+ sisyphus?: AgentSettings;
96
+ oracle?: AgentSettings;
97
+ librarian?: AgentSettings;
98
+ frontend?: AgentSettings;
99
+ documentWriter?: AgentSettings;
100
+ multimodalLooker?: AgentSettings;
101
+ explore?: AgentSettings;
102
+ overrides?: Record<string, AgentSettings>;
103
+ };
104
+ custom?: CustomModelDefinition[];
105
+ }
106
+ /**
107
+ * GitHub integration answers from the installer
108
+ */
109
+ interface GitHubAnswers {
110
+ enabled: boolean;
111
+ owner: string;
112
+ repo: string;
113
+ project?: number;
114
+ statuses: GitHubStatus[];
115
+ }
116
+ /**
117
+ * TDD configuration answers from the installer
118
+ */
119
+ interface TddAnswers {
120
+ enabled: boolean;
121
+ verbosity: TddVerbosity;
122
+ bypassPatterns: string[];
123
+ mutationTesting: {
124
+ enabled: boolean;
125
+ requiredScore: number;
126
+ };
127
+ }
128
+ /**
129
+ * Event Modeling answers from the installer
130
+ */
131
+ interface EventModelingAnswers {
132
+ enabled: boolean;
133
+ outputPath: string;
134
+ }
135
+ /**
136
+ * Git Workflow answers from the installer
137
+ */
138
+ interface GitWorkflowAnswers {
139
+ workflow: GitWorkflow;
140
+ requireClean: boolean;
141
+ worktrees: boolean;
142
+ }
143
+ /**
144
+ * All answers from the install wizard
145
+ */
146
+ interface InstallAnswers {
147
+ subscriptions: SubscriptionAnswers;
148
+ models: ModelAnswers;
149
+ methodology: MethodologyAnswers;
150
+ features: FeatureAnswers;
151
+ advanced: AdvancedAnswers;
152
+ installLocation: "global" | "local";
153
+ github?: GitHubAnswers;
154
+ tdd?: TddAnswers;
155
+ eventModeling?: EventModelingAnswers;
156
+ gitWorkflow?: GitWorkflowAnswers;
157
+ }
158
+ interface AgentRouting {
159
+ requiresThinking?: boolean;
160
+ preferProvider?: LLMProvider;
161
+ }
162
+ interface RoutingConfig {
163
+ providerPriority: LLMProvider[];
164
+ modelFamilyPriority: {
165
+ claude?: LLMProvider[];
166
+ gpt?: LLMProvider[];
167
+ gemini?: LLMProvider[];
168
+ };
169
+ agentOverrides: {
170
+ sisyphus?: AgentRouting;
171
+ oracle?: AgentRouting;
172
+ librarian?: AgentRouting;
173
+ frontend?: AgentRouting;
174
+ documentWriter?: AgentRouting;
175
+ multimodalLooker?: AgentRouting;
176
+ };
177
+ fallbackBehavior: {
178
+ autoFallback: boolean;
179
+ retryPeriodMs: number;
180
+ notifyOnRateLimit: boolean;
181
+ };
182
+ }
183
+ /**
184
+ * GitHub project board column statuses
185
+ */
186
+ type GitHubStatus = "Backlog" | "Ready" | "In progress" | "In review" | "Done";
187
+ /**
188
+ * GitHub Issues integration configuration
189
+ */
190
+ interface GitHubConfig {
191
+ /** GitHub repository owner (user or org) */
192
+ owner: string;
193
+ /** GitHub repository name */
194
+ repo: string;
195
+ /** GitHub Project number for board tracking (optional) */
196
+ project?: number;
197
+ /** Project board column names mapping to workflow states */
198
+ statuses: GitHubStatus[];
199
+ }
200
+ /**
201
+ * TDD verbosity levels
202
+ */
203
+ type TddVerbosity = "silent" | "brief" | "explain";
204
+ /**
205
+ * Mutation testing configuration
206
+ */
207
+ interface MutationTestingConfig {
208
+ /** Enable mutation testing for coverage verification */
209
+ enabled: boolean;
210
+ /** Minimum mutation score required (0-100) */
211
+ requiredScore: number;
212
+ }
213
+ /**
214
+ * TDD cycle enforcement configuration
215
+ */
216
+ interface TddConfig {
217
+ /** Enable TDD cycle enforcement */
218
+ enabled: boolean;
219
+ /** How verbose TDD feedback should be */
220
+ verbosity: TddVerbosity;
221
+ /** File patterns that bypass TDD checks (e.g., config files) */
222
+ bypassPatterns: string[];
223
+ /** Mutation testing settings */
224
+ mutationTesting: MutationTestingConfig;
225
+ }
226
+ /**
227
+ * Event Modeling integration configuration
228
+ */
229
+ interface EventModelingConfig {
230
+ /** Enable Event Modeling workflow */
231
+ enabled: boolean;
232
+ /** Path to event model output files */
233
+ outputPath: string;
234
+ }
235
+ /**
236
+ * Git workflow types
237
+ */
238
+ type GitWorkflow = "standard" | "git-spice";
239
+ /**
240
+ * Git integration configuration
241
+ */
242
+ interface GitConfig {
243
+ /** Git workflow style */
244
+ workflow: GitWorkflow;
245
+ /** Require clean working directory before operations */
246
+ requireClean: boolean;
247
+ /** Enable git worktrees for parallel work */
248
+ worktrees: boolean;
249
+ }
250
+ /**
251
+ * SDLC feature flags
252
+ */
253
+ interface SdlcFeatures {
254
+ /** Main conversation delegates all file writes to agents */
255
+ orchestratorOnly: boolean;
256
+ /** Auto-sync todos with GitHub issue checkboxes */
257
+ todoSync: boolean;
258
+ /** Enable party review for architecture decisions */
259
+ partyReview: boolean;
260
+ /** Enable debugging protocol with Oracle */
261
+ debuggingProtocol: boolean;
262
+ /** Enable Memento MCP for persistent memory */
263
+ memento: boolean;
264
+ /** Show in-TUI notifications */
265
+ notifications: boolean;
266
+ /** Enable LSP tools for code intelligence */
267
+ lspTools: boolean;
268
+ }
269
+ /**
270
+ * MCP (Model Context Protocol) server configuration
271
+ */
272
+ interface McpConfig {
273
+ /** Context7 for library documentation */
274
+ context7: boolean;
275
+ /** Exa for web search */
276
+ exa: boolean;
277
+ /** grep.app for code search */
278
+ grepApp: boolean;
279
+ /** Memento for persistent memory */
280
+ memento: boolean;
281
+ }
282
+ /**
283
+ * SDLC configuration file structure (v0.3.0+)
284
+ *
285
+ * This config supports a transitional state where:
286
+ * - Old BMAD fields are optional (deprecated, for backward compatibility)
287
+ * - New GitHub/TDD/EventModeling fields are optional (will become required in v0.4.0)
288
+ *
289
+ * New installations should use the new fields; existing installations
290
+ * can continue using BMAD until migrated.
291
+ */
292
+ interface SdlcConfig {
293
+ $schema?: string;
294
+ version: string;
295
+ subscriptions: {
296
+ claude: {
297
+ enabled: boolean;
298
+ tier: "max5x" | "max20x" | "pro" | "none";
299
+ };
300
+ openai: {
301
+ enabled: boolean;
302
+ };
303
+ google: {
304
+ enabled: boolean;
305
+ authMethod: "antigravity" | "personal" | "api" | "none";
306
+ };
307
+ githubCopilot: {
308
+ enabled: boolean;
309
+ plan: "free" | "pro" | "pro-plus" | "business" | "enterprise" | "none";
310
+ enabledModels?: string[];
311
+ };
312
+ };
313
+ models: {
314
+ sisyphus: string;
315
+ oracle: string;
316
+ librarian: string;
317
+ frontend?: string;
318
+ documentWriter?: string;
319
+ multimodalLooker?: string;
320
+ settings?: {
321
+ sisyphus?: AgentSettings;
322
+ oracle?: AgentSettings;
323
+ librarian?: AgentSettings;
324
+ frontend?: AgentSettings;
325
+ documentWriter?: AgentSettings;
326
+ multimodalLooker?: AgentSettings;
327
+ explore?: AgentSettings;
328
+ overrides?: Record<string, AgentSettings>;
329
+ };
330
+ custom?: CustomModelDefinition[];
331
+ };
332
+ /** GitHub Issues integration (new in v0.3.0) */
333
+ github?: GitHubConfig;
334
+ /** TDD cycle enforcement (new in v0.3.0) */
335
+ tdd?: TddConfig;
336
+ /** Event Modeling integration (new in v0.3.0) */
337
+ eventModeling?: EventModelingConfig;
338
+ /** Git workflow configuration (new in v0.3.0) */
339
+ git?: GitConfig;
340
+ /**
341
+ * @deprecated Use `github` instead. Will be removed in v0.4.0.
342
+ */
343
+ bmad?: LegacyBmadConfig;
344
+ /** Feature flags */
345
+ features: SdlcFeatures | LegacyFeatures;
346
+ /** MCP server configuration */
347
+ mcps: McpConfig | LegacyMcpConfig;
348
+ /** Provider routing configuration */
349
+ routing: RoutingConfig;
350
+ }
351
+ /**
352
+ * @deprecated Use GitHubConfig instead. BMAD configuration is no longer supported in v0.3.0+.
353
+ */
354
+ interface LegacyBmadConfig {
355
+ defaultTrack: "quick-flow" | "enterprise";
356
+ autoStatusUpdate: boolean;
357
+ parallelIssueLimit: number;
358
+ paths?: {
359
+ prd?: string | null;
360
+ architecture?: string | null;
361
+ };
362
+ }
363
+ /**
364
+ * @deprecated Use SdlcFeatures instead. Legacy feature flags from pre-0.3.0.
365
+ */
366
+ interface LegacyFeatures {
367
+ bmadBridge: boolean;
368
+ autoStatus: boolean;
369
+ parallelExecution: boolean;
370
+ notifications: boolean;
371
+ contextMonitor: boolean;
372
+ commentChecker: boolean;
373
+ lspTools: boolean;
374
+ autoGitOperations: boolean;
375
+ todoSync: boolean;
376
+ }
377
+ /**
378
+ * @deprecated Use McpConfig instead. Legacy MCP config from pre-0.3.0.
379
+ */
380
+ interface LegacyMcpConfig {
381
+ context7: boolean;
382
+ exa: boolean;
383
+ grepApp: boolean;
384
+ }
385
+ /**
386
+ * Prerequisites check result
387
+ */
388
+ interface Prerequisites {
389
+ opencode: {
390
+ installed: boolean;
391
+ version?: string;
392
+ compatible: boolean;
393
+ };
394
+ sdlc: {
395
+ installed: boolean;
396
+ version?: string;
397
+ };
398
+ node: {
399
+ installed: boolean;
400
+ version?: string;
401
+ compatible: boolean;
402
+ };
403
+ }
404
+ /**
405
+ * Tracked GitHub issue state
406
+ */
407
+ interface TrackedIssue {
408
+ issueNumber: number;
409
+ title: string;
410
+ status: string;
411
+ startedAt: string;
412
+ completedAt?: string;
413
+ url?: string;
414
+ body?: string | null;
415
+ }
416
+ /**
417
+ * Issue tracker persistent state
418
+ */
419
+ interface IssueTrackerState {
420
+ currentIssue: TrackedIssue | null;
421
+ sessionId: string;
422
+ projectDir: string;
423
+ history: Array<{
424
+ issueNumber: number;
425
+ status: string;
426
+ timestamp: string;
427
+ }>;
428
+ currentTodos?: OpenCodeTodo[];
429
+ }
430
+ /**
431
+ * Issue tracker persistent state
432
+ */
433
+ interface IssueTrackerState {
434
+ currentIssue: TrackedIssue | null;
435
+ sessionId: string;
436
+ projectDir: string;
437
+ history: Array<{
438
+ issueNumber: number;
439
+ status: string;
440
+ timestamp: string;
441
+ }>;
442
+ currentTodos?: OpenCodeTodo[];
443
+ }
444
+ /**
445
+ * Result from sdlc_get_issue tool
446
+ */
447
+ interface GetIssueResult {
448
+ issueNumber?: number;
449
+ title?: string;
450
+ body?: string;
451
+ url?: string;
452
+ status?: string;
453
+ acceptanceCriteria?: Array<{
454
+ id: string;
455
+ text: string;
456
+ checked: boolean;
457
+ }>;
458
+ instructions?: string;
459
+ error?: string;
460
+ suggestion?: string;
461
+ }
462
+ /**
463
+ * Result from sdlc_get_issue tool
464
+ */
465
+ interface GetIssueResult {
466
+ issueNumber?: number;
467
+ title?: string;
468
+ body?: string;
469
+ url?: string;
470
+ status?: string;
471
+ acceptanceCriteria?: Array<{
472
+ id: string;
473
+ text: string;
474
+ checked: boolean;
475
+ }>;
476
+ instructions?: string;
477
+ error?: string;
478
+ suggestion?: string;
479
+ }
480
+ /**
481
+ * Result from sdlc_update_issue_status tool
482
+ */
483
+ interface UpdateIssueStatusResult {
484
+ success?: boolean;
485
+ issueNumber?: number;
486
+ newStatus?: string;
487
+ updatedAt?: string;
488
+ error?: string;
489
+ suggestion?: string;
490
+ }
491
+ /**
492
+ * Result from sdlc_update_issue_status tool
493
+ */
494
+ interface UpdateIssueStatusResult {
495
+ success?: boolean;
496
+ issueNumber?: number;
497
+ newStatus?: string;
498
+ updatedAt?: string;
499
+ error?: string;
500
+ suggestion?: string;
501
+ }
502
+ /**
503
+ * Result from sdlc_list_issues tool
504
+ */
505
+ interface ListIssuesResult {
506
+ success?: boolean;
507
+ issues?: Array<{
508
+ number: number;
509
+ title: string;
510
+ status: string;
511
+ url?: string;
512
+ }>;
513
+ error?: string;
514
+ suggestion?: string;
515
+ }
516
+ /**
517
+ * Result from sdlc_list_issues tool
518
+ */
519
+ interface ListIssuesResult {
520
+ success?: boolean;
521
+ issues?: Array<{
522
+ number: number;
523
+ title: string;
524
+ status: string;
525
+ url?: string;
526
+ }>;
527
+ error?: string;
528
+ suggestion?: string;
529
+ }
530
+ /**
531
+ * OpenCode todo item format (matches oh-my-opencode/OpenCode schema)
532
+ */
533
+ interface OpenCodeTodo {
534
+ /** Unique identifier for the todo item */
535
+ id: string;
536
+ /** Brief description of the task */
537
+ content: string;
538
+ /** Current status of the task */
539
+ status: TodoStatus;
540
+ /** Priority level of the task */
541
+ priority: TodoPriority;
542
+ }
543
+ /**
544
+ * Valid todo status values
545
+ */
546
+ type TodoStatus = "pending" | "in_progress" | "completed" | "cancelled";
547
+ /**
548
+ * Valid todo priority values
549
+ */
550
+ type TodoPriority = "high" | "medium" | "low";
551
+
552
+ /**
553
+ * Complete SDLC configuration schema (v0.3.0+)
554
+ *
555
+ * Supports transitional state:
556
+ * - New fields (github, tdd, eventModeling, git) are optional during migration
557
+ * - Old field (bmad) is optional and deprecated
558
+ * - Features/MCPs support both old and new structures via union
559
+ */
560
+ declare const SdlcConfigSchema: z.ZodObject<{
561
+ $schema: z.ZodOptional<z.ZodString>;
562
+ version: z.ZodString;
563
+ subscriptions: z.ZodObject<{
564
+ claude: z.ZodObject<{
565
+ enabled: z.ZodBoolean;
566
+ tier: z.ZodEnum<["max5x", "max20x", "pro", "none"]>;
567
+ }, "strip", z.ZodTypeAny, {
568
+ enabled: boolean;
569
+ tier: "max5x" | "max20x" | "pro" | "none";
570
+ }, {
571
+ enabled: boolean;
572
+ tier: "max5x" | "max20x" | "pro" | "none";
573
+ }>;
574
+ openai: z.ZodObject<{
575
+ enabled: z.ZodBoolean;
576
+ }, "strip", z.ZodTypeAny, {
577
+ enabled: boolean;
578
+ }, {
579
+ enabled: boolean;
580
+ }>;
581
+ google: z.ZodObject<{
582
+ enabled: z.ZodBoolean;
583
+ authMethod: z.ZodEnum<["antigravity", "personal", "api", "none"]>;
584
+ }, "strip", z.ZodTypeAny, {
585
+ enabled: boolean;
586
+ authMethod: "none" | "antigravity" | "personal" | "api";
587
+ }, {
588
+ enabled: boolean;
589
+ authMethod: "none" | "antigravity" | "personal" | "api";
590
+ }>;
591
+ githubCopilot: z.ZodObject<{
592
+ enabled: z.ZodBoolean;
593
+ plan: z.ZodEnum<["free", "pro", "pro-plus", "business", "enterprise", "none"]>;
594
+ enabledModels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
595
+ }, "strip", z.ZodTypeAny, {
596
+ enabled: boolean;
597
+ plan: "pro" | "none" | "free" | "pro-plus" | "business" | "enterprise";
598
+ enabledModels?: string[] | undefined;
599
+ }, {
600
+ enabled: boolean;
601
+ plan: "pro" | "none" | "free" | "pro-plus" | "business" | "enterprise";
602
+ enabledModels?: string[] | undefined;
603
+ }>;
604
+ }, "strip", z.ZodTypeAny, {
605
+ openai: {
606
+ enabled: boolean;
607
+ };
608
+ google: {
609
+ enabled: boolean;
610
+ authMethod: "none" | "antigravity" | "personal" | "api";
611
+ };
612
+ claude: {
613
+ enabled: boolean;
614
+ tier: "max5x" | "max20x" | "pro" | "none";
615
+ };
616
+ githubCopilot: {
617
+ enabled: boolean;
618
+ plan: "pro" | "none" | "free" | "pro-plus" | "business" | "enterprise";
619
+ enabledModels?: string[] | undefined;
620
+ };
621
+ }, {
622
+ openai: {
623
+ enabled: boolean;
624
+ };
625
+ google: {
626
+ enabled: boolean;
627
+ authMethod: "none" | "antigravity" | "personal" | "api";
628
+ };
629
+ claude: {
630
+ enabled: boolean;
631
+ tier: "max5x" | "max20x" | "pro" | "none";
632
+ };
633
+ githubCopilot: {
634
+ enabled: boolean;
635
+ plan: "pro" | "none" | "free" | "pro-plus" | "business" | "enterprise";
636
+ enabledModels?: string[] | undefined;
637
+ };
638
+ }>;
639
+ models: z.ZodObject<{
640
+ sisyphus: z.ZodString;
641
+ oracle: z.ZodString;
642
+ librarian: z.ZodString;
643
+ frontend: z.ZodOptional<z.ZodString>;
644
+ documentWriter: z.ZodOptional<z.ZodString>;
645
+ multimodalLooker: z.ZodOptional<z.ZodString>;
646
+ settings: z.ZodOptional<z.ZodObject<{
647
+ sisyphus: z.ZodOptional<z.ZodObject<{
648
+ temperature: z.ZodOptional<z.ZodNumber>;
649
+ thinkingLevel: z.ZodOptional<z.ZodEnum<["off", "low", "medium", "high"]>>;
650
+ }, "strip", z.ZodTypeAny, {
651
+ temperature?: number | undefined;
652
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
653
+ }, {
654
+ temperature?: number | undefined;
655
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
656
+ }>>;
657
+ oracle: z.ZodOptional<z.ZodObject<{
658
+ temperature: z.ZodOptional<z.ZodNumber>;
659
+ thinkingLevel: z.ZodOptional<z.ZodEnum<["off", "low", "medium", "high"]>>;
660
+ }, "strip", z.ZodTypeAny, {
661
+ temperature?: number | undefined;
662
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
663
+ }, {
664
+ temperature?: number | undefined;
665
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
666
+ }>>;
667
+ librarian: z.ZodOptional<z.ZodObject<{
668
+ temperature: z.ZodOptional<z.ZodNumber>;
669
+ thinkingLevel: z.ZodOptional<z.ZodEnum<["off", "low", "medium", "high"]>>;
670
+ }, "strip", z.ZodTypeAny, {
671
+ temperature?: number | undefined;
672
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
673
+ }, {
674
+ temperature?: number | undefined;
675
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
676
+ }>>;
677
+ frontend: z.ZodOptional<z.ZodObject<{
678
+ temperature: z.ZodOptional<z.ZodNumber>;
679
+ thinkingLevel: z.ZodOptional<z.ZodEnum<["off", "low", "medium", "high"]>>;
680
+ }, "strip", z.ZodTypeAny, {
681
+ temperature?: number | undefined;
682
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
683
+ }, {
684
+ temperature?: number | undefined;
685
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
686
+ }>>;
687
+ documentWriter: z.ZodOptional<z.ZodObject<{
688
+ temperature: z.ZodOptional<z.ZodNumber>;
689
+ thinkingLevel: z.ZodOptional<z.ZodEnum<["off", "low", "medium", "high"]>>;
690
+ }, "strip", z.ZodTypeAny, {
691
+ temperature?: number | undefined;
692
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
693
+ }, {
694
+ temperature?: number | undefined;
695
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
696
+ }>>;
697
+ multimodalLooker: z.ZodOptional<z.ZodObject<{
698
+ temperature: z.ZodOptional<z.ZodNumber>;
699
+ thinkingLevel: z.ZodOptional<z.ZodEnum<["off", "low", "medium", "high"]>>;
700
+ }, "strip", z.ZodTypeAny, {
701
+ temperature?: number | undefined;
702
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
703
+ }, {
704
+ temperature?: number | undefined;
705
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
706
+ }>>;
707
+ overrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
708
+ temperature: z.ZodOptional<z.ZodNumber>;
709
+ thinkingLevel: z.ZodOptional<z.ZodEnum<["off", "low", "medium", "high"]>>;
710
+ }, "strip", z.ZodTypeAny, {
711
+ temperature?: number | undefined;
712
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
713
+ }, {
714
+ temperature?: number | undefined;
715
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
716
+ }>>>;
717
+ }, "strip", z.ZodTypeAny, {
718
+ sisyphus?: {
719
+ temperature?: number | undefined;
720
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
721
+ } | undefined;
722
+ oracle?: {
723
+ temperature?: number | undefined;
724
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
725
+ } | undefined;
726
+ librarian?: {
727
+ temperature?: number | undefined;
728
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
729
+ } | undefined;
730
+ frontend?: {
731
+ temperature?: number | undefined;
732
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
733
+ } | undefined;
734
+ documentWriter?: {
735
+ temperature?: number | undefined;
736
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
737
+ } | undefined;
738
+ multimodalLooker?: {
739
+ temperature?: number | undefined;
740
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
741
+ } | undefined;
742
+ overrides?: Record<string, {
743
+ temperature?: number | undefined;
744
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
745
+ }> | undefined;
746
+ }, {
747
+ sisyphus?: {
748
+ temperature?: number | undefined;
749
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
750
+ } | undefined;
751
+ oracle?: {
752
+ temperature?: number | undefined;
753
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
754
+ } | undefined;
755
+ librarian?: {
756
+ temperature?: number | undefined;
757
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
758
+ } | undefined;
759
+ frontend?: {
760
+ temperature?: number | undefined;
761
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
762
+ } | undefined;
763
+ documentWriter?: {
764
+ temperature?: number | undefined;
765
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
766
+ } | undefined;
767
+ multimodalLooker?: {
768
+ temperature?: number | undefined;
769
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
770
+ } | undefined;
771
+ overrides?: Record<string, {
772
+ temperature?: number | undefined;
773
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
774
+ }> | undefined;
775
+ }>>;
776
+ custom: z.ZodOptional<z.ZodArray<z.ZodObject<{
777
+ id: z.ZodString;
778
+ name: z.ZodString;
779
+ provider: z.ZodEnum<["anthropic", "openai", "google", "github-copilot"]>;
780
+ description: z.ZodOptional<z.ZodString>;
781
+ capabilities: z.ZodOptional<z.ZodObject<{
782
+ thinking: z.ZodOptional<z.ZodBoolean>;
783
+ contextWindow: z.ZodOptional<z.ZodNumber>;
784
+ supportsTemperature: z.ZodOptional<z.ZodBoolean>;
785
+ }, "strip", z.ZodTypeAny, {
786
+ thinking?: boolean | undefined;
787
+ contextWindow?: number | undefined;
788
+ supportsTemperature?: boolean | undefined;
789
+ }, {
790
+ thinking?: boolean | undefined;
791
+ contextWindow?: number | undefined;
792
+ supportsTemperature?: boolean | undefined;
793
+ }>>;
794
+ }, "strip", z.ZodTypeAny, {
795
+ id: string;
796
+ name: string;
797
+ provider: "anthropic" | "openai" | "google" | "github-copilot";
798
+ description?: string | undefined;
799
+ capabilities?: {
800
+ thinking?: boolean | undefined;
801
+ contextWindow?: number | undefined;
802
+ supportsTemperature?: boolean | undefined;
803
+ } | undefined;
804
+ }, {
805
+ id: string;
806
+ name: string;
807
+ provider: "anthropic" | "openai" | "google" | "github-copilot";
808
+ description?: string | undefined;
809
+ capabilities?: {
810
+ thinking?: boolean | undefined;
811
+ contextWindow?: number | undefined;
812
+ supportsTemperature?: boolean | undefined;
813
+ } | undefined;
814
+ }>, "many">>;
815
+ }, "strip", z.ZodTypeAny, {
816
+ sisyphus: string;
817
+ oracle: string;
818
+ librarian: string;
819
+ frontend?: string | undefined;
820
+ documentWriter?: string | undefined;
821
+ multimodalLooker?: string | undefined;
822
+ custom?: {
823
+ id: string;
824
+ name: string;
825
+ provider: "anthropic" | "openai" | "google" | "github-copilot";
826
+ description?: string | undefined;
827
+ capabilities?: {
828
+ thinking?: boolean | undefined;
829
+ contextWindow?: number | undefined;
830
+ supportsTemperature?: boolean | undefined;
831
+ } | undefined;
832
+ }[] | undefined;
833
+ settings?: {
834
+ sisyphus?: {
835
+ temperature?: number | undefined;
836
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
837
+ } | undefined;
838
+ oracle?: {
839
+ temperature?: number | undefined;
840
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
841
+ } | undefined;
842
+ librarian?: {
843
+ temperature?: number | undefined;
844
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
845
+ } | undefined;
846
+ frontend?: {
847
+ temperature?: number | undefined;
848
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
849
+ } | undefined;
850
+ documentWriter?: {
851
+ temperature?: number | undefined;
852
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
853
+ } | undefined;
854
+ multimodalLooker?: {
855
+ temperature?: number | undefined;
856
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
857
+ } | undefined;
858
+ overrides?: Record<string, {
859
+ temperature?: number | undefined;
860
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
861
+ }> | undefined;
862
+ } | undefined;
863
+ }, {
864
+ sisyphus: string;
865
+ oracle: string;
866
+ librarian: string;
867
+ frontend?: string | undefined;
868
+ documentWriter?: string | undefined;
869
+ multimodalLooker?: string | undefined;
870
+ custom?: {
871
+ id: string;
872
+ name: string;
873
+ provider: "anthropic" | "openai" | "google" | "github-copilot";
874
+ description?: string | undefined;
875
+ capabilities?: {
876
+ thinking?: boolean | undefined;
877
+ contextWindow?: number | undefined;
878
+ supportsTemperature?: boolean | undefined;
879
+ } | undefined;
880
+ }[] | undefined;
881
+ settings?: {
882
+ sisyphus?: {
883
+ temperature?: number | undefined;
884
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
885
+ } | undefined;
886
+ oracle?: {
887
+ temperature?: number | undefined;
888
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
889
+ } | undefined;
890
+ librarian?: {
891
+ temperature?: number | undefined;
892
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
893
+ } | undefined;
894
+ frontend?: {
895
+ temperature?: number | undefined;
896
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
897
+ } | undefined;
898
+ documentWriter?: {
899
+ temperature?: number | undefined;
900
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
901
+ } | undefined;
902
+ multimodalLooker?: {
903
+ temperature?: number | undefined;
904
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
905
+ } | undefined;
906
+ overrides?: Record<string, {
907
+ temperature?: number | undefined;
908
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
909
+ }> | undefined;
910
+ } | undefined;
911
+ }>;
912
+ github: z.ZodOptional<z.ZodObject<{
913
+ owner: z.ZodString;
914
+ repo: z.ZodString;
915
+ project: z.ZodOptional<z.ZodNumber>;
916
+ statuses: z.ZodDefault<z.ZodArray<z.ZodEnum<["Backlog", "Ready", "In progress", "In review", "Done"]>, "many">>;
917
+ }, "strip", z.ZodTypeAny, {
918
+ owner: string;
919
+ repo: string;
920
+ statuses: ("Backlog" | "Ready" | "In progress" | "In review" | "Done")[];
921
+ project?: number | undefined;
922
+ }, {
923
+ owner: string;
924
+ repo: string;
925
+ project?: number | undefined;
926
+ statuses?: ("Backlog" | "Ready" | "In progress" | "In review" | "Done")[] | undefined;
927
+ }>>;
928
+ tdd: z.ZodOptional<z.ZodObject<{
929
+ enabled: z.ZodDefault<z.ZodBoolean>;
930
+ verbosity: z.ZodDefault<z.ZodEnum<["silent", "brief", "explain"]>>;
931
+ bypassPatterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
932
+ mutationTesting: z.ZodDefault<z.ZodObject<{
933
+ enabled: z.ZodDefault<z.ZodBoolean>;
934
+ requiredScore: z.ZodDefault<z.ZodNumber>;
935
+ }, "strip", z.ZodTypeAny, {
936
+ enabled: boolean;
937
+ requiredScore: number;
938
+ }, {
939
+ enabled?: boolean | undefined;
940
+ requiredScore?: number | undefined;
941
+ }>>;
942
+ }, "strip", z.ZodTypeAny, {
943
+ enabled: boolean;
944
+ verbosity: "silent" | "brief" | "explain";
945
+ bypassPatterns: string[];
946
+ mutationTesting: {
947
+ enabled: boolean;
948
+ requiredScore: number;
949
+ };
950
+ }, {
951
+ enabled?: boolean | undefined;
952
+ verbosity?: "silent" | "brief" | "explain" | undefined;
953
+ bypassPatterns?: string[] | undefined;
954
+ mutationTesting?: {
955
+ enabled?: boolean | undefined;
956
+ requiredScore?: number | undefined;
957
+ } | undefined;
958
+ }>>;
959
+ eventModeling: z.ZodOptional<z.ZodObject<{
960
+ enabled: z.ZodDefault<z.ZodBoolean>;
961
+ outputPath: z.ZodDefault<z.ZodString>;
962
+ }, "strip", z.ZodTypeAny, {
963
+ outputPath: string;
964
+ enabled: boolean;
965
+ }, {
966
+ outputPath?: string | undefined;
967
+ enabled?: boolean | undefined;
968
+ }>>;
969
+ git: z.ZodOptional<z.ZodObject<{
970
+ workflow: z.ZodDefault<z.ZodEnum<["standard", "git-spice"]>>;
971
+ requireClean: z.ZodDefault<z.ZodBoolean>;
972
+ worktrees: z.ZodDefault<z.ZodBoolean>;
973
+ }, "strip", z.ZodTypeAny, {
974
+ workflow: "standard" | "git-spice";
975
+ requireClean: boolean;
976
+ worktrees: boolean;
977
+ }, {
978
+ workflow?: "standard" | "git-spice" | undefined;
979
+ requireClean?: boolean | undefined;
980
+ worktrees?: boolean | undefined;
981
+ }>>;
982
+ bmad: z.ZodOptional<z.ZodObject<{
983
+ defaultTrack: z.ZodEnum<["quick-flow", "enterprise"]>;
984
+ autoStatusUpdate: z.ZodBoolean;
985
+ parallelIssueLimit: z.ZodNumber;
986
+ paths: z.ZodOptional<z.ZodObject<{
987
+ prd: z.ZodOptional<z.ZodNullable<z.ZodString>>;
988
+ architecture: z.ZodOptional<z.ZodNullable<z.ZodString>>;
989
+ }, "strip", z.ZodTypeAny, {
990
+ prd?: string | null | undefined;
991
+ architecture?: string | null | undefined;
992
+ }, {
993
+ prd?: string | null | undefined;
994
+ architecture?: string | null | undefined;
995
+ }>>;
996
+ }, "strip", z.ZodTypeAny, {
997
+ defaultTrack: "enterprise" | "quick-flow";
998
+ autoStatusUpdate: boolean;
999
+ parallelIssueLimit: number;
1000
+ paths?: {
1001
+ prd?: string | null | undefined;
1002
+ architecture?: string | null | undefined;
1003
+ } | undefined;
1004
+ }, {
1005
+ defaultTrack: "enterprise" | "quick-flow";
1006
+ autoStatusUpdate: boolean;
1007
+ parallelIssueLimit: number;
1008
+ paths?: {
1009
+ prd?: string | null | undefined;
1010
+ architecture?: string | null | undefined;
1011
+ } | undefined;
1012
+ }>>;
1013
+ features: z.ZodUnion<[z.ZodObject<{
1014
+ orchestratorOnly: z.ZodDefault<z.ZodBoolean>;
1015
+ todoSync: z.ZodDefault<z.ZodBoolean>;
1016
+ partyReview: z.ZodDefault<z.ZodBoolean>;
1017
+ debuggingProtocol: z.ZodDefault<z.ZodBoolean>;
1018
+ memento: z.ZodDefault<z.ZodBoolean>;
1019
+ notifications: z.ZodDefault<z.ZodBoolean>;
1020
+ lspTools: z.ZodDefault<z.ZodBoolean>;
1021
+ }, "strip", z.ZodTypeAny, {
1022
+ notifications: boolean;
1023
+ orchestratorOnly: boolean;
1024
+ todoSync: boolean;
1025
+ partyReview: boolean;
1026
+ debuggingProtocol: boolean;
1027
+ memento: boolean;
1028
+ lspTools: boolean;
1029
+ }, {
1030
+ notifications?: boolean | undefined;
1031
+ orchestratorOnly?: boolean | undefined;
1032
+ todoSync?: boolean | undefined;
1033
+ partyReview?: boolean | undefined;
1034
+ debuggingProtocol?: boolean | undefined;
1035
+ memento?: boolean | undefined;
1036
+ lspTools?: boolean | undefined;
1037
+ }>, z.ZodObject<{
1038
+ bmadBridge: z.ZodBoolean;
1039
+ autoStatus: z.ZodBoolean;
1040
+ parallelExecution: z.ZodBoolean;
1041
+ notifications: z.ZodBoolean;
1042
+ contextMonitor: z.ZodBoolean;
1043
+ commentChecker: z.ZodBoolean;
1044
+ lspTools: z.ZodBoolean;
1045
+ autoGitOperations: z.ZodDefault<z.ZodBoolean>;
1046
+ todoSync: z.ZodDefault<z.ZodBoolean>;
1047
+ }, "strip", z.ZodTypeAny, {
1048
+ notifications: boolean;
1049
+ autoGitOperations: boolean;
1050
+ todoSync: boolean;
1051
+ lspTools: boolean;
1052
+ bmadBridge: boolean;
1053
+ autoStatus: boolean;
1054
+ parallelExecution: boolean;
1055
+ contextMonitor: boolean;
1056
+ commentChecker: boolean;
1057
+ }, {
1058
+ notifications: boolean;
1059
+ lspTools: boolean;
1060
+ bmadBridge: boolean;
1061
+ autoStatus: boolean;
1062
+ parallelExecution: boolean;
1063
+ contextMonitor: boolean;
1064
+ commentChecker: boolean;
1065
+ autoGitOperations?: boolean | undefined;
1066
+ todoSync?: boolean | undefined;
1067
+ }>]>;
1068
+ mcps: z.ZodUnion<[z.ZodObject<{
1069
+ context7: z.ZodDefault<z.ZodBoolean>;
1070
+ exa: z.ZodDefault<z.ZodBoolean>;
1071
+ grepApp: z.ZodDefault<z.ZodBoolean>;
1072
+ memento: z.ZodDefault<z.ZodBoolean>;
1073
+ }, "strip", z.ZodTypeAny, {
1074
+ memento: boolean;
1075
+ context7: boolean;
1076
+ exa: boolean;
1077
+ grepApp: boolean;
1078
+ }, {
1079
+ memento?: boolean | undefined;
1080
+ context7?: boolean | undefined;
1081
+ exa?: boolean | undefined;
1082
+ grepApp?: boolean | undefined;
1083
+ }>, z.ZodObject<{
1084
+ context7: z.ZodBoolean;
1085
+ exa: z.ZodBoolean;
1086
+ grepApp: z.ZodBoolean;
1087
+ }, "strip", z.ZodTypeAny, {
1088
+ context7: boolean;
1089
+ exa: boolean;
1090
+ grepApp: boolean;
1091
+ }, {
1092
+ context7: boolean;
1093
+ exa: boolean;
1094
+ grepApp: boolean;
1095
+ }>]>;
1096
+ routing: z.ZodObject<{
1097
+ providerPriority: z.ZodArray<z.ZodEnum<["anthropic", "openai", "google", "github-copilot"]>, "many">;
1098
+ modelFamilyPriority: z.ZodObject<{
1099
+ claude: z.ZodOptional<z.ZodArray<z.ZodEnum<["anthropic", "openai", "google", "github-copilot"]>, "many">>;
1100
+ gpt: z.ZodOptional<z.ZodArray<z.ZodEnum<["anthropic", "openai", "google", "github-copilot"]>, "many">>;
1101
+ gemini: z.ZodOptional<z.ZodArray<z.ZodEnum<["anthropic", "openai", "google", "github-copilot"]>, "many">>;
1102
+ }, "strip", z.ZodTypeAny, {
1103
+ claude?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1104
+ gpt?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1105
+ gemini?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1106
+ }, {
1107
+ claude?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1108
+ gpt?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1109
+ gemini?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1110
+ }>;
1111
+ agentOverrides: z.ZodObject<{
1112
+ sisyphus: z.ZodOptional<z.ZodObject<{
1113
+ requiresThinking: z.ZodOptional<z.ZodBoolean>;
1114
+ preferProvider: z.ZodOptional<z.ZodEnum<["anthropic", "openai", "google", "github-copilot"]>>;
1115
+ }, "strip", z.ZodTypeAny, {
1116
+ requiresThinking?: boolean | undefined;
1117
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1118
+ }, {
1119
+ requiresThinking?: boolean | undefined;
1120
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1121
+ }>>;
1122
+ oracle: z.ZodOptional<z.ZodObject<{
1123
+ requiresThinking: z.ZodOptional<z.ZodBoolean>;
1124
+ preferProvider: z.ZodOptional<z.ZodEnum<["anthropic", "openai", "google", "github-copilot"]>>;
1125
+ }, "strip", z.ZodTypeAny, {
1126
+ requiresThinking?: boolean | undefined;
1127
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1128
+ }, {
1129
+ requiresThinking?: boolean | undefined;
1130
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1131
+ }>>;
1132
+ librarian: z.ZodOptional<z.ZodObject<{
1133
+ requiresThinking: z.ZodOptional<z.ZodBoolean>;
1134
+ preferProvider: z.ZodOptional<z.ZodEnum<["anthropic", "openai", "google", "github-copilot"]>>;
1135
+ }, "strip", z.ZodTypeAny, {
1136
+ requiresThinking?: boolean | undefined;
1137
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1138
+ }, {
1139
+ requiresThinking?: boolean | undefined;
1140
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1141
+ }>>;
1142
+ frontend: z.ZodOptional<z.ZodObject<{
1143
+ requiresThinking: z.ZodOptional<z.ZodBoolean>;
1144
+ preferProvider: z.ZodOptional<z.ZodEnum<["anthropic", "openai", "google", "github-copilot"]>>;
1145
+ }, "strip", z.ZodTypeAny, {
1146
+ requiresThinking?: boolean | undefined;
1147
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1148
+ }, {
1149
+ requiresThinking?: boolean | undefined;
1150
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1151
+ }>>;
1152
+ documentWriter: z.ZodOptional<z.ZodObject<{
1153
+ requiresThinking: z.ZodOptional<z.ZodBoolean>;
1154
+ preferProvider: z.ZodOptional<z.ZodEnum<["anthropic", "openai", "google", "github-copilot"]>>;
1155
+ }, "strip", z.ZodTypeAny, {
1156
+ requiresThinking?: boolean | undefined;
1157
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1158
+ }, {
1159
+ requiresThinking?: boolean | undefined;
1160
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1161
+ }>>;
1162
+ multimodalLooker: z.ZodOptional<z.ZodObject<{
1163
+ requiresThinking: z.ZodOptional<z.ZodBoolean>;
1164
+ preferProvider: z.ZodOptional<z.ZodEnum<["anthropic", "openai", "google", "github-copilot"]>>;
1165
+ }, "strip", z.ZodTypeAny, {
1166
+ requiresThinking?: boolean | undefined;
1167
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1168
+ }, {
1169
+ requiresThinking?: boolean | undefined;
1170
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1171
+ }>>;
1172
+ }, "strip", z.ZodTypeAny, {
1173
+ sisyphus?: {
1174
+ requiresThinking?: boolean | undefined;
1175
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1176
+ } | undefined;
1177
+ oracle?: {
1178
+ requiresThinking?: boolean | undefined;
1179
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1180
+ } | undefined;
1181
+ librarian?: {
1182
+ requiresThinking?: boolean | undefined;
1183
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1184
+ } | undefined;
1185
+ frontend?: {
1186
+ requiresThinking?: boolean | undefined;
1187
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1188
+ } | undefined;
1189
+ documentWriter?: {
1190
+ requiresThinking?: boolean | undefined;
1191
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1192
+ } | undefined;
1193
+ multimodalLooker?: {
1194
+ requiresThinking?: boolean | undefined;
1195
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1196
+ } | undefined;
1197
+ }, {
1198
+ sisyphus?: {
1199
+ requiresThinking?: boolean | undefined;
1200
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1201
+ } | undefined;
1202
+ oracle?: {
1203
+ requiresThinking?: boolean | undefined;
1204
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1205
+ } | undefined;
1206
+ librarian?: {
1207
+ requiresThinking?: boolean | undefined;
1208
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1209
+ } | undefined;
1210
+ frontend?: {
1211
+ requiresThinking?: boolean | undefined;
1212
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1213
+ } | undefined;
1214
+ documentWriter?: {
1215
+ requiresThinking?: boolean | undefined;
1216
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1217
+ } | undefined;
1218
+ multimodalLooker?: {
1219
+ requiresThinking?: boolean | undefined;
1220
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1221
+ } | undefined;
1222
+ }>;
1223
+ fallbackBehavior: z.ZodObject<{
1224
+ autoFallback: z.ZodBoolean;
1225
+ retryPeriodMs: z.ZodNumber;
1226
+ notifyOnRateLimit: z.ZodBoolean;
1227
+ }, "strip", z.ZodTypeAny, {
1228
+ autoFallback: boolean;
1229
+ retryPeriodMs: number;
1230
+ notifyOnRateLimit: boolean;
1231
+ }, {
1232
+ autoFallback: boolean;
1233
+ retryPeriodMs: number;
1234
+ notifyOnRateLimit: boolean;
1235
+ }>;
1236
+ }, "strip", z.ZodTypeAny, {
1237
+ providerPriority: ("anthropic" | "openai" | "google" | "github-copilot")[];
1238
+ modelFamilyPriority: {
1239
+ claude?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1240
+ gpt?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1241
+ gemini?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1242
+ };
1243
+ agentOverrides: {
1244
+ sisyphus?: {
1245
+ requiresThinking?: boolean | undefined;
1246
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1247
+ } | undefined;
1248
+ oracle?: {
1249
+ requiresThinking?: boolean | undefined;
1250
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1251
+ } | undefined;
1252
+ librarian?: {
1253
+ requiresThinking?: boolean | undefined;
1254
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1255
+ } | undefined;
1256
+ frontend?: {
1257
+ requiresThinking?: boolean | undefined;
1258
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1259
+ } | undefined;
1260
+ documentWriter?: {
1261
+ requiresThinking?: boolean | undefined;
1262
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1263
+ } | undefined;
1264
+ multimodalLooker?: {
1265
+ requiresThinking?: boolean | undefined;
1266
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1267
+ } | undefined;
1268
+ };
1269
+ fallbackBehavior: {
1270
+ autoFallback: boolean;
1271
+ retryPeriodMs: number;
1272
+ notifyOnRateLimit: boolean;
1273
+ };
1274
+ }, {
1275
+ providerPriority: ("anthropic" | "openai" | "google" | "github-copilot")[];
1276
+ modelFamilyPriority: {
1277
+ claude?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1278
+ gpt?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1279
+ gemini?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1280
+ };
1281
+ agentOverrides: {
1282
+ sisyphus?: {
1283
+ requiresThinking?: boolean | undefined;
1284
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1285
+ } | undefined;
1286
+ oracle?: {
1287
+ requiresThinking?: boolean | undefined;
1288
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1289
+ } | undefined;
1290
+ librarian?: {
1291
+ requiresThinking?: boolean | undefined;
1292
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1293
+ } | undefined;
1294
+ frontend?: {
1295
+ requiresThinking?: boolean | undefined;
1296
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1297
+ } | undefined;
1298
+ documentWriter?: {
1299
+ requiresThinking?: boolean | undefined;
1300
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1301
+ } | undefined;
1302
+ multimodalLooker?: {
1303
+ requiresThinking?: boolean | undefined;
1304
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1305
+ } | undefined;
1306
+ };
1307
+ fallbackBehavior: {
1308
+ autoFallback: boolean;
1309
+ retryPeriodMs: number;
1310
+ notifyOnRateLimit: boolean;
1311
+ };
1312
+ }>;
1313
+ }, "strip", z.ZodTypeAny, {
1314
+ subscriptions: {
1315
+ openai: {
1316
+ enabled: boolean;
1317
+ };
1318
+ google: {
1319
+ enabled: boolean;
1320
+ authMethod: "none" | "antigravity" | "personal" | "api";
1321
+ };
1322
+ claude: {
1323
+ enabled: boolean;
1324
+ tier: "max5x" | "max20x" | "pro" | "none";
1325
+ };
1326
+ githubCopilot: {
1327
+ enabled: boolean;
1328
+ plan: "pro" | "none" | "free" | "pro-plus" | "business" | "enterprise";
1329
+ enabledModels?: string[] | undefined;
1330
+ };
1331
+ };
1332
+ models: {
1333
+ sisyphus: string;
1334
+ oracle: string;
1335
+ librarian: string;
1336
+ frontend?: string | undefined;
1337
+ documentWriter?: string | undefined;
1338
+ multimodalLooker?: string | undefined;
1339
+ custom?: {
1340
+ id: string;
1341
+ name: string;
1342
+ provider: "anthropic" | "openai" | "google" | "github-copilot";
1343
+ description?: string | undefined;
1344
+ capabilities?: {
1345
+ thinking?: boolean | undefined;
1346
+ contextWindow?: number | undefined;
1347
+ supportsTemperature?: boolean | undefined;
1348
+ } | undefined;
1349
+ }[] | undefined;
1350
+ settings?: {
1351
+ sisyphus?: {
1352
+ temperature?: number | undefined;
1353
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1354
+ } | undefined;
1355
+ oracle?: {
1356
+ temperature?: number | undefined;
1357
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1358
+ } | undefined;
1359
+ librarian?: {
1360
+ temperature?: number | undefined;
1361
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1362
+ } | undefined;
1363
+ frontend?: {
1364
+ temperature?: number | undefined;
1365
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1366
+ } | undefined;
1367
+ documentWriter?: {
1368
+ temperature?: number | undefined;
1369
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1370
+ } | undefined;
1371
+ multimodalLooker?: {
1372
+ temperature?: number | undefined;
1373
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1374
+ } | undefined;
1375
+ overrides?: Record<string, {
1376
+ temperature?: number | undefined;
1377
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1378
+ }> | undefined;
1379
+ } | undefined;
1380
+ };
1381
+ features: {
1382
+ notifications: boolean;
1383
+ orchestratorOnly: boolean;
1384
+ todoSync: boolean;
1385
+ partyReview: boolean;
1386
+ debuggingProtocol: boolean;
1387
+ memento: boolean;
1388
+ lspTools: boolean;
1389
+ } | {
1390
+ notifications: boolean;
1391
+ autoGitOperations: boolean;
1392
+ todoSync: boolean;
1393
+ lspTools: boolean;
1394
+ bmadBridge: boolean;
1395
+ autoStatus: boolean;
1396
+ parallelExecution: boolean;
1397
+ contextMonitor: boolean;
1398
+ commentChecker: boolean;
1399
+ };
1400
+ mcps: {
1401
+ memento: boolean;
1402
+ context7: boolean;
1403
+ exa: boolean;
1404
+ grepApp: boolean;
1405
+ } | {
1406
+ context7: boolean;
1407
+ exa: boolean;
1408
+ grepApp: boolean;
1409
+ };
1410
+ version: string;
1411
+ routing: {
1412
+ providerPriority: ("anthropic" | "openai" | "google" | "github-copilot")[];
1413
+ modelFamilyPriority: {
1414
+ claude?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1415
+ gpt?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1416
+ gemini?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1417
+ };
1418
+ agentOverrides: {
1419
+ sisyphus?: {
1420
+ requiresThinking?: boolean | undefined;
1421
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1422
+ } | undefined;
1423
+ oracle?: {
1424
+ requiresThinking?: boolean | undefined;
1425
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1426
+ } | undefined;
1427
+ librarian?: {
1428
+ requiresThinking?: boolean | undefined;
1429
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1430
+ } | undefined;
1431
+ frontend?: {
1432
+ requiresThinking?: boolean | undefined;
1433
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1434
+ } | undefined;
1435
+ documentWriter?: {
1436
+ requiresThinking?: boolean | undefined;
1437
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1438
+ } | undefined;
1439
+ multimodalLooker?: {
1440
+ requiresThinking?: boolean | undefined;
1441
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1442
+ } | undefined;
1443
+ };
1444
+ fallbackBehavior: {
1445
+ autoFallback: boolean;
1446
+ retryPeriodMs: number;
1447
+ notifyOnRateLimit: boolean;
1448
+ };
1449
+ };
1450
+ bmad?: {
1451
+ defaultTrack: "enterprise" | "quick-flow";
1452
+ autoStatusUpdate: boolean;
1453
+ parallelIssueLimit: number;
1454
+ paths?: {
1455
+ prd?: string | null | undefined;
1456
+ architecture?: string | null | undefined;
1457
+ } | undefined;
1458
+ } | undefined;
1459
+ $schema?: string | undefined;
1460
+ github?: {
1461
+ owner: string;
1462
+ repo: string;
1463
+ statuses: ("Backlog" | "Ready" | "In progress" | "In review" | "Done")[];
1464
+ project?: number | undefined;
1465
+ } | undefined;
1466
+ tdd?: {
1467
+ enabled: boolean;
1468
+ verbosity: "silent" | "brief" | "explain";
1469
+ bypassPatterns: string[];
1470
+ mutationTesting: {
1471
+ enabled: boolean;
1472
+ requiredScore: number;
1473
+ };
1474
+ } | undefined;
1475
+ eventModeling?: {
1476
+ outputPath: string;
1477
+ enabled: boolean;
1478
+ } | undefined;
1479
+ git?: {
1480
+ workflow: "standard" | "git-spice";
1481
+ requireClean: boolean;
1482
+ worktrees: boolean;
1483
+ } | undefined;
1484
+ }, {
1485
+ subscriptions: {
1486
+ openai: {
1487
+ enabled: boolean;
1488
+ };
1489
+ google: {
1490
+ enabled: boolean;
1491
+ authMethod: "none" | "antigravity" | "personal" | "api";
1492
+ };
1493
+ claude: {
1494
+ enabled: boolean;
1495
+ tier: "max5x" | "max20x" | "pro" | "none";
1496
+ };
1497
+ githubCopilot: {
1498
+ enabled: boolean;
1499
+ plan: "pro" | "none" | "free" | "pro-plus" | "business" | "enterprise";
1500
+ enabledModels?: string[] | undefined;
1501
+ };
1502
+ };
1503
+ models: {
1504
+ sisyphus: string;
1505
+ oracle: string;
1506
+ librarian: string;
1507
+ frontend?: string | undefined;
1508
+ documentWriter?: string | undefined;
1509
+ multimodalLooker?: string | undefined;
1510
+ custom?: {
1511
+ id: string;
1512
+ name: string;
1513
+ provider: "anthropic" | "openai" | "google" | "github-copilot";
1514
+ description?: string | undefined;
1515
+ capabilities?: {
1516
+ thinking?: boolean | undefined;
1517
+ contextWindow?: number | undefined;
1518
+ supportsTemperature?: boolean | undefined;
1519
+ } | undefined;
1520
+ }[] | undefined;
1521
+ settings?: {
1522
+ sisyphus?: {
1523
+ temperature?: number | undefined;
1524
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1525
+ } | undefined;
1526
+ oracle?: {
1527
+ temperature?: number | undefined;
1528
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1529
+ } | undefined;
1530
+ librarian?: {
1531
+ temperature?: number | undefined;
1532
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1533
+ } | undefined;
1534
+ frontend?: {
1535
+ temperature?: number | undefined;
1536
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1537
+ } | undefined;
1538
+ documentWriter?: {
1539
+ temperature?: number | undefined;
1540
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1541
+ } | undefined;
1542
+ multimodalLooker?: {
1543
+ temperature?: number | undefined;
1544
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1545
+ } | undefined;
1546
+ overrides?: Record<string, {
1547
+ temperature?: number | undefined;
1548
+ thinkingLevel?: "off" | "low" | "medium" | "high" | undefined;
1549
+ }> | undefined;
1550
+ } | undefined;
1551
+ };
1552
+ features: {
1553
+ notifications?: boolean | undefined;
1554
+ orchestratorOnly?: boolean | undefined;
1555
+ todoSync?: boolean | undefined;
1556
+ partyReview?: boolean | undefined;
1557
+ debuggingProtocol?: boolean | undefined;
1558
+ memento?: boolean | undefined;
1559
+ lspTools?: boolean | undefined;
1560
+ } | {
1561
+ notifications: boolean;
1562
+ lspTools: boolean;
1563
+ bmadBridge: boolean;
1564
+ autoStatus: boolean;
1565
+ parallelExecution: boolean;
1566
+ contextMonitor: boolean;
1567
+ commentChecker: boolean;
1568
+ autoGitOperations?: boolean | undefined;
1569
+ todoSync?: boolean | undefined;
1570
+ };
1571
+ mcps: {
1572
+ memento?: boolean | undefined;
1573
+ context7?: boolean | undefined;
1574
+ exa?: boolean | undefined;
1575
+ grepApp?: boolean | undefined;
1576
+ } | {
1577
+ context7: boolean;
1578
+ exa: boolean;
1579
+ grepApp: boolean;
1580
+ };
1581
+ version: string;
1582
+ routing: {
1583
+ providerPriority: ("anthropic" | "openai" | "google" | "github-copilot")[];
1584
+ modelFamilyPriority: {
1585
+ claude?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1586
+ gpt?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1587
+ gemini?: ("anthropic" | "openai" | "google" | "github-copilot")[] | undefined;
1588
+ };
1589
+ agentOverrides: {
1590
+ sisyphus?: {
1591
+ requiresThinking?: boolean | undefined;
1592
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1593
+ } | undefined;
1594
+ oracle?: {
1595
+ requiresThinking?: boolean | undefined;
1596
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1597
+ } | undefined;
1598
+ librarian?: {
1599
+ requiresThinking?: boolean | undefined;
1600
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1601
+ } | undefined;
1602
+ frontend?: {
1603
+ requiresThinking?: boolean | undefined;
1604
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1605
+ } | undefined;
1606
+ documentWriter?: {
1607
+ requiresThinking?: boolean | undefined;
1608
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1609
+ } | undefined;
1610
+ multimodalLooker?: {
1611
+ requiresThinking?: boolean | undefined;
1612
+ preferProvider?: "anthropic" | "openai" | "google" | "github-copilot" | undefined;
1613
+ } | undefined;
1614
+ };
1615
+ fallbackBehavior: {
1616
+ autoFallback: boolean;
1617
+ retryPeriodMs: number;
1618
+ notifyOnRateLimit: boolean;
1619
+ };
1620
+ };
1621
+ bmad?: {
1622
+ defaultTrack: "enterprise" | "quick-flow";
1623
+ autoStatusUpdate: boolean;
1624
+ parallelIssueLimit: number;
1625
+ paths?: {
1626
+ prd?: string | null | undefined;
1627
+ architecture?: string | null | undefined;
1628
+ } | undefined;
1629
+ } | undefined;
1630
+ $schema?: string | undefined;
1631
+ github?: {
1632
+ owner: string;
1633
+ repo: string;
1634
+ project?: number | undefined;
1635
+ statuses?: ("Backlog" | "Ready" | "In progress" | "In review" | "Done")[] | undefined;
1636
+ } | undefined;
1637
+ tdd?: {
1638
+ enabled?: boolean | undefined;
1639
+ verbosity?: "silent" | "brief" | "explain" | undefined;
1640
+ bypassPatterns?: string[] | undefined;
1641
+ mutationTesting?: {
1642
+ enabled?: boolean | undefined;
1643
+ requiredScore?: number | undefined;
1644
+ } | undefined;
1645
+ } | undefined;
1646
+ eventModeling?: {
1647
+ outputPath?: string | undefined;
1648
+ enabled?: boolean | undefined;
1649
+ } | undefined;
1650
+ git?: {
1651
+ workflow?: "standard" | "git-spice" | undefined;
1652
+ requireClean?: boolean | undefined;
1653
+ worktrees?: boolean | undefined;
1654
+ } | undefined;
1655
+ }>;
1656
+ /**
1657
+ * Schema for sdlc_get_issue arguments
1658
+ */
1659
+ declare const GetIssueArgsSchema: z.ZodObject<{
1660
+ issueNumber: z.ZodOptional<z.ZodNumber>;
1661
+ }, "strip", z.ZodTypeAny, {
1662
+ issueNumber?: number | undefined;
1663
+ }, {
1664
+ issueNumber?: number | undefined;
1665
+ }>;
1666
+ /**
1667
+ * Schema for sdlc_update_issue_status arguments
1668
+ */
1669
+ declare const UpdateIssueStatusArgsSchema: z.ZodObject<{
1670
+ issueNumber: z.ZodNumber;
1671
+ status: z.ZodString;
1672
+ }, "strip", z.ZodTypeAny, {
1673
+ issueNumber: number;
1674
+ status: string;
1675
+ }, {
1676
+ issueNumber: number;
1677
+ status: string;
1678
+ }>;
1679
+ /**
1680
+ * Schema for sdlc_list_issues arguments
1681
+ */
1682
+ declare const ListIssuesArgsSchema: z.ZodObject<{
1683
+ status: z.ZodOptional<z.ZodString>;
1684
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1685
+ }, "strip", z.ZodTypeAny, {
1686
+ limit: number;
1687
+ status?: string | undefined;
1688
+ }, {
1689
+ status?: string | undefined;
1690
+ limit?: number | undefined;
1691
+ }>;
1692
+
1693
+ /**
1694
+ * Current version of OpenCode SDLC Plugin
1695
+ * Dynamically read from package.json
1696
+ */
1697
+ declare const VERSION: string;
1698
+ /**
1699
+ * Package name for CLI display
1700
+ */
1701
+ declare const PACKAGE_NAME = "opencode-sdlc-plugin";
1702
+ /**
1703
+ * CLI display name
1704
+ */
1705
+ declare const DISPLAY_NAME = "OpenCode SDLC";
1706
+ /**
1707
+ * Configuration paths
1708
+ */
1709
+ declare const CONFIG_PATHS: {
1710
+ /** Global OpenCode config directory */
1711
+ readonly globalConfigDir: string;
1712
+ /** Global SDLC config file */
1713
+ readonly globalSdlcConfig: string;
1714
+ /** Global OpenCode config file */
1715
+ readonly globalOpencodeConfig: string;
1716
+ /** Global oh-my-opencode config file */
1717
+ readonly globalOmoConfig: string;
1718
+ /** Commands directory */
1719
+ readonly commandsDir: string;
1720
+ /** Plugin directory */
1721
+ readonly pluginDir: string;
1722
+ /** SDLC internal files directory (state, backups) */
1723
+ readonly sdlcDir: string;
1724
+ /** SDLC backups directory */
1725
+ readonly backupsDir: string;
1726
+ /** SDLC state file (for issue tracking) */
1727
+ readonly stateFile: string;
1728
+ /** Legacy state file path (for migration) */
1729
+ readonly legacyStateFile: string;
1730
+ };
1731
+ /**
1732
+ * Project-specific paths (relative to project root)
1733
+ */
1734
+ declare const PROJECT_PATHS: {
1735
+ /** Local SDLC config */
1736
+ readonly localConfig: ".opencode/sdlc.json";
1737
+ };
1738
+ /**
1739
+ * Default configuration values (v0.3.0+)
1740
+ */
1741
+ declare const DEFAULTS: {
1742
+ /** Default TDD configuration */
1743
+ readonly tdd: {
1744
+ readonly enabled: true;
1745
+ readonly verbosity: "brief";
1746
+ readonly bypassPatterns: readonly ["*.config.*", "*.json", "*.md", "*.yaml", "*.yml"];
1747
+ readonly mutationTesting: {
1748
+ readonly enabled: false;
1749
+ readonly requiredScore: 80;
1750
+ };
1751
+ };
1752
+ /** Default Event Modeling configuration */
1753
+ readonly eventModeling: {
1754
+ readonly enabled: false;
1755
+ readonly outputPath: "docs/event-model";
1756
+ };
1757
+ /** Default Git configuration */
1758
+ readonly git: {
1759
+ readonly workflow: "standard";
1760
+ readonly requireClean: true;
1761
+ readonly worktrees: false;
1762
+ };
1763
+ /** Default features enabled (v0.3.0+) */
1764
+ readonly features: {
1765
+ readonly orchestratorOnly: false;
1766
+ readonly todoSync: true;
1767
+ readonly partyReview: true;
1768
+ readonly debuggingProtocol: true;
1769
+ readonly memento: false;
1770
+ readonly notifications: true;
1771
+ readonly lspTools: true;
1772
+ };
1773
+ /** Default MCPs enabled (v0.3.0+) */
1774
+ readonly mcps: {
1775
+ readonly context7: true;
1776
+ readonly exa: true;
1777
+ readonly grepApp: true;
1778
+ readonly memento: false;
1779
+ };
1780
+ };
1781
+
1782
+ export { CONFIG_PATHS, DEFAULTS, DISPLAY_NAME, GetIssueArgsSchema, type GetIssueResult, type InstallAnswers, type InstallOptions, type IssueTrackerState, ListIssuesArgsSchema, type ListIssuesResult, PACKAGE_NAME, PROJECT_PATHS, type Prerequisites, type SdlcConfig, SdlcConfigSchema, type TrackedIssue, UpdateIssueStatusArgsSchema, type UpdateIssueStatusResult, VERSION };