AI-assisted setup with Claude Code
Every guide in this section can be followed by hand, but the platform also ships a Claude Code skill that walks an AI assistant through the same 7 stages interactively — scaffolding, local services, Auth0, Stripe, Gmail, local mTLS and AWS deployment — asking you for the values it can't fetch itself (dashboard clicks) and resolving version numbers live instead of hardcoding them.
This is optional. If you'd rather do it by hand, start at Scaffold the code base and follow the table on the overview page.
What it does and doesn't do
- It generates the front-end and back-end projects for you, using the latest published archetype/npm versions it looks up at run time.
- It brings up PostgreSQL and Valkey in Docker and wires the resulting variables
into a
.envfile. - For Auth0, Stripe and Gmail it cannot click through the dashboards for you —
those accounts are yours. It gives you one instruction at a time, waits for the
value you get back, and writes it to the right
.envfile so you don't have to keep track of a dozen variables by hand. - For local mTLS it can generate the certificates, the Nginx config and the
docker-compose.yml; you still have to trust the local CA in your OS/browser yourself. - For AWS it will ask for explicit confirmation before every command that creates,
modifies or destroys billed cloud resources — it never runs
terraform applyorterraform destroyunattended.
You can stop after any stage and resume later; each stage only needs what the previous one produced (a scaffolded project, a running database, a set of variables).
Install the skill
The skill lives in this repository at
documentation/static/claude-skills/model-city-getting-started.
Copy it into your generated project's .claude/skills/ directory:
npx degit UnirCs/model-city/documentation/static/claude-skills/model-city-getting-started \
.claude/skills/model-city-getting-started
If you don't want to use degit, a sparse checkout works too:
git clone --depth 1 --filter=blob:none --sparse https://github.com/UnirCs/model-city.git
cd model-city
git sparse-checkout set documentation/static/claude-skills/model-city-getting-started
cp -r documentation/static/claude-skills/model-city-getting-started \
/path/to/your/project/.claude/skills/
Use it
Open Claude Code in the directory where you want your city's projects to live, and either describe what you want ("set up a new Model City for Aranjuez") — Claude Code will pick up the skill from its description — or invoke it by name if your version of Claude Code supports that. It will ask you for the topology (microservices vs monolith), the modules you've contracted, and how far you want to go in this session before doing anything.
The skill writes every value it collects (Auth0/Stripe/Gmail secrets, AWS keys) to
.env files on your machine and checks they're git-ignored. It never sends them
anywhere else. Still, review what gets written before pushing your generated project
anywhere.