Starter repo for Claude Code

I got tired of Claude Code picking slightly different implementations of Postgres or whatever else each time I started a project. And when I'd forget to mention Fly.io for deployment, it'd have to redo a bunch of work later. So I made a starter repo that standardises all of it.

What's in it

  • Docker Compose
  • Node.js
  • Local Postgres (not in Docker — running Postgres in Docker is just too annoying)
  • Each project gets a randomly assigned local port based on the project name
  • A /health endpoint Claude Code can curl to confirm things are working, including the Postgres connection
  • Deployment config for Fly.io, using their managed Postgres instance (one instance across all my projects to keep costs down)

Documentation files

Claude Code relies on these to stay on track:

File Purpose
README.md Entry point that points Claude Code to the other docs
SPEC.md Project overview. First instruction is to overwrite the starter repo description with whatever the new project actually does
CLAUDE.md Behavioural rules for Claude Code
CHANGELOG.md Updated as Claude Code makes changes
GOTCHAS.md Tracks bugs and traps, e.g. Claude forgetting Postgres runs locally and looking for it in Docker

Deployment

Fly.io deployment is essentially one command. The repo includes instructions for creating projects within Fly, configuring them, all of it.

Git workflow

Claude Code uses Git but won't push or deploy without me saying so. I check its work on my dev machine, then handle GitHub pushes and deployments myself.

I've tweaked this repo a lot over the months. It saves me a lot of ramp-up time per project.