Skip to content

feat(astro): add --astro flag and wire the Astro starter into the pipeline#104

Merged
PAMulligan merged 1 commit into
mainfrom
78-add-astro-template-templatesastro
Jun 20, 2026
Merged

feat(astro): add --astro flag and wire the Astro starter into the pipeline#104
PAMulligan merged 1 commit into
mainfrom
78-add-astro-template-templatesastro

Conversation

@PAMulligan

Copy link
Copy Markdown
Collaborator

Summary

Completes the v2.0.0 multi-framework output (Next.js, Vite, Astro) goal by making Astro a fully wired, first-class output target (#78).

templates/astro/ already exists as a complete hybrid-islands starter (Astro 5 + React islands + Tailwind); this PR wires it into the scaffolder and the pipeline config, documents it, and verifies it builds end-to-end.

Changes

  • scripts/setup-project.sh — adds the --astro flag (alias for --renderer astro) and updated usage. The Astro path now copies templates/astro/ (deterministic, offline) rather than scaffolding via pnpm create astro, since we ship a complete starter; redundant dep installs are skipped.
  • .claude/pipeline.config.json — recognizes Astro inputs (astro.config.* in the config cache category, src/**/*.astro in source). Validated against the schema.
  • docs/multi-framework/README.md — documents that Astro maps to the web-app app type (app type describes the kind of app — web-app / chrome-extension / pwa / react-native — while the framework is the orthogonal renderer).
  • README.md / templates/README.md — list Astro alongside Next.js and Vite (quickstart, template tree, template table).
  • scripts/__tests__/setup-project.test.js — adds a --astro --dry-run alias test.

Acceptance criteria

  • templates/astro/ exists with a minimal working Astro starter (Astro 5, React islands, Tailwind) — already present, now verified buildable
  • scripts/setup-project.sh accepts an --astro flag
  • Pipeline config knows about Astro (config/source patterns) and it's documented that Astro falls under the web-app app type
  • README updated
  • Smoke test passes

Smoke test

Verified locally end-to-end:

$ ./scripts/setup-project.sh demo-astro --astro && cd demo-astro && pnpm install && pnpm build
…
[build] 1 page(s) built in 2.00s
[build] Complete!
$ ls dist/   # _astro/  index.html

(The issue's cd app is the repo's documentation convention — the project is created at the given name, e.g. demo-astro, exactly as the README's own quickstart shows.)

Testing

  • setup-project.test.js (7 tests incl. the new --astro alias) ✅
  • scripts/validate-pipeline-config.js ✅ (schema-valid), check-doc-counts
  • Repo-wide prettier --check . ✅, eslint . (0 errors)
  • Full setup-project.sh demo-astro --astropnpm installpnpm build produces dist/

Refs #78

…eline

Complete Astro multi-framework output (v2.0.0): templates/astro is a complete
hybrid-islands starter; this wires it into setup and the pipeline config (#78).

- scripts/setup-project.sh: add --astro alias; scaffold by copying templates/astro
  (deterministic + offline) instead of `pnpm create astro`
- pipeline.config.json: recognize Astro inputs (astro.config.*, src/**/*.astro)
- Document that Astro maps to the web-app app type (framework is the renderer,
  orthogonal to app type) in docs/multi-framework
- README + templates/README list Astro alongside Next.js and Vite
- Add a --astro --dry-run test
- Verified: setup-project.sh demo-astro --astro && cd demo-astro && pnpm install
  && pnpm build succeeds (dist/ produced)

Refs #78

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@PAMulligan PAMulligan linked an issue Jun 20, 2026 that may be closed by this pull request
5 tasks
@PAMulligan PAMulligan self-assigned this Jun 20, 2026
@PAMulligan PAMulligan added enhancement New feature or request pipeline Figma/Canva-to-React conversion pipeline labels Jun 20, 2026
@PAMulligan PAMulligan moved this from Todo to Done in PMDS Open Source Roadmap Jun 20, 2026
@PAMulligan PAMulligan added this to the v2.0.0 milestone Jun 20, 2026
@PAMulligan PAMulligan merged commit ee7ad41 into main Jun 20, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request pipeline Figma/Canva-to-React conversion pipeline

Projects

Development

Successfully merging this pull request may close these issues.

Add Astro template (templates/astro/)

1 participant