@zigrivers/scaffold 3.7.0 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +113 -8
  2. package/content/knowledge/browser-extension/browser-extension-architecture.md +195 -0
  3. package/content/knowledge/browser-extension/browser-extension-content-scripts.md +264 -0
  4. package/content/knowledge/browser-extension/browser-extension-conventions.md +156 -0
  5. package/content/knowledge/browser-extension/browser-extension-cross-browser.md +229 -0
  6. package/content/knowledge/browser-extension/browser-extension-dev-environment.md +247 -0
  7. package/content/knowledge/browser-extension/browser-extension-manifest.md +220 -0
  8. package/content/knowledge/browser-extension/browser-extension-project-structure.md +183 -0
  9. package/content/knowledge/browser-extension/browser-extension-requirements.md +107 -0
  10. package/content/knowledge/browser-extension/browser-extension-security.md +202 -0
  11. package/content/knowledge/browser-extension/browser-extension-service-workers.md +265 -0
  12. package/content/knowledge/browser-extension/browser-extension-store-submission.md +155 -0
  13. package/content/knowledge/browser-extension/browser-extension-testing.md +270 -0
  14. package/content/knowledge/data-pipeline/data-pipeline-architecture.md +175 -0
  15. package/content/knowledge/data-pipeline/data-pipeline-batch-patterns.md +263 -0
  16. package/content/knowledge/data-pipeline/data-pipeline-conventions.md +176 -0
  17. package/content/knowledge/data-pipeline/data-pipeline-dev-environment.md +350 -0
  18. package/content/knowledge/data-pipeline/data-pipeline-orchestration.md +291 -0
  19. package/content/knowledge/data-pipeline/data-pipeline-project-structure.md +257 -0
  20. package/content/knowledge/data-pipeline/data-pipeline-quality.md +324 -0
  21. package/content/knowledge/data-pipeline/data-pipeline-requirements.md +145 -0
  22. package/content/knowledge/data-pipeline/data-pipeline-schema-management.md +295 -0
  23. package/content/knowledge/data-pipeline/data-pipeline-security.md +326 -0
  24. package/content/knowledge/data-pipeline/data-pipeline-streaming-patterns.md +280 -0
  25. package/content/knowledge/data-pipeline/data-pipeline-testing.md +406 -0
  26. package/content/knowledge/library/library-api-design.md +306 -0
  27. package/content/knowledge/library/library-architecture.md +247 -0
  28. package/content/knowledge/library/library-bundling.md +244 -0
  29. package/content/knowledge/library/library-conventions.md +229 -0
  30. package/content/knowledge/library/library-dev-environment.md +220 -0
  31. package/content/knowledge/library/library-documentation.md +300 -0
  32. package/content/knowledge/library/library-project-structure.md +237 -0
  33. package/content/knowledge/library/library-requirements.md +173 -0
  34. package/content/knowledge/library/library-security.md +257 -0
  35. package/content/knowledge/library/library-testing.md +319 -0
  36. package/content/knowledge/library/library-type-definitions.md +284 -0
  37. package/content/knowledge/library/library-versioning.md +300 -0
  38. package/content/knowledge/ml/ml-architecture.md +172 -0
  39. package/content/knowledge/ml/ml-conventions.md +209 -0
  40. package/content/knowledge/ml/ml-dev-environment.md +299 -0
  41. package/content/knowledge/ml/ml-experiment-tracking.md +285 -0
  42. package/content/knowledge/ml/ml-model-evaluation.md +256 -0
  43. package/content/knowledge/ml/ml-observability.md +253 -0
  44. package/content/knowledge/ml/ml-project-structure.md +216 -0
  45. package/content/knowledge/ml/ml-requirements.md +138 -0
  46. package/content/knowledge/ml/ml-security.md +188 -0
  47. package/content/knowledge/ml/ml-serving-patterns.md +243 -0
  48. package/content/knowledge/ml/ml-testing.md +301 -0
  49. package/content/knowledge/ml/ml-training-patterns.md +269 -0
  50. package/content/knowledge/mobile-app/mobile-app-architecture.md +283 -0
  51. package/content/knowledge/mobile-app/mobile-app-conventions.md +180 -0
  52. package/content/knowledge/mobile-app/mobile-app-deployment.md +298 -0
  53. package/content/knowledge/mobile-app/mobile-app-dev-environment.md +257 -0
  54. package/content/knowledge/mobile-app/mobile-app-distribution.md +264 -0
  55. package/content/knowledge/mobile-app/mobile-app-observability.md +317 -0
  56. package/content/knowledge/mobile-app/mobile-app-offline-patterns.md +311 -0
  57. package/content/knowledge/mobile-app/mobile-app-project-structure.md +245 -0
  58. package/content/knowledge/mobile-app/mobile-app-push-notifications.md +321 -0
  59. package/content/knowledge/mobile-app/mobile-app-requirements.md +147 -0
  60. package/content/knowledge/mobile-app/mobile-app-security.md +338 -0
  61. package/content/knowledge/mobile-app/mobile-app-testing.md +400 -0
  62. package/content/methodology/browser-extension-overlay.yml +82 -0
  63. package/content/methodology/data-pipeline-overlay.yml +70 -0
  64. package/content/methodology/library-overlay.yml +67 -0
  65. package/content/methodology/ml-overlay.yml +70 -0
  66. package/content/methodology/mobile-app-overlay.yml +71 -0
  67. package/dist/cli/commands/init.d.ts +22 -0
  68. package/dist/cli/commands/init.d.ts.map +1 -1
  69. package/dist/cli/commands/init.js +202 -3
  70. package/dist/cli/commands/init.js.map +1 -1
  71. package/dist/cli/commands/init.test.js +190 -0
  72. package/dist/cli/commands/init.test.js.map +1 -1
  73. package/dist/config/schema.d.ts +1456 -80
  74. package/dist/config/schema.d.ts.map +1 -1
  75. package/dist/config/schema.js +87 -0
  76. package/dist/config/schema.js.map +1 -1
  77. package/dist/config/schema.test.js +312 -3
  78. package/dist/config/schema.test.js.map +1 -1
  79. package/dist/core/assembly/overlay-loader.test.js +55 -0
  80. package/dist/core/assembly/overlay-loader.test.js.map +1 -1
  81. package/dist/e2e/project-type-overlays.test.d.ts +2 -1
  82. package/dist/e2e/project-type-overlays.test.d.ts.map +1 -1
  83. package/dist/e2e/project-type-overlays.test.js +780 -14
  84. package/dist/e2e/project-type-overlays.test.js.map +1 -1
  85. package/dist/types/config.d.ts +16 -1
  86. package/dist/types/config.d.ts.map +1 -1
  87. package/dist/wizard/questions.d.ts +28 -1
  88. package/dist/wizard/questions.d.ts.map +1 -1
  89. package/dist/wizard/questions.js +127 -1
  90. package/dist/wizard/questions.js.map +1 -1
  91. package/dist/wizard/questions.test.js +224 -4
  92. package/dist/wizard/questions.test.js.map +1 -1
  93. package/dist/wizard/wizard.d.ts +22 -0
  94. package/dist/wizard/wizard.d.ts.map +1 -1
  95. package/dist/wizard/wizard.js +28 -1
  96. package/dist/wizard/wizard.js.map +1 -1
  97. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAYvB,eAAO,MAAM,iBAAiB,2EAE5B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAKpB,CAAA;AAEX,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAMrB,CAAA;AAEX,eAAO,MAAM,eAAe;;;;;;;;;;;;EAMjB,CAAA;AAEX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBlB,CAAA;AAyCX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAMT,CAAA;AAEhB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAYvB,eAAO,MAAM,iBAAiB,uHAG5B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAKpB,CAAA;AAEX,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAMrB,CAAA;AAEX,eAAO,MAAM,eAAe;;;;;;;;;;;;EAMjB,CAAA;AAEX,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAMrB,CAAA;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKvB,CAAA;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;EAM1B,CAAA;AAEX,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKhB,CAAA;AAEX,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;EAK9B,CAAA;AAEX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBlB,CAAA;AA+FX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAMT,CAAA;AAEhB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA"}
@@ -10,6 +10,7 @@ const CustomSchema = z.object({
10
10
  }).strict();
11
11
  export const ProjectTypeSchema = z.enum([
12
12
  'web-app', 'mobile-app', 'backend', 'cli', 'library', 'game',
13
+ 'data-pipeline', 'ml', 'browser-extension',
13
14
  ]);
14
15
  export const WebAppConfigSchema = z.object({
15
16
  renderingStrategy: z.enum(['spa', 'ssr', 'ssg', 'hybrid']),
@@ -29,6 +30,38 @@ export const CliConfigSchema = z.object({
29
30
  distributionChannels: z.array(z.enum(['package-manager', 'system-package-manager', 'standalone-binary', 'container'])).min(1).default(['package-manager']),
30
31
  hasStructuredOutput: z.boolean().default(false),
31
32
  }).strict();
33
+ export const LibraryConfigSchema = z.object({
34
+ visibility: z.enum(['public', 'internal']),
35
+ runtimeTarget: z.enum(['node', 'browser', 'isomorphic', 'edge']).default('isomorphic'),
36
+ bundleFormat: z.enum(['esm', 'cjs', 'dual', 'unbundled']).default('dual'),
37
+ hasTypeDefinitions: z.boolean().default(true),
38
+ documentationLevel: z.enum(['none', 'readme', 'api-docs', 'full-site']).default('readme'),
39
+ }).strict();
40
+ export const MobileAppConfigSchema = z.object({
41
+ platform: z.enum(['ios', 'android', 'cross-platform']),
42
+ distributionModel: z.enum(['public', 'private', 'mixed']).default('public'),
43
+ offlineSupport: z.enum(['none', 'cache', 'offline-first']).default('none'),
44
+ hasPushNotifications: z.boolean().default(false),
45
+ }).strict();
46
+ export const DataPipelineConfigSchema = z.object({
47
+ processingModel: z.enum(['batch', 'streaming', 'hybrid']),
48
+ orchestration: z.enum(['none', 'dag-based', 'event-driven', 'scheduled']).default('none'),
49
+ dataQualityStrategy: z.enum(['none', 'validation', 'testing', 'observability']).default('validation'),
50
+ schemaManagement: z.enum(['none', 'schema-registry', 'contracts']).default('none'),
51
+ hasDataCatalog: z.boolean().default(false),
52
+ }).strict();
53
+ export const MlConfigSchema = z.object({
54
+ projectPhase: z.enum(['training', 'inference', 'both']),
55
+ modelType: z.enum(['classical', 'deep-learning', 'llm']).default('deep-learning'),
56
+ servingPattern: z.enum(['none', 'batch', 'realtime', 'edge']).default('none'),
57
+ hasExperimentTracking: z.boolean().default(true),
58
+ }).strict();
59
+ export const BrowserExtensionConfigSchema = z.object({
60
+ manifestVersion: z.enum(['2', '3']).default('3'),
61
+ uiSurfaces: z.array(z.enum(['popup', 'options', 'newtab', 'devtools', 'sidepanel'])).default(['popup']),
62
+ hasContentScript: z.boolean().default(false),
63
+ hasBackgroundWorker: z.boolean().default(true),
64
+ }).strict();
32
65
  export const GameConfigSchema = z.object({
33
66
  engine: z.enum(['unity', 'unreal', 'godot', 'custom']),
34
67
  multiplayerMode: z.enum(['none', 'local', 'online', 'hybrid']).default('none'),
@@ -50,6 +83,11 @@ const ProjectSchema = z.object({
50
83
  webAppConfig: WebAppConfigSchema.optional(),
51
84
  backendConfig: BackendConfigSchema.optional(),
52
85
  cliConfig: CliConfigSchema.optional(),
86
+ libraryConfig: LibraryConfigSchema.optional(),
87
+ mobileAppConfig: MobileAppConfigSchema.optional(),
88
+ dataPipelineConfig: DataPipelineConfigSchema.optional(),
89
+ mlConfig: MlConfigSchema.optional(),
90
+ browserExtensionConfig: BrowserExtensionConfigSchema.optional(),
53
91
  }).passthrough() // allow unknown fields per ADR-033
54
92
  .superRefine((data, ctx) => {
55
93
  if (data.gameConfig !== undefined && data.projectType !== 'game') {
@@ -68,6 +106,37 @@ const ProjectSchema = z.object({
68
106
  ctx.addIssue({ path: ['cliConfig'], code: 'custom',
69
107
  message: 'cliConfig requires projectType: cli' });
70
108
  }
109
+ if (data.libraryConfig !== undefined && data.projectType !== 'library') {
110
+ ctx.addIssue({ path: ['libraryConfig'], code: 'custom',
111
+ message: 'libraryConfig requires projectType: library' });
112
+ }
113
+ if (data.mobileAppConfig !== undefined && data.projectType !== 'mobile-app') {
114
+ ctx.addIssue({ path: ['mobileAppConfig'], code: 'custom',
115
+ message: 'mobileAppConfig requires projectType: mobile-app' });
116
+ }
117
+ if (data.dataPipelineConfig !== undefined && data.projectType !== 'data-pipeline') {
118
+ ctx.addIssue({ path: ['dataPipelineConfig'], code: 'custom',
119
+ message: 'dataPipelineConfig requires projectType: data-pipeline' });
120
+ }
121
+ if (data.mlConfig !== undefined && data.projectType !== 'ml') {
122
+ ctx.addIssue({ path: ['mlConfig'], code: 'custom',
123
+ message: 'mlConfig requires projectType: ml' });
124
+ }
125
+ if (data.browserExtensionConfig !== undefined && data.projectType !== 'browser-extension') {
126
+ ctx.addIssue({ path: ['browserExtensionConfig'], code: 'custom',
127
+ message: 'browserExtensionConfig requires projectType: browser-extension' });
128
+ }
129
+ if (data.libraryConfig) {
130
+ const { visibility, documentationLevel } = data.libraryConfig;
131
+ if (visibility === 'public' && documentationLevel === 'none') {
132
+ ctx.addIssue({
133
+ path: ['libraryConfig', 'documentationLevel'],
134
+ code: 'custom',
135
+ message: 'Public libraries should have documentation'
136
+ + ' (documentationLevel: none with visibility: public)',
137
+ });
138
+ }
139
+ }
71
140
  if (data.webAppConfig) {
72
141
  const { renderingStrategy, deployTarget, authFlow } = data.webAppConfig;
73
142
  if (['ssr', 'hybrid'].includes(renderingStrategy) && deployTarget === 'static') {
@@ -79,6 +148,24 @@ const ProjectSchema = z.object({
79
148
  message: 'Session auth requires server state, incompatible with static hosting' });
80
149
  }
81
150
  }
151
+ if (data.mlConfig) {
152
+ const { projectPhase, servingPattern } = data.mlConfig;
153
+ if (projectPhase === 'inference' && servingPattern === 'none') {
154
+ ctx.addIssue({ path: ['mlConfig', 'servingPattern'], code: 'custom',
155
+ message: 'Inference projects must specify a serving pattern' });
156
+ }
157
+ if (projectPhase === 'training' && servingPattern !== 'none') {
158
+ ctx.addIssue({ path: ['mlConfig', 'servingPattern'], code: 'custom',
159
+ message: 'Training-only projects should not have a serving pattern' });
160
+ }
161
+ }
162
+ if (data.browserExtensionConfig) {
163
+ const { uiSurfaces, hasContentScript, hasBackgroundWorker } = data.browserExtensionConfig;
164
+ if ((!uiSurfaces || uiSurfaces.length === 0) && !hasContentScript && !hasBackgroundWorker) {
165
+ ctx.addIssue({ path: ['browserExtensionConfig'], code: 'custom',
166
+ message: 'Extension must have at least one UI surface, content script, or background worker' });
167
+ }
168
+ }
82
169
  });
83
170
  export const ConfigSchema = z.object({
84
171
  version: z.literal(2),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  // src/config/schema.test.ts
2
2
  import { describe, it, expect } from 'vitest';
3
- import { ConfigSchema, GameConfigSchema, ProjectTypeSchema, WebAppConfigSchema, BackendConfigSchema, CliConfigSchema, } from './schema.js';
3
+ import { ConfigSchema, GameConfigSchema, ProjectTypeSchema, WebAppConfigSchema, BackendConfigSchema, CliConfigSchema, LibraryConfigSchema, MobileAppConfigSchema, DataPipelineConfigSchema, MlConfigSchema, BrowserExtensionConfigSchema, } from './schema.js';
4
4
  describe('ProjectTypeSchema', () => {
5
5
  it('includes all project types', () => {
6
- expect(ProjectTypeSchema.options).toEqual(expect.arrayContaining(['web-app', 'mobile-app', 'backend', 'cli', 'library', 'game']));
7
- expect(ProjectTypeSchema.options).toHaveLength(6);
6
+ expect(ProjectTypeSchema.options).toEqual(expect.arrayContaining([
7
+ 'web-app', 'mobile-app', 'backend', 'cli', 'library', 'game',
8
+ 'data-pipeline', 'ml', 'browser-extension',
9
+ ]));
10
+ expect(ProjectTypeSchema.options).toHaveLength(9);
8
11
  });
9
12
  });
10
13
  describe('ConfigSchema', () => {
@@ -477,4 +480,310 @@ describe('ProjectSchema cross-field validation', () => {
477
480
  expect(result.success).toBe(false);
478
481
  });
479
482
  });
483
+ describe('LibraryConfigSchema', () => {
484
+ it('requires visibility', () => {
485
+ const result = LibraryConfigSchema.safeParse({});
486
+ expect(result.success).toBe(false);
487
+ });
488
+ it('accepts valid config with defaults', () => {
489
+ const result = LibraryConfigSchema.parse({ visibility: 'public' });
490
+ expect(result).toEqual({
491
+ visibility: 'public',
492
+ runtimeTarget: 'isomorphic',
493
+ bundleFormat: 'dual',
494
+ hasTypeDefinitions: true,
495
+ documentationLevel: 'readme',
496
+ });
497
+ });
498
+ it('accepts internal visibility', () => {
499
+ const result = LibraryConfigSchema.parse({ visibility: 'internal' });
500
+ expect(result.visibility).toBe('internal');
501
+ });
502
+ it('rejects unknown fields (.strict())', () => {
503
+ const result = LibraryConfigSchema.safeParse({
504
+ visibility: 'public',
505
+ unknownField: 'value',
506
+ });
507
+ expect(result.success).toBe(false);
508
+ });
509
+ });
510
+ describe('MobileAppConfigSchema', () => {
511
+ it('requires platform', () => {
512
+ const result = MobileAppConfigSchema.safeParse({});
513
+ expect(result.success).toBe(false);
514
+ });
515
+ it('accepts valid config with defaults', () => {
516
+ const result = MobileAppConfigSchema.parse({ platform: 'cross-platform' });
517
+ expect(result).toEqual({
518
+ platform: 'cross-platform',
519
+ distributionModel: 'public',
520
+ offlineSupport: 'none',
521
+ hasPushNotifications: false,
522
+ });
523
+ });
524
+ it('accepts all platform values', () => {
525
+ for (const platform of ['ios', 'android', 'cross-platform']) {
526
+ const result = MobileAppConfigSchema.parse({ platform });
527
+ expect(result.platform).toBe(platform);
528
+ }
529
+ });
530
+ it('rejects unknown fields (.strict())', () => {
531
+ const result = MobileAppConfigSchema.safeParse({
532
+ platform: 'ios',
533
+ unknownField: 'value',
534
+ });
535
+ expect(result.success).toBe(false);
536
+ });
537
+ });
538
+ describe('ProjectSchema cross-field validation — library and mobile-app', () => {
539
+ it('rejects libraryConfig with non-library projectType', () => {
540
+ const result = ConfigSchema.safeParse({
541
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
542
+ project: {
543
+ projectType: 'backend',
544
+ libraryConfig: { visibility: 'public' },
545
+ },
546
+ });
547
+ expect(result.success).toBe(false);
548
+ });
549
+ it('accepts libraryConfig with library projectType', () => {
550
+ const result = ConfigSchema.safeParse({
551
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
552
+ project: {
553
+ projectType: 'library',
554
+ libraryConfig: { visibility: 'public' },
555
+ },
556
+ });
557
+ expect(result.success).toBe(true);
558
+ });
559
+ it('rejects mobileAppConfig with non-mobile-app projectType', () => {
560
+ const result = ConfigSchema.safeParse({
561
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
562
+ project: {
563
+ projectType: 'web-app',
564
+ mobileAppConfig: { platform: 'ios' },
565
+ },
566
+ });
567
+ expect(result.success).toBe(false);
568
+ });
569
+ it('accepts mobileAppConfig with mobile-app projectType', () => {
570
+ const result = ConfigSchema.safeParse({
571
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
572
+ project: {
573
+ projectType: 'mobile-app',
574
+ mobileAppConfig: { platform: 'android' },
575
+ },
576
+ });
577
+ expect(result.success).toBe(true);
578
+ });
579
+ it('allows library projectType without libraryConfig', () => {
580
+ const result = ConfigSchema.safeParse({
581
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
582
+ project: { projectType: 'library' },
583
+ });
584
+ expect(result.success).toBe(true);
585
+ });
586
+ it('allows mobile-app projectType without mobileAppConfig', () => {
587
+ const result = ConfigSchema.safeParse({
588
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
589
+ project: { projectType: 'mobile-app' },
590
+ });
591
+ expect(result.success).toBe(true);
592
+ });
593
+ it('rejects public library with documentationLevel none', () => {
594
+ const result = ConfigSchema.safeParse({
595
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
596
+ project: {
597
+ projectType: 'library',
598
+ libraryConfig: { visibility: 'public', documentationLevel: 'none' },
599
+ },
600
+ });
601
+ expect(result.success).toBe(false);
602
+ if (!result.success) {
603
+ const msgs = result.error.issues.map(i => i.message);
604
+ expect(msgs).toContain('Public libraries should have documentation'
605
+ + ' (documentationLevel: none with visibility: public)');
606
+ }
607
+ });
608
+ it('allows public library with documentation', () => {
609
+ const result = ConfigSchema.safeParse({
610
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
611
+ project: {
612
+ projectType: 'library',
613
+ libraryConfig: { visibility: 'public', documentationLevel: 'api-docs' },
614
+ },
615
+ });
616
+ expect(result.success).toBe(true);
617
+ });
618
+ it('allows internal library with no documentation', () => {
619
+ const result = ConfigSchema.safeParse({
620
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
621
+ project: {
622
+ projectType: 'library',
623
+ libraryConfig: { visibility: 'internal', documentationLevel: 'none' },
624
+ },
625
+ });
626
+ expect(result.success).toBe(true);
627
+ });
628
+ });
629
+ describe('DataPipelineConfigSchema', () => {
630
+ it('requires processingModel', () => {
631
+ const result = DataPipelineConfigSchema.safeParse({});
632
+ expect(result.success).toBe(false);
633
+ });
634
+ it('accepts valid config with defaults', () => {
635
+ const result = DataPipelineConfigSchema.parse({ processingModel: 'batch' });
636
+ expect(result).toEqual({
637
+ processingModel: 'batch',
638
+ orchestration: 'none',
639
+ dataQualityStrategy: 'validation',
640
+ schemaManagement: 'none',
641
+ hasDataCatalog: false,
642
+ });
643
+ });
644
+ it('rejects unknown fields (.strict())', () => {
645
+ const result = DataPipelineConfigSchema.safeParse({
646
+ processingModel: 'streaming',
647
+ unknownField: 'value',
648
+ });
649
+ expect(result.success).toBe(false);
650
+ });
651
+ });
652
+ describe('MlConfigSchema', () => {
653
+ it('requires projectPhase', () => {
654
+ const result = MlConfigSchema.safeParse({});
655
+ expect(result.success).toBe(false);
656
+ });
657
+ it('accepts valid config with defaults', () => {
658
+ const result = MlConfigSchema.parse({ projectPhase: 'training' });
659
+ expect(result).toEqual({
660
+ projectPhase: 'training',
661
+ modelType: 'deep-learning',
662
+ servingPattern: 'none',
663
+ hasExperimentTracking: true,
664
+ });
665
+ });
666
+ it('rejects unknown fields (.strict())', () => {
667
+ const result = MlConfigSchema.safeParse({
668
+ projectPhase: 'both',
669
+ unknownField: 'value',
670
+ });
671
+ expect(result.success).toBe(false);
672
+ });
673
+ });
674
+ describe('BrowserExtensionConfigSchema', () => {
675
+ it('accepts config with all defaults (no required fields)', () => {
676
+ const result = BrowserExtensionConfigSchema.parse({});
677
+ expect(result).toEqual({
678
+ manifestVersion: '3',
679
+ uiSurfaces: ['popup'],
680
+ hasContentScript: false,
681
+ hasBackgroundWorker: true,
682
+ });
683
+ });
684
+ it('rejects unknown fields (.strict())', () => {
685
+ const result = BrowserExtensionConfigSchema.safeParse({
686
+ unknownField: 'value',
687
+ });
688
+ expect(result.success).toBe(false);
689
+ });
690
+ });
691
+ describe('ProjectSchema cross-field validation — new project types', () => {
692
+ it('rejects dataPipelineConfig with non-data-pipeline projectType', () => {
693
+ const result = ConfigSchema.safeParse({
694
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
695
+ project: {
696
+ projectType: 'backend',
697
+ dataPipelineConfig: { processingModel: 'batch' },
698
+ },
699
+ });
700
+ expect(result.success).toBe(false);
701
+ });
702
+ it('rejects mlConfig with non-ml projectType', () => {
703
+ const result = ConfigSchema.safeParse({
704
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
705
+ project: {
706
+ projectType: 'backend',
707
+ mlConfig: { projectPhase: 'training' },
708
+ },
709
+ });
710
+ expect(result.success).toBe(false);
711
+ });
712
+ it('rejects browserExtensionConfig with non-browser-extension projectType', () => {
713
+ const result = ConfigSchema.safeParse({
714
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
715
+ project: {
716
+ projectType: 'web-app',
717
+ browserExtensionConfig: {},
718
+ },
719
+ });
720
+ expect(result.success).toBe(false);
721
+ });
722
+ it('rejects ML inference with servingPattern none', () => {
723
+ const result = ConfigSchema.safeParse({
724
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
725
+ project: {
726
+ projectType: 'ml',
727
+ mlConfig: { projectPhase: 'inference', servingPattern: 'none' },
728
+ },
729
+ });
730
+ expect(result.success).toBe(false);
731
+ if (!result.success) {
732
+ const msgs = result.error.issues.map(i => i.message);
733
+ expect(msgs).toContain('Inference projects must specify a serving pattern');
734
+ }
735
+ });
736
+ it('rejects ML training with servingPattern set', () => {
737
+ const result = ConfigSchema.safeParse({
738
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
739
+ project: {
740
+ projectType: 'ml',
741
+ mlConfig: { projectPhase: 'training', servingPattern: 'realtime' },
742
+ },
743
+ });
744
+ expect(result.success).toBe(false);
745
+ if (!result.success) {
746
+ const msgs = result.error.issues.map(i => i.message);
747
+ expect(msgs).toContain('Training-only projects should not have a serving pattern');
748
+ }
749
+ });
750
+ it('rejects browser extension with no capabilities', () => {
751
+ const result = ConfigSchema.safeParse({
752
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
753
+ project: {
754
+ projectType: 'browser-extension',
755
+ browserExtensionConfig: {
756
+ uiSurfaces: [],
757
+ hasContentScript: false,
758
+ hasBackgroundWorker: false,
759
+ },
760
+ },
761
+ });
762
+ expect(result.success).toBe(false);
763
+ if (!result.success) {
764
+ const msgs = result.error.issues.map(i => i.message);
765
+ expect(msgs).toContain('Extension must have at least one UI surface, content script, or background worker');
766
+ }
767
+ });
768
+ it('accepts ML both phase with realtime serving', () => {
769
+ const result = ConfigSchema.safeParse({
770
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
771
+ project: {
772
+ projectType: 'ml',
773
+ mlConfig: { projectPhase: 'both', servingPattern: 'realtime' },
774
+ },
775
+ });
776
+ expect(result.success).toBe(true);
777
+ });
778
+ it('accepts browser extension with defaults', () => {
779
+ const result = ConfigSchema.safeParse({
780
+ version: 2, methodology: 'deep', platforms: ['claude-code'],
781
+ project: {
782
+ projectType: 'browser-extension',
783
+ browserExtensionConfig: {},
784
+ },
785
+ });
786
+ expect(result.success).toBe(true);
787
+ });
788
+ });
480
789
  //# sourceMappingURL=schema.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../src/config/schema.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../src/config/schema.test.ts"],"names":[],"mappings":"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"}