@warpgogol/forge 0.8.0 → 0.10.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 (55) hide show
  1. package/AGENTS.md +31 -2
  2. package/dist/bin/cli.js +0 -0
  3. package/dist/os/core/core.module.d.ts.map +1 -1
  4. package/dist/os/core/core.module.js +65 -0
  5. package/dist/os/core/core.module.js.map +1 -1
  6. package/dist/os/core/handlers/build.d.ts +16 -0
  7. package/dist/os/core/handlers/build.d.ts.map +1 -0
  8. package/dist/os/core/handlers/build.js +123 -0
  9. package/dist/os/core/handlers/build.js.map +1 -0
  10. package/dist/os/core/handlers/dev.d.ts +10 -0
  11. package/dist/os/core/handlers/dev.d.ts.map +1 -0
  12. package/dist/os/core/handlers/dev.js +102 -0
  13. package/dist/os/core/handlers/dev.js.map +1 -0
  14. package/dist/os/core/handlers/profile-resolve.d.ts +13 -0
  15. package/dist/os/core/handlers/profile-resolve.d.ts.map +1 -0
  16. package/dist/os/core/handlers/profile-resolve.js +65 -0
  17. package/dist/os/core/handlers/profile-resolve.js.map +1 -0
  18. package/dist/os/core/handlers/validate.d.ts +15 -0
  19. package/dist/os/core/handlers/validate.d.ts.map +1 -0
  20. package/dist/os/core/handlers/validate.js +120 -0
  21. package/dist/os/core/handlers/validate.js.map +1 -0
  22. package/dist/src/onboarding/doctor.d.ts +3 -0
  23. package/dist/src/onboarding/doctor.d.ts.map +1 -1
  24. package/dist/src/onboarding/doctor.js +34 -4
  25. package/dist/src/onboarding/doctor.js.map +1 -1
  26. package/dist/src/onboarding/invariant-engine.d.ts +17 -0
  27. package/dist/src/onboarding/invariant-engine.d.ts.map +1 -0
  28. package/dist/src/onboarding/invariant-engine.js +173 -0
  29. package/dist/src/onboarding/invariant-engine.js.map +1 -0
  30. package/dist/src/profiles/profile-schema.d.ts +53 -0
  31. package/dist/src/profiles/profile-schema.d.ts.map +1 -1
  32. package/dist/src/profiles/profile-schema.js +19 -1
  33. package/dist/src/profiles/profile-schema.js.map +1 -1
  34. package/dist/src/profiles/stack-profile.d.ts +15 -0
  35. package/dist/src/profiles/stack-profile.d.ts.map +1 -1
  36. package/dist/src/profiles/stack-profile.js +3 -0
  37. package/dist/src/profiles/stack-profile.js.map +1 -1
  38. package/package.json +60 -161
  39. package/profiles/editframe-html.yaml +15 -0
  40. package/skills/_shared/fo-pipeline-conventions.md +65 -0
  41. package/skills/fo/fo-add-tests/SKILL.md +3 -1
  42. package/skills/fo/fo-doc-audit/SKILL.md +2 -0
  43. package/skills/fo/fo-fix/SKILL.md +5 -3
  44. package/skills/fo/fo-idea-audit/SKILL.md +2 -0
  45. package/skills/fo/fo-idea-create-adr/SKILL.md +2 -0
  46. package/skills/fo/fo-idea-create-rfc/SKILL.md +2 -0
  47. package/skills/fo/fo-idea-enhance/SKILL.md +3 -1
  48. package/skills/fo/fo-idea-i-just-want-to-see-the-result/SKILL.md +10 -0
  49. package/skills/fo/fo-idea-implement/SKILL.md +3 -1
  50. package/skills/fo/fo-idea-plan/SKILL.md +3 -1
  51. package/skills/fo/fo-idea-status/SKILL.md +2 -0
  52. package/skills/fo/fo-review/SKILL.md +4 -2
  53. package/skills/fo/fo-session-retro/SKILL.md +185 -1
  54. package/skills/meta/forge-bootstrap/SKILL.md +27 -4
  55. package/skills/shared/windows-ai-tooling/SKILL.md +3 -1
@@ -51,6 +51,22 @@ export interface ProfileWorkspaceType {
51
51
  skills?: string[];
52
52
  agentsMdTemplate?: string;
53
53
  }
54
+ export declare const profileInvariantCheckSchema: z.ZodObject<{
55
+ kind: z.ZodEnum<{
56
+ "filename-pattern": "filename-pattern";
57
+ "file-contains": "file-contains";
58
+ "file-not-contains": "file-not-contains";
59
+ }>;
60
+ glob: z.ZodOptional<z.ZodString>;
61
+ pattern: z.ZodOptional<z.ZodString>;
62
+ negatedPattern: z.ZodOptional<z.ZodString>;
63
+ }, z.core.$strip>;
64
+ export interface ProfileInvariantCheck {
65
+ kind: "filename-pattern" | "file-contains" | "file-not-contains";
66
+ glob?: string;
67
+ pattern?: string;
68
+ negatedPattern?: string;
69
+ }
54
70
  export declare const profileInvariantSchema: z.ZodObject<{
55
71
  id: z.ZodString;
56
72
  rule: z.ZodString;
@@ -58,11 +74,32 @@ export declare const profileInvariantSchema: z.ZodObject<{
58
74
  error: "error";
59
75
  warning: "warning";
60
76
  }>;
77
+ check: z.ZodOptional<z.ZodObject<{
78
+ kind: z.ZodEnum<{
79
+ "filename-pattern": "filename-pattern";
80
+ "file-contains": "file-contains";
81
+ "file-not-contains": "file-not-contains";
82
+ }>;
83
+ glob: z.ZodOptional<z.ZodString>;
84
+ pattern: z.ZodOptional<z.ZodString>;
85
+ negatedPattern: z.ZodOptional<z.ZodString>;
86
+ }, z.core.$strip>>;
61
87
  }, z.core.$strip>;
62
88
  export interface ProfileInvariant {
63
89
  id: string;
64
90
  rule: string;
65
91
  severity: "error" | "warning";
92
+ check?: ProfileInvariantCheck;
93
+ }
94
+ export declare const profileDevServerSchema: z.ZodObject<{
95
+ command: z.ZodString;
96
+ port: z.ZodOptional<z.ZodNumber>;
97
+ readinessTimeout: z.ZodOptional<z.ZodNumber>;
98
+ }, z.core.$strip>;
99
+ export interface ProfileDevServer {
100
+ command: string;
101
+ port?: number;
102
+ readinessTimeout?: number;
66
103
  }
67
104
  export declare const stackProfileDomainFieldsSchema: z.ZodObject<{
68
105
  domain: z.ZodOptional<z.ZodString>;
@@ -99,11 +136,26 @@ export declare const stackProfileDomainFieldsSchema: z.ZodObject<{
99
136
  error: "error";
100
137
  warning: "warning";
101
138
  }>;
139
+ check: z.ZodOptional<z.ZodObject<{
140
+ kind: z.ZodEnum<{
141
+ "filename-pattern": "filename-pattern";
142
+ "file-contains": "file-contains";
143
+ "file-not-contains": "file-not-contains";
144
+ }>;
145
+ glob: z.ZodOptional<z.ZodString>;
146
+ pattern: z.ZodOptional<z.ZodString>;
147
+ negatedPattern: z.ZodOptional<z.ZodString>;
148
+ }, z.core.$strip>>;
102
149
  }, z.core.$strip>>>;
103
150
  register: z.ZodOptional<z.ZodEnum<{
104
151
  business: "business";
105
152
  creative: "creative";
106
153
  }>>;
154
+ devServer: z.ZodOptional<z.ZodObject<{
155
+ command: z.ZodString;
156
+ port: z.ZodOptional<z.ZodNumber>;
157
+ readinessTimeout: z.ZodOptional<z.ZodNumber>;
158
+ }, z.core.$strip>>;
107
159
  }, z.core.$strip>;
108
160
  export interface StackProfileDomainFields {
109
161
  domain?: string;
@@ -112,5 +164,6 @@ export interface StackProfileDomainFields {
112
164
  workspaceTypes?: ProfileWorkspaceType[];
113
165
  invariants?: ProfileInvariant[];
114
166
  register?: "business" | "creative";
167
+ devServer?: ProfileDevServer;
115
168
  }
116
169
  //# sourceMappingURL=profile-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile-schema.d.ts","sourceRoot":"","sources":["../../../src/profiles/profile-schema.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,0BAA0B,6FAQ7B,CAAC;AAEX,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQvD,CAAC;AAMF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;iBAoBhC,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH;AAMD,eAAO,MAAM,0BAA0B;;;;;;;;;iBASrC,CAAC;AAEH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,eAAO,MAAM,sBAAsB;;;;;;;iBAOjC,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAMD,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOzC,CAAC;AAEH,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CACpC"}
1
+ {"version":3,"file":"profile-schema.d.ts","sourceRoot":"","sources":["../../../src/profiles/profile-schema.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,0BAA0B,6FAQ7B,CAAC;AAEX,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQvD,CAAC;AAMF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;iBAoBhC,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH;AAMD,eAAO,MAAM,0BAA0B;;;;;;;;;iBASrC,CAAC;AAEH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,eAAO,MAAM,2BAA2B;;;;;;;;;iBAKtC,CAAC;AAEH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,kBAAkB,GAAG,eAAe,GAAG,mBAAmB,CAAC;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;iBAQjC,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B;AAMD,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQzC,CAAC;AAEH,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B"}
@@ -3,11 +3,13 @@
3
3
  <purpose>Domain-neutral profile schema extensions — optional fields that allow a stack profile to declare its domain model (terminology, artifacts, workspace types, invariants, register) without breaking backward compatibility.</purpose>
4
4
  <non-goals>
5
5
  <item>Do not import from @warpgogol/* — this module is portable.</item>
6
- <item>Do not define enforcement logic for invariants — that is deferred to follow-up RFCs.</item>
6
+ <item>Do not define enforcement logic for invariants — that lives in the invariant engine module.</item>
7
7
  </non-goals>
8
8
  </MODULE_CONTRACT>
9
9
  <CHANGE_SUMMARY>
10
10
  <item>RFC-0638: initial domain-neutral profile schema extensions with six optional fields.</item>
11
+ <item>RFC-0674: add profileDevServerSchema and devServer field for lifecycle commands.</item>
12
+ <item>RFC-0675: add profileInvariantCheckSchema and check field to profileInvariantSchema for enforcement.</item>
11
13
  </CHANGE_SUMMARY>
12
14
  */
13
15
  import { z } from "zod";
@@ -72,6 +74,12 @@ export const profileWorkspaceTypeSchema = z.object({
72
74
  // ---------------------------------------------------------------------------
73
75
  // Profile invariant schema
74
76
  // ---------------------------------------------------------------------------
77
+ export const profileInvariantCheckSchema = z.object({
78
+ kind: z.enum(["filename-pattern", "file-contains", "file-not-contains"]),
79
+ glob: z.string().optional(),
80
+ pattern: z.string().optional(),
81
+ negatedPattern: z.string().optional(),
82
+ });
75
83
  export const profileInvariantSchema = z.object({
76
84
  id: z
77
85
  .string()
@@ -79,6 +87,15 @@ export const profileInvariantSchema = z.object({
79
87
  .regex(/^[A-Z]+-\d+$/, "Invariant id must match ^[A-Z]+-\\d+$ (e.g. VIDEO-01)"),
80
88
  rule: z.string().min(1),
81
89
  severity: z.enum(["error", "warning"]),
90
+ check: profileInvariantCheckSchema.optional(),
91
+ });
92
+ // ---------------------------------------------------------------------------
93
+ // Profile dev server schema (RFC-0674)
94
+ // ---------------------------------------------------------------------------
95
+ export const profileDevServerSchema = z.object({
96
+ command: z.string().min(1),
97
+ port: z.number().int().positive().optional(),
98
+ readinessTimeout: z.number().int().positive().optional(),
82
99
  });
83
100
  // ---------------------------------------------------------------------------
84
101
  // Stack profile domain fields
@@ -90,5 +107,6 @@ export const stackProfileDomainFieldsSchema = z.object({
90
107
  workspaceTypes: z.array(profileWorkspaceTypeSchema).optional(),
91
108
  invariants: z.array(profileInvariantSchema).optional(),
92
109
  register: z.enum(["business", "creative"]).optional(),
110
+ devServer: profileDevServerSchema.optional(),
93
111
  });
94
112
  //# sourceMappingURL=profile-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile-schema.js","sourceRoot":"","sources":["../../../src/profiles/profile-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-schema.js","sourceRoot":"","sources":["../../../src/profiles/profile-schema.ts"],"names":[],"mappings":"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"}
@@ -57,11 +57,26 @@ export declare const stackProfileSchema: z.ZodObject<{
57
57
  error: "error";
58
58
  warning: "warning";
59
59
  }>;
60
+ check: z.ZodOptional<z.ZodObject<{
61
+ kind: z.ZodEnum<{
62
+ "filename-pattern": "filename-pattern";
63
+ "file-contains": "file-contains";
64
+ "file-not-contains": "file-not-contains";
65
+ }>;
66
+ glob: z.ZodOptional<z.ZodString>;
67
+ pattern: z.ZodOptional<z.ZodString>;
68
+ negatedPattern: z.ZodOptional<z.ZodString>;
69
+ }, z.core.$strip>>;
60
70
  }, z.core.$strip>>>;
61
71
  register: z.ZodOptional<z.ZodEnum<{
62
72
  business: "business";
63
73
  creative: "creative";
64
74
  }>>;
75
+ devServer: z.ZodOptional<z.ZodObject<{
76
+ command: z.ZodString;
77
+ port: z.ZodOptional<z.ZodNumber>;
78
+ readinessTimeout: z.ZodOptional<z.ZodNumber>;
79
+ }, z.core.$strip>>;
65
80
  }, z.core.$strip>;
66
81
  export interface ProfileFile {
67
82
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"stack-profile.d.ts","sourceRoot":"","sources":["../../../src/profiles/stack-profile.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAkC,KAAK,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAMpG,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoC7B,CAAC;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,wBAAwB;IAC5D,MAAM,EAAE,uBAAuB,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC5B,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,KAAK,EAAE,WAAW,EAAE,CAAC;KACtB,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,WAAW,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAMD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAkBlE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAiBnE;AAMD,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,GAAG,IAAI,CAO9F"}
1
+ {"version":3,"file":"stack-profile.d.ts","sourceRoot":"","sources":["../../../src/profiles/stack-profile.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAkC,KAAK,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAMpG,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsC7B,CAAC;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,wBAAwB;IAC5D,MAAM,EAAE,uBAAuB,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC5B,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,KAAK,EAAE,WAAW,EAAE,CAAC;KACtB,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,WAAW,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAMD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAkBlE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAiBnE;AAMD,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,GAAG,IAAI,CAO9F"}
@@ -9,6 +9,7 @@
9
9
  <CHANGE_SUMMARY>
10
10
  <item>RFC-0392: initial stack profile module with zod schema, listStackProfiles, detectStack.</item>
11
11
  <item>RFC-0638: extended stackProfileSchema with optional domain-neutral fields (domain, terminology, artifacts, workspaceTypes, invariants, register).</item>
12
+ <item>RFC-0674: add devServer field to stackProfileSchema for lifecycle commands.</item>
12
13
  </CHANGE_SUMMARY>
13
14
  */
14
15
  import fs from "node:fs";
@@ -51,6 +52,8 @@ export const stackProfileSchema = z.object({
51
52
  workspaceTypes: stackProfileDomainFieldsSchema.shape.workspaceTypes,
52
53
  invariants: stackProfileDomainFieldsSchema.shape.invariants,
53
54
  register: stackProfileDomainFieldsSchema.shape.register,
55
+ // RFC-0674: Dev server declaration for lifecycle commands
56
+ devServer: stackProfileDomainFieldsSchema.shape.devServer,
54
57
  });
55
58
  // ---------------------------------------------------------------------------
56
59
  // Loader
@@ -1 +1 @@
1
- {"version":3,"file":"stack-profile.js","sourceRoot":"","sources":["../../../src/profiles/stack-profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack-profile.js","sourceRoot":"","sources":["../../../src/profiles/stack-profile.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warpgogol/forge",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -15,107 +15,107 @@
15
15
  "framework"
16
16
  ],
17
17
  "homepage": "https://warpgogol.com",
18
- "main": "./src/index.ts",
19
- "types": "./src/index.ts",
18
+ "main": "./dist/src/index.js",
19
+ "types": "./dist/src/index.d.ts",
20
20
  "bin": {
21
21
  "forge": "./bin/cli.js"
22
22
  },
23
23
  "exports": {
24
24
  ".": {
25
- "types": "./src/index.ts",
26
- "default": "./src/index.ts"
25
+ "types": "./dist/src/index.d.ts",
26
+ "default": "./dist/src/index.js"
27
27
  },
28
28
  "./types": {
29
- "types": "./src/types.ts",
30
- "default": "./src/types.ts"
29
+ "types": "./dist/src/types.d.ts",
30
+ "default": "./dist/src/types.js"
31
31
  },
32
32
  "./utils": {
33
- "types": "./src/utils/index.ts",
34
- "default": "./src/utils/index.ts"
33
+ "types": "./dist/src/utils/index.d.ts",
34
+ "default": "./dist/src/utils/index.js"
35
35
  },
36
36
  "./config": {
37
- "types": "./src/config/forge-config.ts",
38
- "default": "./src/config/forge-config.ts"
37
+ "types": "./dist/src/config/forge-config.d.ts",
38
+ "default": "./dist/src/config/forge-config.js"
39
39
  },
40
40
  "./os/core": {
41
- "types": "./os/core/core.module.ts",
42
- "default": "./os/core/core.module.ts"
41
+ "types": "./dist/os/core/core.module.d.ts",
42
+ "default": "./dist/os/core/core.module.js"
43
43
  },
44
44
  "./os/compass": {
45
- "types": "./os/compass/index.ts",
46
- "default": "./os/compass/index.ts"
45
+ "types": "./dist/os/compass/index.d.ts",
46
+ "default": "./dist/os/compass/index.js"
47
47
  },
48
48
  "./os/naming": {
49
- "types": "./os/naming/index.ts",
50
- "default": "./os/naming/index.ts"
49
+ "types": "./dist/os/naming/index.d.ts",
50
+ "default": "./dist/os/naming/index.js"
51
51
  },
52
52
  "./os/naming-module": {
53
- "types": "./os/naming/naming.module.ts",
54
- "default": "./os/naming/naming.module.ts"
53
+ "types": "./dist/os/naming/naming.module.d.ts",
54
+ "default": "./dist/os/naming/naming.module.js"
55
55
  },
56
56
  "./os/rfc": {
57
- "types": "./os/rfc/index.ts",
58
- "default": "./os/rfc/index.ts"
57
+ "types": "./dist/os/rfc/index.d.ts",
58
+ "default": "./dist/os/rfc/index.js"
59
59
  },
60
60
  "./os/rfc-module": {
61
- "types": "./os/rfc/rfc.module.ts",
62
- "default": "./os/rfc/rfc.module.ts"
61
+ "types": "./dist/os/rfc/rfc.module.d.ts",
62
+ "default": "./dist/os/rfc/rfc.module.js"
63
63
  },
64
64
  "./os/werkstatt": {
65
- "types": "./os/werkstatt/index.ts",
66
- "default": "./os/werkstatt/index.ts"
65
+ "types": "./dist/os/werkstatt/index.d.ts",
66
+ "default": "./dist/os/werkstatt/index.js"
67
67
  },
68
68
  "./os/workflow": {
69
- "types": "./os/workflow/index.ts",
70
- "default": "./os/workflow/index.ts"
69
+ "types": "./dist/os/workflow/index.d.ts",
70
+ "default": "./dist/os/workflow/index.js"
71
71
  },
72
72
  "./os/workflow-module": {
73
- "types": "./os/workflow/workflow.module.ts",
74
- "default": "./os/workflow/workflow.module.ts"
73
+ "types": "./dist/os/workflow/workflow.module.d.ts",
74
+ "default": "./dist/os/workflow/workflow.module.js"
75
75
  },
76
76
  "./os/spec-module": {
77
- "types": "./os/spec/spec.module.ts",
78
- "default": "./os/spec/spec.module.ts"
77
+ "types": "./dist/os/spec/spec.module.d.ts",
78
+ "default": "./dist/os/spec/spec.module.js"
79
79
  },
80
80
  "./os/adr": {
81
- "types": "./os/adr/index.ts",
82
- "default": "./os/adr/index.ts"
81
+ "types": "./dist/os/adr/index.d.ts",
82
+ "default": "./dist/os/adr/index.js"
83
83
  },
84
84
  "./os/adr-module": {
85
- "types": "./os/adr/adr.module.ts",
86
- "default": "./os/adr/adr.module.ts"
85
+ "types": "./dist/os/adr/adr.module.d.ts",
86
+ "default": "./dist/os/adr/adr.module.js"
87
87
  },
88
88
  "./os/plan": {
89
- "types": "./os/plan/index.ts",
90
- "default": "./os/plan/index.ts"
89
+ "types": "./dist/os/plan/index.d.ts",
90
+ "default": "./dist/os/plan/index.js"
91
91
  },
92
92
  "./os/plan-module": {
93
- "types": "./os/plan/plan.module.ts",
94
- "default": "./os/plan/plan.module.ts"
93
+ "types": "./dist/os/plan/plan.module.d.ts",
94
+ "default": "./dist/os/plan/plan.module.js"
95
95
  },
96
96
  "./os/audit": {
97
- "types": "./os/audit/index.ts",
98
- "default": "./os/audit/index.ts"
97
+ "types": "./dist/os/audit/index.d.ts",
98
+ "default": "./dist/os/audit/index.js"
99
99
  },
100
100
  "./os/audit-module": {
101
- "types": "./os/audit/audit.module.ts",
102
- "default": "./os/audit/audit.module.ts"
101
+ "types": "./dist/os/audit/audit.module.d.ts",
102
+ "default": "./dist/os/audit/audit.module.js"
103
103
  },
104
104
  "./os/session": {
105
- "types": "./os/session/index.ts",
106
- "default": "./os/session/index.ts"
105
+ "types": "./dist/os/session/index.d.ts",
106
+ "default": "./dist/os/session/index.js"
107
107
  },
108
108
  "./os/session-module": {
109
- "types": "./os/session/session.module.ts",
110
- "default": "./os/session/session.module.ts"
109
+ "types": "./dist/os/session/session.module.d.ts",
110
+ "default": "./dist/os/session/session.module.js"
111
111
  },
112
112
  "./os/mission": {
113
- "types": "./os/mission/index.ts",
114
- "default": "./os/mission/index.ts"
113
+ "types": "./dist/os/mission/index.d.ts",
114
+ "default": "./dist/os/mission/index.js"
115
115
  },
116
116
  "./os/mission-module": {
117
- "types": "./os/mission/mission.module.ts",
118
- "default": "./os/mission/mission.module.ts"
117
+ "types": "./dist/os/mission/mission.module.d.ts",
118
+ "default": "./dist/os/mission/mission.module.js"
119
119
  }
120
120
  },
121
121
  "files": [
@@ -129,14 +129,6 @@
129
129
  "README.md",
130
130
  "LICENSE"
131
131
  ],
132
- "scripts": {
133
- "build": "pnpm exec tsc -p tsconfig.json",
134
- "build:check": "pnpm exec tsc -p tsconfig.json --noEmit",
135
- "clean": "rm -rf dist",
136
- "prepublishOnly": "pnpm run clean && pnpm run build && node scripts/publish-check.mjs",
137
- "test": "vitest run --passWithNoTests",
138
- "test:watch": "vitest"
139
- },
140
132
  "dependencies": {
141
133
  "yaml": "^2.9.0",
142
134
  "zod": "^4.4.3"
@@ -151,106 +143,13 @@
151
143
  "node": ">=18.0.0"
152
144
  },
153
145
  "publishConfig": {
154
- "access": "public",
155
- "main": "./dist/src/index.js",
156
- "types": "./dist/src/index.d.ts",
157
- "exports": {
158
- ".": {
159
- "types": "./dist/src/index.d.ts",
160
- "default": "./dist/src/index.js"
161
- },
162
- "./types": {
163
- "types": "./dist/src/types.d.ts",
164
- "default": "./dist/src/types.js"
165
- },
166
- "./utils": {
167
- "types": "./dist/src/utils/index.d.ts",
168
- "default": "./dist/src/utils/index.js"
169
- },
170
- "./config": {
171
- "types": "./dist/src/config/forge-config.d.ts",
172
- "default": "./dist/src/config/forge-config.js"
173
- },
174
- "./os/core": {
175
- "types": "./dist/os/core/core.module.d.ts",
176
- "default": "./dist/os/core/core.module.js"
177
- },
178
- "./os/compass": {
179
- "types": "./dist/os/compass/index.d.ts",
180
- "default": "./dist/os/compass/index.js"
181
- },
182
- "./os/naming": {
183
- "types": "./dist/os/naming/index.d.ts",
184
- "default": "./dist/os/naming/index.js"
185
- },
186
- "./os/naming-module": {
187
- "types": "./dist/os/naming/naming.module.d.ts",
188
- "default": "./dist/os/naming/naming.module.js"
189
- },
190
- "./os/rfc": {
191
- "types": "./dist/os/rfc/index.d.ts",
192
- "default": "./dist/os/rfc/index.js"
193
- },
194
- "./os/rfc-module": {
195
- "types": "./dist/os/rfc/rfc.module.d.ts",
196
- "default": "./dist/os/rfc/rfc.module.js"
197
- },
198
- "./os/werkstatt": {
199
- "types": "./dist/os/werkstatt/index.d.ts",
200
- "default": "./dist/os/werkstatt/index.js"
201
- },
202
- "./os/workflow": {
203
- "types": "./dist/os/workflow/index.d.ts",
204
- "default": "./dist/os/workflow/index.js"
205
- },
206
- "./os/workflow-module": {
207
- "types": "./dist/os/workflow/workflow.module.d.ts",
208
- "default": "./dist/os/workflow/workflow.module.js"
209
- },
210
- "./os/spec-module": {
211
- "types": "./dist/os/spec/spec.module.d.ts",
212
- "default": "./dist/os/spec/spec.module.js"
213
- },
214
- "./os/adr": {
215
- "types": "./dist/os/adr/index.d.ts",
216
- "default": "./dist/os/adr/index.js"
217
- },
218
- "./os/adr-module": {
219
- "types": "./dist/os/adr/adr.module.d.ts",
220
- "default": "./dist/os/adr/adr.module.js"
221
- },
222
- "./os/plan": {
223
- "types": "./dist/os/plan/index.d.ts",
224
- "default": "./dist/os/plan/index.js"
225
- },
226
- "./os/plan-module": {
227
- "types": "./dist/os/plan/plan.module.d.ts",
228
- "default": "./dist/os/plan/plan.module.js"
229
- },
230
- "./os/audit": {
231
- "types": "./dist/os/audit/index.d.ts",
232
- "default": "./dist/os/audit/index.js"
233
- },
234
- "./os/audit-module": {
235
- "types": "./dist/os/audit/audit.module.d.ts",
236
- "default": "./dist/os/audit/audit.module.js"
237
- },
238
- "./os/session": {
239
- "types": "./dist/os/session/index.d.ts",
240
- "default": "./dist/os/session/index.js"
241
- },
242
- "./os/session-module": {
243
- "types": "./dist/os/session/session.module.d.ts",
244
- "default": "./dist/os/session/session.module.js"
245
- },
246
- "./os/mission": {
247
- "types": "./dist/os/mission/index.d.ts",
248
- "default": "./dist/os/mission/index.js"
249
- },
250
- "./os/mission-module": {
251
- "types": "./dist/os/mission/mission.module.d.ts",
252
- "default": "./dist/os/mission/mission.module.js"
253
- }
254
- }
146
+ "access": "public"
147
+ },
148
+ "scripts": {
149
+ "build": "pnpm exec tsc -p tsconfig.json",
150
+ "build:check": "pnpm exec tsc -p tsconfig.json --noEmit",
151
+ "clean": "rm -rf dist",
152
+ "test": "vitest run --passWithNoTests",
153
+ "test:watch": "vitest"
255
154
  }
256
- }
155
+ }
@@ -14,6 +14,9 @@ terminology:
14
14
  output: render
15
15
  verify: render-verify
16
16
  operator: director
17
+ devServer:
18
+ command: editframe preview
19
+ port: 4321
17
20
  artifacts:
18
21
  - id: composition
19
22
  extensions:
@@ -44,12 +47,24 @@ invariants:
44
47
  - id: VIDEO-01
45
48
  rule: Composition filenames must use kebab-case (lowercase letters, digits, hyphens only)
46
49
  severity: error
50
+ check:
51
+ kind: filename-pattern
52
+ glob: "compositions/**/*.{html,tsx}"
53
+ pattern: "^[a-z0-9-]+\\.(html|tsx)$"
47
54
  - id: VIDEO-02
48
55
  rule: Scene durations must use contain mode by default to avoid unexpected cropping
49
56
  severity: warning
57
+ check:
58
+ kind: file-contains
59
+ glob: "compositions/**/*.html"
60
+ pattern: contain
50
61
  - id: VIDEO-03
51
62
  rule: All speech audio elements must have corresponding ef-captions elements for accessibility
52
63
  severity: error
64
+ check:
65
+ kind: file-contains
66
+ glob: "compositions/**/*.html"
67
+ pattern: ef-captions
53
68
  workspace:
54
69
  dirs:
55
70
  - compositions