# Dev Up

> Bring up the local Shop'n'Cook development stack. Use when the user asks to start the app, run locally, spin up Docker, or test changes against a running backend. Use when this capability is needed.

- Skill: `tomevault-io/dev-up` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/dev-up`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/dev-up/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/dev-up

---


# Bring up the local stack

Shop'n'Cook runs as a Docker Compose stack:
- `db` — Postgres 18
- `mailcatcher` — local SMTP sink (UI on port 1080)
- `prestart` — runs Alembic migrations + seeds the first superuser
- `backend` — FastAPI on port 8000
- `frontend` — Vite dev server on port 5173

## First-time setup

```bash
cp .env.example .env
```

Fill in at minimum: `FIRST_SUPERUSER_PASSWORD`, `POSTGRES_PASSWORD`,
`SECRET_KEY`, and (if recipe import is to be tested) one of
`ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `GOOGLE_API_KEY` with the
matching `AI_PROVIDER`.

## Start

```bash
docker compose up -d
docker compose logs -f backend frontend   # tail
```

URLs:
- Frontend: http://localhost:5173
- Backend OpenAPI docs: http://localhost:8000/docs
- Mailcatcher: http://localhost:1080
- Adminer (if enabled): http://localhost:8080

The dev override (`compose.override.yml`) mounts source into both
containers and enables auto-reload — no rebuild needed for code changes.

## Stop

```bash
docker compose down       # keep volumes
docker compose down -v    # nuke volumes (resets the database)
```

## Further reading

`development.md` at the repo root covers Mailcatcher, pre-commit
setup with `prek`, and VS Code debugging.

---
> Source: [TheoGoudout/shop-n-cook](https://github.com/TheoGoudout/shop-n-cook) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-15 -->

