@warpgogol/forge 0.4.0 → 0.6.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 +123 -5
- package/dist/bin/cli.js +0 -0
- package/dist/os/adr/handlers/validate.d.ts.map +1 -1
- package/dist/os/adr/handlers/validate.js +31 -3
- package/dist/os/adr/handlers/validate.js.map +1 -1
- package/dist/os/core/core.module.d.ts.map +1 -1
- package/dist/os/core/core.module.js +76 -2
- package/dist/os/core/core.module.js.map +1 -1
- package/dist/os/core/handlers/knowledge-compact.d.ts +4 -0
- package/dist/os/core/handlers/knowledge-compact.d.ts.map +1 -0
- package/dist/os/core/handlers/knowledge-compact.js +198 -0
- package/dist/os/core/handlers/knowledge-compact.js.map +1 -0
- package/dist/os/mission/handlers/archive.d.ts.map +1 -1
- package/dist/os/mission/handlers/archive.js +6 -0
- package/dist/os/mission/handlers/archive.js.map +1 -1
- package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -1
- package/dist/os/rfc/handlers/lifecycle.js +3 -4
- package/dist/os/rfc/handlers/lifecycle.js.map +1 -1
- package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -1
- package/dist/os/rfc/handlers/validate-rules.js +41 -3
- package/dist/os/rfc/handlers/validate-rules.js.map +1 -1
- package/dist/os/spec/spec-schema.d.ts +1 -1
- package/dist/src/config/forge-config.d.ts +67 -3
- package/dist/src/config/forge-config.d.ts.map +1 -1
- package/dist/src/config/forge-config.js +86 -2
- package/dist/src/config/forge-config.js.map +1 -1
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/knowledge/budgets.d.ts +38 -0
- package/dist/src/knowledge/budgets.d.ts.map +1 -0
- package/dist/src/knowledge/budgets.js +157 -0
- package/dist/src/knowledge/budgets.js.map +1 -0
- package/dist/src/knowledge/compact.d.ts +47 -0
- package/dist/src/knowledge/compact.d.ts.map +1 -0
- package/dist/src/knowledge/compact.js +322 -0
- package/dist/src/knowledge/compact.js.map +1 -0
- package/dist/src/knowledge/index.d.ts +7 -0
- package/dist/src/knowledge/index.d.ts.map +1 -0
- package/dist/src/knowledge/index.js +19 -0
- package/dist/src/knowledge/index.js.map +1 -0
- package/dist/src/knowledge/parse.d.ts +3 -0
- package/dist/src/knowledge/parse.d.ts.map +1 -0
- package/dist/src/knowledge/parse.js +205 -0
- package/dist/src/knowledge/parse.js.map +1 -0
- package/dist/src/knowledge/promote.d.ts +37 -0
- package/dist/src/knowledge/promote.d.ts.map +1 -0
- package/dist/src/knowledge/promote.js +120 -0
- package/dist/src/knowledge/promote.js.map +1 -0
- package/dist/src/knowledge/schema.d.ts +61 -0
- package/dist/src/knowledge/schema.d.ts.map +1 -0
- package/dist/src/knowledge/schema.js +64 -0
- package/dist/src/knowledge/schema.js.map +1 -0
- package/dist/src/knowledge/serialize.d.ts +3 -0
- package/dist/src/knowledge/serialize.d.ts.map +1 -0
- package/dist/src/knowledge/serialize.js +67 -0
- package/dist/src/knowledge/serialize.js.map +1 -0
- package/dist/src/onboarding/agents-generate.d.ts +15 -0
- package/dist/src/onboarding/agents-generate.d.ts.map +1 -1
- package/dist/src/onboarding/agents-generate.js +148 -241
- package/dist/src/onboarding/agents-generate.js.map +1 -1
- package/dist/src/onboarding/create.d.ts.map +1 -1
- package/dist/src/onboarding/create.js +62 -3
- package/dist/src/onboarding/create.js.map +1 -1
- package/dist/src/onboarding/doctor.d.ts +13 -1
- package/dist/src/onboarding/doctor.d.ts.map +1 -1
- package/dist/src/onboarding/doctor.js +527 -11
- package/dist/src/onboarding/doctor.js.map +1 -1
- package/dist/src/onboarding/init.d.ts +8 -1
- package/dist/src/onboarding/init.d.ts.map +1 -1
- package/dist/src/onboarding/init.js +33 -2
- package/dist/src/onboarding/init.js.map +1 -1
- package/dist/src/onboarding/memory-scaffold.d.ts +18 -0
- package/dist/src/onboarding/memory-scaffold.d.ts.map +1 -0
- package/dist/src/onboarding/memory-scaffold.js +151 -0
- package/dist/src/onboarding/memory-scaffold.js.map +1 -0
- package/dist/src/onboarding/nested-agents-generate.d.ts +6 -2
- package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -1
- package/dist/src/onboarding/nested-agents-generate.js +34 -9
- package/dist/src/onboarding/nested-agents-generate.js.map +1 -1
- package/dist/src/onboarding/nested-agents-templates.d.ts +23 -1
- package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -1
- package/dist/src/onboarding/nested-agents-templates.js +138 -8
- package/dist/src/onboarding/nested-agents-templates.js.map +1 -1
- package/dist/src/onboarding/profile-validate.d.ts +13 -0
- package/dist/src/onboarding/profile-validate.d.ts.map +1 -0
- package/dist/src/onboarding/profile-validate.js +109 -0
- package/dist/src/onboarding/profile-validate.js.map +1 -0
- package/dist/src/onboarding/upgrade.d.ts +5 -0
- package/dist/src/onboarding/upgrade.d.ts.map +1 -1
- package/dist/src/onboarding/upgrade.js +27 -1
- package/dist/src/onboarding/upgrade.js.map +1 -1
- package/dist/src/onboarding/workspace-discovery.d.ts +4 -3
- package/dist/src/onboarding/workspace-discovery.d.ts.map +1 -1
- package/dist/src/onboarding/workspace-discovery.js +51 -3
- package/dist/src/onboarding/workspace-discovery.js.map +1 -1
- package/dist/src/profiles/profile-schema.d.ts +116 -0
- package/dist/src/profiles/profile-schema.d.ts.map +1 -0
- package/dist/src/profiles/profile-schema.js +94 -0
- package/dist/src/profiles/profile-schema.js.map +1 -0
- package/dist/src/profiles/stack-profile.d.ts +41 -1
- package/dist/src/profiles/stack-profile.d.ts.map +1 -1
- package/dist/src/profiles/stack-profile.js +9 -0
- package/dist/src/profiles/stack-profile.js.map +1 -1
- package/dist/src/profiles/terminology-utils.d.ts +8 -0
- package/dist/src/profiles/terminology-utils.d.ts.map +1 -0
- package/dist/src/profiles/terminology-utils.js +31 -0
- package/dist/src/profiles/terminology-utils.js.map +1 -0
- package/dist/src/validators/skill-validate.d.ts +15 -0
- package/dist/src/validators/skill-validate.d.ts.map +1 -1
- package/dist/src/validators/skill-validate.js +204 -2
- package/dist/src/validators/skill-validate.js.map +1 -1
- package/package.json +71 -163
- package/profiles/astro-typescript-turborepo.yaml +87 -0
- package/profiles/editframe-html-templates/composition-agents.md +34 -0
- package/profiles/editframe-html-templates/composition.html +32 -0
- package/profiles/editframe-html.yaml +283 -0
- package/profiles/forge-shell.yaml +77 -0
- package/profiles/phaser-turborepo.yaml +87 -0
- package/skills/fo/fo-doc-audit/SKILL.md +6 -6
- package/skills/fo/fo-handoff/SKILL.md +2 -1
- package/skills/fo/fo-idea-implement/SKILL.md +44 -2
- package/skills/fo/fo-idea-plan/SKILL.md +1 -0
- package/skills/fo/fo-knowledge-distill/SKILL.md +170 -0
- package/skills/fo/fo-memory-sync/SKILL.md +6 -3
- package/skills/fo/fo-memory-sync/fix-patterns.md +38 -4
- package/skills/fo/fo-review/SKILL.md +2 -2
- package/skills/fo/fo-session-retro/SKILL.md +21 -11
- package/skills/fo/fo-session-save/SKILL.md +1 -1
- package/skills/fo/fo-session-save/fix-patterns.md +53 -29
- package/skills/fo/fo-session-save/learned-principles.md +59 -8
- package/skills/meta/forge-bootstrap/SKILL.md +16 -4
- package/skills/meta/forge-bootstrap/operator-profile-template.md +1 -0
- package/skills/meta/skill-create/SKILL.md +1 -1
- package/skills/shared/grilling/SKILL.md +1 -1
- package/skills/shared/grilling/learned-principles.md +14 -0
- package/skills/shared/grilling/qa-log.md +105 -6
- package/skills/shared/knowledge/learned-principles.md +5 -0
- package/skills/shared/windows-ai-tooling/SKILL.md +154 -1
- package/skills/shared/writing-great-skills/SKILL.md +74 -1
- package/src/onboarding/templates/behavioral-layer-core.md +159 -0
- package/src/onboarding/templates/behavioral-layer-extended.md +45 -0
- package/src/onboarding/templates/root-agents-business.md +32 -0
- package/src/onboarding/templates/root-agents-creative.md +32 -0
- package/dist/src/onboarding/extended-behavioral-layer.d.ts +0 -10
- package/dist/src/onboarding/extended-behavioral-layer.d.ts.map +0 -1
- package/dist/src/onboarding/extended-behavioral-layer.js +0 -82
- package/dist/src/onboarding/extended-behavioral-layer.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@warpgogol/forge",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
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://github.com/syrokomskyi/warpgogol-4#readme",
|
|
10
18
|
"repository": {
|
|
11
19
|
"type": "git",
|
|
@@ -15,107 +23,107 @@
|
|
|
15
23
|
"bugs": {
|
|
16
24
|
"url": "https://github.com/syrokomskyi/warpgogol-4/issues"
|
|
17
25
|
},
|
|
18
|
-
"main": "./src/index.
|
|
19
|
-
"types": "./src/index.ts",
|
|
26
|
+
"main": "./dist/src/index.js",
|
|
27
|
+
"types": "./dist/src/index.d.ts",
|
|
20
28
|
"bin": {
|
|
21
29
|
"forge": "./bin/cli.js"
|
|
22
30
|
},
|
|
23
31
|
"exports": {
|
|
24
32
|
".": {
|
|
25
|
-
"types": "./src/index.ts",
|
|
26
|
-
"default": "./src/index.
|
|
33
|
+
"types": "./dist/src/index.d.ts",
|
|
34
|
+
"default": "./dist/src/index.js"
|
|
27
35
|
},
|
|
28
36
|
"./types": {
|
|
29
|
-
"types": "./src/types.ts",
|
|
30
|
-
"default": "./src/types.
|
|
37
|
+
"types": "./dist/src/types.d.ts",
|
|
38
|
+
"default": "./dist/src/types.js"
|
|
31
39
|
},
|
|
32
40
|
"./utils": {
|
|
33
|
-
"types": "./src/utils/index.ts",
|
|
34
|
-
"default": "./src/utils/index.
|
|
41
|
+
"types": "./dist/src/utils/index.d.ts",
|
|
42
|
+
"default": "./dist/src/utils/index.js"
|
|
35
43
|
},
|
|
36
44
|
"./config": {
|
|
37
|
-
"types": "./src/config/forge-config.ts",
|
|
38
|
-
"default": "./src/config/forge-config.
|
|
45
|
+
"types": "./dist/src/config/forge-config.d.ts",
|
|
46
|
+
"default": "./dist/src/config/forge-config.js"
|
|
39
47
|
},
|
|
40
48
|
"./os/core": {
|
|
41
|
-
"types": "./os/core/core.module.ts",
|
|
42
|
-
"default": "./os/core/core.module.
|
|
49
|
+
"types": "./dist/os/core/core.module.d.ts",
|
|
50
|
+
"default": "./dist/os/core/core.module.js"
|
|
43
51
|
},
|
|
44
52
|
"./os/compass": {
|
|
45
|
-
"types": "./os/compass/index.ts",
|
|
46
|
-
"default": "./os/compass/index.
|
|
53
|
+
"types": "./dist/os/compass/index.d.ts",
|
|
54
|
+
"default": "./dist/os/compass/index.js"
|
|
47
55
|
},
|
|
48
56
|
"./os/naming": {
|
|
49
|
-
"types": "./os/naming/index.ts",
|
|
50
|
-
"default": "./os/naming/index.
|
|
57
|
+
"types": "./dist/os/naming/index.d.ts",
|
|
58
|
+
"default": "./dist/os/naming/index.js"
|
|
51
59
|
},
|
|
52
60
|
"./os/naming-module": {
|
|
53
|
-
"types": "./os/naming/naming.module.ts",
|
|
54
|
-
"default": "./os/naming/naming.module.
|
|
61
|
+
"types": "./dist/os/naming/naming.module.d.ts",
|
|
62
|
+
"default": "./dist/os/naming/naming.module.js"
|
|
55
63
|
},
|
|
56
64
|
"./os/rfc": {
|
|
57
|
-
"types": "./os/rfc/index.ts",
|
|
58
|
-
"default": "./os/rfc/index.
|
|
65
|
+
"types": "./dist/os/rfc/index.d.ts",
|
|
66
|
+
"default": "./dist/os/rfc/index.js"
|
|
59
67
|
},
|
|
60
68
|
"./os/rfc-module": {
|
|
61
|
-
"types": "./os/rfc/rfc.module.ts",
|
|
62
|
-
"default": "./os/rfc/rfc.module.
|
|
69
|
+
"types": "./dist/os/rfc/rfc.module.d.ts",
|
|
70
|
+
"default": "./dist/os/rfc/rfc.module.js"
|
|
63
71
|
},
|
|
64
72
|
"./os/werkstatt": {
|
|
65
|
-
"types": "./os/werkstatt/index.ts",
|
|
66
|
-
"default": "./os/werkstatt/index.
|
|
73
|
+
"types": "./dist/os/werkstatt/index.d.ts",
|
|
74
|
+
"default": "./dist/os/werkstatt/index.js"
|
|
67
75
|
},
|
|
68
76
|
"./os/workflow": {
|
|
69
|
-
"types": "./os/workflow/index.ts",
|
|
70
|
-
"default": "./os/workflow/index.
|
|
77
|
+
"types": "./dist/os/workflow/index.d.ts",
|
|
78
|
+
"default": "./dist/os/workflow/index.js"
|
|
71
79
|
},
|
|
72
80
|
"./os/workflow-module": {
|
|
73
|
-
"types": "./os/workflow/workflow.module.ts",
|
|
74
|
-
"default": "./os/workflow/workflow.module.
|
|
81
|
+
"types": "./dist/os/workflow/workflow.module.d.ts",
|
|
82
|
+
"default": "./dist/os/workflow/workflow.module.js"
|
|
75
83
|
},
|
|
76
84
|
"./os/spec-module": {
|
|
77
|
-
"types": "./os/spec/spec.module.ts",
|
|
78
|
-
"default": "./os/spec/spec.module.
|
|
85
|
+
"types": "./dist/os/spec/spec.module.d.ts",
|
|
86
|
+
"default": "./dist/os/spec/spec.module.js"
|
|
79
87
|
},
|
|
80
88
|
"./os/adr": {
|
|
81
|
-
"types": "./os/adr/index.ts",
|
|
82
|
-
"default": "./os/adr/index.
|
|
89
|
+
"types": "./dist/os/adr/index.d.ts",
|
|
90
|
+
"default": "./dist/os/adr/index.js"
|
|
83
91
|
},
|
|
84
92
|
"./os/adr-module": {
|
|
85
|
-
"types": "./os/adr/adr.module.ts",
|
|
86
|
-
"default": "./os/adr/adr.module.
|
|
93
|
+
"types": "./dist/os/adr/adr.module.d.ts",
|
|
94
|
+
"default": "./dist/os/adr/adr.module.js"
|
|
87
95
|
},
|
|
88
96
|
"./os/plan": {
|
|
89
|
-
"types": "./os/plan/index.ts",
|
|
90
|
-
"default": "./os/plan/index.
|
|
97
|
+
"types": "./dist/os/plan/index.d.ts",
|
|
98
|
+
"default": "./dist/os/plan/index.js"
|
|
91
99
|
},
|
|
92
100
|
"./os/plan-module": {
|
|
93
|
-
"types": "./os/plan/plan.module.ts",
|
|
94
|
-
"default": "./os/plan/plan.module.
|
|
101
|
+
"types": "./dist/os/plan/plan.module.d.ts",
|
|
102
|
+
"default": "./dist/os/plan/plan.module.js"
|
|
95
103
|
},
|
|
96
104
|
"./os/audit": {
|
|
97
|
-
"types": "./os/audit/index.ts",
|
|
98
|
-
"default": "./os/audit/index.
|
|
105
|
+
"types": "./dist/os/audit/index.d.ts",
|
|
106
|
+
"default": "./dist/os/audit/index.js"
|
|
99
107
|
},
|
|
100
108
|
"./os/audit-module": {
|
|
101
|
-
"types": "./os/audit/audit.module.ts",
|
|
102
|
-
"default": "./os/audit/audit.module.
|
|
109
|
+
"types": "./dist/os/audit/audit.module.d.ts",
|
|
110
|
+
"default": "./dist/os/audit/audit.module.js"
|
|
103
111
|
},
|
|
104
112
|
"./os/session": {
|
|
105
|
-
"types": "./os/session/index.ts",
|
|
106
|
-
"default": "./os/session/index.
|
|
113
|
+
"types": "./dist/os/session/index.d.ts",
|
|
114
|
+
"default": "./dist/os/session/index.js"
|
|
107
115
|
},
|
|
108
116
|
"./os/session-module": {
|
|
109
|
-
"types": "./os/session/session.module.ts",
|
|
110
|
-
"default": "./os/session/session.module.
|
|
117
|
+
"types": "./dist/os/session/session.module.d.ts",
|
|
118
|
+
"default": "./dist/os/session/session.module.js"
|
|
111
119
|
},
|
|
112
120
|
"./os/mission": {
|
|
113
|
-
"types": "./os/mission/index.ts",
|
|
114
|
-
"default": "./os/mission/index.
|
|
121
|
+
"types": "./dist/os/mission/index.d.ts",
|
|
122
|
+
"default": "./dist/os/mission/index.js"
|
|
115
123
|
},
|
|
116
124
|
"./os/mission-module": {
|
|
117
|
-
"types": "./os/mission/mission.module.ts",
|
|
118
|
-
"default": "./os/mission/mission.module.
|
|
125
|
+
"types": "./dist/os/mission/mission.module.d.ts",
|
|
126
|
+
"default": "./dist/os/mission/mission.module.js"
|
|
119
127
|
}
|
|
120
128
|
},
|
|
121
129
|
"files": [
|
|
@@ -123,24 +131,17 @@
|
|
|
123
131
|
"bin/cli.js",
|
|
124
132
|
"skills/",
|
|
125
133
|
"profiles/",
|
|
134
|
+
"src/onboarding/templates/",
|
|
126
135
|
"os/rfc/rfc-0000-template.md",
|
|
127
136
|
"AGENTS.md",
|
|
128
137
|
"README.md"
|
|
129
138
|
],
|
|
130
|
-
"scripts": {
|
|
131
|
-
"build": "pnpm exec tsc -p tsconfig.json",
|
|
132
|
-
"build:check": "pnpm exec tsc -p tsconfig.json --noEmit",
|
|
133
|
-
"clean": "rm -rf dist",
|
|
134
|
-
"prepublishOnly": "pnpm run clean && pnpm run build && node scripts/publish-check.mjs",
|
|
135
|
-
"test": "vitest run --passWithNoTests",
|
|
136
|
-
"test:watch": "vitest"
|
|
137
|
-
},
|
|
138
139
|
"dependencies": {
|
|
139
140
|
"yaml": "^2.9.0",
|
|
140
141
|
"zod": "^4.4.3"
|
|
141
142
|
},
|
|
142
143
|
"devDependencies": {
|
|
143
|
-
"@types/node": "^26.1.
|
|
144
|
+
"@types/node": "^26.1.2",
|
|
144
145
|
"fast-check": "^4.9.0",
|
|
145
146
|
"typescript": "^6.0.3",
|
|
146
147
|
"vitest": "^4.1.10"
|
|
@@ -149,106 +150,13 @@
|
|
|
149
150
|
"node": ">=18.0.0"
|
|
150
151
|
},
|
|
151
152
|
"publishConfig": {
|
|
152
|
-
"access": "public"
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
"
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
"./types": {
|
|
161
|
-
"types": "./dist/src/types.d.ts",
|
|
162
|
-
"default": "./dist/src/types.js"
|
|
163
|
-
},
|
|
164
|
-
"./utils": {
|
|
165
|
-
"types": "./dist/src/utils/index.d.ts",
|
|
166
|
-
"default": "./dist/src/utils/index.js"
|
|
167
|
-
},
|
|
168
|
-
"./config": {
|
|
169
|
-
"types": "./dist/src/config/forge-config.d.ts",
|
|
170
|
-
"default": "./dist/src/config/forge-config.js"
|
|
171
|
-
},
|
|
172
|
-
"./os/core": {
|
|
173
|
-
"types": "./dist/os/core/core.module.d.ts",
|
|
174
|
-
"default": "./dist/os/core/core.module.js"
|
|
175
|
-
},
|
|
176
|
-
"./os/compass": {
|
|
177
|
-
"types": "./dist/os/compass/index.d.ts",
|
|
178
|
-
"default": "./dist/os/compass/index.js"
|
|
179
|
-
},
|
|
180
|
-
"./os/naming": {
|
|
181
|
-
"types": "./dist/os/naming/index.d.ts",
|
|
182
|
-
"default": "./dist/os/naming/index.js"
|
|
183
|
-
},
|
|
184
|
-
"./os/naming-module": {
|
|
185
|
-
"types": "./dist/os/naming/naming.module.d.ts",
|
|
186
|
-
"default": "./dist/os/naming/naming.module.js"
|
|
187
|
-
},
|
|
188
|
-
"./os/rfc": {
|
|
189
|
-
"types": "./dist/os/rfc/index.d.ts",
|
|
190
|
-
"default": "./dist/os/rfc/index.js"
|
|
191
|
-
},
|
|
192
|
-
"./os/rfc-module": {
|
|
193
|
-
"types": "./dist/os/rfc/rfc.module.d.ts",
|
|
194
|
-
"default": "./dist/os/rfc/rfc.module.js"
|
|
195
|
-
},
|
|
196
|
-
"./os/werkstatt": {
|
|
197
|
-
"types": "./dist/os/werkstatt/index.d.ts",
|
|
198
|
-
"default": "./dist/os/werkstatt/index.js"
|
|
199
|
-
},
|
|
200
|
-
"./os/workflow": {
|
|
201
|
-
"types": "./dist/os/workflow/index.d.ts",
|
|
202
|
-
"default": "./dist/os/workflow/index.js"
|
|
203
|
-
},
|
|
204
|
-
"./os/workflow-module": {
|
|
205
|
-
"types": "./dist/os/workflow/workflow.module.d.ts",
|
|
206
|
-
"default": "./dist/os/workflow/workflow.module.js"
|
|
207
|
-
},
|
|
208
|
-
"./os/spec-module": {
|
|
209
|
-
"types": "./dist/os/spec/spec.module.d.ts",
|
|
210
|
-
"default": "./dist/os/spec/spec.module.js"
|
|
211
|
-
},
|
|
212
|
-
"./os/adr": {
|
|
213
|
-
"types": "./dist/os/adr/index.d.ts",
|
|
214
|
-
"default": "./dist/os/adr/index.js"
|
|
215
|
-
},
|
|
216
|
-
"./os/adr-module": {
|
|
217
|
-
"types": "./dist/os/adr/adr.module.d.ts",
|
|
218
|
-
"default": "./dist/os/adr/adr.module.js"
|
|
219
|
-
},
|
|
220
|
-
"./os/plan": {
|
|
221
|
-
"types": "./dist/os/plan/index.d.ts",
|
|
222
|
-
"default": "./dist/os/plan/index.js"
|
|
223
|
-
},
|
|
224
|
-
"./os/plan-module": {
|
|
225
|
-
"types": "./dist/os/plan/plan.module.d.ts",
|
|
226
|
-
"default": "./dist/os/plan/plan.module.js"
|
|
227
|
-
},
|
|
228
|
-
"./os/audit": {
|
|
229
|
-
"types": "./dist/os/audit/index.d.ts",
|
|
230
|
-
"default": "./dist/os/audit/index.js"
|
|
231
|
-
},
|
|
232
|
-
"./os/audit-module": {
|
|
233
|
-
"types": "./dist/os/audit/audit.module.d.ts",
|
|
234
|
-
"default": "./dist/os/audit/audit.module.js"
|
|
235
|
-
},
|
|
236
|
-
"./os/session": {
|
|
237
|
-
"types": "./dist/os/session/index.d.ts",
|
|
238
|
-
"default": "./dist/os/session/index.js"
|
|
239
|
-
},
|
|
240
|
-
"./os/session-module": {
|
|
241
|
-
"types": "./dist/os/session/session.module.d.ts",
|
|
242
|
-
"default": "./dist/os/session/session.module.js"
|
|
243
|
-
},
|
|
244
|
-
"./os/mission": {
|
|
245
|
-
"types": "./dist/os/mission/index.d.ts",
|
|
246
|
-
"default": "./dist/os/mission/index.js"
|
|
247
|
-
},
|
|
248
|
-
"./os/mission-module": {
|
|
249
|
-
"types": "./dist/os/mission/mission.module.d.ts",
|
|
250
|
-
"default": "./dist/os/mission/mission.module.js"
|
|
251
|
-
}
|
|
252
|
-
}
|
|
153
|
+
"access": "public"
|
|
154
|
+
},
|
|
155
|
+
"scripts": {
|
|
156
|
+
"build": "pnpm exec tsc -p tsconfig.json",
|
|
157
|
+
"build:check": "pnpm exec tsc -p tsconfig.json --noEmit",
|
|
158
|
+
"clean": "rm -rf dist",
|
|
159
|
+
"test": "vitest run --passWithNoTests",
|
|
160
|
+
"test:watch": "vitest"
|
|
253
161
|
}
|
|
254
|
-
}
|
|
162
|
+
}
|
|
@@ -55,6 +55,93 @@ workspace:
|
|
|
55
55
|
.turbo
|
|
56
56
|
.cache
|
|
57
57
|
operator-profile.md
|
|
58
|
+
- path: .github/workflows/ci.yml
|
|
59
|
+
content: |
|
|
60
|
+
name: CI
|
|
61
|
+
|
|
62
|
+
on:
|
|
63
|
+
pull_request:
|
|
64
|
+
push:
|
|
65
|
+
branches: [main]
|
|
66
|
+
workflow_dispatch:
|
|
67
|
+
|
|
68
|
+
concurrency:
|
|
69
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
70
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
71
|
+
|
|
72
|
+
permissions:
|
|
73
|
+
contents: read
|
|
74
|
+
|
|
75
|
+
jobs:
|
|
76
|
+
ci:
|
|
77
|
+
runs-on: ubuntu-latest
|
|
78
|
+
timeout-minutes: 15
|
|
79
|
+
name: Lint, type-check, build, test
|
|
80
|
+
env:
|
|
81
|
+
TZ: UTC
|
|
82
|
+
|
|
83
|
+
steps:
|
|
84
|
+
- name: Checkout
|
|
85
|
+
uses: actions/checkout@v5
|
|
86
|
+
|
|
87
|
+
- name: Enable Corepack
|
|
88
|
+
run: corepack enable
|
|
89
|
+
|
|
90
|
+
- name: Setup Node.js
|
|
91
|
+
uses: actions/setup-node@v5
|
|
92
|
+
with:
|
|
93
|
+
node-version: "24"
|
|
94
|
+
cache: "pnpm"
|
|
95
|
+
|
|
96
|
+
- name: Install dependencies
|
|
97
|
+
run: pnpm install --frozen-lockfile
|
|
98
|
+
|
|
99
|
+
- name: Format check
|
|
100
|
+
run: pnpm format:check
|
|
101
|
+
|
|
102
|
+
- name: Type check
|
|
103
|
+
run: pnpm build:check
|
|
104
|
+
|
|
105
|
+
- name: Build
|
|
106
|
+
run: pnpm build
|
|
107
|
+
|
|
108
|
+
- name: Test
|
|
109
|
+
run: pnpm test
|
|
110
|
+
|
|
111
|
+
# Windows CI (optional — uncomment if Windows checks are needed):
|
|
112
|
+
#
|
|
113
|
+
# windows-ci:
|
|
114
|
+
# runs-on: windows-latest
|
|
115
|
+
# name: Lint, type-check, build, test (Windows)
|
|
116
|
+
# env:
|
|
117
|
+
# GIT_CONFIG_COUNT: 1
|
|
118
|
+
# GIT_CONFIG_KEY_0: core.longpaths
|
|
119
|
+
# GIT_CONFIG_VALUE_0: "true"
|
|
120
|
+
# steps:
|
|
121
|
+
# - name: Checkout
|
|
122
|
+
# uses: actions/checkout@v5
|
|
123
|
+
# - name: Enable Corepack
|
|
124
|
+
# run: corepack enable
|
|
125
|
+
# - name: Setup Node.js
|
|
126
|
+
# uses: actions/setup-node@v5
|
|
127
|
+
# with:
|
|
128
|
+
# node-version: "24"
|
|
129
|
+
# cache: "pnpm"
|
|
130
|
+
# - name: Install dependencies
|
|
131
|
+
# run: pnpm install --frozen-lockfile
|
|
132
|
+
# - name: Format check
|
|
133
|
+
# run: pnpm format:check
|
|
134
|
+
# - name: Type check
|
|
135
|
+
# run: pnpm build:check
|
|
136
|
+
# - name: Build
|
|
137
|
+
# run: pnpm build
|
|
138
|
+
# - name: Test
|
|
139
|
+
# run: pnpm test
|
|
140
|
+
#
|
|
141
|
+
# The GIT_CONFIG_COUNT env block MUST be set before the checkout step
|
|
142
|
+
# so git can handle long file paths during clone on Windows.
|
|
143
|
+
# Do not add Windows to the matrix "just in case" — it requires
|
|
144
|
+
# separate path-length and platform-specific dependency verification.
|
|
58
145
|
- path: package.json
|
|
59
146
|
content: |
|
|
60
147
|
{
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Composition Workspace
|
|
2
|
+
|
|
3
|
+
This workspace contains an Editframe video composition.
|
|
4
|
+
|
|
5
|
+
## Domain terminology
|
|
6
|
+
|
|
7
|
+
- **Composition** — the artifact this workspace produces (an HTML file using Editframe custom elements).
|
|
8
|
+
- **Scene** — a structural module within a composition (an `ef-timegroup` block).
|
|
9
|
+
- **Director** — the operator who creates and renders the composition.
|
|
10
|
+
|
|
11
|
+
## Quality invariants
|
|
12
|
+
|
|
13
|
+
- **VIDEO-01**: Composition filenames must use kebab-case (lowercase letters, digits, hyphens only). This ensures consistent naming across the project. Severity: error.
|
|
14
|
+
- **VIDEO-02**: Scene durations must use `contain` fit mode by default to avoid unexpected cropping of video content. Use `cover` or `fill` only when intentionally overriding the default. Severity: warning.
|
|
15
|
+
- **VIDEO-03**: All speech audio elements (`ef-audio` with speech content) must have corresponding `ef-captions` elements for accessibility. Severity: error.
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
1. Create a `.html` file with Editframe custom elements (`ef-timegroup`, `ef-video`, `ef-audio`, `ef-text`, `ef-captions`).
|
|
20
|
+
2. Run `editframe preview` to preview the composition in the browser.
|
|
21
|
+
3. Run `editframe check` to validate the composition structure.
|
|
22
|
+
4. Run `editframe render -o dist/<name>.mp4` to produce the final video output.
|
|
23
|
+
|
|
24
|
+
## Reference template
|
|
25
|
+
|
|
26
|
+
A sample composition template is available at `editframe-html-templates/composition.html` in the forge profiles directory. Copy it to start a new composition:
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
cp node_modules/@warpgogol/forge/profiles/editframe-html-templates/composition.html compositions/my-new-video/composition.html
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## File naming
|
|
33
|
+
|
|
34
|
+
Composition files use kebab-case: `my-video.html`, `product-demo.html`, `intro-clip.html`.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Editframe HTML composition template
|
|
3
|
+
Copy this file to start a new composition. Editframe custom elements:
|
|
4
|
+
- ef-timegroup: groups elements into a timed sequence
|
|
5
|
+
- ef-video: video source with fit mode (contain, cover, fill)
|
|
6
|
+
- ef-audio: audio source
|
|
7
|
+
- ef-text: text overlay with positioning
|
|
8
|
+
- ef-captions: accessibility captions for speech audio
|
|
9
|
+
Run `editframe preview` to preview, `editframe render` to produce output.
|
|
10
|
+
-->
|
|
11
|
+
<ef-timegroup duration="10s">
|
|
12
|
+
<ef-video
|
|
13
|
+
src="assets/background.mp4"
|
|
14
|
+
fit="contain"
|
|
15
|
+
duration="10s"
|
|
16
|
+
></ef-video>
|
|
17
|
+
<ef-text
|
|
18
|
+
text="Your text here"
|
|
19
|
+
x="50%"
|
|
20
|
+
y="50%"
|
|
21
|
+
font-size="48px"
|
|
22
|
+
color="white"
|
|
23
|
+
text-align="center"
|
|
24
|
+
duration="5s"
|
|
25
|
+
></ef-text>
|
|
26
|
+
<ef-audio
|
|
27
|
+
src="assets/narration.mp3"
|
|
28
|
+
></ef-audio>
|
|
29
|
+
<ef-captions
|
|
30
|
+
src="assets/captions.vtt"
|
|
31
|
+
></ef-captions>
|
|
32
|
+
</ef-timegroup>
|