Template repository for new Astro projects at Sisques Labs. Astro, React and Tailwind CSS come pre-configured, along with the linting, testing, Docker and CI/CD setup used across the org, so a new project starts from a working baseline instead of a blank scaffold.
- Click Use this template on GitHub (or
gh repo create <name> --template sisques-labs/astro-template). - Update the project identity:
package.json—name,description,repository.url,homepagecliff.toml—[remote.github]repo.github/workflows/docker.ymlandrelease-train.yml—image_name/ghcr_image_namedocker/README.md
- Delete
CHANGELOG.mdif present — Release Train generates it from the first release. pnpm installand start building insrc/.
/
├── docker/
│ ├── nginx.conf
│ └── README.md
├── public/
├── src/
│ └── pages/
│ └── index.astro
├── Dockerfile
└── package.json
Import anything outside the current directory through the @/ alias (mapped to src/) rather than a relative parent path — ESLint's no-restricted-imports enforces this:
import { greeting } from '@/lib/greeting'; // ✓
import { greeting } from '../lib/greeting'; // ✗| Command | Action |
|---|---|
pnpm dev |
Start the dev server at localhost:4321 |
pnpm build |
Type-check and build to ./dist/ |
pnpm preview |
Preview the production build locally |
pnpm lint |
Lint and auto-fix with ESLint |
pnpm format |
Format the codebase with Prettier |
pnpm test |
Run the test suite with Vitest |
pnpm test:watch |
Run tests in watch mode |
pnpm test:cov |
Run tests with coverage |
pnpm astro ... |
Run any Astro CLI command, e.g. astro check |
- ESLint + Prettier — linting and formatting, enforced via Husky/lint-staged on every commit.
- Husky —
pre-commitruns lint-staged;pre-pushruns the build and affected tests. - Vitest — configured with
passWithNoTestsso the template stays green until real tests exist. - Renovate — automated dependency updates (
renovate.json, extendssisques-labs/workflows).
Builds to a static site served by nginx (Dockerfile, docker/nginx.conf):
docker build -t astro-template .
docker run -p 8080:8080 astro-templateOpen http://localhost:8080. See docker/README.md for details.
Workflows in .github/workflows reuse shared pipelines from sisques-labs/workflows:
| Workflow | Trigger | Purpose |
|---|---|---|
ci.yml |
Pull request | Lint, test, build |
docker.yml |
Pull request | Smoke-build the Docker image |
codeql.yml |
Push/PR to develop/staging/main, weekly |
Security analysis |
pr-labeler.yml |
Pull request | Auto-label PRs based on changed files |
release-train.yml |
Push to develop/staging/main |
Version from conventional commits, changelog, publish Docker image |