Base project
Every project starts with a small, conventional Astro structure. The exact project name replaces my-project.
my-project/
├── src/
│ ├── pages/ # Routes supplied by the selected project blueprint
│ │ └── index.astro # Home page and the / route
│ ├── styles/
│ │ └── global.css # Vanilla CSS or Tailwind entry point
│ └── layouts/ # Type-specific layouts when required
├── .gitignore
├── astro.config.mjs # Astro and selected integration settings
├── package.json # Scripts and selected dependencies
├── README.md # Commands for this configuration
└── tsconfig.json # Astro TypeScript settings
Marketing, Client, Blog, and Portfolio include focused layouts and routes. Documentation includes an unstyled DocsLayout.astro, while Blank keeps the structure smallest by importing global.css directly from its home page.
Files added by your selections
Astro Stack adds only the files required by the options you select. A generic content setup adds a collection definition and starter entry:
src/
├── content.config.ts
└── content/
└── posts/
└── getting-started.md # .mdx when MDX is selected
Blog and Documentation own their content structures: Blog creates src/content/blog/welcome.md and its listing/detail routes; Documentation creates src/content/docs/getting-started.md, src/content/docs/guides/authoring.md, and docs routes.
Resend or webhook forms add a server route and an environment-variable template:
my-project/
├── .env.example
└── src/
└── pages/
└── api/
└── contact.ts
Developer-experience choices add their files at the project root:
my-project/
├── .vscode/ # VS Code or Cursor settings and extensions
├── .zed/ # Zed settings
├── AGENTS.md # Codex instructions
├── CLAUDE.md # Claude instructions
├── biome.json # Biome configuration
├── eslint.config.js # ESLint configuration
├── .prettierrc.json # Prettier configuration
└── .prettierignore
Where to make changes
- Add routes in
src/pages. Astro maps these files to URLs. - Reuse page shells in
src/layoutsand keep site-wide styles insrc/styles/global.css. - Keep Markdown and MDX entries in
src/content/postswhen you selected a content setup. - Add server endpoints below
src/pages/apiwhen your deployment supports server output. - Update integrations and output settings in
astro.config.mjs; usepackage.jsonfor scripts and dependencies.
Astro Stack does not retain control of these files after generation. They are ordinary project files for you to evolve as your application grows.