create-rayso 1.0.3 → 1.0.5
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/package.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
Build the Figma section at: $ARGUMENTS
|
|
2
|
+
|
|
3
|
+
1. Fetch the design context and screenshot from Figma via the MCP server.
|
|
4
|
+
2. Read CLAUDE.md and the reference section before writing code.
|
|
5
|
+
3. List which existing components in components/ui you'll reuse.
|
|
6
|
+
4. Create the component, Sanity schema, registration, GROQ query, and type.
|
|
7
|
+
5. Make it fully responsive (mobile-first).
|
|
8
|
+
6. Run lint and typecheck, fix errors.
|
|
9
|
+
7. Summarize what you built, any tokens that didn't match, and TODO(dev) items.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# RAYSO Template – Claude Instructions
|
|
2
|
+
|
|
3
|
+
Monorepo: `frontend/` (Next.js App Router, Tailwind v4, GSAP) and `studio/` (Sanity).
|
|
4
|
+
|
|
5
|
+
## Your job
|
|
6
|
+
Build front-end UI from Figma designs: markup, styling, responsiveness,
|
|
7
|
+
and the Sanity wiring for content. Do NOT write business logic, form
|
|
8
|
+
submission, email, auth, or integrations. Leave `// TODO(dev):` markers there.
|
|
9
|
+
|
|
10
|
+
## Design system
|
|
11
|
+
- All tokens live in `frontend/app/globals.css` (Tailwind v4 theme).
|
|
12
|
+
- Never hardcode colors, font sizes, radii, or spacing. If a Figma value
|
|
13
|
+
has no matching token, use the closest one and list it in your summary.
|
|
14
|
+
- Do not add new tokens without asking.
|
|
15
|
+
|
|
16
|
+
## Where things go
|
|
17
|
+
- Page sections → `frontend/components/sections/<Name>.tsx`
|
|
18
|
+
- Reusable UI (buttons, cards, inputs) → `components/ui/`
|
|
19
|
+
- SVG icons → `components/icons/` (never inline in sections)
|
|
20
|
+
- Animations → `components/animation/` (use existing GSAP helpers)
|
|
21
|
+
- Navbar/Footer → `components/layout/`
|
|
22
|
+
- Data fetching → `(core)/fetch/` ; Sanity client → `(core)/sanity/lib/`
|
|
23
|
+
- Types → `types/index.ts`
|
|
24
|
+
- Sanity schemas → `studio/schemaTypes/`, registered in `schemaTypes/index.ts`
|
|
25
|
+
|
|
26
|
+
## Rules for every section
|
|
27
|
+
1. Check `components/ui/` first and reuse before creating anything.
|
|
28
|
+
2. Server component by default; add "use client" only when needed (GSAP, state).
|
|
29
|
+
3. Mobile-first. Implement all breakpoints, even if Figma only shows desktop:
|
|
30
|
+
stack on mobile, sensible tablet layout.
|
|
31
|
+
4. Content comes from Sanity via props. Nothing editable is hardcoded.
|
|
32
|
+
5. Use next/image with the image builder for Sanity images.
|
|
33
|
+
6. Semantic HTML, one h1 per page, alt text from Sanity.
|
|
34
|
+
7. Every section needs: component, Sanity schema, schema registration,
|
|
35
|
+
GROQ query in `(core)/fetch/`, and a type in `types/index.ts`.
|
|
36
|
+
|
|
37
|
+
## Reference implementation
|
|
38
|
+
Follow `components/sections/<ExampleSection>.tsx` and its schema as the pattern.
|
|
39
|
+
|
|
40
|
+
## Done means
|
|
41
|
+
- `npm run lint` and typecheck pass in `frontend/`
|
|
42
|
+
- Summary lists: files created, tokens with no match, TODOs left for the dev
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
// components/sections/HeroSection.tsx
|
|
3
3
|
|
|
4
4
|
import Image from "next/image";
|
|
5
|
+
import Link from "next/link";
|
|
5
6
|
|
|
6
|
-
export
|
|
7
|
+
export function HeroSection() {
|
|
7
8
|
return (
|
|
8
|
-
<section className="relative w-full h-screen overflow-hidden">
|
|
9
|
+
<section className="relative w-full h-screen overflow-hidden bg-black">
|
|
9
10
|
{/* Background image — swap src for your hero image or video */}
|
|
10
11
|
<Image
|
|
11
|
-
src="/
|
|
12
|
+
src="https://assets.lummi.ai/assets/QmVYR4iGjd71gxXKjJUFbD54ZuzEjyRYg4NUmyQnz7rQgU?auto=format&w=1500"
|
|
12
13
|
alt="Resort hero"
|
|
13
14
|
fill
|
|
14
15
|
priority
|
|
@@ -21,7 +22,7 @@ export default function HeroSection() {
|
|
|
21
22
|
className="absolute inset-0"
|
|
22
23
|
style={{
|
|
23
24
|
background:
|
|
24
|
-
"linear-gradient(to bottom, rgba(
|
|
25
|
+
"linear-gradient(to bottom, rgba(6, 4, 10, 0.3) 0%, rgba(10,4,6,0.15) 40%, rgba(10,4,6,0.6) 100%)",
|
|
25
26
|
}}
|
|
26
27
|
/>
|
|
27
28
|
|