CLAUDE.md
Claude.md/CLAUDE.mdCLAUDE.md
Quality
80/100
Scores the file, not the repository.Length
1,651 words
21 headings · 3 code blocksRepository
0
— · pushed 83 days agoLast changed
3 days ago
First indexed 3 days ago.1# CLAUDE.md — C4Sight Video Engine23This file is your complete briefing. Read it fully before touching any code.45---67## What This Project Is89C4Sight is an animated educational YouTube series explaining AI clearly, practically, and without hype. It is produced by C4 Studios (Perth, WA). The production pipeline uses **Remotion** (React-based programmatic video). This repo is the video engine that renders the episodes.1011**The show's editorial POV:** AI is more useful than the doomers say, less magical than the hypers say, and almost everyone outside the industry is getting both wrong.1213**Episode 1 title:** "Is AI Actually Magic?"14**Central question:** Is AI actually magic, or are we just bad at understanding it?1516---1718## Your Role1920You are the primary engineering agent for this repo. You operate with full creative and technical authority within the constraints of this file.2122**Before writing any code in a session:**231. Run `find . -type f \( -name "*.tsx" -o -name "*.ts" \) | grep -v node_modules | grep -v .next | sort` to see the current file tree.242. Read all files in `src/design-system/`, `src/layout/`, `src/data/`, and `src/video/`.253. Read `src/Root.tsx` to see what compositions are registered.264. Check `reference/` for Figma Make source assets and character code.275. Report the current state before making changes.2829**Operating mode:** Audit → plan → confirm with user → execute. Never make sweeping changes without a plan review.3031---3233## The Creative Source of Truth (Show Bible v1.0)3435### Palette — Six Colours. Locked. No Others.3637| Token | Hex | Use |38|---|---|---|39| `slate` | `#1A1F1C` | Blackboard backgrounds, dark mode |40| `chalk` | `#F4EDE0` | Chalk text, primary type on dark |41| `paper` | `#EFE7D6` | Main world backgrounds |42| `verifyRed` | `#D7382C` | Verify stamp, warnings, emphasis |43| `wizardLavender` | `#B9A8C7` | Wizard mascot body |44| `ink` | `#221F1F` | Line art, type on light backgrounds |4546**Hard rule:** If a colour outside these six exists in any component, flag it and remove it. Known violations to fix: `#E8C66B` (yellow/amber) and `#A5B89A` (green) appear in some Figma Make styleframe files — remove them. Yellow accent underlines on the blackboard become `chalk` at 65% opacity. Traffic light dots in UI mode: red stays `verifyRed`, yellow becomes `chalk`, green becomes `ink` at 35% opacity.4748### Typography4950```ts51titleFamily: '"Fraunces", "Playfair Display", Georgia, serif'52bodyFamily: '"DM Sans", "Plus Jakarta Sans", Inter, system-ui, sans-serif'53captionFamily: '"DM Sans", Inter, system-ui, sans-serif'54chalkHandFamily: '"Caveat", "Patrick Hand", cursive'55```5657**Critical:** All text rendered ON a blackboard uses `chalkHandFamily` (Caveat/Patrick Hand). Recoleta/Tiempos are show typography, not chalk typography. Any blackboard label in serif display font is wrong.5859Install `@remotion/google-fonts` if not present. Load Fraunces, DM Sans, and Caveat in `src/Root.tsx`.6061### The Four Visual Modes6263Every scene in every episode belongs to exactly one mode. Modes are defined in `src/layout/c4sightSceneGrammar.ts`.6465| Mode | Background | Used For |66|---|---|---|67| `mainWorld` | paper (#EFE7D6), warm | Hooks, humour, story, host home base |68| `blackboard` | slate (#1A1F1C) | Teaching, definitions, diagrams |69| `interfaceTool` | dark (#252B27) | AI tools, agents, prompts, workflows |70| `humanJudgement` | paper, more saturated | Ethics, jobs, real-world stakes |7172Mode cuts between scenes are **hard cuts**. The eraser wipe transition is reserved exclusively for exiting the blackboard. Do not dilute it.7374### The Mascot — Tiny Alien Wizard7576He represents magical thinking about AI. Lovable, slightly desperate, always wrong.7778- Body: wizard lavender (#B9A8C7), slightly translucent79- Hat: slate, three almost-right stars (triangle, wonky pentagon, uneven 5-point)80- Robe: too long, drags, worn cuffs81- Eyes: large and tired. Big pupils, small irises.82- Wand: chalk wand stolen from the host's blackboard83- **He never speaks.** No speech bubbles. No text attributed to him. Gesture and expression only.8485The wizard SVG component lives in `reference/c4sight_figma_make_source_pack/src/app/components/Wizard.tsx`. It is production-ready pure SVG React. If not already ported to `src/design-system/characters/WizardSVG.tsx`, do this before building any composition.8687### The Host8889Adult, late 20s–mid 30s. Henley or rolled-sleeve button-down, work trousers. Wire-frame glasses optional. Default expression: dry and unimpressed. Always has chalk or a notebook.9091**Expressions:** dry (default), raised-brow, smile (genuine), exasperated, curious.92**Key poses:** gesture, two-tap-ready (chalk raised before the board taps), brushing-dust (exit ritual).9394Two variants: A (dark hair, oatmeal henley) and B (auburn, slate-blue button-down). The host SVG lives in `reference/c4sight_figma_make_source_pack/src/app/components/Host.tsx`.9596### The Blackboard Ritual9798This is the show's signature device. It must be built with the correct beat structure:991001. Host says: *"Let's take it to the blackboard."*1012. Host walks toward board, rolls sleeves.1023. Host picks up chalk. **Two taps against the board.** This is the audio fingerprint — non-negotiable.1034. Teaching segment proceeds.1045. Exit: host puts chalk down, brushes dust off hands, eraser wipe back to main world.105106The two-tap moment uses `timing.ritual` (60 frames) from the token system. Build a `BlackboardRitual` sequence component that handles this beat cleanly and can be reused across episodes.107108### Recurring Devices109110- **Verify Stamp** — red rubber stamp, chunky mechanical thunk. Slams down on confident AI answers. Build as a reusable `VerifyStamp` component.111- **Wizard walk-off** — wizard from behind, robe dragging, dust puffs. The `WizardFromBehind` SVG exists in the Figma Make source. Port it.112- **Chalk cards** — small slate boxes with chalk text, slightly askew. Used for "wizard takes credit" floating claims.113114---115116## Current Build Priorities117118Execute in this order. Do not skip ahead.119120### Priority 1 — Design system alignment121- Ensure `src/design-system/c4sightTokens.ts` has the correct six-colour palette and correct typography (see above).122- Port `Wizard.tsx` from `reference/` to `src/design-system/characters/WizardSVG.tsx` if not done.123- Port `Host.tsx` from `reference/` to `src/design-system/characters/HostSVG.tsx` if not done.124- Update `src/design-system/characters/Mascot.tsx` to use `WizardSVG` by default.125- Remove all palette violations from any existing files.126127### Priority 2 — Channel Manifesto (60 seconds)128File: `src/video/C4SightChannelManifesto.tsx`129Registered in Root.tsx as `'ChannelManifesto'`, 1920×1080, 30fps, 1800 frames.130131Five beats:1321. Title (0–300f): "C4Sight" wordmark on paper. Wizard peeks in at 6s.1332. Host intro (300–750f): host + the show's POV in display text.1343. Wizard debunk (750–1050f): wizard takes credit → "NO." → wizard walks off → "Well… sort of."1354. Four modes preview (1050–1500f): 3–4 second cut to each mode.1365. Close (1500–1800f): "AI made clear." with wizard sitting on the wordmark.137138This ships before Episode 1. It proves the pipeline.139140### Priority 3 — Episode 1 Full Composition141File: `src/video/C4SightEpisode01.tsx`142Registered as `'Episode01'`, 1920×1080, 30fps, 13500 frames (7.5 min).143144Ten main sequences (from styleframes in `reference/` or repo):1451. "Is AI magic?" — paper bg, display text, wizard peeks1462. Wizard takes credit — chalk cards orbiting wizard1473. "NO." — type-driven, red period, wizard hat drops1484. Wizard walk-off — behind view, dust, host watches1495. "Well… sort of." — host thoughtful, wizard peeks back1506. Blackboard ritual — host walks to board, two taps1517. Input → Model → Output — blackboard diagram builds progressively1528. Useful and wrong — interface mode, Verify Red highlight1539. Verify Stamp — stamp coming down on confident AI answer15410. "AI made clear." — close, wizard on wordmark155156Build sequences 1–5 first. Render. Then 6–10.157158### Priority 4 — Reusable component library159After the above work, extract recurring elements into reusable components:160- `VerifyStamp.tsx` — animated stamp, configurable text161- `ChalkCard.tsx` — slate box, chalk text, slight rotation prop162- `BlackboardRitual.tsx` — the full two-tap sequence as a Sequence component163- `ChalkDiagram.tsx` — arrow-connected box diagram (Input→Model→Output pattern)164165---166167## Build Commands168169```bash170npm run dev # Remotion preview (hot reload)171npx remotion preview # Alternative preview172npx remotion render ChannelManifesto --output out/manifesto.mp4173npx remotion render Episode01 --output out/episode01.mp4174npm run build # TypeScript check175```176177Always run `npm run build` before declaring a task complete. No TypeScript errors.178179---180181## Hard Rules1821831. **Palette is law.** Six colours. No others. Audit with: `grep -r "#" src/ | grep -v "node_modules" | grep -v ".git"` and check for any hex not in the six.1842. **No new npm dependencies** without asking first. Remotion + React + TypeScript is the stack.1853. **Read before writing.** Always audit the existing file before editing it.1864. **No hardcoded colours in components.** All colours from `c4sightTokens.colors`.1875. **No hardcoded frame counts in components.** All timing from `c4sightTokens.timing`.1886. **The blackboard two-tap ritual is non-negotiable.** Every blackboard entry must include it.1897. **The wizard never speaks.** No text attributed to him anywhere.1908. **Chalk text on blackboards uses Caveat.** Never Recoleta or any serif on slate backgrounds.1919. **The eraser wipe is reserved for exiting the blackboard.** Not used for any other transition.19210. **Preview renders before marking tasks done.** `npx remotion preview` must open cleanly.193194---195196## Key File Locations197198```199src/design-system/c4sightTokens.ts # Design tokens (palette, type, timing, layout)200src/design-system/characters/Mascot.tsx # Wizard component (update to use WizardSVG)201src/layout/c4sightSceneGrammar.ts # Scene zones, archetypes, visual mode types202src/data/brand.ts # Show name, tagline, meta203src/Root.tsx # Remotion composition registry204205reference/c4sight_figma_make_source_pack/ # Figma Make outputs206 src/app/components/Wizard.tsx # ← port this to WizardSVG.tsx207 src/app/components/Host.tsx # ← port this to HostSVG.tsx208 src/app/components/CharacterSheet.tsx # Reference only209 src/app/components/HostSheet.tsx # Reference only210```211212---213214## What Not to Touch Without Asking215216- `reference/` — read-only source material, do not modify217- Any existing video file that is rendering correctly — don't refactor working code218- `remotion.config.ts` — don't modify without a clear reason219220---221222## Session Start Checklist223224Every Claude Code session begins with:225226- [ ] Read this file fully227- [ ] Run the find command to see current file tree228- [ ] Read all files in `src/design-system/`229- [ ] Read `src/Root.tsx`230- [ ] Report what's complete, what's broken, what's missing231- [ ] Propose a plan for this session232- [ ] Wait for confirmation before executing233234---235236*Show Bible v1.0 · C4 Studios · Perth, WA*237*This file is maintained by the creative director. Changes to creative direction come through here, not through code comments.*238
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| Adit-Jain-srm/NightmareNetCLAUDE.md · 45 | CLAUDE.md | buildtestlint-formatstyle+6 | 100/100 | 3 days ago | |
| bagisto/bagistoCLAUDE.md · 28k | CLAUDE.md | setupbuildteststyle+5 | 100/100 | 3 days ago | |
| microsoft/playwrightCLAUDE.md · 94k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 3 days ago | |
| dotCMS/corecore-web/CLAUDE.md · 949 | CLAUDE.md | teststylearchtesting-strategy+3 | 100/100 | 3 days ago | |
| nimbalyst/nimbalystpackages/android/CLAUDE.md · 1.4k | CLAUDE.md | setupbuildstylearch+2 | 100/100 | 3 days ago | |
| filamentphp/filamentCLAUDE.md · 32k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 3 days ago | |
| dotCMS/coreCLAUDE.md · 949 | CLAUDE.md | setupbuildteststyle+7 | 99/100 | today | |
| lollipopkit/flutter_server_boxCLAUDE.md · 8.3k | CLAUDE.md | buildteststylearch+2 | 98/100 | 3 days ago |
