I originally created https://github.com/descent098/Coder years ago for a course I was teaching about static site development. This repo is intended to be an improvement on the base idea of a static site that generates static sites, and is implemented with Astro (Documentation), tailwind, SailboatUI.
All commands are run from the root of the project, from a terminal:
| Command | Action | 
|---|---|
npm install | 
Installs dependencies | 
npm run dev | 
Starts local dev server at localhost:4321 | 
npm run build | 
Build your production site to ./dist/ | 
npm run preview | 
Preview your build locally, before deploying | 
npm run astro ... | 
Run CLI commands like astro add, astro check | 
npm run astro -- --help | 
Get help using the Astro CLI | 
Inside of your Astro project, you'll see the following folders and files:
/
├── public/
│   └── favicon.svg
├── src/
│   ├── components/
│   │   └── Card.astro
│   ├── layouts/
│   │   └── Layout.astro
│   └── pages/
│       └── index.astro
└── package.json
Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.
There's nothing special about src/components/, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
Any static assets, like images, can be placed in the public/ directory.