@warpgogol/forge 0.9.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.
- package/AGENTS.md +31 -2
- package/dist/bin/cli.js +0 -0
- package/dist/os/core/core.module.d.ts.map +1 -1
- package/dist/os/core/core.module.js +65 -0
- package/dist/os/core/core.module.js.map +1 -1
- package/dist/os/core/handlers/build.d.ts +16 -0
- package/dist/os/core/handlers/build.d.ts.map +1 -0
- package/dist/os/core/handlers/build.js +123 -0
- package/dist/os/core/handlers/build.js.map +1 -0
- package/dist/os/core/handlers/dev.d.ts +10 -0
- package/dist/os/core/handlers/dev.d.ts.map +1 -0
- package/dist/os/core/handlers/dev.js +102 -0
- package/dist/os/core/handlers/dev.js.map +1 -0
- package/dist/os/core/handlers/profile-resolve.d.ts +13 -0
- package/dist/os/core/handlers/profile-resolve.d.ts.map +1 -0
- package/dist/os/core/handlers/profile-resolve.js +65 -0
- package/dist/os/core/handlers/profile-resolve.js.map +1 -0
- package/dist/os/core/handlers/validate.d.ts +15 -0
- package/dist/os/core/handlers/validate.d.ts.map +1 -0
- package/dist/os/core/handlers/validate.js +120 -0
- package/dist/os/core/handlers/validate.js.map +1 -0
- package/dist/src/onboarding/doctor.d.ts +3 -0
- package/dist/src/onboarding/doctor.d.ts.map +1 -1
- package/dist/src/onboarding/doctor.js +34 -4
- package/dist/src/onboarding/doctor.js.map +1 -1
- package/dist/src/onboarding/invariant-engine.d.ts +17 -0
- package/dist/src/onboarding/invariant-engine.d.ts.map +1 -0
- package/dist/src/onboarding/invariant-engine.js +173 -0
- package/dist/src/onboarding/invariant-engine.js.map +1 -0
- package/dist/src/profiles/profile-schema.d.ts +53 -0
- package/dist/src/profiles/profile-schema.d.ts.map +1 -1
- package/dist/src/profiles/profile-schema.js +19 -1
- package/dist/src/profiles/profile-schema.js.map +1 -1
- package/dist/src/profiles/stack-profile.d.ts +15 -0
- package/dist/src/profiles/stack-profile.d.ts.map +1 -1
- package/dist/src/profiles/stack-profile.js +3 -0
- package/dist/src/profiles/stack-profile.js.map +1 -1
- package/package.json +69 -162
- package/profiles/editframe-html.yaml +15 -0
- package/skills/fo/fo-add-tests/SKILL.md +3 -1
- package/skills/fo/fo-doc-audit/SKILL.md +2 -0
- package/skills/fo/fo-fix/SKILL.md +5 -3
- package/skills/fo/fo-idea-audit/SKILL.md +2 -0
- package/skills/fo/fo-idea-create-adr/SKILL.md +2 -0
- package/skills/fo/fo-idea-create-rfc/SKILL.md +2 -0
- package/skills/fo/fo-idea-enhance/SKILL.md +3 -1
- package/skills/fo/fo-idea-implement/SKILL.md +3 -1
- package/skills/fo/fo-idea-plan/SKILL.md +3 -1
- package/skills/fo/fo-idea-status/SKILL.md +2 -0
- package/skills/fo/fo-review/SKILL.md +4 -2
- package/skills/fo/fo-session-retro/SKILL.md +185 -1
- package/skills/meta/forge-bootstrap/SKILL.md +27 -4
- 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":"
|
|
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
|
|
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":"AAAA
|
|
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":"
|
|
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":"AAAA
|
|
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,113 +1,121 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@warpgogol/forge",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "Framework for documenting and implementing ideas — RFC/ADR governance, skills, and project bootstrapping.",
|
|
8
|
-
"keywords": [
|
|
8
|
+
"keywords": [
|
|
9
|
+
"rfc",
|
|
10
|
+
"adr",
|
|
11
|
+
"governance",
|
|
12
|
+
"skills",
|
|
13
|
+
"ai-agent",
|
|
14
|
+
"documentation",
|
|
15
|
+
"framework"
|
|
16
|
+
],
|
|
9
17
|
"homepage": "https://warpgogol.com",
|
|
10
|
-
"main": "./src/index.
|
|
11
|
-
"types": "./src/index.ts",
|
|
18
|
+
"main": "./dist/src/index.js",
|
|
19
|
+
"types": "./dist/src/index.d.ts",
|
|
12
20
|
"bin": {
|
|
13
21
|
"forge": "./bin/cli.js"
|
|
14
22
|
},
|
|
15
23
|
"exports": {
|
|
16
24
|
".": {
|
|
17
|
-
"types": "./src/index.ts",
|
|
18
|
-
"default": "./src/index.
|
|
25
|
+
"types": "./dist/src/index.d.ts",
|
|
26
|
+
"default": "./dist/src/index.js"
|
|
19
27
|
},
|
|
20
28
|
"./types": {
|
|
21
|
-
"types": "./src/types.ts",
|
|
22
|
-
"default": "./src/types.
|
|
29
|
+
"types": "./dist/src/types.d.ts",
|
|
30
|
+
"default": "./dist/src/types.js"
|
|
23
31
|
},
|
|
24
32
|
"./utils": {
|
|
25
|
-
"types": "./src/utils/index.ts",
|
|
26
|
-
"default": "./src/utils/index.
|
|
33
|
+
"types": "./dist/src/utils/index.d.ts",
|
|
34
|
+
"default": "./dist/src/utils/index.js"
|
|
27
35
|
},
|
|
28
36
|
"./config": {
|
|
29
|
-
"types": "./src/config/forge-config.ts",
|
|
30
|
-
"default": "./src/config/forge-config.
|
|
37
|
+
"types": "./dist/src/config/forge-config.d.ts",
|
|
38
|
+
"default": "./dist/src/config/forge-config.js"
|
|
31
39
|
},
|
|
32
40
|
"./os/core": {
|
|
33
|
-
"types": "./os/core/core.module.ts",
|
|
34
|
-
"default": "./os/core/core.module.
|
|
41
|
+
"types": "./dist/os/core/core.module.d.ts",
|
|
42
|
+
"default": "./dist/os/core/core.module.js"
|
|
35
43
|
},
|
|
36
44
|
"./os/compass": {
|
|
37
|
-
"types": "./os/compass/index.ts",
|
|
38
|
-
"default": "./os/compass/index.
|
|
45
|
+
"types": "./dist/os/compass/index.d.ts",
|
|
46
|
+
"default": "./dist/os/compass/index.js"
|
|
39
47
|
},
|
|
40
48
|
"./os/naming": {
|
|
41
|
-
"types": "./os/naming/index.ts",
|
|
42
|
-
"default": "./os/naming/index.
|
|
49
|
+
"types": "./dist/os/naming/index.d.ts",
|
|
50
|
+
"default": "./dist/os/naming/index.js"
|
|
43
51
|
},
|
|
44
52
|
"./os/naming-module": {
|
|
45
|
-
"types": "./os/naming/naming.module.ts",
|
|
46
|
-
"default": "./os/naming/naming.module.
|
|
53
|
+
"types": "./dist/os/naming/naming.module.d.ts",
|
|
54
|
+
"default": "./dist/os/naming/naming.module.js"
|
|
47
55
|
},
|
|
48
56
|
"./os/rfc": {
|
|
49
|
-
"types": "./os/rfc/index.ts",
|
|
50
|
-
"default": "./os/rfc/index.
|
|
57
|
+
"types": "./dist/os/rfc/index.d.ts",
|
|
58
|
+
"default": "./dist/os/rfc/index.js"
|
|
51
59
|
},
|
|
52
60
|
"./os/rfc-module": {
|
|
53
|
-
"types": "./os/rfc/rfc.module.ts",
|
|
54
|
-
"default": "./os/rfc/rfc.module.
|
|
61
|
+
"types": "./dist/os/rfc/rfc.module.d.ts",
|
|
62
|
+
"default": "./dist/os/rfc/rfc.module.js"
|
|
55
63
|
},
|
|
56
64
|
"./os/werkstatt": {
|
|
57
|
-
"types": "./os/werkstatt/index.ts",
|
|
58
|
-
"default": "./os/werkstatt/index.
|
|
65
|
+
"types": "./dist/os/werkstatt/index.d.ts",
|
|
66
|
+
"default": "./dist/os/werkstatt/index.js"
|
|
59
67
|
},
|
|
60
68
|
"./os/workflow": {
|
|
61
|
-
"types": "./os/workflow/index.ts",
|
|
62
|
-
"default": "./os/workflow/index.
|
|
69
|
+
"types": "./dist/os/workflow/index.d.ts",
|
|
70
|
+
"default": "./dist/os/workflow/index.js"
|
|
63
71
|
},
|
|
64
72
|
"./os/workflow-module": {
|
|
65
|
-
"types": "./os/workflow/workflow.module.ts",
|
|
66
|
-
"default": "./os/workflow/workflow.module.
|
|
73
|
+
"types": "./dist/os/workflow/workflow.module.d.ts",
|
|
74
|
+
"default": "./dist/os/workflow/workflow.module.js"
|
|
67
75
|
},
|
|
68
76
|
"./os/spec-module": {
|
|
69
|
-
"types": "./os/spec/spec.module.ts",
|
|
70
|
-
"default": "./os/spec/spec.module.
|
|
77
|
+
"types": "./dist/os/spec/spec.module.d.ts",
|
|
78
|
+
"default": "./dist/os/spec/spec.module.js"
|
|
71
79
|
},
|
|
72
80
|
"./os/adr": {
|
|
73
|
-
"types": "./os/adr/index.ts",
|
|
74
|
-
"default": "./os/adr/index.
|
|
81
|
+
"types": "./dist/os/adr/index.d.ts",
|
|
82
|
+
"default": "./dist/os/adr/index.js"
|
|
75
83
|
},
|
|
76
84
|
"./os/adr-module": {
|
|
77
|
-
"types": "./os/adr/adr.module.ts",
|
|
78
|
-
"default": "./os/adr/adr.module.
|
|
85
|
+
"types": "./dist/os/adr/adr.module.d.ts",
|
|
86
|
+
"default": "./dist/os/adr/adr.module.js"
|
|
79
87
|
},
|
|
80
88
|
"./os/plan": {
|
|
81
|
-
"types": "./os/plan/index.ts",
|
|
82
|
-
"default": "./os/plan/index.
|
|
89
|
+
"types": "./dist/os/plan/index.d.ts",
|
|
90
|
+
"default": "./dist/os/plan/index.js"
|
|
83
91
|
},
|
|
84
92
|
"./os/plan-module": {
|
|
85
|
-
"types": "./os/plan/plan.module.ts",
|
|
86
|
-
"default": "./os/plan/plan.module.
|
|
93
|
+
"types": "./dist/os/plan/plan.module.d.ts",
|
|
94
|
+
"default": "./dist/os/plan/plan.module.js"
|
|
87
95
|
},
|
|
88
96
|
"./os/audit": {
|
|
89
|
-
"types": "./os/audit/index.ts",
|
|
90
|
-
"default": "./os/audit/index.
|
|
97
|
+
"types": "./dist/os/audit/index.d.ts",
|
|
98
|
+
"default": "./dist/os/audit/index.js"
|
|
91
99
|
},
|
|
92
100
|
"./os/audit-module": {
|
|
93
|
-
"types": "./os/audit/audit.module.ts",
|
|
94
|
-
"default": "./os/audit/audit.module.
|
|
101
|
+
"types": "./dist/os/audit/audit.module.d.ts",
|
|
102
|
+
"default": "./dist/os/audit/audit.module.js"
|
|
95
103
|
},
|
|
96
104
|
"./os/session": {
|
|
97
|
-
"types": "./os/session/index.ts",
|
|
98
|
-
"default": "./os/session/index.
|
|
105
|
+
"types": "./dist/os/session/index.d.ts",
|
|
106
|
+
"default": "./dist/os/session/index.js"
|
|
99
107
|
},
|
|
100
108
|
"./os/session-module": {
|
|
101
|
-
"types": "./os/session/session.module.ts",
|
|
102
|
-
"default": "./os/session/session.module.
|
|
109
|
+
"types": "./dist/os/session/session.module.d.ts",
|
|
110
|
+
"default": "./dist/os/session/session.module.js"
|
|
103
111
|
},
|
|
104
112
|
"./os/mission": {
|
|
105
|
-
"types": "./os/mission/index.ts",
|
|
106
|
-
"default": "./os/mission/index.
|
|
113
|
+
"types": "./dist/os/mission/index.d.ts",
|
|
114
|
+
"default": "./dist/os/mission/index.js"
|
|
107
115
|
},
|
|
108
116
|
"./os/mission-module": {
|
|
109
|
-
"types": "./os/mission/mission.module.ts",
|
|
110
|
-
"default": "./os/mission/mission.module.
|
|
117
|
+
"types": "./dist/os/mission/mission.module.d.ts",
|
|
118
|
+
"default": "./dist/os/mission/mission.module.js"
|
|
111
119
|
}
|
|
112
120
|
},
|
|
113
121
|
"files": [
|
|
@@ -121,14 +129,6 @@
|
|
|
121
129
|
"README.md",
|
|
122
130
|
"LICENSE"
|
|
123
131
|
],
|
|
124
|
-
"scripts": {
|
|
125
|
-
"build": "pnpm exec tsc -p tsconfig.json",
|
|
126
|
-
"build:check": "pnpm exec tsc -p tsconfig.json --noEmit",
|
|
127
|
-
"clean": "rm -rf dist",
|
|
128
|
-
"prepublishOnly": "pnpm run clean && pnpm run build && node scripts/publish-check.mjs",
|
|
129
|
-
"test": "vitest run --passWithNoTests",
|
|
130
|
-
"test:watch": "vitest"
|
|
131
|
-
},
|
|
132
132
|
"dependencies": {
|
|
133
133
|
"yaml": "^2.9.0",
|
|
134
134
|
"zod": "^4.4.3"
|
|
@@ -143,106 +143,13 @@
|
|
|
143
143
|
"node": ">=18.0.0"
|
|
144
144
|
},
|
|
145
145
|
"publishConfig": {
|
|
146
|
-
"access": "public"
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
"
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
"./types": {
|
|
155
|
-
"types": "./dist/src/types.d.ts",
|
|
156
|
-
"default": "./dist/src/types.js"
|
|
157
|
-
},
|
|
158
|
-
"./utils": {
|
|
159
|
-
"types": "./dist/src/utils/index.d.ts",
|
|
160
|
-
"default": "./dist/src/utils/index.js"
|
|
161
|
-
},
|
|
162
|
-
"./config": {
|
|
163
|
-
"types": "./dist/src/config/forge-config.d.ts",
|
|
164
|
-
"default": "./dist/src/config/forge-config.js"
|
|
165
|
-
},
|
|
166
|
-
"./os/core": {
|
|
167
|
-
"types": "./dist/os/core/core.module.d.ts",
|
|
168
|
-
"default": "./dist/os/core/core.module.js"
|
|
169
|
-
},
|
|
170
|
-
"./os/compass": {
|
|
171
|
-
"types": "./dist/os/compass/index.d.ts",
|
|
172
|
-
"default": "./dist/os/compass/index.js"
|
|
173
|
-
},
|
|
174
|
-
"./os/naming": {
|
|
175
|
-
"types": "./dist/os/naming/index.d.ts",
|
|
176
|
-
"default": "./dist/os/naming/index.js"
|
|
177
|
-
},
|
|
178
|
-
"./os/naming-module": {
|
|
179
|
-
"types": "./dist/os/naming/naming.module.d.ts",
|
|
180
|
-
"default": "./dist/os/naming/naming.module.js"
|
|
181
|
-
},
|
|
182
|
-
"./os/rfc": {
|
|
183
|
-
"types": "./dist/os/rfc/index.d.ts",
|
|
184
|
-
"default": "./dist/os/rfc/index.js"
|
|
185
|
-
},
|
|
186
|
-
"./os/rfc-module": {
|
|
187
|
-
"types": "./dist/os/rfc/rfc.module.d.ts",
|
|
188
|
-
"default": "./dist/os/rfc/rfc.module.js"
|
|
189
|
-
},
|
|
190
|
-
"./os/werkstatt": {
|
|
191
|
-
"types": "./dist/os/werkstatt/index.d.ts",
|
|
192
|
-
"default": "./dist/os/werkstatt/index.js"
|
|
193
|
-
},
|
|
194
|
-
"./os/workflow": {
|
|
195
|
-
"types": "./dist/os/workflow/index.d.ts",
|
|
196
|
-
"default": "./dist/os/workflow/index.js"
|
|
197
|
-
},
|
|
198
|
-
"./os/workflow-module": {
|
|
199
|
-
"types": "./dist/os/workflow/workflow.module.d.ts",
|
|
200
|
-
"default": "./dist/os/workflow/workflow.module.js"
|
|
201
|
-
},
|
|
202
|
-
"./os/spec-module": {
|
|
203
|
-
"types": "./dist/os/spec/spec.module.d.ts",
|
|
204
|
-
"default": "./dist/os/spec/spec.module.js"
|
|
205
|
-
},
|
|
206
|
-
"./os/adr": {
|
|
207
|
-
"types": "./dist/os/adr/index.d.ts",
|
|
208
|
-
"default": "./dist/os/adr/index.js"
|
|
209
|
-
},
|
|
210
|
-
"./os/adr-module": {
|
|
211
|
-
"types": "./dist/os/adr/adr.module.d.ts",
|
|
212
|
-
"default": "./dist/os/adr/adr.module.js"
|
|
213
|
-
},
|
|
214
|
-
"./os/plan": {
|
|
215
|
-
"types": "./dist/os/plan/index.d.ts",
|
|
216
|
-
"default": "./dist/os/plan/index.js"
|
|
217
|
-
},
|
|
218
|
-
"./os/plan-module": {
|
|
219
|
-
"types": "./dist/os/plan/plan.module.d.ts",
|
|
220
|
-
"default": "./dist/os/plan/plan.module.js"
|
|
221
|
-
},
|
|
222
|
-
"./os/audit": {
|
|
223
|
-
"types": "./dist/os/audit/index.d.ts",
|
|
224
|
-
"default": "./dist/os/audit/index.js"
|
|
225
|
-
},
|
|
226
|
-
"./os/audit-module": {
|
|
227
|
-
"types": "./dist/os/audit/audit.module.d.ts",
|
|
228
|
-
"default": "./dist/os/audit/audit.module.js"
|
|
229
|
-
},
|
|
230
|
-
"./os/session": {
|
|
231
|
-
"types": "./dist/os/session/index.d.ts",
|
|
232
|
-
"default": "./dist/os/session/index.js"
|
|
233
|
-
},
|
|
234
|
-
"./os/session-module": {
|
|
235
|
-
"types": "./dist/os/session/session.module.d.ts",
|
|
236
|
-
"default": "./dist/os/session/session.module.js"
|
|
237
|
-
},
|
|
238
|
-
"./os/mission": {
|
|
239
|
-
"types": "./dist/os/mission/index.d.ts",
|
|
240
|
-
"default": "./dist/os/mission/index.js"
|
|
241
|
-
},
|
|
242
|
-
"./os/mission-module": {
|
|
243
|
-
"types": "./dist/os/mission/mission.module.d.ts",
|
|
244
|
-
"default": "./dist/os/mission/mission.module.js"
|
|
245
|
-
}
|
|
246
|
-
}
|
|
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"
|
|
247
154
|
}
|
|
248
|
-
}
|
|
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
|
|
@@ -83,8 +83,10 @@ Mock at **system boundaries** only — external APIs, databases, time, randomnes
|
|
|
83
83
|
|
|
84
84
|
For the target package:
|
|
85
85
|
|
|
86
|
+
> Commands below assume RTK is installed. To check, run `rtk --version` (this is the detection command — it is not prefixed with `rtk` because it IS an `rtk` command). If `rtk --version` fails, RTK is not installed — run all commands without the `rtk` prefix.
|
|
87
|
+
|
|
86
88
|
```sh
|
|
87
|
-
pnpm --filter <package-name> test
|
|
89
|
+
rtk pnpm --filter <package-name> test
|
|
88
90
|
```
|
|
89
91
|
|
|
90
92
|
If the tests fail (red):
|
|
@@ -124,6 +124,8 @@ If yes, update the **template** files in `packages/os/site-kernel-onboarding/src
|
|
|
124
124
|
|
|
125
125
|
If yes, **do not edit the generated file directly**. Update the source registry or generator, then run the regeneration command:
|
|
126
126
|
|
|
127
|
+
> Commands below assume RTK is installed. To check, run `rtk --version` (this is the detection command — it is not prefixed with `rtk` because it IS an `rtk` command). If `rtk --version` fails, RTK is not installed — run all commands without the `rtk` prefix.
|
|
128
|
+
|
|
127
129
|
```sh
|
|
128
130
|
ref(forge.yaml bindings.commands.produce) --workspace=ecosystem.manifest.generate
|
|
129
131
|
ref(forge.yaml bindings.commands.produce) --workspace=command.manifest.generate
|
|
@@ -95,7 +95,9 @@ Otherwise, determine which workspaces were touched by the fixes in step 2 and ru
|
|
|
95
95
|
|
|
96
96
|
- **For each touched `apps/*` workspace:**
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
> Commands below assume RTK is installed. To check, run `rtk --version` (this is the detection command — it is not prefixed with `rtk` because it IS an `rtk` command). If `rtk --version` fails, RTK is not installed — run all commands without the `rtk` prefix.
|
|
99
|
+
|
|
100
|
+
```sh
|
|
99
101
|
pnpm --filter <app-name> exec astro check
|
|
100
102
|
```
|
|
101
103
|
|
|
@@ -121,8 +123,8 @@ All scoped checks must pass. If any fails:
|
|
|
121
123
|
Stage and commit the changes with a descriptive message.
|
|
122
124
|
|
|
123
125
|
```text
|
|
124
|
-
git add ...
|
|
125
|
-
git commit -m "fix(scope): ..."
|
|
126
|
+
rtk git add ...
|
|
127
|
+
rtk git commit -m "fix(scope): ..."
|
|
126
128
|
```
|
|
127
129
|
|
|
128
130
|
Do not commit secrets, API keys, or unrelated changes.
|
|
@@ -53,6 +53,8 @@ Read the full RFC file at `docs/rfcs/rfc-XXXX-*.md` for the first RFC to process
|
|
|
53
53
|
|
|
54
54
|
Run the mechanical floor first — it catches format, referential, and structural violations that don't need semantic judgment:
|
|
55
55
|
|
|
56
|
+
> Commands below assume RTK is installed. To check, run `rtk --version` (this is the detection command — it is not prefixed with `rtk` because it IS an `rtk` command). If `rtk --version` fails, RTK is not installed — run all commands without the `rtk` prefix.
|
|
57
|
+
|
|
56
58
|
```sh
|
|
57
59
|
ref(forge.yaml bindings.commands.validateRfc) --json
|
|
58
60
|
```
|