← ClaudeAtlas

repo-cartographlisted

Surveys an unfamiliar repo and writes what it found to docs/agent/repo-map.md — workspace kind, every project with its stack, boundary rules, gate commands, changed-set command. Run it when asked what a repo contains, which projects or which stack it has, how it is tested or built; when landing in a repo not yet mapped; when the map is stale; or before any skill that reads it.
AlpayC/claude-skill-set · ★ 0 · AI & Automation · score 60
Install: claude install-skill AlpayC/claude-skill-set
# Repo cartograph The same questions — what is this project, how do I test it, what may it import, what did my change affect — get asked on every run. The map answers them once. Everything downstream reads `docs/agent/repo-map.md`; nothing else re-detects. The map is written the same way regardless of how the repo is organised. Only the **detection** differs, and that is what step 1 settles. ## 1 — Identify the workspace kind Detect before assuming. A repo can also be several kinds at once — a monorepo containing an independently built subfolder is common. | Signal | Kind | |---|---| | `nx.json` | NX | | `turbo.json` | Turborepo | | `pnpm-workspace.yaml` | pnpm workspaces | | `workspaces` in root `package.json` | npm / yarn workspaces | | `lerna.json` | Lerna | | `rush.json` | Rush | | One `package.json`, no workspace field | Single package | | `pom.xml` / `build.gradle*` / `*.sln` / `go.work` / `Cargo.toml` with `[workspace]` | Backend build system | | No shared root; separate clones | Polyrepo — map each repo separately, link them via **Seams** | Read [`WORKSPACE-KINDS.md`](WORKSPACE-KINDS.md) for the per-kind commands: how to enumerate projects, read the dependency graph, and compute the changed set. It also carries the fallback ladder for repos whose tooling offers none of that. Record the kind, its version, and the enumeration command in the map. When two kinds coexist, record both and say which part of the tree each governs. ## 2 — Enumerate the projects Ask th