Files
voculinux/web
xavierk d1a80e6ead
CI / security (push) Successful in 1m21s
CI / lint (push) Successful in 22s
CI / ai-review (push) Skipped
chore(release): prepare v0.19.1 (#55)
2026-11-06 21:18:15 +00:00
..
2026-11-06 21:18:15 +00:00

Voculinux website

Marketing site for voculinux.com, built with Next.js and deployed as a static export (GitHub Pages).

Product claims and design constraints: PRODUCT.md, DESIGN.md. Agent notes: AGENTS.md.

Development

npm install
npm run dev

Production build

npm install
npm run build

Static output is written to out/.

Local preview of the build

cd out
python3 -m http.server 3000

Open http://localhost:3000.

Scripts

Script Purpose
npm run dev Dev server
npm run build Production static export
npm run deploy Build and prepare GitHub Pages (.nojekyll, CNAME)
npm run lint ESLint
npm run typecheck TypeScript

Deployment

Push to main triggers the site workflow. Production host: voculinux.com.

Manual path:

cd web
npm install
npm run deploy

That produces out/ with .nojekyll and a CNAME for voculinux.com.

Layout

web/
├── src/
│   ├── app/            # Next.js app routes
│   ├── components/
│   │   ├── site-chrome.tsx
│   │   └── ui/         # Reusable UI components
│   ├── hooks/
│   └── lib/
├── public/             # Static assets and screenshots
├── out/                # Build output (generated)
└── package.json

Configuration notes

  • Custom domain: deploy script writes out/CNAME
  • Subdirectory deploy: set basePath in next.config.js if needed
  • Visual system: warm paper, system type, documented in DESIGN.md

Troubleshooting

Symptom Check
Module not found npm install
Type errors npm run typecheck
Lint errors npm run lint
404 on GitHub Pages Ensure out/.nojekyll exists
Assets 404 Confirm basePath matches deploy path

License

Same as the main Voculinux project (AGPL-3.0).