@lifeaitools/rdc-skills 0.24.42 → 0.25.1
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/.claude/settings.json +15 -15
- package/.claude-plugin/marketplace.json +21 -21
- package/.claude-plugin/plugin.json +1560 -1371
- package/.github/workflows/publish.yml +34 -34
- package/.github/workflows/self-test.yml +58 -58
- package/CHANGELOG.md +322 -310
- package/LICENSE +21 -21
- package/MANIFEST.md +224 -221
- package/README.md +377 -376
- package/README.sandbox.md +3 -3
- package/assets/watcher/viewer.html +164 -164
- package/bin/rdc-skills-mcp.mjs +316 -316
- package/commands/build.md +183 -183
- package/commands/collab.md +180 -180
- package/commands/deploy.md +152 -152
- package/commands/design.md +31 -31
- package/commands/edit.md +28 -28
- package/commands/fixit.md +150 -124
- package/commands/handoff.md +173 -173
- package/commands/help.md +95 -95
- package/commands/overnight.md +220 -220
- package/commands/plan.md +158 -158
- package/commands/preplan.md +131 -131
- package/commands/prototype.md +145 -145
- package/commands/release.md +49 -49
- package/commands/report.md +99 -99
- package/commands/review.md +120 -120
- package/commands/self-test.md +113 -113
- package/commands/status.md +86 -86
- package/commands/watch.md +98 -98
- package/commands/workitems.md +137 -137
- package/git-sha.json +1 -1
- package/guides/agent-bootstrap.md +295 -295
- package/guides/agents/backend.md +104 -104
- package/guides/agents/content.md +94 -94
- package/guides/agents/cs2.md +56 -56
- package/guides/agents/data.md +87 -87
- package/guides/agents/design.md +77 -77
- package/guides/agents/frontend.md +92 -92
- package/guides/agents/infrastructure.md +81 -81
- package/guides/agents/setup.md +281 -281
- package/guides/agents/verify.md +151 -151
- package/guides/agents/viz.md +106 -106
- package/guides/backend.md +146 -146
- package/guides/content.md +147 -147
- package/guides/cs2.md +190 -190
- package/guides/data.md +123 -123
- package/guides/design.md +116 -116
- package/guides/engineering-behavior.md +43 -43
- package/guides/escalation-protocol.md +125 -125
- package/guides/frontend.md +151 -151
- package/guides/history-md-spec.md +297 -297
- package/guides/infrastructure.md +179 -179
- package/guides/lessons-learned-spec.md +145 -151
- package/guides/output-contract.md +108 -108
- package/guides/publish-md-spec.md +289 -289
- package/guides/rdc-skills-startup.md +30 -30
- package/guides/verify.md +11 -11
- package/hooks/check-cwd.js +31 -31
- package/hooks/check-rdc-environment.js +164 -164
- package/hooks/check-services.js +6 -6
- package/hooks/check-stale-work-items.js +19 -19
- package/hooks/foreground-process-gate.js +128 -128
- package/hooks/gate-watchdog-selfcheck.js +257 -257
- package/hooks/hook-logger.js +25 -25
- package/hooks/lib/run-evidence-gate.mjs +241 -241
- package/hooks/no-stop-open-epics.js +127 -127
- package/hooks/post-tool-batch-gate.js +203 -203
- package/hooks/post-work-check.js +21 -21
- package/hooks/postcompact-log.js +13 -13
- package/hooks/precompact-log.js +13 -13
- package/hooks/rate-limit-retry.js +46 -46
- package/hooks/rdc-invocation-marker.js +157 -157
- package/hooks/rdc-output-contract-gate.js +94 -94
- package/hooks/require-work-item-on-commit.js +294 -294
- package/hooks/restart-brief.js +19 -19
- package/hooks/run-hidden-hook.ps1 +47 -47
- package/hooks/task-completed-gate.js +274 -274
- package/hooks/work-item-exit-gate.js +944 -944
- package/lib/catalog.mjs +236 -236
- package/lib/cloud-rewrite.mjs +155 -155
- package/package.json +57 -57
- package/rules/work-items-rpc.md +520 -520
- package/scaffold/templates/HISTORY.md.template +39 -39
- package/scaffold/templates/PUBLISH.md.template +21 -21
- package/scaffold/templates/brochure-studio-default.html +70 -70
- package/scripts/acceptance.mjs +502 -502
- package/scripts/fixtures/guides/bad-guide.md +15 -15
- package/scripts/fixtures/guides-clean/good-guide.md +16 -16
- package/scripts/install-rdc-skills.js +1401 -1289
- package/scripts/install.ps1 +202 -202
- package/scripts/install.sh +132 -132
- package/scripts/lib/assertions.mjs +287 -287
- package/scripts/lib/manifest-schema.mjs +754 -754
- package/scripts/lib/runner.mjs +465 -465
- package/scripts/lib/sandbox.mjs +435 -435
- package/scripts/prepack.mjs +32 -32
- package/scripts/rdc-brochure.mjs +482 -482
- package/scripts/rdc-design-cli.mjs +134 -134
- package/scripts/rebuild-mcp.mjs +107 -107
- package/scripts/self-test.mjs +1460 -1460
- package/scripts/stamp-git-sha.mjs +29 -29
- package/scripts/test-guide-validator.mjs +196 -196
- package/scripts/test-rdc-hooks.mjs +145 -145
- package/scripts/uninstall.ps1 +77 -77
- package/scripts/uninstall.sh +69 -69
- package/scripts/update.ps1 +43 -43
- package/scripts/update.sh +43 -43
- package/scripts/validate-place-histories.js +461 -461
- package/scripts/validate-publish-manifests.js +502 -424
- package/scripts/watch-init.mjs +100 -100
- package/skills/brochure/SKILL.md +107 -107
- package/skills/build/SKILL.md +578 -563
- package/skills/channel-formatter/SKILL.md +538 -533
- package/skills/co-develop/SKILL.md +196 -196
- package/skills/collab/SKILL.md +239 -239
- package/skills/convert/SKILL.md +167 -140
- package/skills/deploy/SKILL.md +541 -541
- package/skills/design/SKILL.md +211 -211
- package/skills/design/reference/ownership.md +16 -16
- package/skills/design/reference/rampa.md +92 -92
- package/skills/design/reference/studio-model.md +153 -153
- package/skills/edit/SKILL.md +98 -98
- package/skills/env/SKILL.md +141 -0
- package/skills/fixit/SKILL.md +203 -165
- package/skills/fs-mcp/SKILL.md +183 -148
- package/skills/handoff/SKILL.md +236 -236
- package/skills/help/SKILL.md +143 -143
- package/skills/housekeeping/SKILL.md +160 -219
- package/skills/lifeai-brochure-author/SKILL.md +340 -340
- package/skills/new-model/SKILL.md +49 -0
- package/skills/onramp/SKILL.md +1459 -0
- package/skills/overnight/SKILL.md +251 -251
- package/skills/plan/SKILL.md +345 -345
- package/skills/preplan/SKILL.md +90 -90
- package/skills/prototype/SKILL.md +150 -150
- package/skills/rdc-brochurify/SKILL.md +245 -245
- package/skills/rdc-extract-verifier-rules/SKILL.md +191 -191
- package/skills/regen-media/SKILL.md +94 -0
- package/skills/release/SKILL.md +140 -140
- package/skills/report/SKILL.md +100 -100
- package/skills/review/SKILL.md +160 -152
- package/skills/rpms-filemap/SKILL.cloud.md +111 -111
- package/skills/rpms-filemap/SKILL.md +111 -111
- package/skills/self-test/SKILL.md +132 -132
- package/skills/status/SKILL.md +99 -99
- package/skills/terminal-config/SKILL.md +62 -62
- package/skills/tests/MATRIX.md +55 -54
- package/skills/tests/README.md +47 -47
- package/skills/tests/onramp.test.json +87 -0
- package/skills/tests/rdc-brochure.test.json +34 -34
- package/skills/tests/rdc-build.test.json +36 -36
- package/skills/tests/rdc-channel-formatter.test.json +45 -45
- package/skills/tests/rdc-co-develop.test.json +29 -29
- package/skills/tests/rdc-collab.test.json +29 -29
- package/skills/tests/rdc-convert.test.json +35 -35
- package/skills/tests/rdc-deploy.test.json +30 -30
- package/skills/tests/rdc-design.test.json +27 -27
- package/skills/tests/rdc-edit.test.json +29 -29
- package/skills/tests/rdc-fixit.test.json +36 -36
- package/skills/tests/rdc-fs-mcp.test.json +36 -36
- package/skills/tests/rdc-handoff.test.json +28 -28
- package/skills/tests/rdc-help.test.json +29 -29
- package/skills/tests/rdc-housekeeping.test.json +28 -32
- package/skills/tests/rdc-lifeai-brochure-author.test.json +35 -35
- package/skills/tests/rdc-overnight.test.json +37 -37
- package/skills/tests/rdc-plan.test.json +27 -27
- package/skills/tests/rdc-preplan.test.json +31 -31
- package/skills/tests/rdc-prototype.test.json +28 -28
- package/skills/tests/rdc-rdc-brochurify.test.json +23 -23
- package/skills/tests/rdc-rdc-extract-verifier-rules.test.json +34 -34
- package/skills/tests/rdc-regen-media.test.json +29 -0
- package/skills/tests/rdc-release.test.json +29 -29
- package/skills/tests/rdc-report.test.json +28 -28
- package/skills/tests/rdc-review.test.json +29 -29
- package/skills/tests/rdc-rpms-filemap.test.json +28 -28
- package/skills/tests/rdc-self-test.test.json +24 -24
- package/skills/tests/rdc-status.test.json +29 -29
- package/skills/tests/rdc-terminal-config.test.json +29 -29
- package/skills/tests/rdc-watch.test.json +24 -24
- package/skills/tests/rdc-workitems.test.json +27 -27
- package/skills/watch/SKILL.md +97 -97
- package/skills/workitems/SKILL.md +151 -151
- package/tests/acceptance.test.mjs +59 -59
- package/tests/channel-formatter.contract.test.mjs +251 -251
- package/tests/curl-surface.test.mjs +289 -289
- package/tests/harness-gates.test.mjs +325 -325
- package/tests/help-surface.test.mjs +61 -61
- package/tests/install-rdc-skills.test.mjs +49 -49
- package/tests/manifest-contract-fields.test.mjs +78 -78
- package/tests/mcp.test.mjs +271 -271
- package/tests/rdc-brochure.test.mjs +125 -125
- package/tests/require-work-item-on-commit.test.mjs +162 -162
- package/tests/run-evidence-gate.test.mjs +82 -82
- package/tests/skill-test-matrix.test.mjs +66 -66
- package/tests/validate-skills.js +27 -27
- package/tests/work-item-exit-gate-l2.test.mjs +368 -368
- package/tests/work-item-exit-gate-l3.test.mjs +197 -197
- package/RELEASE.md +0 -42
- package/tests/housekeeping-lessons-triage.test.mjs +0 -49
- package/tests/lessons-pipeline-contract.test.mjs +0 -27
- package/tests/release-contract.test.mjs +0 -16
package/guides/frontend.md
CHANGED
|
@@ -1,151 +1,151 @@
|
|
|
1
|
-
# Frontend Agent Guide — Base
|
|
2
|
-
> Role-based context for frontend/UI agents. Generic patterns across projects.
|
|
3
|
-
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Core Import Rule
|
|
7
|
-
|
|
8
|
-
**ALWAYS import from the project's component library.** NEVER import directly from headless UI libraries, animation libs, or icon libraries.
|
|
9
|
-
|
|
10
|
-
```ts
|
|
11
|
-
// Correct (project import)
|
|
12
|
-
import { Button, DataTable, Card } from "@project/ui";
|
|
13
|
-
|
|
14
|
-
// Wrong - never do this
|
|
15
|
-
import { Button } from "@/components/ui/button";
|
|
16
|
-
import { motion } from "framer-motion";
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
The project overlay will specify the exact import path.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Component Tier Architecture
|
|
24
|
-
|
|
25
|
-
Most projects organize components into tiers. Check the project overlay for:
|
|
26
|
-
- **Tier 1** — Headless/primitive components (forms, layout, data)
|
|
27
|
-
- **Tier 2** — Domain-specific components (app-specific business logic UI)
|
|
28
|
-
- **Tier 3** — Animated effects (hero sections, public pages)
|
|
29
|
-
- **Tier 4** — Brand/personality components (marketing, accent effects)
|
|
30
|
-
|
|
31
|
-
Use the right tier for the context:
|
|
32
|
-
- CRUD/admin UI → Tiers 1-2
|
|
33
|
-
- Public/marketing pages → Tiers 3-4
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Component Creation Contract
|
|
38
|
-
|
|
39
|
-
All new components must follow the standard contract:
|
|
40
|
-
|
|
41
|
-
```tsx
|
|
42
|
-
"use client"; // only if uses hooks/browser APIs
|
|
43
|
-
import * as React from "react";
|
|
44
|
-
import { cn } from "../lib/utils"; // from project's UI lib
|
|
45
|
-
|
|
46
|
-
interface MyComponentProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
47
|
-
variant?: "default" | "outline";
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const MyComponent = React.forwardRef<HTMLDivElement, MyComponentProps>(
|
|
51
|
-
({ className, variant = "default", ...props }, ref) => (
|
|
52
|
-
<div ref={ref} className={cn("base-classes", className)} {...props} />
|
|
53
|
-
)
|
|
54
|
-
);
|
|
55
|
-
MyComponent.displayName = "MyComponent";
|
|
56
|
-
export { MyComponent };
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Then re-export from the project's index. Placement:
|
|
60
|
-
- Generic UI: `packages/ui/src/components/`
|
|
61
|
-
- Animated effects: `packages/ui/src/components/effects/` or similar subdirectory
|
|
62
|
-
- Brand accents: `packages/ui/src/components/brand/` or similar
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## Variant Axes — Every Component
|
|
67
|
-
|
|
68
|
-
Every component must support variant axes. Use CVA (class-variance-authority) or equivalent.
|
|
69
|
-
|
|
70
|
-
| Axis | Examples | When it matters |
|
|
71
|
-
|------|----------|----------------|
|
|
72
|
-
| Brand | app-specific brands | Every component |
|
|
73
|
-
| Visual style | default / heritage / minimal / quiet | Different expression per context |
|
|
74
|
-
| Size | xs / sm / md / lg / xl / 2xl | Hero ≠ sidebar |
|
|
75
|
-
| Shape | sharp / soft / pill / circle | Cards, buttons, badges |
|
|
76
|
-
| Density | compact / comfortable / spacious | Data-heavy vs editorial |
|
|
77
|
-
| State | default / hover / active / disabled / loading | Interactive components |
|
|
78
|
-
|
|
79
|
-
Every custom component ships with its variant matrix on day one.
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## Styling Rules
|
|
84
|
-
|
|
85
|
-
- **Tailwind utility classes only** — never inline styles
|
|
86
|
-
- **Never hardcode colors** — always use CSS variables from the project
|
|
87
|
-
- **Class merging** via `cn()` from project's UI library
|
|
88
|
-
- **No Tailwind conflicts** — use design tokens for everything
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## Typography
|
|
93
|
-
|
|
94
|
-
Never hardcode `font-family` — use CSS variables or Tailwind classes.
|
|
95
|
-
|
|
96
|
-
The project overlay specifies:
|
|
97
|
-
- Primary UI font
|
|
98
|
-
- Display/heading font
|
|
99
|
-
- Mono font for code
|
|
100
|
-
- Type scale (text-xs through text-4xl)
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## Tailwind Rules
|
|
105
|
-
|
|
106
|
-
- **Content paths** -- every `tailwind.config.ts` must include the project's UI package
|
|
107
|
-
- **Class merging** -- always use `cn()` from project's UI library
|
|
108
|
-
- **Colors** -- CSS variables only, never hardcode hex
|
|
109
|
-
- **Spacing** -- 4px scale (or project-specific)
|
|
110
|
-
- **Border radius** -- use project's radius token
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## Asset Handling
|
|
115
|
-
|
|
116
|
-
The project specifies folder structure, naming convention, and usage patterns.
|
|
117
|
-
|
|
118
|
-
General pattern:
|
|
119
|
-
- Store in `apps/[app]/public/images/[category]/`
|
|
120
|
-
- Naming: `[type]-[name]-[variant].[ext]` (lowercase kebab-case)
|
|
121
|
-
- Always use framework Image component with `width`, `height`, `alt`
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## Next.js / React-Specific Patterns
|
|
126
|
-
|
|
127
|
-
Check project overlay for:
|
|
128
|
-
- Framework version (Next.js 13/14, React 18/19, etc.)
|
|
129
|
-
- App Router vs Pages Router
|
|
130
|
-
- Dynamic import patterns for browser-only libs
|
|
131
|
-
- transpilePackages config for monorepo
|
|
132
|
-
- Middleware patterns
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## Dependencies Managed by Project UI Library
|
|
137
|
-
|
|
138
|
-
Most dependencies (Radix, TanStack, recharts, framer-motion, CodeMirror, etc.) are managed by the project's UI package. Apps don't install them separately.
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## Specialist Context — Read Project Overlay
|
|
143
|
-
|
|
144
|
-
Your task may require reading additional project-specific rule files.
|
|
145
|
-
|
|
146
|
-
The project overlay will indicate what specialized guides are needed for:
|
|
147
|
-
- Brand system work
|
|
148
|
-
- Design token inheritance
|
|
149
|
-
- Specific app pages or routes
|
|
150
|
-
- Image/asset handling
|
|
151
|
-
- OG image generation
|
|
1
|
+
# Frontend Agent Guide — Base
|
|
2
|
+
> Role-based context for frontend/UI agents. Generic patterns across projects.
|
|
3
|
+
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Core Import Rule
|
|
7
|
+
|
|
8
|
+
**ALWAYS import from the project's component library.** NEVER import directly from headless UI libraries, animation libs, or icon libraries.
|
|
9
|
+
|
|
10
|
+
```ts
|
|
11
|
+
// Correct (project import)
|
|
12
|
+
import { Button, DataTable, Card } from "@project/ui";
|
|
13
|
+
|
|
14
|
+
// Wrong - never do this
|
|
15
|
+
import { Button } from "@/components/ui/button";
|
|
16
|
+
import { motion } from "framer-motion";
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The project overlay will specify the exact import path.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Component Tier Architecture
|
|
24
|
+
|
|
25
|
+
Most projects organize components into tiers. Check the project overlay for:
|
|
26
|
+
- **Tier 1** — Headless/primitive components (forms, layout, data)
|
|
27
|
+
- **Tier 2** — Domain-specific components (app-specific business logic UI)
|
|
28
|
+
- **Tier 3** — Animated effects (hero sections, public pages)
|
|
29
|
+
- **Tier 4** — Brand/personality components (marketing, accent effects)
|
|
30
|
+
|
|
31
|
+
Use the right tier for the context:
|
|
32
|
+
- CRUD/admin UI → Tiers 1-2
|
|
33
|
+
- Public/marketing pages → Tiers 3-4
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Component Creation Contract
|
|
38
|
+
|
|
39
|
+
All new components must follow the standard contract:
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
"use client"; // only if uses hooks/browser APIs
|
|
43
|
+
import * as React from "react";
|
|
44
|
+
import { cn } from "../lib/utils"; // from project's UI lib
|
|
45
|
+
|
|
46
|
+
interface MyComponentProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
47
|
+
variant?: "default" | "outline";
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const MyComponent = React.forwardRef<HTMLDivElement, MyComponentProps>(
|
|
51
|
+
({ className, variant = "default", ...props }, ref) => (
|
|
52
|
+
<div ref={ref} className={cn("base-classes", className)} {...props} />
|
|
53
|
+
)
|
|
54
|
+
);
|
|
55
|
+
MyComponent.displayName = "MyComponent";
|
|
56
|
+
export { MyComponent };
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Then re-export from the project's index. Placement:
|
|
60
|
+
- Generic UI: `packages/ui/src/components/`
|
|
61
|
+
- Animated effects: `packages/ui/src/components/effects/` or similar subdirectory
|
|
62
|
+
- Brand accents: `packages/ui/src/components/brand/` or similar
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Variant Axes — Every Component
|
|
67
|
+
|
|
68
|
+
Every component must support variant axes. Use CVA (class-variance-authority) or equivalent.
|
|
69
|
+
|
|
70
|
+
| Axis | Examples | When it matters |
|
|
71
|
+
|------|----------|----------------|
|
|
72
|
+
| Brand | app-specific brands | Every component |
|
|
73
|
+
| Visual style | default / heritage / minimal / quiet | Different expression per context |
|
|
74
|
+
| Size | xs / sm / md / lg / xl / 2xl | Hero ≠ sidebar |
|
|
75
|
+
| Shape | sharp / soft / pill / circle | Cards, buttons, badges |
|
|
76
|
+
| Density | compact / comfortable / spacious | Data-heavy vs editorial |
|
|
77
|
+
| State | default / hover / active / disabled / loading | Interactive components |
|
|
78
|
+
|
|
79
|
+
Every custom component ships with its variant matrix on day one.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Styling Rules
|
|
84
|
+
|
|
85
|
+
- **Tailwind utility classes only** — never inline styles
|
|
86
|
+
- **Never hardcode colors** — always use CSS variables from the project
|
|
87
|
+
- **Class merging** via `cn()` from project's UI library
|
|
88
|
+
- **No Tailwind conflicts** — use design tokens for everything
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Typography
|
|
93
|
+
|
|
94
|
+
Never hardcode `font-family` — use CSS variables or Tailwind classes.
|
|
95
|
+
|
|
96
|
+
The project overlay specifies:
|
|
97
|
+
- Primary UI font
|
|
98
|
+
- Display/heading font
|
|
99
|
+
- Mono font for code
|
|
100
|
+
- Type scale (text-xs through text-4xl)
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Tailwind Rules
|
|
105
|
+
|
|
106
|
+
- **Content paths** -- every `tailwind.config.ts` must include the project's UI package
|
|
107
|
+
- **Class merging** -- always use `cn()` from project's UI library
|
|
108
|
+
- **Colors** -- CSS variables only, never hardcode hex
|
|
109
|
+
- **Spacing** -- 4px scale (or project-specific)
|
|
110
|
+
- **Border radius** -- use project's radius token
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Asset Handling
|
|
115
|
+
|
|
116
|
+
The project specifies folder structure, naming convention, and usage patterns.
|
|
117
|
+
|
|
118
|
+
General pattern:
|
|
119
|
+
- Store in `apps/[app]/public/images/[category]/`
|
|
120
|
+
- Naming: `[type]-[name]-[variant].[ext]` (lowercase kebab-case)
|
|
121
|
+
- Always use framework Image component with `width`, `height`, `alt`
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Next.js / React-Specific Patterns
|
|
126
|
+
|
|
127
|
+
Check project overlay for:
|
|
128
|
+
- Framework version (Next.js 13/14, React 18/19, etc.)
|
|
129
|
+
- App Router vs Pages Router
|
|
130
|
+
- Dynamic import patterns for browser-only libs
|
|
131
|
+
- transpilePackages config for monorepo
|
|
132
|
+
- Middleware patterns
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Dependencies Managed by Project UI Library
|
|
137
|
+
|
|
138
|
+
Most dependencies (Radix, TanStack, recharts, framer-motion, CodeMirror, etc.) are managed by the project's UI package. Apps don't install them separately.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Specialist Context — Read Project Overlay
|
|
143
|
+
|
|
144
|
+
Your task may require reading additional project-specific rule files.
|
|
145
|
+
|
|
146
|
+
The project overlay will indicate what specialized guides are needed for:
|
|
147
|
+
- Brand system work
|
|
148
|
+
- Design token inheritance
|
|
149
|
+
- Specific app pages or routes
|
|
150
|
+
- Image/asset handling
|
|
151
|
+
- OG image generation
|