- Bun 1.x
- Node 18+ (tooling only)
bun install --frozen-lockfile# Local
bun run dev -- --host 0.0.0.0 --port 5173
# Docker hot reload
docker-compose -f docker-compose.dev.yml up --buildbun run build:ssgOutputs to dist/ with prefixed/non-prefix pages plus sitemap.xml / robots.txt.
bun run previewRebuilds on changes and serves dist/ via nginx (docker-compose.preview.yml, deploy/nginx.conf); editing deploy/*.conf auto-restarts the container.
- Config-driven:
config/site-info.yaml(brand, social/OG/fb meta, baseUrl, locales),config/pages.yaml(routes/slugs, titles/descriptions, sitemap/JSON-LD). - Locales:
src/locales/*.yaml. - Markdown:
src/content/services/*.md,src/content/cases/*.md(multi-locale per file via frontmatter). - Head/meta/hreflang/canonical/JSON-LD generated at build.
- Dockerfile builds SSG with Bun, serves via nginx (Accept-Language negotiation).
- Fly.io config:
deploy/fly.toml; GitHub Actions in.github/workflows/*(needsFLY_API_TOKEN).