▸ Optional · the hosted MCP works fine without this
Init your repo.
When to use this
Only when you want a versioned .aadm/config.json
in an application repo — UDALI paths, lane defaults, CI stubs. Skip otherwise.
Run this in your application project — not the MCP server repo. From the folder
where you want .aadm/config.json to live. Per-repo, not
per-laptop.
▸ Before init · run this once
Must print OK. If it says
REMOVE THIS, run the cleanup further down first.
ls /usr/local/bin/aadm-init-repo 2>/dev/null && echo "REMOVE THIS" || echo "OK" ▸ The init command
npx aadm-init-repo --full
Faster template · npx aadm-init-repo --minimal · npm package
aadm-init-repo
· Node 22+
Edit the JSON for your paths and teams. Don't ship the template src/adapter/** defaults.
Customize checklist ↓
One machine. Many repos.
Init is per repository, not per laptop. Each project gets its own .aadm/config.json, hooks, and workflow stub under that repo's
root. Run the command once per app — customize each file for that codebase.
cd ~/projects/repo-a && npx aadm-init-repo --full
cd ~/projects/repo-b && npx aadm-init-repo --full
npx aadm-init-repo --full --target=~/projects/repo-c - A
IDE MCP
One connection in ~/.cursor/mcp.json (or Claude equivalent) points at hosted AADM for all repos.
- B
Governance
Each repo's agents read the .aadm/config.json next to the code you have open.
- C
Re-init
Use --force only inside the repo you mean to overwrite.
Permission denied?
One-time machine fix (stale global install), then rerun init:
sudo rm -f /usr/local/bin/aadm-init-repo
sudo rm -rf /usr/local/lib/node_modules/aadm-mcp After init. Customize.
The init command scaffolds a template. Replace the placeholder paths and teams with yours — the agent will help.
- 01 Map
udali_ownership.patternsto real folders (app/,lib/, …). - 02 Replace placeholder GitHub teams and AUTH/SEAM entries with yours.
- 03 Keep
${AADM_TOKEN}in config. Put the real token in IDE MCP settings only. - 04 Connect hosted MCP · aadm.io/mcp
Agent prompt
Customize this repo
Open one app repo in Cursor or Claude Code, then paste this into chat. The agent will edit .aadm/config.json using your real folder layout.
You are customizing AADM governance for THIS repository only.
1. Read `.aadm/config.json` at the repo root (created by `npx aadm-init-repo --full`).
2. Inspect the real codebase layout (app/, src/, lib/, packages/, server/, etc.) and update `udali_ownership.patterns` so each UDALI band points at actual paths—not template placeholders like generic `src/**` or `src/adapter/**`.
3. Replace placeholder org/team strings (@org/..., example team slugs) with values that match this repo, or remove blocks we do not use yet.
4. In `auth_ownership` and `seam_ownership`, keep only AUTH-XX / SEAM-XX entries that apply to this product; fix or drop template IDs that do not match our stack.
5. In `metadata`: set accurate `repo_name`, `primary_language`, and `description` for this app.
6. Leave `${AADM_TOKEN}` (or the template token placeholder) in the JSON—do NOT paste real API keys into `.aadm/config.json`. Secrets belong only in IDE MCP settings (~/.cursor/mcp.json).
7. Do not delete entire top-level sections unless they are clearly unused; prefer tightening placeholders over gutting the file.
8. When done, give me a short markdown summary: what you changed, what you left as TODO, and any paths you were unsure about.
Work in the open repo. Propose edits to `.aadm/config.json` only after you have grep/read evidence for folder structure. Do not run init again unless I ask. Now connect the agent.
The .aadm/config.json is just scaffolding. The actual
discipline arrives when an MCP-capable IDE points at the hosted server.