Guide / Quickstart
Quickstart
Trestle is a GitHub template repository, not a project you clone directly — cloning it would drag along its own history and remote. Pick whichever of these matches what you’re building.
A dedicated repo for the site
Use this when the site is the whole project — a blog, a portfolio, docs for something that doesn’t already have a repo of its own.
- On github.com/prjvvl/trestle, click Use this template → Create a new repository. This creates a clean copy under your own account, with no shared history or remote.
- Clone your new repository and run it:
git clone https://github.com/you/your-site.git
cd your-site
npm install
npm run dev
Adding it into a repo you already have
Use this when the site is secondary to an existing project — e.g. a docs/marketing site living alongside an app or library’s code, the way this exact pattern shows up in practice. “Use this template” always creates a brand-new top-level repo, so it doesn’t fit here; instead, pull Trestle’s files straight into a subfolder with tiged (no git history, no new repo):
cd your-existing-repo
npx tiged prjvvl/trestle site
cd site
npm install
npm run dev
The Astro project now lives at your-existing-repo/site/. The one thing this doesn’t handle for
you: .github/workflows/ci.yml and deploy.yml assume the Astro project sits at the repo root. If
it’s in a subfolder, add working-directory: ./site to their build steps and point
actions/upload-pages-artifact’s path at site/dist.
Either way, open it up
Open http://localhost:4321. From there:
- Edit
src/site.config.ts— name, description, domain, social links, navigation. - Edit brand colors and fonts in
src/styles/global.css(the@themeblock). - Add content as Markdown files in
src/content/posts/. - Push to
main— GitHub Actions builds and deploys to GitHub Pages automatically. See Deploying.