Docker onlystep 1 · nothing else to install
10 minutesafter Docker · nothing → app running
Agent-readythe starter ships the skills
From nothing installed to a running app
1
Install Docker Get Docker
Ask your agent
you
I want to build an app on forge (docs: https://forge.mardash.ai/start). First, check whether this machine has Docker and the Docker Compose plugin. If either is missing, walk me through installing Docker Desktop.
claude
docker --version · docker compose version You need Docker with the Compose plugin — Docker Desktop includes it. It is not installed yet: get Docker here, then say “done”.
From the terminal
$ docker --version && docker compose version # both must answer # not there? → https://docs.docker.com/get-docker/
2
Make the app
Ask your agent forge → new-app
you
Set up forge for me: clone https://github.com/mardash-ai/forge-starter into a folder called hello, read its README.md and CLAUDE.md, create a .env with a FORGE_SECRETS_KEY, then create a forge app called hello with a Postgres database and run it. If anything is unclear, the docs are at https://forge.mardash.ai/start.
claude
git clone forge-starter read README.md · CLAUDE.md forge → new-app --with-postgres --dev
Done. forge is set up in
Done. forge is set up in
hello/ with a secret key, and hello is built and running at localhost:3000 with Postgres. From here I have forge's skills, so short asks work.From the terminal
$ git clone https://github.com/mardash-ai/forge-starter hello && cd hello $ cp .env.example .env # set FORGE_SECRETS_KEY (openssl rand -hex 32) $ ./new-app hello --with-postgres --dev
3
Open it
new-app just did. Nothing happened off the record: every stage is a Resource you can list and an Event you can read.Ask your agent
you
What did you just make?
claude
forge → resources Seven things, all passing — the picture above. Open localhost:3000.
From the terminal
$ open http://localhost:3000 $ ./forge resources --app hello · ./forge events --app hello
4
Change one line, break it, read why
Ask your agent
you
Make the greeting say “hi there”. I also moved a line in page.tsx — build it.
claude
forge → build failed → forge → explain-failure
greeting is used before it is declared (app/page.tsx:7). Fixed and rebuilt — BuildSucceeded.From the terminal
$ ./forge build --app hello BuildFailed res_01J… $ ./forge explain --resource res_01J… Analysis app/page.tsx:7 — 'greeting' used before declared. Move the const above the return.
5
Check its health
Ask your agent
you
Is it healthy?
claude
forge → inspect health ok — one check (
db) passing.From the terminal
$ ./forge inspect health --app hello
{ "status": "ok", "checks": [ { "name": "db", "status": "ok" } ] }Next: The starter, explained → Your first feature.
The starter pins forge 1.55.0 for both planes; the harness refreshes the pin.