Initial project scaffold: Astro + OpenSpec + Claude Code config
This commit is contained in:
38
openspec/config.yaml
Normal file
38
openspec/config.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
schema: spec-driven
|
||||
|
||||
context: |
|
||||
Project: qumo.io company website rebuild
|
||||
Stack: Astro 5, Tailwind CSS, TypeScript (minimal), Go (form handler)
|
||||
Deployment: Docker (nginx:stable-alpine-slim) behind Caddy reverse proxy on VPS
|
||||
Localization: English (default) + Dutch, file-based routing, JSON content strings
|
||||
Font: Archia (self-hosted woff2, licensed). Fallback: geometric sans-serif
|
||||
Brand colors: Midnight #102022, Snow #F3F3F3, Gradient #5257E4 → #F71E3E
|
||||
Icons: Phosphor Icons, light weight, SVG, 32px
|
||||
Form: Go backend, honeypot + JS timestamp + rate limiting. SMTP via Resend or Brevo.
|
||||
Git: Gitea (self-hosted). No CI/CD pipeline yet — manual docker compose build + up.
|
||||
AI tooling: Claude Code with Astro Docs MCP server.
|
||||
Visual reference: https://www.qumo.io (live Webflow site, match design but improve code)
|
||||
|
||||
Constraints:
|
||||
- Zero JavaScript shipped by default (Astro islands only where needed)
|
||||
- All user-visible text in JSON content files, never hardcoded
|
||||
- No client-side frameworks (React, Vue, etc.)
|
||||
- Images processed by Astro <Image> component, not raw <img>
|
||||
- Security headers configured in Caddy, not in the app
|
||||
|
||||
rules:
|
||||
proposal:
|
||||
- Reference the visual design at qumo.io when describing UI changes
|
||||
- Note which content strings (en.json / nl.json) are affected
|
||||
- Identify if the change affects SEO (structured data, meta tags, sitemap)
|
||||
specs:
|
||||
- Include both EN and NL content in requirements where applicable
|
||||
- Specify responsive behavior (mobile, tablet, desktop breakpoints)
|
||||
design:
|
||||
- Use Astro component patterns (no React/Vue)
|
||||
- Reference Tailwind utility classes, not custom CSS where possible
|
||||
- Specify which Phosphor icon names to use
|
||||
tasks:
|
||||
- Each task should be completable in a single Claude Code session
|
||||
- Build verification: npm run build must pass after each task
|
||||
- Tasks that add new pages must include structured data and meta tags
|
||||
Reference in New Issue
Block a user