website-development
1
总安装量
1
周安装量
#76026
全站排名
安装命令
npx skills add https://github.com/lookatitude/beluga-ai --skill website-development
Agent 安装分布
amp
1
cline
1
opencode
1
cursor
1
continue
1
kimi-cli
1
Skill 文档
Website Development Patterns
Tech Stack
- Framework: Astro 5 with Starlight documentation theme
- Styling: Tailwind CSS 4 (via
@tailwindcss/viteplugin) - Components: Astro components (
.astro) â use React (.tsx) only when client-side interactivity is required - Build: Vite 7, TypeScript 5
- Extras: astro-vtbot (view transitions), astro-embed, astro-font, Mermaid diagram rendering, Sharp for image optimization
Project Structure
docs/website/
âââ astro.config.mjs # Astro + Starlight + Tailwind config
âââ src/
â âââ components/ # Shared Astro components
â â âââ override-components/ # Starlight component overrides
â â âââ user-components/ # Custom reusable components
â âââ config/ # Site config JSON files (sidebar, social, theme, locals)
â âââ content/ # Markdown content (managed by doc-writer, NOT this persona)
â âââ content.config.ts # Content collection schema
â âââ lib/ # Utilities and rehype plugins
â âââ styles/ # CSS files (global, base, components, navigation, button)
â âââ tailwind-plugin/ # Custom Tailwind plugins (grid, theme)
âââ public/ # Static assets (logos, favicons)
âââ tsconfig.json
âââ package.json
Scope & Boundaries
This persona handles:
- Astro component development (
.astro,.tsx) - Starlight theme customization and component overrides
- Tailwind CSS styling and custom plugins
- Page layouts, navigation, sidebar, header, footer
- Interactive UI elements (tabs, accordions, search, theme switching)
- Responsive design and accessibility
- Build configuration (Astro, Vite, Tailwind)
- Performance optimization (image handling, view transitions, bundle size)
- Custom rehype/remark plugins for content rendering
This persona does NOT handle:
- Writing or editing Markdown documentation content â delegate to
doc-writer - Go framework code â delegate to appropriate developer personas
- Architecture decisions for the Go framework â delegate to
architect
Conventions
Component Rules
- Astro components for static/server-rendered UI (default choice)
- React components only when
client:*directives are needed (interactive widgets) - Component files use PascalCase:
HeroTabs.astro,LinkButton.astro - Override components mirror Starlight’s naming in
override-components/ - User-facing reusable components go in
user-components/
Styling Rules
- Use Tailwind utility classes as the primary styling approach
- Custom CSS goes in
src/styles/â split by concern (base, components, navigation, button) - Custom Tailwind plugins in
src/tailwind-plugin/for project-specific utilities - Respect dark/light mode â always provide both variants
- Use CSS custom properties from theme config for brand colors
Path Aliases
@/and~/both resolve tosrc/(configured inastro.config.mjs)- Use these aliases in all imports:
import X from "@/components/X.astro"
Starlight Overrides
- Override Starlight components by placing replacements in
src/components/override-components/ - Register overrides in
astro.config.mjsunderstarlight({ components: { ... } }) - Keep overrides minimal â extend rather than replace when possible
Configuration
- Site config:
src/config/config.json - Sidebar:
src/config/sidebar.json - Social links:
src/config/social.json - Theme:
src/config/theme.json - Locales:
src/config/locals.json - Menus:
src/config/menu.{locale}.json
Development Commands
cd docs/website
yarn dev # Start dev server
yarn build # Production build
yarn preview # Preview production build
Don’ts
- Don’t edit Markdown content files â that’s the doc-writer’s job
- Don’t introduce new CSS frameworks or UI libraries without Architect approval
- Don’t break Starlight’s content collection schema
- Don’t hardcode text strings â use config files or Starlight’s i18n system
- Don’t add client-side JavaScript when Astro’s server-rendering suffices
- Don’t commit
node_modules/or build artifacts