Add optimized landing video asset workflow and prompt command
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 45/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- next.js, tailwindcss, typescript
- Ambito
- documentation, frontend, performance, tooling
Direzione di ricerca
Inizia leggendo src/components/landing/hero.tsx, src/components/landing/water-particles.tsx, src/app/page.tsx e .claude/commands/make-command.md. Esamina il comando richiesto, i percorsi degli asset, gli aggiornamenti della documentazione e i criteri di accettazione, quindi esegui npm run lint e npx tsc --noEmit. Il lavoro è completato quando il workflow video statico, il comportamento per la riduzione del movimento, il comando, la documentazione e l’integrazione responsive dell’hero soddisfano tutti i criteri elencati, senza chiamate ai provider né chiavi API.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Add a lightweight landing-page video asset workflow to DannFlow:
- Replace or augment the current hero visual with a sample optimized generated video asset for now.
- Add a reusable command that generates high-quality prompts for landing-page video assets, especially 3-5 second hero/transition clips for premium sites.
This is not for live text-to-video generation on the website. The website should only ship compressed finished assets. The command should help create the prompt that the user can paste into MuAPI/Open Generative AI/Kling/etc.
Why
DannFlow already has a high-end landing page direction, but the current hero relies on a canvas particle field and a dashboard preview. For client websites, especially premium SaaS/local business pages, a short generated video can create a more Apple-style hero or scroll transition when handled carefully.
The goal is to support this workflow:
Generate master video externally -> optimize variants -> commit static assets -> render responsive video in the landing page
No API keys should be needed by the public site. No video generation should happen for visitors.
Repo context read
Relevant files/patterns:
src/components/landing/hero.tsxcurrently owns the landing hero, typewriter reveal, CTA, water particles, and dashboard preview.src/components/landing/water-particles.tsxis the current animated canvas background.src/app/page.tsxcomposes the landing sections.src/app/globals.csscontains the Tailwind v4 semantic tokens and animation utilities..claude/commands/is the canonical slash-command library..codex/is only a compatibility bridge and should not duplicate the command library..claude/commands/make-command.mddefines how new commands should be created and documented..codex/commands/claude-command.mdloads Claude commands from.claude/commands/.
Proposed implementation
1. Add a sample optimized landing video asset
Add a sample hero video under something like:
public/assets/landing/video/vetmed-hero-desktop.webm
public/assets/landing/video/vetmed-hero-desktop.mp4
public/assets/landing/video/vetmed-hero-mobile.webm
public/assets/landing/video/vetmed-hero-mobile.mp4
public/assets/landing/video/vetmed-hero-poster.webp
The first sample can use a veterinary clinic management system direction:
A premium cinematic landing page hero video for a veterinary clinic management system. A modern vet clinic reception desk transforms into a clean floating 3D dashboard interface showing appointments, patient records, inventory, billing, and treatment notes. Subtle holographic UI panels glide smoothly around a central tablet, with soft blue and teal medical lighting, warm clinic ambience, glassmorphism interface details, gentle depth of field, polished SaaS product commercial style. Slow camera push-in, subtle parallax, smooth controlled motion, no fast cuts, no text, no logos, no watermarks, no distorted UI, professional and trustworthy, 5 seconds, seamless loop, centered composition with generous negative space for responsive website cropping.
Asset guidance:
- 3-5 seconds.
- Muted/no audio track.
- Desktop target: 1920x1080, ideally 1.5-4 MB.
- Tablet target can reuse desktop or a 1280x720 export.
- Mobile target: vertical or mobile-safe crop, ideally under 2 MB.
- Poster: WebP/AVIF, roughly 80-200 KB.
- Keep important subject matter centered so
object-fit: coverworks.
2. Create a reusable landing video component
Add a component such as:
src/components/landing/hero-video.tsx
Expected behavior:
- Renders a
<video>withautoplay,muted,loop,playsInline,preload="metadata", andposter. - Uses
<source media="...">for mobile/desktop variants where browser support permits, or uses a small client component only if needed for source selection. - Uses
object-coverand a configurableobject-position. - Honors
prefers-reduced-motionby showing the poster image instead of autoplaying video. - Does not fetch anything from a provider.
- Does not require any API key.
- Uses semantic tokens only for wrappers/overlays.
- Avoids raw hex/rgba/hardcoded white/black/gray classes in
className, perCLAUDE.mdand/uirules.
Suggested markup shape:
<video
className="absolute inset-0 h-full w-full object-cover"
autoPlay
muted
loop
playsInline
preload="metadata"
poster="/assets/landing/video/vetmed-hero-poster.webp"
>
<source src="/assets/landing/video/vetmed-hero-mobile.webm" type="video/webm" media="(max-width: 640px)" />
<source src="/assets/landing/video/vetmed-hero-desktop.webm" type="video/webm" />
<source src="/assets/landing/video/vetmed-hero-desktop.mp4" type="video/mp4" />
</video>
3. Wire the sample into the current hero
Update src/components/landing/hero.tsx to show the sample video in a safe way:
- Keep existing copy/CTA structure unless a redesign is explicitly part of the task.
- Use the video as an ambient hero background or a framed preview, whichever preserves readability.
- Keep text contrast strong with semantic-token overlays.
- Keep the current canvas particles available only if they do not compete with the video or hurt performance.
- Avoid loading heavy video below the fold.
- Ensure mobile at 375px has no horizontal scroll.
4. Add a new Claude command for landing video prompts
Create a new command in .claude/commands/, not .codex/commands/.
Suggested name:
/landing-video-prompt
Suggested purpose:
Generate a production-ready AI video prompt for a landing-page hero, section transition, product reveal, or scroll-scrubbed visual asset.
Suggested arguments:
<business/domain + scene goal + optional model/aspect/duration>
The command should output:
- A still-image prompt for creating a controlled first frame.
- An image-to-video prompt for animating that frame.
- Optional text-to-video prompt if no still image will be used.
- Negative prompt / avoid list.
- Recommended model settings:
- Prefer Image-to-Video for controlled website assets.
- For Kling/MuAPI: recommend
kling-v3-turbo-pro-image-to-videofor final 1080p assets andkling-v3-turbo-standard-image-to-videofor drafts. - Duration: 3-5 seconds.
- Composition: centered subject, generous crop-safe space, no text/logos/watermarks.
- Web export checklist:
- desktop WebM + MP4
- mobile WebM + MP4 when crop needs it
- poster WebP/AVIF
- remove audio
- target size budgets
Hard constraints for the command:
- It should not call any AI video API.
- It should not ask for API keys.
- It should create prompts only.
- It should remind the user that finished assets should be optimized before committing.
- It should fit DannFlow command style and update docs according to
.claude/commands/make-command.md:.claude/commands/README.mddocs/dannflow_docs/claude-workflow.mdSKILLS.mdonly if the video skill recommendation needs to be surfaced
5. Add asset optimization docs/script
Add documentation, and optionally a small script, for compressing generated master videos.
Suggested doc:
docs/dannflow_docs/landing-video-assets.md
Suggested commands:
# Desktop WebM
ffmpeg -i master.mp4 -an -vf "scale=1920:-2,fps=24" \
-c:v libvpx-vp9 -crf 34 -b:v 0 -row-mt 1 \
public/assets/landing/video/vetmed-hero-desktop.webm
# Desktop MP4 fallback
ffmpeg -i master.mp4 -an -vf "scale=1920:-2,fps=24" \
-c:v libx264 -crf 24 -preset slow -movflags +faststart \
public/assets/landing/video/vetmed-hero-desktop.mp4
# Poster
ffmpeg -i master.mp4 -ss 00:00:01 -vframes 1 \
-vf "scale=1600:-2" \
public/assets/landing/video/vetmed-hero-poster.webp
Acceptance criteria
- A sample optimized landing video/poster exists under
public/assets/landing/video/. - The landing hero can render the sample video without needing any API key or provider call.
- Video uses
muted,playsInline,loop, a poster image, and safe preload behavior. - Reduced-motion users see a static poster or non-autoplay fallback.
- Mobile, tablet, and desktop layouts work without horizontal scroll.
- No public API key or provider secret is introduced.
- New command exists in
.claude/commands/landing-video-prompt.md. - Codex can access the command through
/claude-command landing-video-prompt ...without duplicating it into.codex. - Command docs are updated in
.claude/commands/README.mdanddocs/dannflow_docs/claude-workflow.md. - The implementation passes
npm run lintandnpx tsc --noEmit.
Notes
This should be implemented as static asset support and prompt tooling. Live generation belongs outside the visitor-facing website.
- Lingua principale
- TypeScript
- Stelle
- 5
- Fork
- 0
- Merge medio
- 5m
- PR unite (30g)
- 9
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Danncode10/DannFlow
-
Add MIT LICENSE Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
Danncode10/DannFlow#52 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Danncode10/DannFlow#89 · 1 commento ·
-
auth documentation enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
Danncode10/DannFlow#82 ·
-
npm test in Next.js dannflow Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
Danncode10/DannFlow#74 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 48/100
Danncode10/DannFlow#73 ·
Tutte le issue di Danncode10/DannFlow
Issue simili
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Crush Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
ElementsProject/cln-application#167 · 1 commento · 1 reazione ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Quantco/pnpm-licenses#17 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100