This repository is a sandbox for practising AI-assisted full-stack development by building a TypeScript CRUD app with Prisma and SQLite.
-
Install Docker Desktop (4.34 or newer) and Visual Studio Code.
-
In Docker Desktop, enable host networking: Settings → Resources → Network → Enable host networking → Apply and restart. (Incompatible with Enhanced Container Isolation — disable that if it is on.)
-
In VS Code, install the Dev Containers extension.
-
Open this folder and choose Dev Containers: Reopen in Container.
-
Once creation finishes, verify the toolchain:
node --version pnpm --version
The container runs with --network=host, so every service you start inside
it is reachable directly on its host port — no port forwarding to configure, and
it works for any port, not just pre-declared ones. The dev server you start in
an exercise is simply available at its own address, e.g.
http://localhost:5173. The networking also works in reverse: services running
on your host (e.g. a local API or database) are reachable from inside the
container via localhost.
Use the exercises/ directory for each hands-on module. Keep each exercise in its
own folder and add a focused README, tests, and a short reflection on the AI prompts
that were helpful or misleading.
Suggested first exercise:
pnpm create vite exercises/01-crud-app --template react-ts
cd exercises/01-crud-app
pnpm install
pnpm add @prisma/client zod react-router-dom
pnpm add -D prisma
pnpm prisma init --datasource-provider sqliteSQLite files live inside each exercise folder, so there is no shared database to
coordinate. When an exercise needs a real database server, run one with a single
docker run (no compose):
docker run -d --name crud-db --network=host \
-e POSTGRES_USER=app -e POSTGRES_PASSWORD=app -e POSTGRES_DB=app \
-v crud-pgdata:/var/lib/postgresql/data postgres:16
# DATABASE_URL=postgresql://app:app@localhost:5432/appOn first container creation the environment installs Matt Pocock's skill
collection (see https://github.com/mattpocock/skills) into .agents/skills/.
Ask your coding agent to run /setup-matt-pocock-skills once, choosing a local
issue tracker for a self-contained workshop.