@warpgogol/forge 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/AGENTS.md +31 -2
  2. package/dist/bin/cli.js +0 -0
  3. package/dist/os/core/core.module.d.ts.map +1 -1
  4. package/dist/os/core/core.module.js +69 -0
  5. package/dist/os/core/core.module.js.map +1 -1
  6. package/dist/os/core/handlers/build.d.ts +16 -0
  7. package/dist/os/core/handlers/build.d.ts.map +1 -0
  8. package/dist/os/core/handlers/build.js +123 -0
  9. package/dist/os/core/handlers/build.js.map +1 -0
  10. package/dist/os/core/handlers/dev.d.ts +10 -0
  11. package/dist/os/core/handlers/dev.d.ts.map +1 -0
  12. package/dist/os/core/handlers/dev.js +102 -0
  13. package/dist/os/core/handlers/dev.js.map +1 -0
  14. package/dist/os/core/handlers/profile-resolve.d.ts +13 -0
  15. package/dist/os/core/handlers/profile-resolve.d.ts.map +1 -0
  16. package/dist/os/core/handlers/profile-resolve.js +65 -0
  17. package/dist/os/core/handlers/profile-resolve.js.map +1 -0
  18. package/dist/os/core/handlers/validate.d.ts +26 -0
  19. package/dist/os/core/handlers/validate.d.ts.map +1 -0
  20. package/dist/os/core/handlers/validate.js +208 -0
  21. package/dist/os/core/handlers/validate.js.map +1 -0
  22. package/dist/src/onboarding/doctor.d.ts +3 -0
  23. package/dist/src/onboarding/doctor.d.ts.map +1 -1
  24. package/dist/src/onboarding/doctor.js +44 -6
  25. package/dist/src/onboarding/doctor.js.map +1 -1
  26. package/dist/src/onboarding/invariant-engine.d.ts +17 -0
  27. package/dist/src/onboarding/invariant-engine.d.ts.map +1 -0
  28. package/dist/src/onboarding/invariant-engine.js +173 -0
  29. package/dist/src/onboarding/invariant-engine.js.map +1 -0
  30. package/dist/src/onboarding/nested-agents-generate.d.ts +2 -0
  31. package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -1
  32. package/dist/src/onboarding/nested-agents-generate.js +1 -1
  33. package/dist/src/onboarding/nested-agents-generate.js.map +1 -1
  34. package/dist/src/profiles/profile-schema.d.ts +65 -0
  35. package/dist/src/profiles/profile-schema.d.ts.map +1 -1
  36. package/dist/src/profiles/profile-schema.js +21 -1
  37. package/dist/src/profiles/profile-schema.js.map +1 -1
  38. package/dist/src/profiles/stack-profile.d.ts +20 -0
  39. package/dist/src/profiles/stack-profile.d.ts.map +1 -1
  40. package/dist/src/profiles/stack-profile.js +3 -0
  41. package/dist/src/profiles/stack-profile.js.map +1 -1
  42. package/package.json +69 -162
  43. package/profiles/editframe-html.yaml +17 -3
  44. package/skills/fo/fo-add-tests/SKILL.md +3 -1
  45. package/skills/fo/fo-doc-audit/SKILL.md +2 -0
  46. package/skills/fo/fo-fix/SKILL.md +5 -3
  47. package/skills/fo/fo-idea-audit/SKILL.md +2 -0
  48. package/skills/fo/fo-idea-create-adr/SKILL.md +2 -0
  49. package/skills/fo/fo-idea-create-rfc/SKILL.md +2 -0
  50. package/skills/fo/fo-idea-enhance/SKILL.md +3 -1
  51. package/skills/fo/fo-idea-implement/SKILL.md +3 -1
  52. package/skills/fo/fo-idea-plan/SKILL.md +3 -1
  53. package/skills/fo/fo-idea-status/SKILL.md +2 -0
  54. package/skills/fo/fo-review/SKILL.md +4 -2
  55. package/skills/fo/fo-session-retro/SKILL.md +185 -1
  56. package/skills/meta/forge-bootstrap/SKILL.md +27 -4
  57. package/skills/shared/windows-ai-tooling/SKILL.md +3 -1
package/package.json CHANGED
@@ -1,113 +1,121 @@
1
1
  {
2
2
  "name": "@warpgogol/forge",
3
- "version": "0.9.0",
3
+ "version": "0.11.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": ["rfc", "adr", "governance", "skills", "ai-agent", "documentation", "framework"],
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.ts",
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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.ts"
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
- "main": "./dist/src/index.js",
148
- "types": "./dist/src/index.d.ts",
149
- "exports": {
150
- ".": {
151
- "types": "./dist/src/index.d.ts",
152
- "default": "./dist/src/index.js"
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:
@@ -27,9 +30,8 @@ artifacts:
27
30
  determinism:
28
31
  hashable: true
29
32
  inputs:
30
- - composition files
31
- - assets
32
- - editframe version
33
+ - compositions/**/*.html
34
+ - assets/**
33
35
  workspaceTypes:
34
36
  - id: composition
35
37
  detect:
@@ -44,12 +46,24 @@ invariants:
44
46
  - id: VIDEO-01
45
47
  rule: Composition filenames must use kebab-case (lowercase letters, digits, hyphens only)
46
48
  severity: error
49
+ check:
50
+ kind: filename-pattern
51
+ glob: "compositions/**/*.{html,tsx}"
52
+ pattern: "^[a-z0-9-]+\\.(html|tsx)$"
47
53
  - id: VIDEO-02
48
54
  rule: Scene durations must use contain mode by default to avoid unexpected cropping
49
55
  severity: warning
56
+ check:
57
+ kind: file-contains
58
+ glob: "compositions/**/*.html"
59
+ pattern: contain
50
60
  - id: VIDEO-03
51
61
  rule: All speech audio elements must have corresponding ef-captions elements for accessibility
52
62
  severity: error
63
+ check:
64
+ kind: file-contains
65
+ glob: "compositions/**/*.html"
66
+ pattern: ef-captions
53
67
  workspace:
54
68
  dirs:
55
69
  - 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
- ```sh
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
  ```
@@ -76,6 +76,8 @@ Address every concern the grilling raises by adjusting the metadata, scope, or c
76
76
 
77
77
  Run:
78
78
 
79
+ > 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.
80
+
79
81
  ```sh
80
82
  ref(forge.yaml bindings.commands.validateAdr) --create --title="<title>" --scope=<scope> --related=<related-ids>
81
83
  ```
@@ -31,6 +31,8 @@ Create a complete, `rfc.validate`-ready RFC draft in `docs/rfcs/` using the full
31
31
 
32
32
  Confirm that the proposed change is not already covered by an accepted/implemented RFC. Before drafting, run:
33
33
 
34
+ > 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.
35
+
34
36
  ```sh
35
37
  ref(forge.yaml bindings.commands.validateRfc) --status accepted --json
36
38
  ```
@@ -67,7 +67,9 @@ Read the RFC's `status` frontmatter:
67
67
  - **`draft`** — proceed with enhancement.
68
68
  - **`reviewing`** — transition to `draft` before enhancement. Set `status: draft`, update `updatedAt` to today's date, commit:
69
69
 
70
- ```txt
70
+ > 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.
71
+
72
+ ```txt
71
73
  rfc: revert RFC-XXXX to draft for enhancement
72
74
 
73
75
  Transition RFC-XXXX from reviewing to draft before enhance.
@@ -73,7 +73,9 @@ Execute the plan's step sequence in order. For each step:
73
73
  2. **Validate** — run the step's validation command (lightweight only: `rfc.validate`, type checks, unit tests on touched files). Do **not** run heavy checks (`root build`, `build:check`, `astro:check`) during implementation — they run only after all steps are complete.
74
74
  3. **Commit** after each step or phase that produces a coherent, complete unit of work:
75
75
 
76
- ```txt
76
+ > 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.
77
+
78
+ ```txt
77
79
  implement: RFC-XXXX step N — <step title>
78
80
 
79
81
  <one-line description of what was done in this step>.
@@ -64,7 +64,9 @@ If the RFC is `draft` or `reviewing` and has `enhancedAt` — the user's instruc
64
64
  3. Set `updatedAt` to today's date.
65
65
  4. Commit:
66
66
 
67
- ```txt
67
+ > 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.
68
+
69
+ ```txt
68
70
  rfc: accept RFC-XXXX <short title>
69
71
 
70
72
  Transition RFC-XXXX to accepted status for planning.
@@ -36,6 +36,8 @@ Check the operator's input for:
36
36
 
37
37
  **Always** make a single call to `rfc.list --json` (no `--status` flag) and a single call to `adr.list --json`. Filter by status in memory from the returned `entries` array. Never make per-status calls.
38
38
 
39
+ > 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.
40
+
39
41
  ```sh
40
42
  ref(forge.yaml bindings.commands.validateRfc) --list --json
41
43
  ref(forge.yaml bindings.commands.validateAdr) --list --json
@@ -51,14 +51,16 @@ Run the mechanical floor first — it catches type errors, lint violations, and
51
51
 
52
52
  For a single affected package:
53
53
 
54
+ > 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.
55
+
54
56
  ```sh
55
- pnpm --filter <package-name> build:check
57
+ rtk pnpm --filter <package-name> build:check
56
58
  ```
57
59
 
58
60
  For an affected app:
59
61
 
60
62
  ```sh
61
- pnpm --filter <app-name> exec astro check
63
+ rtk pnpm --filter <app-name> exec astro check
62
64
  ```
63
65
 
64
66
  For cross-workspace changes, run the affected workspaces' checks individually rather than a full root build.