vani-spa-app
8
总安装量
6
周安装量
#34376
全站排名
安装命令
npx skills add https://github.com/itsjavi/vani --skill vani-spa-app
Agent 安装分布
claude-code
4
opencode
3
antigravity
3
gemini-cli
3
trae
2
Skill 文档
Vani SPA App
When to Use
- The user asks to update the Vani SPA app under
src/spa-app - Requests mention the landing page/homepage or landing examples
Quick Rules
- SPA app code lives in
src/spa-app; entry points areentry-client.ts,entry-server.ts, androot.html - UI components live in
src/spa-app/components - Import Vani runtime helpers from
@/vaniand@/vani/html - Use
cn()fromsrc/spa-app/components/utilsfor composing class names - Favor small composable sections (e.g.
HeroSection,FeaturesSection)
Workflow Checklist
Use this checklist in responses:
- Identify the target section/component in
src/spa-app/components - Apply UI/content changes using Vani component patterns (
component,h.*) - Keep class names composed with
cn()and ensure Tailwind utility consistency - If the change touches landing examples, update
landing-page-examples.ts - Update
src/spa-app/styles.cssonly when global styles are needed - Scan for related copy/links in the landing page and update as needed
Component Pattern
Use Vani components and HTML helpers:
import { component } from '@/vani'
import * as h from '@/vani/html'
import { cn } from './utils'
export const ExampleSection = component(() => {
return () =>
h.section(
{ className: cn('bg-slate-950 py-16 text-white') },
h.div({ className: cn('mx-auto max-w-6xl px-6') }, 'Content'),
)
})
Common Targets
- Landing page layout:
src/spa-app/components/landing-page.ts - Landing examples:
src/spa-app/components/landing-page-examples.ts - App entry:
src/spa-app/app.ts
Present Results to User
Return updates as a checklist and include file paths that changed.