@lifeaitools/rdc-skills 0.24.38 → 0.24.41

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 (196) hide show
  1. package/.claude/settings.json +15 -15
  2. package/.claude-plugin/marketplace.json +21 -21
  3. package/.claude-plugin/plugin.json +1371 -1371
  4. package/.github/workflows/publish.yml +34 -34
  5. package/.github/workflows/self-test.yml +58 -58
  6. package/CHANGELOG.md +310 -310
  7. package/LICENSE +21 -21
  8. package/MANIFEST.md +221 -221
  9. package/README.md +376 -375
  10. package/README.sandbox.md +3 -3
  11. package/RELEASE.md +42 -0
  12. package/assets/watcher/viewer.html +164 -164
  13. package/bin/rdc-skills-mcp.mjs +316 -316
  14. package/commands/build.md +183 -183
  15. package/commands/collab.md +180 -180
  16. package/commands/deploy.md +152 -152
  17. package/commands/design.md +31 -31
  18. package/commands/edit.md +28 -28
  19. package/commands/fixit.md +124 -124
  20. package/commands/handoff.md +173 -173
  21. package/commands/help.md +95 -95
  22. package/commands/overnight.md +220 -220
  23. package/commands/plan.md +158 -158
  24. package/commands/preplan.md +131 -131
  25. package/commands/prototype.md +145 -145
  26. package/commands/release.md +49 -49
  27. package/commands/report.md +99 -99
  28. package/commands/review.md +120 -120
  29. package/commands/self-test.md +113 -113
  30. package/commands/status.md +86 -86
  31. package/commands/watch.md +98 -98
  32. package/commands/workitems.md +137 -137
  33. package/git-sha.json +1 -1
  34. package/guides/agent-bootstrap.md +295 -295
  35. package/guides/agents/backend.md +104 -104
  36. package/guides/agents/content.md +94 -94
  37. package/guides/agents/cs2.md +56 -56
  38. package/guides/agents/data.md +87 -87
  39. package/guides/agents/design.md +77 -77
  40. package/guides/agents/frontend.md +92 -92
  41. package/guides/agents/infrastructure.md +81 -81
  42. package/guides/agents/setup.md +281 -281
  43. package/guides/agents/verify.md +151 -151
  44. package/guides/agents/viz.md +106 -106
  45. package/guides/backend.md +146 -146
  46. package/guides/content.md +147 -147
  47. package/guides/cs2.md +190 -190
  48. package/guides/data.md +123 -123
  49. package/guides/design.md +116 -116
  50. package/guides/engineering-behavior.md +43 -43
  51. package/guides/escalation-protocol.md +125 -125
  52. package/guides/frontend.md +151 -151
  53. package/guides/history-md-spec.md +297 -297
  54. package/guides/infrastructure.md +179 -179
  55. package/guides/lessons-learned-spec.md +151 -145
  56. package/guides/output-contract.md +108 -108
  57. package/guides/publish-md-spec.md +289 -289
  58. package/guides/rdc-skills-startup.md +30 -30
  59. package/guides/verify.md +11 -11
  60. package/hooks/check-cwd.js +31 -31
  61. package/hooks/check-rdc-environment.js +164 -164
  62. package/hooks/check-services.js +6 -6
  63. package/hooks/check-stale-work-items.js +19 -19
  64. package/hooks/foreground-process-gate.js +128 -128
  65. package/hooks/gate-watchdog-selfcheck.js +257 -257
  66. package/hooks/hook-logger.js +25 -25
  67. package/hooks/lib/run-evidence-gate.mjs +241 -241
  68. package/hooks/no-stop-open-epics.js +127 -127
  69. package/hooks/post-tool-batch-gate.js +203 -203
  70. package/hooks/post-work-check.js +21 -21
  71. package/hooks/postcompact-log.js +13 -13
  72. package/hooks/precompact-log.js +13 -13
  73. package/hooks/rate-limit-retry.js +46 -46
  74. package/hooks/rdc-invocation-marker.js +157 -157
  75. package/hooks/rdc-output-contract-gate.js +94 -94
  76. package/hooks/require-work-item-on-commit.js +294 -294
  77. package/hooks/restart-brief.js +19 -19
  78. package/hooks/run-hidden-hook.ps1 +47 -47
  79. package/hooks/task-completed-gate.js +274 -274
  80. package/hooks/work-item-exit-gate.js +944 -944
  81. package/lib/catalog.mjs +236 -236
  82. package/lib/cloud-rewrite.mjs +155 -155
  83. package/package.json +57 -56
  84. package/rules/work-items-rpc.md +520 -520
  85. package/scaffold/templates/HISTORY.md.template +39 -39
  86. package/scaffold/templates/PUBLISH.md.template +21 -21
  87. package/scaffold/templates/brochure-studio-default.html +70 -70
  88. package/scripts/acceptance.mjs +502 -502
  89. package/scripts/fixtures/guides/bad-guide.md +15 -15
  90. package/scripts/fixtures/guides-clean/good-guide.md +16 -16
  91. package/scripts/install-rdc-skills.js +1289 -1289
  92. package/scripts/install.ps1 +202 -202
  93. package/scripts/install.sh +132 -132
  94. package/scripts/lib/assertions.mjs +287 -287
  95. package/scripts/lib/manifest-schema.mjs +754 -754
  96. package/scripts/lib/runner.mjs +465 -465
  97. package/scripts/lib/sandbox.mjs +435 -435
  98. package/scripts/prepack.mjs +32 -32
  99. package/scripts/rdc-brochure.mjs +482 -464
  100. package/scripts/rdc-design-cli.mjs +134 -134
  101. package/scripts/rebuild-mcp.mjs +107 -107
  102. package/scripts/self-test.mjs +1460 -1460
  103. package/scripts/stamp-git-sha.mjs +29 -29
  104. package/scripts/test-guide-validator.mjs +196 -196
  105. package/scripts/test-rdc-hooks.mjs +145 -145
  106. package/scripts/uninstall.ps1 +77 -77
  107. package/scripts/uninstall.sh +69 -69
  108. package/scripts/update.ps1 +43 -43
  109. package/scripts/update.sh +43 -43
  110. package/scripts/validate-place-histories.js +461 -461
  111. package/scripts/validate-publish-manifests.js +424 -424
  112. package/scripts/watch-init.mjs +100 -100
  113. package/skills/brochure/SKILL.md +107 -107
  114. package/skills/build/SKILL.md +563 -563
  115. package/skills/channel-formatter/SKILL.md +533 -533
  116. package/skills/co-develop/SKILL.md +196 -196
  117. package/skills/collab/SKILL.md +239 -239
  118. package/skills/convert/SKILL.md +140 -140
  119. package/skills/deploy/SKILL.md +541 -541
  120. package/skills/design/SKILL.md +211 -211
  121. package/skills/design/reference/ownership.md +16 -16
  122. package/skills/design/reference/rampa.md +92 -92
  123. package/skills/design/reference/studio-model.md +153 -153
  124. package/skills/edit/SKILL.md +98 -98
  125. package/skills/fixit/SKILL.md +165 -165
  126. package/skills/fs-mcp/SKILL.md +148 -148
  127. package/skills/handoff/SKILL.md +236 -200
  128. package/skills/help/SKILL.md +143 -143
  129. package/skills/housekeeping/SKILL.md +219 -160
  130. package/skills/lifeai-brochure-author/SKILL.md +340 -340
  131. package/skills/overnight/SKILL.md +251 -251
  132. package/skills/plan/SKILL.md +345 -345
  133. package/skills/preplan/SKILL.md +90 -90
  134. package/skills/prototype/SKILL.md +150 -150
  135. package/skills/rdc-brochurify/SKILL.md +245 -245
  136. package/skills/rdc-extract-verifier-rules/SKILL.md +191 -191
  137. package/skills/release/SKILL.md +140 -140
  138. package/skills/report/SKILL.md +100 -100
  139. package/skills/review/SKILL.md +152 -152
  140. package/skills/rpms-filemap/SKILL.cloud.md +111 -111
  141. package/skills/rpms-filemap/SKILL.md +111 -111
  142. package/skills/self-test/SKILL.md +132 -132
  143. package/skills/status/SKILL.md +99 -99
  144. package/skills/terminal-config/SKILL.md +62 -62
  145. package/skills/tests/MATRIX.md +54 -54
  146. package/skills/tests/README.md +47 -47
  147. package/skills/tests/rdc-brochure.test.json +34 -34
  148. package/skills/tests/rdc-build.test.json +36 -36
  149. package/skills/tests/rdc-channel-formatter.test.json +45 -45
  150. package/skills/tests/rdc-co-develop.test.json +29 -29
  151. package/skills/tests/rdc-collab.test.json +29 -29
  152. package/skills/tests/rdc-convert.test.json +35 -35
  153. package/skills/tests/rdc-deploy.test.json +30 -30
  154. package/skills/tests/rdc-design.test.json +27 -27
  155. package/skills/tests/rdc-edit.test.json +29 -29
  156. package/skills/tests/rdc-fixit.test.json +36 -36
  157. package/skills/tests/rdc-fs-mcp.test.json +36 -36
  158. package/skills/tests/rdc-handoff.test.json +28 -28
  159. package/skills/tests/rdc-help.test.json +29 -29
  160. package/skills/tests/rdc-housekeeping.test.json +32 -28
  161. package/skills/tests/rdc-lifeai-brochure-author.test.json +35 -35
  162. package/skills/tests/rdc-overnight.test.json +37 -37
  163. package/skills/tests/rdc-plan.test.json +27 -27
  164. package/skills/tests/rdc-preplan.test.json +31 -31
  165. package/skills/tests/rdc-prototype.test.json +28 -28
  166. package/skills/tests/rdc-rdc-brochurify.test.json +23 -23
  167. package/skills/tests/rdc-rdc-extract-verifier-rules.test.json +34 -34
  168. package/skills/tests/rdc-release.test.json +29 -29
  169. package/skills/tests/rdc-report.test.json +28 -28
  170. package/skills/tests/rdc-review.test.json +29 -29
  171. package/skills/tests/rdc-rpms-filemap.test.json +28 -28
  172. package/skills/tests/rdc-self-test.test.json +24 -24
  173. package/skills/tests/rdc-status.test.json +29 -29
  174. package/skills/tests/rdc-terminal-config.test.json +29 -29
  175. package/skills/tests/rdc-watch.test.json +24 -24
  176. package/skills/tests/rdc-workitems.test.json +27 -27
  177. package/skills/watch/SKILL.md +97 -97
  178. package/skills/workitems/SKILL.md +151 -151
  179. package/tests/acceptance.test.mjs +59 -59
  180. package/tests/channel-formatter.contract.test.mjs +251 -251
  181. package/tests/curl-surface.test.mjs +289 -289
  182. package/tests/harness-gates.test.mjs +325 -325
  183. package/tests/help-surface.test.mjs +61 -61
  184. package/tests/housekeeping-lessons-triage.test.mjs +49 -0
  185. package/tests/install-rdc-skills.test.mjs +49 -49
  186. package/tests/lessons-pipeline-contract.test.mjs +26 -0
  187. package/tests/manifest-contract-fields.test.mjs +78 -78
  188. package/tests/mcp.test.mjs +271 -271
  189. package/tests/rdc-brochure.test.mjs +125 -0
  190. package/tests/release-contract.test.mjs +16 -0
  191. package/tests/require-work-item-on-commit.test.mjs +162 -162
  192. package/tests/run-evidence-gate.test.mjs +82 -82
  193. package/tests/skill-test-matrix.test.mjs +66 -66
  194. package/tests/validate-skills.js +27 -27
  195. package/tests/work-item-exit-gate-l2.test.mjs +368 -368
  196. package/tests/work-item-exit-gate-l3.test.mjs +197 -197
@@ -1,87 +1,87 @@
1
- > **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
2
- > Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
3
- > One checklist upfront, updated in place, shown again at end with a 1-line verdict.
4
-
5
- > If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
6
-
7
-
8
- # rdc:data — Data Agent
9
-
10
- ## Mandatory First Step
11
-
12
- Read the guide before ANY operations:
13
- ```
14
- {PROJECT_ROOT}/.rdc/guides/data.md
15
- (fallback: {PROJECT_ROOT}/.rdc/guides/data.md)
16
- ```
17
-
18
- ## Migration Pattern
19
-
20
- Always use database MCP `apply_migration` — never raw shell commands:
21
-
22
- ```sql
23
- -- Example migration
24
- ALTER TABLE example_table ADD COLUMN IF NOT EXISTS new_column TEXT;
25
-
26
- -- Verify after applying
27
- SELECT column_name, data_type
28
- FROM information_schema.columns
29
- WHERE table_name = 'example_table'
30
- ORDER BY ordinal_position;
31
- ```
32
-
33
- After `apply_migration`: always verify with queries.
34
-
35
- ## Work Items — RPC Only
36
-
37
- ```sql
38
- SELECT get_open_epics();
39
- SELECT insert_work_item(p_title := 'Task', p_priority := 'high', p_labels := ARRAY['data'], p_source := 'agent');
40
- SELECT update_work_item_status('<uuid>'::uuid, 'review', '["Implementation complete; ready for validator"]'::jsonb, '<agent-session-id>', 'agent');
41
- SELECT get_work_items_by_epic('<epic-uuid>'::uuid);
42
- ```
43
-
44
- **NEVER raw INSERT/UPDATE against work_items.**
45
-
46
- ## Schema-Driven Form Seeding
47
-
48
- When adding columns to dynamic form tables:
49
-
50
- ```sql
51
- INSERT INTO field_schema (
52
- table_name, column_name, input_type, label, section, display_order,
53
- required, readonly, hidden, col_span
54
- )
55
- VALUES
56
- ('example_table', 'new_column', 'text', 'New Column', 'Section', 90, false, false, false, 1)
57
- ON CONFLICT (table_name, column_name) DO NOTHING;
58
- ```
59
-
60
- Valid `input_type` values: `text` `textarea` `email` `url` `phone` `select` `tags`
61
- `json` `toggle` `currency` `number` `date` `richtext`
62
-
63
- ## Non-Public Schema Access
64
-
65
- ```ts
66
- const { data } = await supabase.schema("custom_schema").from("table_name").select("*");
67
- ```
68
-
69
- ## Design Decisions (record architectural choices)
70
-
71
- ```sql
72
- INSERT INTO design_context (topic, context_type, summary, source, created_by)
73
- VALUES (
74
- 'TopicName', 'decision',
75
- '2-3 sentence summary of what was decided and why',
76
- 'agent session', 'agent'
77
- );
78
- ```
79
-
80
- ## Safety Rules
81
-
82
- - Branch: development branch — auto-commit after each migration
83
- - Always verify migrations with queries
84
- - Never drop columns without explicit instruction
85
- - Never truncate tables without explicit instruction
86
- - NEVER overlap with other agents on schema changes mid-build
87
- - Write tests for RPC functions FIRST
1
+ > **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
2
+ > Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
3
+ > One checklist upfront, updated in place, shown again at end with a 1-line verdict.
4
+
5
+ > If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
6
+
7
+
8
+ # rdc:data — Data Agent
9
+
10
+ ## Mandatory First Step
11
+
12
+ Read the guide before ANY operations:
13
+ ```
14
+ {PROJECT_ROOT}/.rdc/guides/data.md
15
+ (fallback: {PROJECT_ROOT}/.rdc/guides/data.md)
16
+ ```
17
+
18
+ ## Migration Pattern
19
+
20
+ Always use database MCP `apply_migration` — never raw shell commands:
21
+
22
+ ```sql
23
+ -- Example migration
24
+ ALTER TABLE example_table ADD COLUMN IF NOT EXISTS new_column TEXT;
25
+
26
+ -- Verify after applying
27
+ SELECT column_name, data_type
28
+ FROM information_schema.columns
29
+ WHERE table_name = 'example_table'
30
+ ORDER BY ordinal_position;
31
+ ```
32
+
33
+ After `apply_migration`: always verify with queries.
34
+
35
+ ## Work Items — RPC Only
36
+
37
+ ```sql
38
+ SELECT get_open_epics();
39
+ SELECT insert_work_item(p_title := 'Task', p_priority := 'high', p_labels := ARRAY['data'], p_source := 'agent');
40
+ SELECT update_work_item_status('<uuid>'::uuid, 'review', '["Implementation complete; ready for validator"]'::jsonb, '<agent-session-id>', 'agent');
41
+ SELECT get_work_items_by_epic('<epic-uuid>'::uuid);
42
+ ```
43
+
44
+ **NEVER raw INSERT/UPDATE against work_items.**
45
+
46
+ ## Schema-Driven Form Seeding
47
+
48
+ When adding columns to dynamic form tables:
49
+
50
+ ```sql
51
+ INSERT INTO field_schema (
52
+ table_name, column_name, input_type, label, section, display_order,
53
+ required, readonly, hidden, col_span
54
+ )
55
+ VALUES
56
+ ('example_table', 'new_column', 'text', 'New Column', 'Section', 90, false, false, false, 1)
57
+ ON CONFLICT (table_name, column_name) DO NOTHING;
58
+ ```
59
+
60
+ Valid `input_type` values: `text` `textarea` `email` `url` `phone` `select` `tags`
61
+ `json` `toggle` `currency` `number` `date` `richtext`
62
+
63
+ ## Non-Public Schema Access
64
+
65
+ ```ts
66
+ const { data } = await supabase.schema("custom_schema").from("table_name").select("*");
67
+ ```
68
+
69
+ ## Design Decisions (record architectural choices)
70
+
71
+ ```sql
72
+ INSERT INTO design_context (topic, context_type, summary, source, created_by)
73
+ VALUES (
74
+ 'TopicName', 'decision',
75
+ '2-3 sentence summary of what was decided and why',
76
+ 'agent session', 'agent'
77
+ );
78
+ ```
79
+
80
+ ## Safety Rules
81
+
82
+ - Branch: development branch — auto-commit after each migration
83
+ - Always verify migrations with queries
84
+ - Never drop columns without explicit instruction
85
+ - Never truncate tables without explicit instruction
86
+ - NEVER overlap with other agents on schema changes mid-build
87
+ - Write tests for RPC functions FIRST
@@ -1,77 +1,77 @@
1
- > **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
2
- > Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
3
- > One checklist upfront, updated in place, shown again at end with a 1-line verdict.
4
-
5
- > If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
6
-
7
-
8
- # rdc:design — Design Agent
9
-
10
- ## Mandatory First Step
11
-
12
- Read the guide before ANY work:
13
- ```
14
- {PROJECT_ROOT}/.rdc/guides/design.md
15
- (fallback: {PROJECT_ROOT}/.rdc/guides/design.md)
16
- ```
17
-
18
- ## Six Design Principles
19
-
20
- 1. **User/Community First** — Serving those affected by the work
21
- 2. **Stewardship, Not Ownership** — Components hold space, don't dominate
22
- 3. **Verified, Not Narrated** — Real data only; no mocks
23
- 4. **Readability at Every Gate** — Clarity scales, jargon does not
24
- 5. **Dark by Default, Never Dark by Habit** — Dark palette signals trust
25
- 6. **Machines Handle Calculation; Humans Handle Conscience**
26
-
27
- ## Token System
28
-
29
- Two-layer model:
30
- ```
31
- global_design_tokens (base tokens)
32
- + brand_token_overrides (per-brand delta)
33
- = TokenWithInheritance[] (resolved set)
34
- ```
35
-
36
- Token export formats: JSON flat map, CSS vars (`:root`), other format systems.
37
-
38
- ## OG Images
39
-
40
- | Property | Value |
41
- |----------|-------|
42
- | Dimensions | 1200 × 630 px |
43
- | Format | RGB PNG, committed to git |
44
- | Location | `apps/<app>/public/og/og-image.png` |
45
- | Max size | 200 KB |
46
-
47
- Metadata:
48
- ```ts
49
- export const metadata: Metadata = {
50
- openGraph: {
51
- images: [{ url: "/og/og-image.png", width: 1200, height: 630, alt: "..." }],
52
- },
53
- twitter: { card: "summary_large_image", images: ["/og/og-image.png"] },
54
- };
55
- ```
56
-
57
- ## Variant Axes — Every Component Must Support
58
-
59
- | Axis | Values |
60
- |------|--------|
61
- | Size | xs / sm / md / lg / xl |
62
- | Shape | sharp / soft / pill / circle |
63
- | Density | compact / comfortable / spacious |
64
- | Motion | static / subtle / rich |
65
-
66
- ## Animation Philosophy
67
-
68
- - Always respect `prefers-reduced-motion` via appropriate hooks
69
- - Token-driven durations and easing — never hardcoded values
70
- - Keep motion purposeful, not decorative
71
-
72
- ## Safety Rules
73
-
74
- - Never hardcode hex colors in components — CSS variables only
75
- - Never override tokens without a design decision recorded
76
- - Branch: development branch — auto-commit
77
- - NEVER run `pnpm build`
1
+ > **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
2
+ > Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
3
+ > One checklist upfront, updated in place, shown again at end with a 1-line verdict.
4
+
5
+ > If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
6
+
7
+
8
+ # rdc:design — Design Agent
9
+
10
+ ## Mandatory First Step
11
+
12
+ Read the guide before ANY work:
13
+ ```
14
+ {PROJECT_ROOT}/.rdc/guides/design.md
15
+ (fallback: {PROJECT_ROOT}/.rdc/guides/design.md)
16
+ ```
17
+
18
+ ## Six Design Principles
19
+
20
+ 1. **User/Community First** — Serving those affected by the work
21
+ 2. **Stewardship, Not Ownership** — Components hold space, don't dominate
22
+ 3. **Verified, Not Narrated** — Real data only; no mocks
23
+ 4. **Readability at Every Gate** — Clarity scales, jargon does not
24
+ 5. **Dark by Default, Never Dark by Habit** — Dark palette signals trust
25
+ 6. **Machines Handle Calculation; Humans Handle Conscience**
26
+
27
+ ## Token System
28
+
29
+ Two-layer model:
30
+ ```
31
+ global_design_tokens (base tokens)
32
+ + brand_token_overrides (per-brand delta)
33
+ = TokenWithInheritance[] (resolved set)
34
+ ```
35
+
36
+ Token export formats: JSON flat map, CSS vars (`:root`), other format systems.
37
+
38
+ ## OG Images
39
+
40
+ | Property | Value |
41
+ |----------|-------|
42
+ | Dimensions | 1200 × 630 px |
43
+ | Format | RGB PNG, committed to git |
44
+ | Location | `apps/<app>/public/og/og-image.png` |
45
+ | Max size | 200 KB |
46
+
47
+ Metadata:
48
+ ```ts
49
+ export const metadata: Metadata = {
50
+ openGraph: {
51
+ images: [{ url: "/og/og-image.png", width: 1200, height: 630, alt: "..." }],
52
+ },
53
+ twitter: { card: "summary_large_image", images: ["/og/og-image.png"] },
54
+ };
55
+ ```
56
+
57
+ ## Variant Axes — Every Component Must Support
58
+
59
+ | Axis | Values |
60
+ |------|--------|
61
+ | Size | xs / sm / md / lg / xl |
62
+ | Shape | sharp / soft / pill / circle |
63
+ | Density | compact / comfortable / spacious |
64
+ | Motion | static / subtle / rich |
65
+
66
+ ## Animation Philosophy
67
+
68
+ - Always respect `prefers-reduced-motion` via appropriate hooks
69
+ - Token-driven durations and easing — never hardcoded values
70
+ - Keep motion purposeful, not decorative
71
+
72
+ ## Safety Rules
73
+
74
+ - Never hardcode hex colors in components — CSS variables only
75
+ - Never override tokens without a design decision recorded
76
+ - Branch: development branch — auto-commit
77
+ - NEVER run `pnpm build`
@@ -1,92 +1,92 @@
1
- > **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
2
- > Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
3
- > One checklist upfront, updated in place, shown again at end with a 1-line verdict.
4
-
5
- > If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
6
-
7
- > **Sandbox contract:** This guide honors `RDC_TEST=1` per `guides/agent-bootstrap.md` § RDC_TEST Sandbox Contract. Destructive external calls short-circuit under the flag.
8
-
9
-
10
- # rdc:frontend — Frontend Agent
11
-
12
- ## Mandatory First Step
13
-
14
- Read the guide before ANY code:
15
- ```
16
- {PROJECT_ROOT}/.rdc/guides/frontend.md
17
- (fallback: {PROJECT_ROOT}/.rdc/guides/frontend.md)
18
- ```
19
-
20
- ## Before Writing Any Code
21
-
22
- 1. **Check for existing prototypes:**
23
- ```sql
24
- SELECT name, component, source_path, status, notes
25
- FROM prototype_registry
26
- WHERE status IN ('prototype', 'converting')
27
- ORDER BY created_at DESC;
28
- ```
29
- If a prototype exists: **ADAPT IT. Do not build from scratch.**
30
-
31
- 2. **Check design decisions:**
32
- ```sql
33
- SELECT topic, summary FROM design_context
34
- WHERE topic ILIKE '%<task-topic>%'
35
- ORDER BY created_at DESC;
36
- ```
37
-
38
- 3. **Read the app CLAUDE.md** for the target app.
39
-
40
- ## New Component Contract
41
-
42
- All new components follow the standard pattern:
43
-
44
- ```tsx
45
- "use client"; // only if uses hooks/browser APIs
46
- import * as React from "react";
47
- import { cva, type VariantProps } from "class-variance-authority";
48
- import { cn } from "../lib/utils";
49
-
50
- const myComponentVariants = cva("base-classes", {
51
- variants: {
52
- variant: { default: "", outline: "" },
53
- size: { sm: "", md: "", lg: "" },
54
- },
55
- defaultVariants: { variant: "default", size: "md" },
56
- });
57
-
58
- interface MyComponentProps
59
- extends React.HTMLAttributes<HTMLDivElement>,
60
- VariantProps<typeof myComponentVariants> {}
61
-
62
- const MyComponent = React.forwardRef<HTMLDivElement, MyComponentProps>(
63
- ({ className, variant, size, ...props }, ref) => (
64
- <div ref={ref} className={cn(myComponentVariants({ variant, size }), className)} {...props} />
65
- )
66
- );
67
- MyComponent.displayName = "MyComponent";
68
- export { MyComponent, myComponentVariants };
69
- ```
70
-
71
- Then re-export from the package's index.
72
-
73
- ## Next.js Patterns
74
-
75
- - App Router (modern) — use `src/app/`
76
- - Dynamic imports for browser-only libs
77
- - `transpilePackages` in next.config must list all monorepo packages used
78
- - Auth: use the auth helpers for protected apps; pass-through for public
79
-
80
- ## Colors — CSS Variables ONLY
81
-
82
- Never hardcode hex values in components. Always use CSS variables from the app's globals.css.
83
-
84
- ## Safety Rules
85
-
86
- - Branch: development branch — auto-commit after logical blocks
87
- - NEVER run `pnpm build` — crashes the system; code only
88
- - NEVER overlap with other agents on the same files
89
- - NEVER modify files outside your assigned scope
90
- - After completing: commit with descriptive message, push *(skip push if `$RDC_TEST=1` — echo `[RDC_TEST] skipping git push` instead)*
91
- - Submit `implementation_report.codeflow_post`, then update work item to `review` via `update_work_item_status(..., p_actor_role := 'agent')`; validators close `done`
92
- - Write tests FIRST — red → implement → green
1
+ > **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
2
+ > Checklist-only output. No tool-call narration. No raw MCP/JSON/log dumps.
3
+ > One checklist upfront, updated in place, shown again at end with a 1-line verdict.
4
+
5
+ > If dispatching subagents or running as a subagent: read `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md` first (fallback: `{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md`).
6
+
7
+ > **Sandbox contract:** This guide honors `RDC_TEST=1` per `guides/agent-bootstrap.md` § RDC_TEST Sandbox Contract. Destructive external calls short-circuit under the flag.
8
+
9
+
10
+ # rdc:frontend — Frontend Agent
11
+
12
+ ## Mandatory First Step
13
+
14
+ Read the guide before ANY code:
15
+ ```
16
+ {PROJECT_ROOT}/.rdc/guides/frontend.md
17
+ (fallback: {PROJECT_ROOT}/.rdc/guides/frontend.md)
18
+ ```
19
+
20
+ ## Before Writing Any Code
21
+
22
+ 1. **Check for existing prototypes:**
23
+ ```sql
24
+ SELECT name, component, source_path, status, notes
25
+ FROM prototype_registry
26
+ WHERE status IN ('prototype', 'converting')
27
+ ORDER BY created_at DESC;
28
+ ```
29
+ If a prototype exists: **ADAPT IT. Do not build from scratch.**
30
+
31
+ 2. **Check design decisions:**
32
+ ```sql
33
+ SELECT topic, summary FROM design_context
34
+ WHERE topic ILIKE '%<task-topic>%'
35
+ ORDER BY created_at DESC;
36
+ ```
37
+
38
+ 3. **Read the app CLAUDE.md** for the target app.
39
+
40
+ ## New Component Contract
41
+
42
+ All new components follow the standard pattern:
43
+
44
+ ```tsx
45
+ "use client"; // only if uses hooks/browser APIs
46
+ import * as React from "react";
47
+ import { cva, type VariantProps } from "class-variance-authority";
48
+ import { cn } from "../lib/utils";
49
+
50
+ const myComponentVariants = cva("base-classes", {
51
+ variants: {
52
+ variant: { default: "", outline: "" },
53
+ size: { sm: "", md: "", lg: "" },
54
+ },
55
+ defaultVariants: { variant: "default", size: "md" },
56
+ });
57
+
58
+ interface MyComponentProps
59
+ extends React.HTMLAttributes<HTMLDivElement>,
60
+ VariantProps<typeof myComponentVariants> {}
61
+
62
+ const MyComponent = React.forwardRef<HTMLDivElement, MyComponentProps>(
63
+ ({ className, variant, size, ...props }, ref) => (
64
+ <div ref={ref} className={cn(myComponentVariants({ variant, size }), className)} {...props} />
65
+ )
66
+ );
67
+ MyComponent.displayName = "MyComponent";
68
+ export { MyComponent, myComponentVariants };
69
+ ```
70
+
71
+ Then re-export from the package's index.
72
+
73
+ ## Next.js Patterns
74
+
75
+ - App Router (modern) — use `src/app/`
76
+ - Dynamic imports for browser-only libs
77
+ - `transpilePackages` in next.config must list all monorepo packages used
78
+ - Auth: use the auth helpers for protected apps; pass-through for public
79
+
80
+ ## Colors — CSS Variables ONLY
81
+
82
+ Never hardcode hex values in components. Always use CSS variables from the app's globals.css.
83
+
84
+ ## Safety Rules
85
+
86
+ - Branch: development branch — auto-commit after logical blocks
87
+ - NEVER run `pnpm build` — crashes the system; code only
88
+ - NEVER overlap with other agents on the same files
89
+ - NEVER modify files outside your assigned scope
90
+ - After completing: commit with descriptive message, push *(skip push if `$RDC_TEST=1` — echo `[RDC_TEST] skipping git push` instead)*
91
+ - Submit `implementation_report.codeflow_post`, then update work item to `review` via `update_work_item_status(..., p_actor_role := 'agent')`; validators close `done`
92
+ - Write tests FIRST — red → implement → green