# . (index) dir: . ## Project Map Protocol 1. Read this protocol and the root `.pi-map.index.md` first. 2. Use `index:` / `map:` references to open relevant directory indexes and maps. 3. Load indexes before rich maps during task-start navigation. 4. Read the local rich map and actual source before editing. 5. Treat non-empty `## dirty` sections in either artifact as stale. 6. If source and generated artifacts disagree, trust source. 7. If map and index disagree, trust neither blindly; verify from source and regenerate the pair. 8. After editing source, run `project_map_patch` for each changed file. 9. Before broad architectural claims or final handoff, run `project_map_validate` when freshness matters. Trust boundary: index routes, map orients, source decides. ## role A TypeScript/Node.js CLI tool and Pi extension that generates paired markdown analysis artifacts (.pi-map.index.md and .pi-map.md) to provide hierarchical codebase navigation and contextual orientation for AI coding agents. ## parent - ## children - .atl index: .atl/.pi-map.index.md map: .atl/.pi-map.md - fixtures index: fixtures/.pi-map.index.md map: fixtures/.pi-map.md - openspec index: openspec/.pi-map.index.md map: openspec/.pi-map.md - src index: src/.pi-map.index.md map: src/.pi-map.md - tests index: tests/.pi-map.index.md map: tests/.pi-map.md ## files - .gitignore - .npmrc - README.md - SKILL.md - design-doc.md - package-lock.json - package.json - pi-extension.ts - troubleshooting.md - tsconfig.json - usage-guide.md ## links index: ./.pi-map.index.md map: ./.pi-map.md ## workflows - change project behavior read: .gitignore, .npmrc, pi-extension.ts - change project config read: package-lock.json, package.json, tsconfig.json - explore project subdirectories index: .atl/.pi-map.index.md, fixtures/.pi-map.index.md, openspec/.pi-map.index.md ## dirty -