@zigrivers/scaffold 3.4.1 → 3.5.1

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 (195) hide show
  1. package/README.md +91 -0
  2. package/content/knowledge/game/game-accessibility.md +328 -0
  3. package/content/knowledge/game/game-ai-patterns.md +567 -0
  4. package/content/knowledge/game/game-asset-pipeline.md +363 -0
  5. package/content/knowledge/game/game-audio-design.md +344 -0
  6. package/content/knowledge/game/game-binary-vcs-strategy.md +396 -0
  7. package/content/knowledge/game/game-design-document.md +269 -0
  8. package/content/knowledge/game/game-domain-patterns.md +299 -0
  9. package/content/knowledge/game/game-economy-design.md +355 -0
  10. package/content/knowledge/game/game-engine-selection.md +242 -0
  11. package/content/knowledge/game/game-input-systems.md +379 -0
  12. package/content/knowledge/game/game-level-content-design.md +483 -0
  13. package/content/knowledge/game/game-liveops-analytics.md +280 -0
  14. package/content/knowledge/game/game-localization.md +323 -0
  15. package/content/knowledge/game/game-milestone-definitions.md +337 -0
  16. package/content/knowledge/game/game-modding-ugc.md +390 -0
  17. package/content/knowledge/game/game-narrative-design.md +404 -0
  18. package/content/knowledge/game/game-networking.md +393 -0
  19. package/content/knowledge/game/game-performance-budgeting.md +389 -0
  20. package/content/knowledge/game/game-platform-certification.md +417 -0
  21. package/content/knowledge/game/game-project-structure.md +360 -0
  22. package/content/knowledge/game/game-save-systems.md +452 -0
  23. package/content/knowledge/game/game-testing-strategy.md +470 -0
  24. package/content/knowledge/game/game-ui-patterns.md +477 -0
  25. package/content/knowledge/game/game-vr-ar-design.md +313 -0
  26. package/content/knowledge/review/review-art-bible.md +305 -0
  27. package/content/knowledge/review/review-game-design.md +303 -0
  28. package/content/knowledge/review/review-game-economy.md +272 -0
  29. package/content/knowledge/review/review-game-ui.md +293 -0
  30. package/content/knowledge/review/review-netcode.md +280 -0
  31. package/content/knowledge/review/review-platform-cert.md +341 -0
  32. package/content/methodology/custom-defaults.yml +25 -0
  33. package/content/methodology/deep.yml +25 -0
  34. package/content/methodology/game-overlay.yml +145 -0
  35. package/content/methodology/mvp.yml +25 -0
  36. package/content/pipeline/architecture/ai-behavior-design.md +87 -0
  37. package/content/pipeline/architecture/netcode-spec.md +86 -0
  38. package/content/pipeline/architecture/review-netcode.md +78 -0
  39. package/content/pipeline/foundation/performance-budgets.md +91 -0
  40. package/content/pipeline/modeling/narrative-bible.md +84 -0
  41. package/content/pipeline/pre/game-design-document.md +90 -0
  42. package/content/pipeline/pre/review-gdd.md +74 -0
  43. package/content/pipeline/quality/analytics-telemetry.md +98 -0
  44. package/content/pipeline/quality/live-ops-plan.md +99 -0
  45. package/content/pipeline/quality/platform-cert-prep.md +129 -0
  46. package/content/pipeline/quality/playtest-plan.md +84 -0
  47. package/content/pipeline/specification/art-bible.md +87 -0
  48. package/content/pipeline/specification/audio-design.md +97 -0
  49. package/content/pipeline/specification/content-structure-design.md +142 -0
  50. package/content/pipeline/specification/economy-design.md +105 -0
  51. package/content/pipeline/specification/game-accessibility.md +82 -0
  52. package/content/pipeline/specification/game-ui-spec.md +97 -0
  53. package/content/pipeline/specification/input-controls-spec.md +81 -0
  54. package/content/pipeline/specification/localization-plan.md +113 -0
  55. package/content/pipeline/specification/modding-ugc-spec.md +116 -0
  56. package/content/pipeline/specification/online-services-spec.md +104 -0
  57. package/content/pipeline/specification/review-economy.md +87 -0
  58. package/content/pipeline/specification/review-game-ui.md +73 -0
  59. package/content/pipeline/specification/save-system-spec.md +116 -0
  60. package/dist/cli/commands/adopt.d.ts.map +1 -1
  61. package/dist/cli/commands/adopt.js +25 -0
  62. package/dist/cli/commands/adopt.js.map +1 -1
  63. package/dist/cli/commands/adopt.test.js +28 -1
  64. package/dist/cli/commands/adopt.test.js.map +1 -1
  65. package/dist/cli/commands/build.test.js +3 -0
  66. package/dist/cli/commands/build.test.js.map +1 -1
  67. package/dist/cli/commands/init.d.ts +1 -0
  68. package/dist/cli/commands/init.d.ts.map +1 -1
  69. package/dist/cli/commands/init.js +6 -0
  70. package/dist/cli/commands/init.js.map +1 -1
  71. package/dist/cli/commands/init.test.js +12 -1
  72. package/dist/cli/commands/init.test.js.map +1 -1
  73. package/dist/cli/commands/knowledge.test.js +8 -0
  74. package/dist/cli/commands/knowledge.test.js.map +1 -1
  75. package/dist/cli/commands/next.d.ts.map +1 -1
  76. package/dist/cli/commands/next.js +19 -5
  77. package/dist/cli/commands/next.js.map +1 -1
  78. package/dist/cli/commands/next.test.js +56 -0
  79. package/dist/cli/commands/next.test.js.map +1 -1
  80. package/dist/cli/commands/rework.d.ts.map +1 -1
  81. package/dist/cli/commands/rework.js +11 -2
  82. package/dist/cli/commands/rework.js.map +1 -1
  83. package/dist/cli/commands/rework.test.js +5 -0
  84. package/dist/cli/commands/rework.test.js.map +1 -1
  85. package/dist/cli/commands/run.d.ts.map +1 -1
  86. package/dist/cli/commands/run.js +54 -4
  87. package/dist/cli/commands/run.js.map +1 -1
  88. package/dist/cli/commands/run.test.js +384 -0
  89. package/dist/cli/commands/run.test.js.map +1 -1
  90. package/dist/cli/commands/skip.test.js +3 -0
  91. package/dist/cli/commands/skip.test.js.map +1 -1
  92. package/dist/cli/commands/status.d.ts.map +1 -1
  93. package/dist/cli/commands/status.js +16 -3
  94. package/dist/cli/commands/status.js.map +1 -1
  95. package/dist/cli/commands/status.test.js +55 -0
  96. package/dist/cli/commands/status.test.js.map +1 -1
  97. package/dist/cli/output/auto.d.ts +3 -0
  98. package/dist/cli/output/auto.d.ts.map +1 -1
  99. package/dist/cli/output/auto.js +9 -0
  100. package/dist/cli/output/auto.js.map +1 -1
  101. package/dist/cli/output/context.d.ts +6 -0
  102. package/dist/cli/output/context.d.ts.map +1 -1
  103. package/dist/cli/output/context.js.map +1 -1
  104. package/dist/cli/output/context.test.js +87 -0
  105. package/dist/cli/output/context.test.js.map +1 -1
  106. package/dist/cli/output/error-display.test.js +3 -0
  107. package/dist/cli/output/error-display.test.js.map +1 -1
  108. package/dist/cli/output/interactive.d.ts +3 -0
  109. package/dist/cli/output/interactive.d.ts.map +1 -1
  110. package/dist/cli/output/interactive.js +76 -0
  111. package/dist/cli/output/interactive.js.map +1 -1
  112. package/dist/cli/output/json.d.ts +3 -0
  113. package/dist/cli/output/json.d.ts.map +1 -1
  114. package/dist/cli/output/json.js +9 -0
  115. package/dist/cli/output/json.js.map +1 -1
  116. package/dist/config/loader.d.ts.map +1 -1
  117. package/dist/config/loader.js +3 -2
  118. package/dist/config/loader.js.map +1 -1
  119. package/dist/config/schema.d.ts +641 -15
  120. package/dist/config/schema.d.ts.map +1 -1
  121. package/dist/config/schema.js +26 -1
  122. package/dist/config/schema.js.map +1 -1
  123. package/dist/config/schema.test.js +192 -1
  124. package/dist/config/schema.test.js.map +1 -1
  125. package/dist/core/assembly/overlay-loader.d.ts +24 -0
  126. package/dist/core/assembly/overlay-loader.d.ts.map +1 -0
  127. package/dist/core/assembly/overlay-loader.js +190 -0
  128. package/dist/core/assembly/overlay-loader.js.map +1 -0
  129. package/dist/core/assembly/overlay-loader.test.d.ts +2 -0
  130. package/dist/core/assembly/overlay-loader.test.d.ts.map +1 -0
  131. package/dist/core/assembly/overlay-loader.test.js +106 -0
  132. package/dist/core/assembly/overlay-loader.test.js.map +1 -0
  133. package/dist/core/assembly/overlay-resolver.d.ts +15 -0
  134. package/dist/core/assembly/overlay-resolver.d.ts.map +1 -0
  135. package/dist/core/assembly/overlay-resolver.js +58 -0
  136. package/dist/core/assembly/overlay-resolver.js.map +1 -0
  137. package/dist/core/assembly/overlay-resolver.test.d.ts +2 -0
  138. package/dist/core/assembly/overlay-resolver.test.d.ts.map +1 -0
  139. package/dist/core/assembly/overlay-resolver.test.js +246 -0
  140. package/dist/core/assembly/overlay-resolver.test.js.map +1 -0
  141. package/dist/core/assembly/overlay-state-resolver.d.ts +26 -0
  142. package/dist/core/assembly/overlay-state-resolver.d.ts.map +1 -0
  143. package/dist/core/assembly/overlay-state-resolver.js +63 -0
  144. package/dist/core/assembly/overlay-state-resolver.js.map +1 -0
  145. package/dist/core/assembly/overlay-state-resolver.test.d.ts +2 -0
  146. package/dist/core/assembly/overlay-state-resolver.test.d.ts.map +1 -0
  147. package/dist/core/assembly/overlay-state-resolver.test.js +256 -0
  148. package/dist/core/assembly/overlay-state-resolver.test.js.map +1 -0
  149. package/dist/core/assembly/preset-loader.d.ts +1 -0
  150. package/dist/core/assembly/preset-loader.d.ts.map +1 -1
  151. package/dist/core/assembly/preset-loader.js +2 -0
  152. package/dist/core/assembly/preset-loader.js.map +1 -1
  153. package/dist/core/dependency/eligibility.test.js +3 -0
  154. package/dist/core/dependency/eligibility.test.js.map +1 -1
  155. package/dist/e2e/game-pipeline.test.d.ts +10 -0
  156. package/dist/e2e/game-pipeline.test.d.ts.map +1 -0
  157. package/dist/e2e/game-pipeline.test.js +298 -0
  158. package/dist/e2e/game-pipeline.test.js.map +1 -0
  159. package/dist/e2e/init.test.js +3 -0
  160. package/dist/e2e/init.test.js.map +1 -1
  161. package/dist/project/adopt.d.ts +3 -1
  162. package/dist/project/adopt.d.ts.map +1 -1
  163. package/dist/project/adopt.js +29 -1
  164. package/dist/project/adopt.js.map +1 -1
  165. package/dist/project/adopt.test.js +51 -1
  166. package/dist/project/adopt.test.js.map +1 -1
  167. package/dist/types/config.d.ts +50 -4
  168. package/dist/types/config.d.ts.map +1 -1
  169. package/dist/types/config.test.d.ts +2 -0
  170. package/dist/types/config.test.d.ts.map +1 -0
  171. package/dist/types/config.test.js +97 -0
  172. package/dist/types/config.test.js.map +1 -0
  173. package/dist/utils/eligible.d.ts +3 -2
  174. package/dist/utils/eligible.d.ts.map +1 -1
  175. package/dist/utils/eligible.js +18 -4
  176. package/dist/utils/eligible.js.map +1 -1
  177. package/dist/utils/errors.d.ts +4 -0
  178. package/dist/utils/errors.d.ts.map +1 -1
  179. package/dist/utils/errors.js +31 -0
  180. package/dist/utils/errors.js.map +1 -1
  181. package/dist/utils/errors.test.js +4 -1
  182. package/dist/utils/errors.test.js.map +1 -1
  183. package/dist/wizard/questions.d.ts +4 -0
  184. package/dist/wizard/questions.d.ts.map +1 -1
  185. package/dist/wizard/questions.js +59 -1
  186. package/dist/wizard/questions.js.map +1 -1
  187. package/dist/wizard/questions.test.js +178 -4
  188. package/dist/wizard/questions.test.js.map +1 -1
  189. package/dist/wizard/wizard.d.ts +1 -0
  190. package/dist/wizard/wizard.d.ts.map +1 -1
  191. package/dist/wizard/wizard.js +4 -1
  192. package/dist/wizard/wizard.js.map +1 -1
  193. package/dist/wizard/wizard.test.js +102 -4
  194. package/dist/wizard/wizard.test.js.map +1 -1
  195. package/package.json +1 -1
@@ -1,4 +1,42 @@
1
1
  import { z } from 'zod';
2
+ export declare const ProjectTypeSchema: z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>;
3
+ export declare const GameConfigSchema: z.ZodObject<{
4
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
5
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
6
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
7
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
8
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
9
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
10
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
11
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
12
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
13
+ hasModding: z.ZodDefault<z.ZodBoolean>;
14
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
15
+ }, "strict", z.ZodTypeAny, {
16
+ engine: "custom" | "unity" | "unreal" | "godot";
17
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
18
+ narrative: "none" | "light" | "heavy";
19
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
20
+ economy: "none" | "progression" | "monetized" | "both";
21
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
22
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
23
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
24
+ supportedLocales: string[];
25
+ hasModding: boolean;
26
+ npcAiComplexity: "none" | "simple" | "complex";
27
+ }, {
28
+ engine: "custom" | "unity" | "unreal" | "godot";
29
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
30
+ narrative?: "none" | "light" | "heavy" | undefined;
31
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
32
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
33
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
34
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
35
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
36
+ supportedLocales?: string[] | undefined;
37
+ hasModding?: boolean | undefined;
38
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
39
+ }>;
2
40
  export declare const ConfigSchema: z.ZodObject<{
3
41
  version: z.ZodLiteral<2>;
4
42
  methodology: z.ZodEnum<["deep", "mvp", "custom"]>;
@@ -8,35 +46,231 @@ export declare const ConfigSchema: z.ZodObject<{
8
46
  enabled: z.ZodOptional<z.ZodBoolean>;
9
47
  depth: z.ZodOptional<z.ZodNumber>;
10
48
  }, "strict", z.ZodTypeAny, {
11
- depth?: number | undefined;
12
49
  enabled?: boolean | undefined;
13
- }, {
14
50
  depth?: number | undefined;
51
+ }, {
15
52
  enabled?: boolean | undefined;
53
+ depth?: number | undefined;
16
54
  }>>>;
17
55
  }, "strict", z.ZodTypeAny, {
18
56
  default_depth?: number | undefined;
19
57
  steps?: Record<string, {
20
- depth?: number | undefined;
21
58
  enabled?: boolean | undefined;
59
+ depth?: number | undefined;
22
60
  }> | undefined;
23
61
  }, {
24
62
  default_depth?: number | undefined;
25
63
  steps?: Record<string, {
26
- depth?: number | undefined;
27
64
  enabled?: boolean | undefined;
65
+ depth?: number | undefined;
28
66
  }> | undefined;
29
67
  }>>;
30
68
  platforms: z.ZodArray<z.ZodEnum<["claude-code", "codex", "gemini"]>, "many">;
31
- project: z.ZodOptional<z.ZodObject<{
69
+ project: z.ZodOptional<z.ZodEffects<z.ZodObject<{
32
70
  name: z.ZodOptional<z.ZodString>;
33
71
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
72
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
73
+ gameConfig: z.ZodOptional<z.ZodObject<{
74
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
75
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
76
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
77
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
78
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
79
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
80
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
81
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
82
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
83
+ hasModding: z.ZodDefault<z.ZodBoolean>;
84
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
85
+ }, "strict", z.ZodTypeAny, {
86
+ engine: "custom" | "unity" | "unreal" | "godot";
87
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
88
+ narrative: "none" | "light" | "heavy";
89
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
90
+ economy: "none" | "progression" | "monetized" | "both";
91
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
92
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
93
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
94
+ supportedLocales: string[];
95
+ hasModding: boolean;
96
+ npcAiComplexity: "none" | "simple" | "complex";
97
+ }, {
98
+ engine: "custom" | "unity" | "unreal" | "godot";
99
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
100
+ narrative?: "none" | "light" | "heavy" | undefined;
101
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
102
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
103
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
104
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
105
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
106
+ supportedLocales?: string[] | undefined;
107
+ hasModding?: boolean | undefined;
108
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
109
+ }>>;
34
110
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
35
111
  name: z.ZodOptional<z.ZodString>;
36
112
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
113
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
114
+ gameConfig: z.ZodOptional<z.ZodObject<{
115
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
116
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
117
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
118
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
119
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
120
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
121
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
122
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
123
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
124
+ hasModding: z.ZodDefault<z.ZodBoolean>;
125
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
126
+ }, "strict", z.ZodTypeAny, {
127
+ engine: "custom" | "unity" | "unreal" | "godot";
128
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
129
+ narrative: "none" | "light" | "heavy";
130
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
131
+ economy: "none" | "progression" | "monetized" | "both";
132
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
133
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
134
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
135
+ supportedLocales: string[];
136
+ hasModding: boolean;
137
+ npcAiComplexity: "none" | "simple" | "complex";
138
+ }, {
139
+ engine: "custom" | "unity" | "unreal" | "godot";
140
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
141
+ narrative?: "none" | "light" | "heavy" | undefined;
142
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
143
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
144
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
145
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
146
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
147
+ supportedLocales?: string[] | undefined;
148
+ hasModding?: boolean | undefined;
149
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
150
+ }>>;
37
151
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
38
152
  name: z.ZodOptional<z.ZodString>;
39
153
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
154
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
155
+ gameConfig: z.ZodOptional<z.ZodObject<{
156
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
157
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
158
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
159
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
160
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
161
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
162
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
163
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
164
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
165
+ hasModding: z.ZodDefault<z.ZodBoolean>;
166
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
167
+ }, "strict", z.ZodTypeAny, {
168
+ engine: "custom" | "unity" | "unreal" | "godot";
169
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
170
+ narrative: "none" | "light" | "heavy";
171
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
172
+ economy: "none" | "progression" | "monetized" | "both";
173
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
174
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
175
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
176
+ supportedLocales: string[];
177
+ hasModding: boolean;
178
+ npcAiComplexity: "none" | "simple" | "complex";
179
+ }, {
180
+ engine: "custom" | "unity" | "unreal" | "godot";
181
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
182
+ narrative?: "none" | "light" | "heavy" | undefined;
183
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
184
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
185
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
186
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
187
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
188
+ supportedLocales?: string[] | undefined;
189
+ hasModding?: boolean | undefined;
190
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
191
+ }>>;
192
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
193
+ name: z.ZodOptional<z.ZodString>;
194
+ platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
195
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
196
+ gameConfig: z.ZodOptional<z.ZodObject<{
197
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
198
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
199
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
200
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
201
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
202
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
203
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
204
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
205
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
206
+ hasModding: z.ZodDefault<z.ZodBoolean>;
207
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
208
+ }, "strict", z.ZodTypeAny, {
209
+ engine: "custom" | "unity" | "unreal" | "godot";
210
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
211
+ narrative: "none" | "light" | "heavy";
212
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
213
+ economy: "none" | "progression" | "monetized" | "both";
214
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
215
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
216
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
217
+ supportedLocales: string[];
218
+ hasModding: boolean;
219
+ npcAiComplexity: "none" | "simple" | "complex";
220
+ }, {
221
+ engine: "custom" | "unity" | "unreal" | "godot";
222
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
223
+ narrative?: "none" | "light" | "heavy" | undefined;
224
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
225
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
226
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
227
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
228
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
229
+ supportedLocales?: string[] | undefined;
230
+ hasModding?: boolean | undefined;
231
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
232
+ }>>;
233
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
234
+ name: z.ZodOptional<z.ZodString>;
235
+ platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
236
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
237
+ gameConfig: z.ZodOptional<z.ZodObject<{
238
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
239
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
240
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
241
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
242
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
243
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
244
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
245
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
246
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
247
+ hasModding: z.ZodDefault<z.ZodBoolean>;
248
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
249
+ }, "strict", z.ZodTypeAny, {
250
+ engine: "custom" | "unity" | "unreal" | "godot";
251
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
252
+ narrative: "none" | "light" | "heavy";
253
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
254
+ economy: "none" | "progression" | "monetized" | "both";
255
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
256
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
257
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
258
+ supportedLocales: string[];
259
+ hasModding: boolean;
260
+ npcAiComplexity: "none" | "simple" | "complex";
261
+ }, {
262
+ engine: "custom" | "unity" | "unreal" | "godot";
263
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
264
+ narrative?: "none" | "light" | "heavy" | undefined;
265
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
266
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
267
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
268
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
269
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
270
+ supportedLocales?: string[] | undefined;
271
+ hasModding?: boolean | undefined;
272
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
273
+ }>>;
40
274
  }, z.ZodTypeAny, "passthrough">>>;
41
275
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
42
276
  version: z.ZodLiteral<2>;
@@ -47,35 +281,231 @@ export declare const ConfigSchema: z.ZodObject<{
47
281
  enabled: z.ZodOptional<z.ZodBoolean>;
48
282
  depth: z.ZodOptional<z.ZodNumber>;
49
283
  }, "strict", z.ZodTypeAny, {
50
- depth?: number | undefined;
51
284
  enabled?: boolean | undefined;
52
- }, {
53
285
  depth?: number | undefined;
286
+ }, {
54
287
  enabled?: boolean | undefined;
288
+ depth?: number | undefined;
55
289
  }>>>;
56
290
  }, "strict", z.ZodTypeAny, {
57
291
  default_depth?: number | undefined;
58
292
  steps?: Record<string, {
59
- depth?: number | undefined;
60
293
  enabled?: boolean | undefined;
294
+ depth?: number | undefined;
61
295
  }> | undefined;
62
296
  }, {
63
297
  default_depth?: number | undefined;
64
298
  steps?: Record<string, {
65
- depth?: number | undefined;
66
299
  enabled?: boolean | undefined;
300
+ depth?: number | undefined;
67
301
  }> | undefined;
68
302
  }>>;
69
303
  platforms: z.ZodArray<z.ZodEnum<["claude-code", "codex", "gemini"]>, "many">;
70
- project: z.ZodOptional<z.ZodObject<{
304
+ project: z.ZodOptional<z.ZodEffects<z.ZodObject<{
71
305
  name: z.ZodOptional<z.ZodString>;
72
306
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
307
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
308
+ gameConfig: z.ZodOptional<z.ZodObject<{
309
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
310
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
311
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
312
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
313
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
314
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
315
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
316
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
317
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
318
+ hasModding: z.ZodDefault<z.ZodBoolean>;
319
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
320
+ }, "strict", z.ZodTypeAny, {
321
+ engine: "custom" | "unity" | "unreal" | "godot";
322
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
323
+ narrative: "none" | "light" | "heavy";
324
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
325
+ economy: "none" | "progression" | "monetized" | "both";
326
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
327
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
328
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
329
+ supportedLocales: string[];
330
+ hasModding: boolean;
331
+ npcAiComplexity: "none" | "simple" | "complex";
332
+ }, {
333
+ engine: "custom" | "unity" | "unreal" | "godot";
334
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
335
+ narrative?: "none" | "light" | "heavy" | undefined;
336
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
337
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
338
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
339
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
340
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
341
+ supportedLocales?: string[] | undefined;
342
+ hasModding?: boolean | undefined;
343
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
344
+ }>>;
73
345
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
74
346
  name: z.ZodOptional<z.ZodString>;
75
347
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
348
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
349
+ gameConfig: z.ZodOptional<z.ZodObject<{
350
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
351
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
352
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
353
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
354
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
355
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
356
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
357
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
358
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
359
+ hasModding: z.ZodDefault<z.ZodBoolean>;
360
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
361
+ }, "strict", z.ZodTypeAny, {
362
+ engine: "custom" | "unity" | "unreal" | "godot";
363
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
364
+ narrative: "none" | "light" | "heavy";
365
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
366
+ economy: "none" | "progression" | "monetized" | "both";
367
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
368
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
369
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
370
+ supportedLocales: string[];
371
+ hasModding: boolean;
372
+ npcAiComplexity: "none" | "simple" | "complex";
373
+ }, {
374
+ engine: "custom" | "unity" | "unreal" | "godot";
375
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
376
+ narrative?: "none" | "light" | "heavy" | undefined;
377
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
378
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
379
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
380
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
381
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
382
+ supportedLocales?: string[] | undefined;
383
+ hasModding?: boolean | undefined;
384
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
385
+ }>>;
76
386
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
77
387
  name: z.ZodOptional<z.ZodString>;
78
388
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
389
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
390
+ gameConfig: z.ZodOptional<z.ZodObject<{
391
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
392
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
393
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
394
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
395
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
396
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
397
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
398
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
399
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
400
+ hasModding: z.ZodDefault<z.ZodBoolean>;
401
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
402
+ }, "strict", z.ZodTypeAny, {
403
+ engine: "custom" | "unity" | "unreal" | "godot";
404
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
405
+ narrative: "none" | "light" | "heavy";
406
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
407
+ economy: "none" | "progression" | "monetized" | "both";
408
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
409
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
410
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
411
+ supportedLocales: string[];
412
+ hasModding: boolean;
413
+ npcAiComplexity: "none" | "simple" | "complex";
414
+ }, {
415
+ engine: "custom" | "unity" | "unreal" | "godot";
416
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
417
+ narrative?: "none" | "light" | "heavy" | undefined;
418
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
419
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
420
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
421
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
422
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
423
+ supportedLocales?: string[] | undefined;
424
+ hasModding?: boolean | undefined;
425
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
426
+ }>>;
427
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
428
+ name: z.ZodOptional<z.ZodString>;
429
+ platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
430
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
431
+ gameConfig: z.ZodOptional<z.ZodObject<{
432
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
433
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
434
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
435
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
436
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
437
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
438
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
439
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
440
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
441
+ hasModding: z.ZodDefault<z.ZodBoolean>;
442
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
443
+ }, "strict", z.ZodTypeAny, {
444
+ engine: "custom" | "unity" | "unreal" | "godot";
445
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
446
+ narrative: "none" | "light" | "heavy";
447
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
448
+ economy: "none" | "progression" | "monetized" | "both";
449
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
450
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
451
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
452
+ supportedLocales: string[];
453
+ hasModding: boolean;
454
+ npcAiComplexity: "none" | "simple" | "complex";
455
+ }, {
456
+ engine: "custom" | "unity" | "unreal" | "godot";
457
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
458
+ narrative?: "none" | "light" | "heavy" | undefined;
459
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
460
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
461
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
462
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
463
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
464
+ supportedLocales?: string[] | undefined;
465
+ hasModding?: boolean | undefined;
466
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
467
+ }>>;
468
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
469
+ name: z.ZodOptional<z.ZodString>;
470
+ platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
471
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
472
+ gameConfig: z.ZodOptional<z.ZodObject<{
473
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
474
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
475
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
476
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
477
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
478
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
479
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
480
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
481
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
482
+ hasModding: z.ZodDefault<z.ZodBoolean>;
483
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
484
+ }, "strict", z.ZodTypeAny, {
485
+ engine: "custom" | "unity" | "unreal" | "godot";
486
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
487
+ narrative: "none" | "light" | "heavy";
488
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
489
+ economy: "none" | "progression" | "monetized" | "both";
490
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
491
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
492
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
493
+ supportedLocales: string[];
494
+ hasModding: boolean;
495
+ npcAiComplexity: "none" | "simple" | "complex";
496
+ }, {
497
+ engine: "custom" | "unity" | "unreal" | "godot";
498
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
499
+ narrative?: "none" | "light" | "heavy" | undefined;
500
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
501
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
502
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
503
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
504
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
505
+ supportedLocales?: string[] | undefined;
506
+ hasModding?: boolean | undefined;
507
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
508
+ }>>;
79
509
  }, z.ZodTypeAny, "passthrough">>>;
80
510
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
81
511
  version: z.ZodLiteral<2>;
@@ -86,35 +516,231 @@ export declare const ConfigSchema: z.ZodObject<{
86
516
  enabled: z.ZodOptional<z.ZodBoolean>;
87
517
  depth: z.ZodOptional<z.ZodNumber>;
88
518
  }, "strict", z.ZodTypeAny, {
89
- depth?: number | undefined;
90
519
  enabled?: boolean | undefined;
91
- }, {
92
520
  depth?: number | undefined;
521
+ }, {
93
522
  enabled?: boolean | undefined;
523
+ depth?: number | undefined;
94
524
  }>>>;
95
525
  }, "strict", z.ZodTypeAny, {
96
526
  default_depth?: number | undefined;
97
527
  steps?: Record<string, {
98
- depth?: number | undefined;
99
528
  enabled?: boolean | undefined;
529
+ depth?: number | undefined;
100
530
  }> | undefined;
101
531
  }, {
102
532
  default_depth?: number | undefined;
103
533
  steps?: Record<string, {
104
- depth?: number | undefined;
105
534
  enabled?: boolean | undefined;
535
+ depth?: number | undefined;
106
536
  }> | undefined;
107
537
  }>>;
108
538
  platforms: z.ZodArray<z.ZodEnum<["claude-code", "codex", "gemini"]>, "many">;
109
- project: z.ZodOptional<z.ZodObject<{
539
+ project: z.ZodOptional<z.ZodEffects<z.ZodObject<{
110
540
  name: z.ZodOptional<z.ZodString>;
111
541
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
542
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
543
+ gameConfig: z.ZodOptional<z.ZodObject<{
544
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
545
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
546
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
547
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
548
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
549
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
550
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
551
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
552
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
553
+ hasModding: z.ZodDefault<z.ZodBoolean>;
554
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
555
+ }, "strict", z.ZodTypeAny, {
556
+ engine: "custom" | "unity" | "unreal" | "godot";
557
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
558
+ narrative: "none" | "light" | "heavy";
559
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
560
+ economy: "none" | "progression" | "monetized" | "both";
561
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
562
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
563
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
564
+ supportedLocales: string[];
565
+ hasModding: boolean;
566
+ npcAiComplexity: "none" | "simple" | "complex";
567
+ }, {
568
+ engine: "custom" | "unity" | "unreal" | "godot";
569
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
570
+ narrative?: "none" | "light" | "heavy" | undefined;
571
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
572
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
573
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
574
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
575
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
576
+ supportedLocales?: string[] | undefined;
577
+ hasModding?: boolean | undefined;
578
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
579
+ }>>;
112
580
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
113
581
  name: z.ZodOptional<z.ZodString>;
114
582
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
583
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
584
+ gameConfig: z.ZodOptional<z.ZodObject<{
585
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
586
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
587
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
588
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
589
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
590
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
591
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
592
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
593
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
594
+ hasModding: z.ZodDefault<z.ZodBoolean>;
595
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
596
+ }, "strict", z.ZodTypeAny, {
597
+ engine: "custom" | "unity" | "unreal" | "godot";
598
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
599
+ narrative: "none" | "light" | "heavy";
600
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
601
+ economy: "none" | "progression" | "monetized" | "both";
602
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
603
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
604
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
605
+ supportedLocales: string[];
606
+ hasModding: boolean;
607
+ npcAiComplexity: "none" | "simple" | "complex";
608
+ }, {
609
+ engine: "custom" | "unity" | "unreal" | "godot";
610
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
611
+ narrative?: "none" | "light" | "heavy" | undefined;
612
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
613
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
614
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
615
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
616
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
617
+ supportedLocales?: string[] | undefined;
618
+ hasModding?: boolean | undefined;
619
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
620
+ }>>;
115
621
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
116
622
  name: z.ZodOptional<z.ZodString>;
117
623
  platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
624
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
625
+ gameConfig: z.ZodOptional<z.ZodObject<{
626
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
627
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
628
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
629
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
630
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
631
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
632
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
633
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
634
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
635
+ hasModding: z.ZodDefault<z.ZodBoolean>;
636
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
637
+ }, "strict", z.ZodTypeAny, {
638
+ engine: "custom" | "unity" | "unreal" | "godot";
639
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
640
+ narrative: "none" | "light" | "heavy";
641
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
642
+ economy: "none" | "progression" | "monetized" | "both";
643
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
644
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
645
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
646
+ supportedLocales: string[];
647
+ hasModding: boolean;
648
+ npcAiComplexity: "none" | "simple" | "complex";
649
+ }, {
650
+ engine: "custom" | "unity" | "unreal" | "godot";
651
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
652
+ narrative?: "none" | "light" | "heavy" | undefined;
653
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
654
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
655
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
656
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
657
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
658
+ supportedLocales?: string[] | undefined;
659
+ hasModding?: boolean | undefined;
660
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
661
+ }>>;
662
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
663
+ name: z.ZodOptional<z.ZodString>;
664
+ platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
665
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
666
+ gameConfig: z.ZodOptional<z.ZodObject<{
667
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
668
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
669
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
670
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
671
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
672
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
673
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
674
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
675
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
676
+ hasModding: z.ZodDefault<z.ZodBoolean>;
677
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
678
+ }, "strict", z.ZodTypeAny, {
679
+ engine: "custom" | "unity" | "unreal" | "godot";
680
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
681
+ narrative: "none" | "light" | "heavy";
682
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
683
+ economy: "none" | "progression" | "monetized" | "both";
684
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
685
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
686
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
687
+ supportedLocales: string[];
688
+ hasModding: boolean;
689
+ npcAiComplexity: "none" | "simple" | "complex";
690
+ }, {
691
+ engine: "custom" | "unity" | "unreal" | "godot";
692
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
693
+ narrative?: "none" | "light" | "heavy" | undefined;
694
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
695
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
696
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
697
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
698
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
699
+ supportedLocales?: string[] | undefined;
700
+ hasModding?: boolean | undefined;
701
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
702
+ }>>;
703
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
704
+ name: z.ZodOptional<z.ZodString>;
705
+ platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "mobile", "desktop"]>, "many">>;
706
+ projectType: z.ZodOptional<z.ZodEnum<["web-app", "mobile-app", "backend", "cli", "library", "game"]>>;
707
+ gameConfig: z.ZodOptional<z.ZodObject<{
708
+ engine: z.ZodEnum<["unity", "unreal", "godot", "custom"]>;
709
+ multiplayerMode: z.ZodDefault<z.ZodEnum<["none", "local", "online", "hybrid"]>>;
710
+ narrative: z.ZodDefault<z.ZodEnum<["none", "light", "heavy"]>>;
711
+ contentStructure: z.ZodDefault<z.ZodEnum<["discrete", "open-world", "procedural", "endless", "mission-based"]>>;
712
+ economy: z.ZodDefault<z.ZodEnum<["none", "progression", "monetized", "both"]>>;
713
+ onlineServices: z.ZodDefault<z.ZodArray<z.ZodEnum<["leaderboards", "accounts", "matchmaking", "live-ops"]>, "many">>;
714
+ persistence: z.ZodDefault<z.ZodEnum<["none", "settings-only", "profile", "progression", "cloud"]>>;
715
+ targetPlatforms: z.ZodDefault<z.ZodArray<z.ZodEnum<["pc", "web", "ios", "android", "ps5", "xbox", "switch", "vr", "ar"]>, "many">>;
716
+ supportedLocales: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
717
+ hasModding: z.ZodDefault<z.ZodBoolean>;
718
+ npcAiComplexity: z.ZodDefault<z.ZodEnum<["none", "simple", "complex"]>>;
719
+ }, "strict", z.ZodTypeAny, {
720
+ engine: "custom" | "unity" | "unreal" | "godot";
721
+ multiplayerMode: "none" | "local" | "online" | "hybrid";
722
+ narrative: "none" | "light" | "heavy";
723
+ contentStructure: "discrete" | "open-world" | "procedural" | "endless" | "mission-based";
724
+ economy: "none" | "progression" | "monetized" | "both";
725
+ onlineServices: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[];
726
+ persistence: "none" | "progression" | "settings-only" | "profile" | "cloud";
727
+ targetPlatforms: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[];
728
+ supportedLocales: string[];
729
+ hasModding: boolean;
730
+ npcAiComplexity: "none" | "simple" | "complex";
731
+ }, {
732
+ engine: "custom" | "unity" | "unreal" | "godot";
733
+ multiplayerMode?: "none" | "local" | "online" | "hybrid" | undefined;
734
+ narrative?: "none" | "light" | "heavy" | undefined;
735
+ contentStructure?: "discrete" | "open-world" | "procedural" | "endless" | "mission-based" | undefined;
736
+ economy?: "none" | "progression" | "monetized" | "both" | undefined;
737
+ onlineServices?: ("leaderboards" | "accounts" | "matchmaking" | "live-ops")[] | undefined;
738
+ persistence?: "none" | "progression" | "settings-only" | "profile" | "cloud" | undefined;
739
+ targetPlatforms?: ("pc" | "web" | "ios" | "android" | "ps5" | "xbox" | "switch" | "vr" | "ar")[] | undefined;
740
+ supportedLocales?: string[] | undefined;
741
+ hasModding?: boolean | undefined;
742
+ npcAiComplexity?: "none" | "simple" | "complex" | undefined;
743
+ }>>;
118
744
  }, z.ZodTypeAny, "passthrough">>>;
119
745
  }, z.ZodTypeAny, "passthrough">>;
120
746
  export type ParsedConfig = z.infer<typeof ConfigSchema>;