A car dealership where AI moves the information and humans move the metal and the money. One door for every lead, one record per customer, a dashboard with the six control-plane pages from the Structure Webworks map, and a permissions table the agents obey.
What you build
| Part | What it is | What it does |
|---|---|---|
| Eyes | A local Next.js dashboard | The eight-stage loop as live tiles; Inventory, Leads, and Dashboard, Agent Explorer, Activity Log, Permissions, Alerts, Settings |
| Brain | Claude Code | Builds it, and runs the orchestrator jobs: reads the rules, reads the database, writes briefs, decides when a human steps in |
| Memory | Postgres and a dealer-os/ folder of 29 markdown files | Postgres remembers what happened. The folder says how the store works. |
| Nervous system | n8n with one door: POST /webhook/event | Every lead and every event goes through one router. Nothing acts on its own. |
| Hands | Three agents: aging-watch, bdc-qualify, showroom-brief | Flag aging units and propose, answer leads and book a slot the database will not double-book, brief the salesperson before the customer walks in |
| Runtime model | OpenRouter free models, or Ollama on a 64 GB Mac mini | The model the system calls when it qualifies a lead or writes a brief. Same model family both ways. |
Where this comes from
Structure Webworks published a map called "How an Agentic AI Car Dealership Will Run in 2030": an eight-stage loop — supply, pricing, merchandising, demand, capture, booking, the deal, retention — twelve vendor tools wired together by one orchestrator, a plain-file knowledge layer underneath, and a control plane on the side with six pages: Dashboard, Agent Explorer, Activity Log, Permissions, Alerts, Settings. It is a good map. The link is in the files box.
Their map assumes a franchise store with logins to vAuto, Tekion, VinSolutions, Numa, Impel, Podium and the rest. You do not have those, and neither does anyone learning this. So this pack keeps the shape — the loop, the one door, the one record, the knowledge folder, the control plane — and replaces every vendor with either a table you own or a labelled empty socket. The last section of the README says exactly where each real tool plugs in the day you have it.
What it deliberately does not do
The map draws twelve tools. This build connects zero of them, on purpose. It does not
change a price, state a trade value, quote a payment, touch credit, send an outbound
offer, or contract a deal. Each of those is a socket: a table column or a stage stub
with a name, waiting for a real tool and a human decision. The permissions table
enforces this — never is a database value the agents read, not a sentence in a prompt.
The prompt order is the argument. The control plane comes sixth, not second: pages that read tables only mean something once three agents have written to them. Built sixth, flipping a permission on the page visibly changes what the next agent run does.
Do you need this? Be honest first
If you sell eight cars a month and know every customer's name, you need a notebook and a calendar. This is for the store where web leads sit for an hour, three people answer the same customer on three channels, units age on the lot because nobody looked, and the salesperson meets the buyer cold. It replaces the coordination, not the selling.
What you need
Pick the machine first:
| Option | Good for | Runtime model |
|---|---|---|
| Any laptop — Windows with WSL, Mac, or Linux | Learning, building, running it for yourself | OpenRouter free models |
| A Mac mini with 64 GB | Running it all day, locally | Ollama with gemma4:31b (20 GB) |
| A small VPS | Webhooks from the outside world, 24/7 | OpenRouter |
Every option needs Claude Code logged in (Pro, Max or Team), Docker, Node 22 and git.
The pack assumes none of them are installed: the setup guide starts at "open a
terminal" (or install one — Windows Terminal, Tabby, PuTTY, Terminal.app, Alacritty) and
ends when claude, docker, node and git all answer. It covers the OpenRouter
account (load $10 once; that lifts the free-model limit from 50 to 1,000 calls a day),
Ollama on a 64 GB Mac, and a VPS if you go that way. Nothing of the author's is in it;
every credential is yours.
What is in the zip
agentic-dealership-os/
README.md the document: what, why, setup from zero, the prompts, the sockets
COSTS.md every cost, with the date it was read
TROUBLESHOOTING.md the errors actually hit, per platform, with fixes
CREDITS.md who drew the map, what was verified, terms of use
setup/ SETUP.html + one README per platform: WSL, Apple silicon, Omarchy, VPS
prompts/ 00-interview ... 07-settings-and-model-routing
starter/ Postgres + n8n compose, schema, seed (40 units, 30 leads),
the event-router verified on n8n 2.36.8, dealer-os/ (29 files)
What was verified and what was not
The starter stack — compose, schema, seed, setup script, the event-router with all eight
stages and the kill switch — was installed from this zip on a real Debian 13 box with
Docker 29.3 and n8n 2.36.8, and the output is in TROUBLESHOOTING.md so you can compare
line by line. That run found two bugs, both fixed before this shipped: an unquoted store
name that broke the setup script, and a 404 on the first test because n8n answers its
health check before it activates workflows.
The eight prompts were written against that verified stack and have not been run as a sequence. Every one has a VERIFY section that tells you whether it worked. If one breaks on your machine, post the full error and the platform in the community.
Read the prompt before you run it
Hand each prompt to Claude first and ask what it plans to build. Compare that to the BUILD section. A prompt costs a minute to fix. A wrong build costs an afternoon.



