@mriekki/project-forge 4.22.3 → 4.23.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@mriekki/project-forge",
4
- "version": "4.22.3",
4
+ "version": "4.23.0",
5
5
  "defaultProfile": "greenfield-project",
6
6
  "profiles": {
7
7
  "greenfield-project": {
@@ -13,8 +13,8 @@
13
13
  },
14
14
  "components": {
15
15
  "core": {
16
- "revision": "4c74c1801b82d3aa438447d392024d32ca5697b0",
17
- "version": "4.0.0",
16
+ "revision": "970b7d89c9a2d71cb10c42482cdccc2c43cf9ee3",
17
+ "version": "4.1.0",
18
18
  "distribution": "greenfield-workspace",
19
19
  "descriptor": "assets/core/distribution.json",
20
20
  "sourceRoot": "assets/generated/core",
@@ -3,74 +3,293 @@
3
3
  "profileSource": "profiles/greenfield/project-forge-workspace.json",
4
4
  "profileDestination": ".github/project-forge-workspace.json",
5
5
  "mappings": [
6
- {"source":"core/agents/reviewer.agent.md","destination":".github/agents/reviewer.agent.md"},
7
- {"source":"core/instructions/project-forge-workflow.instructions.md","destination":".github/instructions/project-forge-workflow.instructions.md"},
8
- {"source":"core/instructions/project-forge-local-development.instructions.md","destination":".github/instructions/project-forge-local-development.instructions.md"},
9
- {"source":"core/instructions/project-forge-docs.instructions.md","destination":".github/instructions/project-forge-docs.instructions.md"},
10
- {"source":"core/skills/define-feature/SKILL.md","destination":".github/skills/define-feature/SKILL.md"},
11
- {"source":"core/skills/grill-me/SKILL.md","destination":".github/skills/grill-me/SKILL.md"},
12
- {"source":"core/skills/refine-requirements/SKILL.md","destination":".github/skills/refine-requirements/SKILL.md"},
13
- {"source":"core/skills/start-work/SKILL.md","destination":".github/skills/start-work/SKILL.md"},
14
- {"source":"core/skills/setup/SKILL.md","destination":".github/skills/setup/SKILL.md"},
15
- {"source":"core/skills/build/SKILL.md","destination":".github/skills/build/SKILL.md"},
16
- {"source":"core/skills/run/SKILL.md","destination":".github/skills/run/SKILL.md"},
17
- {"source":"core/skills/export-requirements/SKILL.md","destination":".github/skills/export-requirements/SKILL.md"},
18
- {"source":"core/skills/replatform/SKILL.md","destination":".github/skills/replatform/SKILL.md"},
19
- {"source":"core/skills/progress/SKILL.md","destination":".github/skills/progress/SKILL.md"},
20
- {"source":"core/skills/next-step/SKILL.md","destination":".github/skills/next-step/SKILL.md"},
21
- {"source":"core/skills/deliver/SKILL.md","destination":".github/skills/deliver/SKILL.md"},
22
- {"source":"core/skills/work-item-status/SKILL.md","destination":".github/skills/work-item-status/SKILL.md"},
23
- {"source":"core/skills/cleanup-branches/SKILL.md","destination":".github/skills/cleanup-branches/SKILL.md"},
24
- {"source":"core/skills/pull-latest/SKILL.md","destination":".github/skills/pull-latest/SKILL.md"},
25
- {"source":"core/skills/project-forge-update/SKILL.md","destination":".github/skills/project-forge-update/SKILL.md"},
26
- {"source":"core/skills/upstream-fix/SKILL.md","destination":".github/skills/upstream-fix/SKILL.md"},
27
- {"source":"core/skills/wait-what/SKILL.md","destination":".github/skills/wait-what/SKILL.md"},
28
- {"source":"core/skills/deployment-readiness/SKILL.md","destination":".github/skills/deployment-readiness/SKILL.md"},
29
- {"source":"core/skills/deploy/SKILL.md","destination":".github/skills/deploy/SKILL.md"},
30
- {"source":"core/skills/tear-down/SKILL.md","destination":".github/skills/tear-down/SKILL.md"},
31
- {"source":"core/skills/coach/SKILL.md","destination":".github/skills/coach/SKILL.md"},
32
- {"source":"core/skills/db-lab/SKILL.md","destination":".github/skills/db-lab/SKILL.md"},
33
- {"source":"core/skills/system-lab/SKILL.md","destination":".github/skills/system-lab/SKILL.md"},
34
- {"source":"core/skills/docs/SKILL.md","destination":".github/skills/docs/SKILL.md"},
35
- {"source":"core/skills/code-walkthrough/SKILL.md","destination":".github/skills/code-walkthrough/SKILL.md"},
36
- {"source":"core/skills/learning-review/SKILL.md","destination":".github/skills/learning-review/SKILL.md"},
37
- {"source":"core/process/WORK_ITEM_MODEL.md","destination":"docs/process/WORK_ITEM_MODEL.md"},
38
- {"source":"core/process/PR_WORKFLOW.md","destination":"docs/process/PR_WORKFLOW.md"},
39
- {"source":"core/process/DEPLOYMENT_ENABLEMENT.md","destination":"docs/process/DEPLOYMENT_ENABLEMENT.md"},
40
- {"source":"core/process/HUMAN_GATES.md","destination":"docs/process/HUMAN_IN_LOOP_GATES.md"},
41
- {"source":"core/process/GUIDED_NEXT_STEPS.md","destination":"docs/process/GUIDED_NEXT_STEPS.md"},
42
- {"source":"core/process/INTERACTIVE_SESSION_GUIDE.md","destination":"docs/process/INTERACTIVE_SESSION_GUIDE.md"},
43
- {"source":"core/process/COACHING_GUIDE.md","destination":"docs/process/COACHING_GUIDE.md"},
44
- {"source":"core/process/DATABASE_LEARNING_WORKBENCH.md","destination":"docs/process/DATABASE_LEARNING_WORKBENCH.md"},
45
- {"source":"core/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md","destination":"docs/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md"},
46
- {"source":"core/process/PROJECT_DOCUMENTATION_FRAMEWORK.md","destination":"docs/process/PROJECT_DOCUMENTATION_FRAMEWORK.md"},
47
- {"source":"core/process/PROJECT_FORGE_ENGINEERING_GUIDE.md","destination":"docs/project-forge/PROJECT_FORGE_ENGINEERING_GUIDE.md"},
48
- {"source":"core/process/SETUP_ACCEPTANCE_CHECKLIST.md","destination":"docs/process/SETUP_ACCEPTANCE_CHECKLIST.md"},
49
- {"source":"core/process/OPERATION_JOURNAL.md","destination":"docs/process/OPERATION_JOURNAL.md"},
50
- {"source":"core/process/PROJECT_REQUIREMENTS_EXPORT.md","destination":"docs/process/PROJECT_REQUIREMENTS_EXPORT.md"},
51
- {"source":"core/process/APPLICATION_VERSIONING.md","destination":"docs/process/APPLICATION_VERSIONING.md"},
52
- {"source":"core/process/LOCAL_DEVELOPMENT_COMMANDS.md","destination":"docs/process/LOCAL_DEVELOPMENT_COMMANDS.md"},
53
- {"source":"core/templates/PULL_REQUEST_TEMPLATE.md","destination":".github/PULL_REQUEST_TEMPLATE.md"},
54
- {"source":"core/templates/PRODUCT_BRIEF_TEMPLATE.md","destination":"docs/templates/PRODUCT_BRIEF_TEMPLATE.md"},
55
- {"source":"core/templates/FEATURE_BRIEF_TEMPLATE.md","destination":"docs/templates/FEATURE_BRIEF_TEMPLATE.md"},
56
- {"source":"core/templates/REQUIREMENTS_TEMPLATE.md","destination":"docs/templates/REQUIREMENTS_TEMPLATE.md"},
57
- {"source":"core/templates/ADR_TEMPLATE.md","destination":"docs/templates/ADR_TEMPLATE.md"},
58
- {"source":"core/learning/ENGINEERING_LEARNING_WORKBOOK.md","destination":"learning/ENGINEERING_LEARNING_WORKBOOK.md"},
59
- {"source":"core/learning/LEARNING_MAP.md","destination":"learning/LEARNING_MAP.md"},
60
- {"source":"core/learning/LEARNING_PROGRESS.md","destination":"learning/LEARNING_PROGRESS.md"},
61
- {"source":"core/learning/CODING_DRILLS.md","destination":"learning/CODING_DRILLS.md"},
62
- {"source":"core/learning/SQL_DRILLS.md","destination":"learning/SQL_DRILLS.md"},
63
- {"source":"core/learning/SYSTEM_DESIGN_DRILLS.md","destination":"learning/SYSTEM_DESIGN_DRILLS.md"},
64
- {"source":"core/learning/DIAGRAM_GUIDE.md","destination":"learning/DIAGRAM_GUIDE.md"},
65
- {"source":"core/learning/RESOURCE_CATALOG.md","destination":"learning/RESOURCE_CATALOG.md"},
66
- {"source":"tools/db_lab/sqlite_workbench.py","destination":"tools/project-forge-db-lab/sqlite-workbench.py"},
67
- {"source":"tools/system_lab/system_workbench.py","destination":"tools/project-forge-system-lab/system-workbench.py"},
68
- {"source":"tools/docs_site/docs_site.py","destination":"tools/project-forge-docs/docs-site.py"},
69
- {"source":"tools/vscode_work_item_status/install.py","destination":"tools/project-forge-vscode/work-item-status/install.py"},
70
- {"source":"tools/vscode_work_item_status/extension/package.json","destination":"tools/project-forge-vscode/work-item-status/extension/package.json"},
71
- {"source":"tools/vscode_work_item_status/extension/extension.js","destination":"tools/project-forge-vscode/work-item-status/extension/extension.js"},
72
- {"source":"tools/vscode_work_item_status/extension/README.md","destination":"tools/project-forge-vscode/work-item-status/extension/README.md"},
73
- {"source":"tools/package/check_baseline.py","destination":"tools/project-forge-core/check-core-baseline.py"},
74
- {"source":"tools/package/check_upstream.py","destination":"tools/project-forge-core/check-core-upstream.py"}
6
+ {
7
+ "source": "core/agents/reviewer.agent.md",
8
+ "destination": ".github/agents/reviewer.agent.md"
9
+ },
10
+ {
11
+ "source": "core/instructions/project-forge-workflow.instructions.md",
12
+ "destination": ".github/instructions/project-forge-workflow.instructions.md"
13
+ },
14
+ {
15
+ "source": "core/instructions/project-forge-local-development.instructions.md",
16
+ "destination": ".github/instructions/project-forge-local-development.instructions.md"
17
+ },
18
+ {
19
+ "source": "core/instructions/project-forge-docs.instructions.md",
20
+ "destination": ".github/instructions/project-forge-docs.instructions.md"
21
+ },
22
+ {
23
+ "source": "core/skills/define-feature/SKILL.md",
24
+ "destination": ".github/skills/define-feature/SKILL.md"
25
+ },
26
+ {
27
+ "source": "core/skills/grill-me/SKILL.md",
28
+ "destination": ".github/skills/grill-me/SKILL.md"
29
+ },
30
+ {
31
+ "source": "core/skills/refine-requirements/SKILL.md",
32
+ "destination": ".github/skills/refine-requirements/SKILL.md"
33
+ },
34
+ {
35
+ "source": "core/skills/start-work/SKILL.md",
36
+ "destination": ".github/skills/start-work/SKILL.md"
37
+ },
38
+ {
39
+ "source": "core/skills/setup/SKILL.md",
40
+ "destination": ".github/skills/setup/SKILL.md"
41
+ },
42
+ {
43
+ "source": "core/skills/build/SKILL.md",
44
+ "destination": ".github/skills/build/SKILL.md"
45
+ },
46
+ {
47
+ "source": "core/skills/run/SKILL.md",
48
+ "destination": ".github/skills/run/SKILL.md"
49
+ },
50
+ {
51
+ "source": "core/skills/export-requirements/SKILL.md",
52
+ "destination": ".github/skills/export-requirements/SKILL.md"
53
+ },
54
+ {
55
+ "source": "core/skills/replatform/SKILL.md",
56
+ "destination": ".github/skills/replatform/SKILL.md"
57
+ },
58
+ {
59
+ "source": "core/skills/progress/SKILL.md",
60
+ "destination": ".github/skills/progress/SKILL.md"
61
+ },
62
+ {
63
+ "source": "core/skills/next-step/SKILL.md",
64
+ "destination": ".github/skills/next-step/SKILL.md"
65
+ },
66
+ {
67
+ "source": "core/skills/deliver/SKILL.md",
68
+ "destination": ".github/skills/deliver/SKILL.md"
69
+ },
70
+ {
71
+ "source": "core/skills/work-item-status/SKILL.md",
72
+ "destination": ".github/skills/work-item-status/SKILL.md"
73
+ },
74
+ {
75
+ "source": "core/skills/cleanup-branches/SKILL.md",
76
+ "destination": ".github/skills/cleanup-branches/SKILL.md"
77
+ },
78
+ {
79
+ "source": "core/skills/pull-latest/SKILL.md",
80
+ "destination": ".github/skills/pull-latest/SKILL.md"
81
+ },
82
+ {
83
+ "source": "core/skills/project-forge-update/SKILL.md",
84
+ "destination": ".github/skills/project-forge-update/SKILL.md"
85
+ },
86
+ {
87
+ "source": "core/skills/upstream-fix/SKILL.md",
88
+ "destination": ".github/skills/upstream-fix/SKILL.md"
89
+ },
90
+ {
91
+ "source": "core/skills/wait-what/SKILL.md",
92
+ "destination": ".github/skills/wait-what/SKILL.md"
93
+ },
94
+ {
95
+ "source": "core/skills/deployment-readiness/SKILL.md",
96
+ "destination": ".github/skills/deployment-readiness/SKILL.md"
97
+ },
98
+ {
99
+ "source": "core/skills/deploy/SKILL.md",
100
+ "destination": ".github/skills/deploy/SKILL.md"
101
+ },
102
+ {
103
+ "source": "core/skills/tear-down/SKILL.md",
104
+ "destination": ".github/skills/tear-down/SKILL.md"
105
+ },
106
+ {
107
+ "source": "core/skills/coach/SKILL.md",
108
+ "destination": ".github/skills/coach/SKILL.md"
109
+ },
110
+ {
111
+ "source": "core/skills/db-lab/SKILL.md",
112
+ "destination": ".github/skills/db-lab/SKILL.md"
113
+ },
114
+ {
115
+ "source": "core/skills/system-lab/SKILL.md",
116
+ "destination": ".github/skills/system-lab/SKILL.md"
117
+ },
118
+ {
119
+ "source": "core/skills/docs/SKILL.md",
120
+ "destination": ".github/skills/docs/SKILL.md"
121
+ },
122
+ {
123
+ "source": "core/skills/code-walkthrough/SKILL.md",
124
+ "destination": ".github/skills/code-walkthrough/SKILL.md"
125
+ },
126
+ {
127
+ "source": "core/skills/learning-review/SKILL.md",
128
+ "destination": ".github/skills/learning-review/SKILL.md"
129
+ },
130
+ {
131
+ "source": "core/process/WORK_ITEM_MODEL.md",
132
+ "destination": "docs/process/WORK_ITEM_MODEL.md"
133
+ },
134
+ {
135
+ "source": "core/process/PR_WORKFLOW.md",
136
+ "destination": "docs/process/PR_WORKFLOW.md"
137
+ },
138
+ {
139
+ "source": "core/process/DEPLOYMENT_ENABLEMENT.md",
140
+ "destination": "docs/process/DEPLOYMENT_ENABLEMENT.md"
141
+ },
142
+ {
143
+ "source": "core/process/HUMAN_GATES.md",
144
+ "destination": "docs/process/HUMAN_IN_LOOP_GATES.md"
145
+ },
146
+ {
147
+ "source": "core/process/GUIDED_NEXT_STEPS.md",
148
+ "destination": "docs/process/GUIDED_NEXT_STEPS.md"
149
+ },
150
+ {
151
+ "source": "core/process/INTERACTIVE_SESSION_GUIDE.md",
152
+ "destination": "docs/process/INTERACTIVE_SESSION_GUIDE.md"
153
+ },
154
+ {
155
+ "source": "core/process/COACHING_GUIDE.md",
156
+ "destination": "docs/process/COACHING_GUIDE.md"
157
+ },
158
+ {
159
+ "source": "core/process/DATABASE_LEARNING_WORKBENCH.md",
160
+ "destination": "docs/process/DATABASE_LEARNING_WORKBENCH.md"
161
+ },
162
+ {
163
+ "source": "core/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md",
164
+ "destination": "docs/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md"
165
+ },
166
+ {
167
+ "source": "core/process/PROJECT_DOCUMENTATION_FRAMEWORK.md",
168
+ "destination": "docs/process/PROJECT_DOCUMENTATION_FRAMEWORK.md"
169
+ },
170
+ {
171
+ "source": "core/process/PROJECT_FORGE_ENGINEERING_GUIDE.md",
172
+ "destination": "docs/project-forge/PROJECT_FORGE_ENGINEERING_GUIDE.md"
173
+ },
174
+ {
175
+ "source": "core/process/SETUP_ACCEPTANCE_CHECKLIST.md",
176
+ "destination": "docs/process/SETUP_ACCEPTANCE_CHECKLIST.md"
177
+ },
178
+ {
179
+ "source": "core/process/OPERATION_JOURNAL.md",
180
+ "destination": "docs/process/OPERATION_JOURNAL.md"
181
+ },
182
+ {
183
+ "source": "core/process/PROJECT_REQUIREMENTS_EXPORT.md",
184
+ "destination": "docs/process/PROJECT_REQUIREMENTS_EXPORT.md"
185
+ },
186
+ {
187
+ "source": "core/process/APPLICATION_VERSIONING.md",
188
+ "destination": "docs/process/APPLICATION_VERSIONING.md"
189
+ },
190
+ {
191
+ "source": "core/process/LOCAL_DEVELOPMENT_COMMANDS.md",
192
+ "destination": "docs/process/LOCAL_DEVELOPMENT_COMMANDS.md"
193
+ },
194
+ {
195
+ "source": "core/templates/PULL_REQUEST_TEMPLATE.md",
196
+ "destination": ".github/PULL_REQUEST_TEMPLATE.md"
197
+ },
198
+ {
199
+ "source": "core/templates/PRODUCT_BRIEF_TEMPLATE.md",
200
+ "destination": "docs/templates/PRODUCT_BRIEF_TEMPLATE.md"
201
+ },
202
+ {
203
+ "source": "core/templates/FEATURE_BRIEF_TEMPLATE.md",
204
+ "destination": "docs/templates/FEATURE_BRIEF_TEMPLATE.md"
205
+ },
206
+ {
207
+ "source": "core/templates/REQUIREMENTS_TEMPLATE.md",
208
+ "destination": "docs/templates/REQUIREMENTS_TEMPLATE.md"
209
+ },
210
+ {
211
+ "source": "core/templates/ADR_TEMPLATE.md",
212
+ "destination": "docs/templates/ADR_TEMPLATE.md"
213
+ },
214
+ {
215
+ "source": "core/learning/ENGINEERING_LEARNING_WORKBOOK.md",
216
+ "destination": "learning/ENGINEERING_LEARNING_WORKBOOK.md"
217
+ },
218
+ {
219
+ "source": "core/learning/LEARNING_MAP.md",
220
+ "destination": "learning/LEARNING_MAP.md"
221
+ },
222
+ {
223
+ "source": "core/learning/LEARNING_PROGRESS.md",
224
+ "destination": "learning/LEARNING_PROGRESS.md"
225
+ },
226
+ {
227
+ "source": "core/learning/CODING_DRILLS.md",
228
+ "destination": "learning/CODING_DRILLS.md"
229
+ },
230
+ {
231
+ "source": "core/learning/SQL_DRILLS.md",
232
+ "destination": "learning/SQL_DRILLS.md"
233
+ },
234
+ {
235
+ "source": "core/learning/SYSTEM_DESIGN_DRILLS.md",
236
+ "destination": "learning/SYSTEM_DESIGN_DRILLS.md"
237
+ },
238
+ {
239
+ "source": "core/learning/DIAGRAM_GUIDE.md",
240
+ "destination": "learning/DIAGRAM_GUIDE.md"
241
+ },
242
+ {
243
+ "source": "core/learning/RESOURCE_CATALOG.md",
244
+ "destination": "learning/RESOURCE_CATALOG.md"
245
+ },
246
+ {
247
+ "source": "tools/db_lab/sqlite_workbench.py",
248
+ "destination": "tools/project-forge-db-lab/sqlite-workbench.py"
249
+ },
250
+ {
251
+ "source": "tools/system_lab/system_workbench.py",
252
+ "destination": "tools/project-forge-system-lab/system-workbench.py"
253
+ },
254
+ {
255
+ "source": "tools/docs_site/docs_site.py",
256
+ "destination": "tools/project-forge-docs/docs-site.py"
257
+ },
258
+ {
259
+ "source": "tools/vscode_work_item_status/install.py",
260
+ "destination": "tools/project-forge-vscode/work-item-status/install.py"
261
+ },
262
+ {
263
+ "source": "tools/vscode_work_item_status/extension/package.json",
264
+ "destination": "tools/project-forge-vscode/work-item-status/extension/package.json"
265
+ },
266
+ {
267
+ "source": "tools/vscode_work_item_status/extension/extension.js",
268
+ "destination": "tools/project-forge-vscode/work-item-status/extension/extension.js"
269
+ },
270
+ {
271
+ "source": "tools/vscode_work_item_status/extension/README.md",
272
+ "destination": "tools/project-forge-vscode/work-item-status/extension/README.md"
273
+ },
274
+ {
275
+ "source": "tools/package/check_baseline.py",
276
+ "destination": "tools/project-forge-core/check-core-baseline.py"
277
+ },
278
+ {
279
+ "source": "tools/package/check_upstream.py",
280
+ "destination": "tools/project-forge-core/check-core-upstream.py"
281
+ },
282
+ {
283
+ "source": "core/skills/web-guidance/SKILL.md",
284
+ "destination": ".github/skills/web-guidance/SKILL.md"
285
+ },
286
+ {
287
+ "source": "core/skills/ux-review/SKILL.md",
288
+ "destination": ".github/skills/ux-review/SKILL.md"
289
+ },
290
+ {
291
+ "source": "core/instructions/project-forge-web-guidance.instructions.md",
292
+ "destination": ".github/instructions/project-forge-web-guidance.instructions.md"
293
+ }
75
294
  ]
76
295
  }
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@mriekki/project-forge",
4
- "version": "4.22.3",
4
+ "version": "4.23.0",
5
5
  "components": {
6
6
  "core": {
7
- "revision": "4c74c1801b82d3aa438447d392024d32ca5697b0",
8
- "version": "4.0.0",
7
+ "revision": "970b7d89c9a2d71cb10c42482cdccc2c43cf9ee3",
8
+ "version": "4.1.0",
9
9
  "distribution": "greenfield-workspace",
10
10
  "files": [
11
11
  {
@@ -16,12 +16,12 @@
16
16
  {
17
17
  "source": "core/agents/reviewer.agent.md",
18
18
  "destination": ".github/agents/reviewer.agent.md",
19
- "sha256": "94255c72a6c875722ebaf8b0cb328fe019856c01443b550ca6e2f6c422da983e"
19
+ "sha256": "ef62ef56803eebc224727a2b7f94c6210fb0d3cfc99800ba58ac8e2f4dba5d19"
20
20
  },
21
21
  {
22
22
  "source": "core/instructions/project-forge-workflow.instructions.md",
23
23
  "destination": ".github/instructions/project-forge-workflow.instructions.md",
24
- "sha256": "3bb0abb63dd2e7a151c432d08eca85fe604cb043a865bfa337024ebd1c372301"
24
+ "sha256": "34edc558291ee6b4f6c0a613b2869f00628ec78b9b02056e9724a7e1cc9eb7ee"
25
25
  },
26
26
  {
27
27
  "source": "core/instructions/project-forge-local-development.instructions.md",
@@ -56,7 +56,7 @@
56
56
  {
57
57
  "source": "core/skills/setup/SKILL.md",
58
58
  "destination": ".github/skills/setup/SKILL.md",
59
- "sha256": "0e08797b2f7d7e3e3f825cbb22bdad509255a4a0b875878d4ec1d9eecd23cad2"
59
+ "sha256": "043e37fcad21cfa9c437694c628e7070d566744008612c33440a56d54b99dcb6"
60
60
  },
61
61
  {
62
62
  "source": "core/skills/build/SKILL.md",
@@ -226,7 +226,7 @@
226
226
  {
227
227
  "source": "core/process/SETUP_ACCEPTANCE_CHECKLIST.md",
228
228
  "destination": "docs/process/SETUP_ACCEPTANCE_CHECKLIST.md",
229
- "sha256": "92174c10920f536c9912719a630e07e11c525fa2a7913d239bd097fb67f193a0"
229
+ "sha256": "41f97f81b8755920e0a6b86c6bf660800ff2ddcd48a1a07ab12e4fa7dfa16593"
230
230
  },
231
231
  {
232
232
  "source": "core/process/OPERATION_JOURNAL.md",
@@ -357,6 +357,21 @@
357
357
  "source": "tools/package/check_upstream.py",
358
358
  "destination": "tools/project-forge-core/check-core-upstream.py",
359
359
  "sha256": "8c23422f0a72b3e8ec6021791bb46d484ddb5f014ba9f81eccb004b0605d931a"
360
+ },
361
+ {
362
+ "source": "core/skills/web-guidance/SKILL.md",
363
+ "destination": ".github/skills/web-guidance/SKILL.md",
364
+ "sha256": "b2064b1fea2ae7249685278e291cda6b4739a7601f8c2dc43a797f324c9fbda1"
365
+ },
366
+ {
367
+ "source": "core/skills/ux-review/SKILL.md",
368
+ "destination": ".github/skills/ux-review/SKILL.md",
369
+ "sha256": "2d0031a7041b8174ef056cf35015d5a9faadbc960313b3d1117bf55b8cb44486"
370
+ },
371
+ {
372
+ "source": "core/instructions/project-forge-web-guidance.instructions.md",
373
+ "destination": ".github/instructions/project-forge-web-guidance.instructions.md",
374
+ "sha256": "5e9c32ea86d0ad868882ec8d6c5263931cd12eb26d7f9a432dfae1895f8b0738"
360
375
  }
361
376
  ]
362
377
  },
@@ -35,6 +35,8 @@ Check:
35
35
  - reversibility,
36
36
  - unnecessary complexity.
37
37
 
38
+ For browser-facing UX/accessibility/compatibility findings, consult `web-guidance` only when an already trusted, read-only invocation is available and relevant. Do not fetch/install tooling or run side-effecting UI flows in the read-only Reviewer. `/ux-review` can supply supplemental evidence, never replace this independent correctness review.
39
+
38
40
  ## Implementation review
39
41
 
40
42
  Start from:
@@ -0,0 +1,9 @@
1
+ ---
2
+ applyTo: "**/*.html,**/*.css,**/*.scss,**/*.js,**/*.jsx,**/*.ts,**/*.tsx,**/*.vue,**/*.svelte"
3
+ ---
4
+
5
+ # Browser-facing Modern Web Guidance
6
+
7
+ For browser-facing HTML, CSS, UI, client-side JavaScript/TypeScript tasks, consult `.github/skills/web-guidance/SKILL.md` when applicable. A file extension alone is not sufficient: exclude server routes, backend TypeScript, node scripts, CI, build config and non-browser tests. Respect approved requirements, browser support, existing third-party skills, privacy and tool permissions. Guidance unavailable is a non-blocking optional setup limitation.
8
+
9
+ Builders can invoke `/ux-review` for a read-only experience review; it does not authorize fixes or become a release gate.
@@ -8,6 +8,8 @@ Read `.github/project-forge-workspace.json` when present before assuming how req
8
8
 
9
9
  Existing team conventions outrank Project Forge defaults.
10
10
 
11
+ For browser-facing implementation or review, use the repository-managed `web-guidance` skill to consult exact-version Modern Web Guidance when available. Do not apply it to backend-only work or bypass browser support/privacy/tool permissions. `/ux-review` is the optional, read-only Builder-facing UX review; it never replaces Reviewer or authorizes fixes.
12
+
11
13
  Possible sources include Product Briefs, Feature Briefs, Engineering Enablers, Jira Epics/Stories, GitHub Issues, local requirements, ADRs, or small session context.
12
14
 
13
15
  Use proportional rigor: `LIGHT`, `STANDARD`, `ELEVATED`.
@@ -12,6 +12,7 @@ Use this checklist after creating or adopting a Project Forge workspace and befo
12
12
  - [ ] Container tooling and Compose work when the selected stack declares containers.
13
13
  - [ ] Repository-pinned runtimes are active.
14
14
  - [ ] Optional tools are either available or consciously deferred.
15
+ - [ ] For browser-facing Projects, the exact Modern Web Guidance CLI/Node prerequisites are verified or explicitly deferred; telemetry is disabled without third-party agent-file overwrites.
15
16
 
16
17
  ## Repository / workspace
17
18
 
@@ -31,6 +32,7 @@ After opening/reloading the intended editor workspace:
31
32
  - [ ] `Reviewer` is discoverable.
32
33
  - [ ] `Coach` is discoverable when the workspace includes coaching.
33
34
  - [ ] expected Project Forge skills are discoverable, including `/start-work`, `/deliver`, and `/wait-what` when included by the distribution/capability set.
35
+ - [ ] `/ux-review` is discoverable and agent-invoked `web-guidance` is available for relevant frontend work when included.
34
36
  - [ ] when local `docs/work-items` folders exist, the Project Forge Work Item Status extension is installed/updated by setup and its Explorer decoration is available after any requested one-time VS Code reload; otherwise this check is not applicable.
35
37
  - [ ] path-specific instructions are present when the workspace declares them.
36
38
  - [ ] path-specific instructions are recognized/applied for matching files when the host supports them.
@@ -160,6 +160,17 @@ Route to `/project-forge-update`; do not clone private Project Forge source repo
160
160
 
161
161
  A decorator installation error does not erase otherwise valid runtime/build readiness. Report the `Work-item Explorer` dimension as `ACTION NEEDED` or `ERROR`, preserve the other independent setup dimensions, and give the smallest repair/update action.
162
162
 
163
+ ## 3A. Optional Modern Web Guidance setup and verification
164
+
165
+ For browser-facing web/PWA Projects that include `.github/skills/web-guidance/SKILL.md`, `/setup` owns optional workstation-local guidance availability. Do not create another user-facing setup command. Non-web/backend Projects need no guidance installation. Keep this dimension independent from required runtime readiness and preserve existing third-party skills/configuration.
166
+
167
+ - `/setup status` is read-only: inspect the managed skill's presence, Node.js >=22, npm/npx availability, existing `.mwgrc`, and exact CLI cache when observable **without downloading or changing files**. Report `AVAILABLE`, `DEFERRED`, `NOT APPLICABLE` or `ACTION NEEDED` based on evidence. Skill-file existence alone is not successful retrieval.
168
+ - Normal `/setup` / `/setup local`: once repository-defined setup has provisioned Node, optionally prepare `modern-web-guidance@1.0.0` into the user's npm cache by a harmless search (`search "accessible form validation"`), and verify a relevant guide can be retrieved. For Linux/macOS/WSL prefix each command with `DISABLE_TELEMETRY=1`; for PowerShell set `$env:DISABLE_TELEMETRY = '1'` before `npx.cmd`.
169
+ - The first `npx` invocation may download and execute third-party code. Respect normal terminal/network approvals and project privacy policy. **Do not run Google's interactive `install` command**, globally install tooling, overwrite `.mwgrc`/agent files, or bypass permission failures. Project Forge distributes the skill itself.
170
+ - If Node 22+, exact package, permission or network is unavailable, report optional guidance `DEFERRED` rather than installing unrelated runtimes or blocking local setup. A newer arbitrary Google CLI is not proof of exact approved version.
171
+ - Check `/ux-review` discovery when included and `web-guidance` agent availability when frontend work applies. Existing independent Google skill installations must be preserved/reconciled, not overwritten.
172
+ - `/setup repair` may retry this bounded preparation. Report `Modern web guidance` as a distinct setup dimension; failure does not erase already-verified application/runtime readiness.
173
+
163
174
  ## 4. `/setup local` converges verified local development readiness
164
175
 
165
176
  The first success target is:
@@ -538,4 +549,4 @@ Useful next actions include:
538
549
  - `/deploy <environment>` — only after readiness and its own authorization contract;
539
550
  - `/tear-down <scope>` — destructive cleanup under its separate gate.
540
551
 
541
- Do not create a second top-level developer-environment-mode workflow. Local/remote workstation convergence belongs here.
552
+ Do not create a second top-level developer-environment-mode workflow. Local/remote workstation convergence belongs here.
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: ux-review
3
+ description: Read-only review of user-facing features for usability, accessibility, responsiveness, modern browser behavior and performance.
4
+ argument-hint: "[feature, route, screen, or work-item ID]"
5
+ user-invocable: true
6
+ disable-model-invocation: true
7
+ ---
8
+
9
+ # UX Review
10
+
11
+ `/ux-review` is a **read-only**, evidence-led experience review for new or existing Projects. Best for web/PWA Projects, but applicable to other user-facing software using that platform's conventions. Opt-in; never a mandatory release gate and not a replacement for independent implementation Reviewer.
12
+
13
+ ## Scope
14
+
15
+ Resolve the requested feature, flow, work item or screen from current repository-owned requirements, architecture, screenshots, code, tests and design system. If broad, select and name representative journeys; never claim whole-app coverage from limited screens. For browser work consult the agent-invoked `web-guidance` skill when applicable and available. Non-browser UI should not be judged using browser APIs.
16
+
17
+ ## Observe truthfully
18
+
19
+ Prefer actual observable screens across relevant viewport sizes, keyboard use, accessible names/landmarks, forms, error/empty/loading states, responsive layouts, touch targets, contrast, reduced motion, PWA offline/install/update states and existing performance evidence. Use safe existing tools only when they are already available and permitted.
20
+
21
+ Never claim a browser/device/assistive technology or audit was run unless actually observed. Mark static-only observations and unverified assumptions. Read-only **does not authorize** editing files, installing tools, starting infrastructure with side effects, authenticating as real users, submitting forms, mutating databases or deploying. Request separate authorization when needed or report a gap.
22
+
23
+ ## Review dimensions
24
+
25
+ - Usability: task clarity, information hierarchy, navigation, feedback, error recovery and cognitive load.
26
+ - Accessibility: semantic structure, keyboard/focus behavior, labels, contrast, zoom, reduced motion and touch.
27
+ - Responsive and visual: mobile/tablet/desktop behavior, readability, affordances, consistency with approved design system.
28
+ - Browser/PWA: target-browser compatibility, progressive enhancement, offline/update behavior and permission flows.
29
+ - Performance and trust: perceived responsiveness, expensive interactions, privacy/safety signals, destructive-action clarity.
30
+
31
+ Do not force fads, extra libraries, unrequested redesigns, or newly invented product requirements.
32
+
33
+ ## Findings
34
+
35
+ State review scope, inspected evidence and not-verified surfaces. List actionable findings with location/flow, impact, supporting evidence, and smallest plausible remedy. Classify `HIGH` (essential-task/accessibility blocker), `MEDIUM` (significant friction), `LOW` (polish), and `EVIDENCE GAP` (not tested). Include strengths only when evidenced.
36
+
37
+ End with a concise recommendation and relevant verification plan. Findings are **proposals**, not approved requirements. Offer to convert selected findings into work items through Project Forge's normal requirements/`/start-work` gates. This skill never edits, stages, commits, pushes, opens PRs, merges, or deploys.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: web-guidance
3
+ description: Consult modern browser-compatible web platform patterns for relevant UI, CSS, client JavaScript, PWA, accessibility, and performance work.
4
+ user-invocable: false
5
+ ---
6
+
7
+ # Modern Web Guidance
8
+
9
+ Automatically use this skill for browser-facing HTML/CSS, UI/client-side JavaScript, responsive design, accessibility, performance and PWA implementation or review. For mixed backend/frontend work, scope lookup to the browser-facing portion. Do not invoke for backend-only TypeScript, SQL, API routes, Docker, CI, dependency tooling, or unrelated non-web work.
10
+
11
+ This Project Forge skill is a **thin adapter** to Google's externally maintained [Modern Web Guidance](https://github.com/GoogleChrome/modern-web-guidance). Do not copy Google's skill pack or guide library into Project Forge. Approved Project requirements, existing engineering conventions, browser support, security constraints and Human-in-the-Loop gates outrank external recommendations.
12
+
13
+ ## Task workflow
14
+
15
+ 1. Identify one relevant browser capability. Inspect any existing `.mwgrc`, browser-support policy and installed third-party skills read-only; do not replace them.
16
+ 2. Search with a short action phrase, e.g., `"accessible modal dialog"`, not product-specific names. Use **exact CLI version `modern-web-guidance@1.0.0`**, never floating `@latest`.
17
+ 3. Inspect search matches, retrieve only relevant guide IDs and applicable discipline guidance; rephrase once when no good result appears. No matching guide means proceed with repository standards; never fabricate a result.
18
+ 4. Apply progressive enhancement, appropriate compatibility fallbacks and Project target-browser policy. Do not opt in to volatile APIs or Origin Trials without Builder approval. Do not introduce unrelated dependencies or redesigns.
19
+ 5. Cross-check with code/tests. Briefly attribute materially used guidance IDs in implementation/review reports without copying whole guides.
20
+
21
+ ### Exact-version invocation
22
+
23
+ Linux, macOS, WSL:
24
+
25
+ ```sh
26
+ DISABLE_TELEMETRY=1 npx --yes modern-web-guidance@1.0.0 search "accessible modal dialog"
27
+ DISABLE_TELEMETRY=1 npx --yes modern-web-guidance@1.0.0 retrieve "<returned-guide-id>"
28
+ ```
29
+
30
+ For PowerShell, set `$env:DISABLE_TELEMETRY = '1'` before the same `npx.cmd --yes modern-web-guidance@1.0.0` command. Requires Node.js **22+**. Disable telemetry on each invocation; never change global shell configuration, share secrets, or upload source/user prompts. The initial package fetch requires normal network/terminal permissions; do not bypass denied permissions or grant blanket npx access. Cached CLI can search locally.
31
+
32
+ The Project Forge-managed skill is the entrypoint. **Do not run Google's interactive `install` wizard** during Project Forge setup: it would write a second, unmanaged agent skill. Respect already installed third-party guidance without overwriting it.
33
+
34
+ If exact CLI, compatible Node, permission or network access is unavailable, report guidance `DEFERRED` without blocking otherwise valid local development. No silent runtime upgrade solely for optional guidance.
35
+
36
+ ## Modernization
37
+
38
+ Run `legacy-scan` only if the Builder explicitly requests broad web modernization/legacy-pattern review. Validate findings manually, preserve intentional compatibility fallbacks, report false positives and never auto-edit during read-only review.
39
+
40
+ ## Credits
41
+
42
+ Google Chrome/collaborators maintain the guidance. Guide content is CC BY 4.0; upstream code is Apache 2.0. Attribute copied/adapted documentation, do not vendor the corpus.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mriekki/project-forge",
3
- "version": "4.22.3",
3
+ "version": "4.23.0",
4
4
  "description": "Public consumer distribution and updater for Project Forge engineering assets.",
5
5
  "type": "module",
6
6
  "bin": {