{"_id":"@bugsbunnycodes1998/cartographer","_rev":"7-b095c1758417dcac4d4ce44f1b3b01e4","name":"@bugsbunnycodes1998/cartographer","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.0":{"name":"@bugsbunnycodes1998/cartographer","version":"0.1.0","keywords":["codebase","visualization","3d","architecture","cli","code-city"],"license":"MIT","_id":"@bugsbunnycodes1998/cartographer@0.1.0","maintainers":[{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"}],"bin":{"cartographer":"dist/index.js"},"dist":{"shasum":"104b3009912e3307fb35b90e2621c9a55873a608","tarball":"https://registry.npmjs.org/@bugsbunnycodes1998/cartographer/-/cartographer-0.1.0.tgz","fileCount":25,"integrity":"sha512-l9yTWu+UvfzHRimUfkZvQFQaXOk3q0fwk35g+75OHECfN9rx2+MQ6BmdjyGd2QlfV4oOl8utEuEnHTdYeR3HAA==","signatures":[{"sig":"MEUCIAt9nRoyW9PsED+y7VIUdf6TL9HFQIIg0L1+i4e9/wrVAiEApy0swgfKlIztUWyMTMiKid5Z5rh1DUUpmdLYSWFJO0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1316449},"type":"module","gitHead":"08eaa860f7f4f3d50c358e79cdd92a22f480b85e","scripts":{"dev":"tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json"},"_npmUser":{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"},"_npmVersion":"11.6.2","description":"See your code as a 3D city. CLI tool for Cartographer.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^8.2.0","open":"^10.1.0","consola":"^3.4.0","fastify":"^5.2.1","chokidar":"^4.0.0","commander":"^13.1.0","@fastify/static":"^8.1.0","@fastify/websocket":"^11.0.0","@bugsbunnycodes1998/cartographer-core":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/cartographer_0.1.0_1775321464788_0.9259804692456821","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bugsbunnycodes1998/cartographer","version":"0.1.1","keywords":["codebase","visualization","3d","architecture","cli","code-city"],"license":"MIT","_id":"@bugsbunnycodes1998/cartographer@0.1.1","maintainers":[{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"}],"bin":{"cartographer":"dist/index.js"},"dist":{"shasum":"d377a93a272b0f7987deaca3f19d3554ac80c0d9","tarball":"https://registry.npmjs.org/@bugsbunnycodes1998/cartographer/-/cartographer-0.1.1.tgz","fileCount":25,"integrity":"sha512-NXzwD0Ihuu+jMBSmAJ6Gfg9y39QRhPw3MSLQmHHM9Cxa6eZ1WphAk5116eOsJ3eSemzraI4V1OeLx1bXL48C7Q==","signatures":[{"sig":"MEQCIHGo89UmQnwMkIIW9HnbDHdkZfJq+oScfaSdMX9vLwXlAiB002lLDAJCJkqnvAxFp5quKlHhTZx1J7xrUPYRPodUpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1316544},"type":"module","gitHead":"08eaa860f7f4f3d50c358e79cdd92a22f480b85e","scripts":{"dev":"tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json"},"_npmUser":{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"},"_npmVersion":"11.6.2","description":"See your code as a 3D city. CLI tool for Cartographer.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^8.2.0","open":"^10.1.0","consola":"^3.4.0","fastify":"^5.2.1","chokidar":"^4.0.0","commander":"^13.1.0","@fastify/static":"^8.1.0","@fastify/websocket":"^11.0.0","@bugsbunnycodes1998/cartographer-core":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/cartographer_0.1.1_1775322367882_0.04686535492239008","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@bugsbunnycodes1998/cartographer","version":"0.1.2","keywords":["codebase","visualization","3d","architecture","cli","code-city"],"license":"MIT","_id":"@bugsbunnycodes1998/cartographer@0.1.2","maintainers":[{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"}],"bin":{"cartographer":"dist/index.js"},"dist":{"shasum":"5451c2754025e6f6b43cb6404a24deb250d89fb1","tarball":"https://registry.npmjs.org/@bugsbunnycodes1998/cartographer/-/cartographer-0.1.2.tgz","fileCount":25,"integrity":"sha512-wFOP5DsvZj7qZKoDBIOSTtK+nwgTUi03Eyxj/nkCIcnxbpvt2GGqr0040jyx6zn1lANgbRIFroiVICoYJZ5LfA==","signatures":[{"sig":"MEYCIQCkSzCCQAVs5xhA0hw3NHoIs0IOxMw3YKf8hUNA/w23bAIhAMPg3Rb/UjFZIRLeBXW6lZ7R/bhyfqQ/WewjpychXYyw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1316544},"type":"module","gitHead":"08eaa860f7f4f3d50c358e79cdd92a22f480b85e","scripts":{"dev":"tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json"},"_npmUser":{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"},"_npmVersion":"11.6.2","description":"See your code as a 3D city. CLI tool for Cartographer.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^8.2.0","open":"^10.1.0","consola":"^3.4.0","fastify":"^5.2.1","chokidar":"^4.0.0","commander":"^13.1.0","@fastify/static":"^8.1.0","@fastify/websocket":"^11.0.0","@bugsbunnycodes1998/cartographer-core":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/cartographer_0.1.2_1775392537799_0.7434557666250334","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@bugsbunnycodes1998/cartographer","version":"0.1.3","keywords":["codebase","visualization","3d","architecture","cli","code-city"],"license":"MIT","_id":"@bugsbunnycodes1998/cartographer@0.1.3","maintainers":[{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"}],"bin":{"cartographer":"dist/index.js"},"dist":{"shasum":"57b1515db9ef7adef7f54c5a1d3b46a50978f660","tarball":"https://registry.npmjs.org/@bugsbunnycodes1998/cartographer/-/cartographer-0.1.3.tgz","fileCount":25,"integrity":"sha512-aBNjtgAOrf8KdUyRdifhZqMVDXaFQVhzghnoU/8yAcVlSlYb3OnHBuxn+IKRl832V6s1XCTUCV0IjcImuNtdvg==","signatures":[{"sig":"MEQCIGRJXe1vW6ltwa1UqSTtcsHH3tR3tzG3HjRaUTSo+F3uAiA7JO0L5lwMpPmGXC/hsCCWzzXz/17O/NYp1m/GIzidcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1316534},"type":"module","gitHead":"08eaa860f7f4f3d50c358e79cdd92a22f480b85e","scripts":{"dev":"tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json"},"_npmUser":{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"},"_npmVersion":"11.6.2","description":"See your code as a 3D city. CLI tool for Cartographer.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^8.2.0","open":"^10.1.0","consola":"^3.4.0","fastify":"^5.2.1","chokidar":"^4.0.0","commander":"^13.1.0","@fastify/static":"^8.1.0","@fastify/websocket":"^11.0.0","@bugsbunnycodes1998/cartographer-core":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/cartographer_0.1.3_1775394129956_0.17828544779975064","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@bugsbunnycodes1998/cartographer","version":"0.1.4","keywords":["codebase","visualization","3d","architecture","cli","code-city"],"license":"MIT","_id":"@bugsbunnycodes1998/cartographer@0.1.4","maintainers":[{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"}],"bin":{"cartographer":"dist/index.js"},"dist":{"shasum":"65a3a59f7e668d6152b4ce44565289b3d813a488","tarball":"https://registry.npmjs.org/@bugsbunnycodes1998/cartographer/-/cartographer-0.1.4.tgz","fileCount":25,"integrity":"sha512-bx/deefMV9ODzyTjup8DEn7B0ktGcK2cnubdf/yLkmXShYP8haEXZIZUeyGhITzksO9Zza8ndUCSit6tpA0Tfw==","signatures":[{"sig":"MEUCIFmC4iAnR7aS/rP993tbFRYHQdcoqyj8pQVL6vK7WSzGAiEAwTkIqeEFZo/xlLr4NK63PSxQLFK3lreZiXmwjGFYN+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1316534},"type":"module","gitHead":"08eaa860f7f4f3d50c358e79cdd92a22f480b85e","scripts":{"dev":"tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json"},"_npmUser":{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"},"_npmVersion":"11.6.2","description":"See your code as a 3D city. CLI tool for Cartographer.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^8.2.0","open":"^10.1.0","consola":"^3.4.0","fastify":"^5.2.1","chokidar":"^4.0.0","commander":"^13.1.0","@fastify/static":"^8.1.0","@fastify/websocket":"^11.0.0","@bugsbunnycodes1998/cartographer-core":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/cartographer_0.1.4_1775401362118_0.0757144141279178","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@bugsbunnycodes1998/cartographer","version":"0.1.5","keywords":["codebase","visualization","3d","architecture","cli","code-city"],"license":"MIT","_id":"@bugsbunnycodes1998/cartographer@0.1.5","maintainers":[{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"}],"bin":{"cartographer":"dist/index.js"},"dist":{"shasum":"3ba7f57f0f443174c0a3b401aa0ead6d7f6e0013","tarball":"https://registry.npmjs.org/@bugsbunnycodes1998/cartographer/-/cartographer-0.1.5.tgz","fileCount":25,"integrity":"sha512-+Fa/wFJhIoUk0Ymr/GGNbLCin7jWFROgN33Eh9iF7hnesaw+gjQX2whDcVcCfhH7jnBL+YXby1RYXorvrhqIeg==","signatures":[{"sig":"MEYCIQD//tlsdR5HbLMOXoqeFAVKQ9uxFp20yDbZZhNELNTUiwIhAO4MEUu0B+of7zLtfghyyd3aFpgtEcNDgkuMVn4v1Zb/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1316529},"type":"module","gitHead":"08eaa860f7f4f3d50c358e79cdd92a22f480b85e","scripts":{"dev":"tsc -p tsconfig.json --watch","build":"tsc -p tsconfig.json"},"_npmUser":{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"},"_npmVersion":"11.6.2","description":"See your code as a 3D city. CLI tool for Cartographer.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ora":"^8.2.0","open":"^10.1.0","consola":"^3.4.0","fastify":"^5.2.1","chokidar":"^4.0.0","commander":"^13.1.0","@fastify/static":"^8.1.0","@fastify/websocket":"^11.0.0","@bugsbunnycodes1998/cartographer-core":"^0.1.4"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/cartographer_0.1.5_1775404439184_0.8781534002260929","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@bugsbunnycodes1998/cartographer","version":"0.1.6","type":"module","description":"See your code as a 3D city. CLI tool for Cartographer.","license":"MIT","keywords":["codebase","visualization","3d","architecture","cli","code-city"],"bin":{"cartographer":"dist/index.js"},"scripts":{"build":"tsc -p tsconfig.json","dev":"tsc -p tsconfig.json --watch"},"dependencies":{"@bugsbunnycodes1998/cartographer-core":"^0.1.6","@fastify/static":"^8.1.0","@fastify/websocket":"^11.0.0","chokidar":"^4.0.0","commander":"^13.1.0","consola":"^3.4.0","fastify":"^5.2.1","open":"^10.1.0","ora":"^8.2.0"},"devDependencies":{"@types/ws":"^8.18.1"},"gitHead":"08eaa860f7f4f3d50c358e79cdd92a22f480b85e","_id":"@bugsbunnycodes1998/cartographer@0.1.6","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-hiVd34rIdyBK6SLZvoMKlEm36glZSOrBK6AcrE1ht82B1TuyjPelR4iBXz2Gq5Sc5rcmEIB4qiz6xHXVmWT5IA==","shasum":"37b14055e822614b06f052da3250f27ddfeea264","tarball":"https://registry.npmjs.org/@bugsbunnycodes1998/cartographer/-/cartographer-0.1.6.tgz","fileCount":26,"unpackedSize":1320937,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFaPoY3cVd9OSl8m8FluhP2sDrtvldrFzfWQKrSAidLlAiBCkT4UH6fMZAM8MhUrpgkHeHy8GoeSPGYu7sfZ2mWfhw=="}]},"_npmUser":{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"},"directories":{},"maintainers":[{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cartographer_0.1.6_1775407334652_0.5806412138102393"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-04T16:51:04.696Z","modified":"2026-04-05T16:42:14.943Z","0.1.0":"2026-04-04T16:51:04.980Z","0.1.1":"2026-04-04T17:06:08.085Z","0.1.2":"2026-04-05T12:35:38.034Z","0.1.3":"2026-04-05T13:02:10.225Z","0.1.4":"2026-04-05T15:02:42.339Z","0.1.5":"2026-04-05T15:53:59.333Z","0.1.6":"2026-04-05T16:42:14.826Z"},"license":"MIT","keywords":["codebase","visualization","3d","architecture","cli","code-city"],"description":"See your code as a 3D city. CLI tool for Cartographer.","maintainers":[{"name":"bugsbunnycodes1998","email":"saswatray2505@gmail.com"}],"readme":"# Cartographer\n\n**See your code. Understand your architecture. Navigate with confidence.**\n\nPoint any codebase at Cartographer. Get an interactive, explorable 3D city where modules are neighborhoods, files are buildings, and dependencies are roads.\n\n## Quick Start\n\n```bash\nnpx @bugsbunnycodes1998/cartographer analyze https://github.com/expressjs/express --quick\n```\n\nThis clones the repo, analyzes it, and opens a 3D city map in your browser at `http://localhost:3742`.\n\n## Features\n\n- **3D City Visualization** — modules as neighborhoods, files as buildings with glowing windows, dependencies as roads with flowing particles\n- **Health Scoring** — composite 0-100 health per file (complexity, churn, test coverage, type safety). Buildings glow green (healthy) to red (critical)\n- **AI Summaries** — OpenAI-powered hierarchical summaries at file, module, and system level\n- **Git Archaeology** — churn analysis, bus factor, contributor mapping, evolution timeline\n- **Guided Expeditions** — auto-generated tours: Grand Tour, Danger Zones, Request Lifecycle\n- **Building Interiors** — zoom into a file to see functions as floors with call connections\n- **Live Mode** — watch for file changes and update the city in real-time via WebSocket\n- **Multi-Language** — TypeScript, JavaScript, Python, Rust, Go, Java\n- **Cmd+K Search** — fuzzy search to fly to any file or module instantly\n\n## Installation\n\n```bash\nnpm install -g @bugsbunnycodes1998/cartographer\n```\n\nRequires Node.js 20+.\n\n## Usage\n\n### Analyze a GitHub repo\n\n```bash\n# Quick mode (structure only, instant)\ncartographer analyze https://github.com/org/repo --quick\n\n# With git history + health scoring\ncartographer analyze https://github.com/org/repo --skip-llm\n\n# Full analysis with AI summaries (requires OPENAI_API_KEY)\ncartographer analyze https://github.com/org/repo\n```\n\n### Analyze a local project\n\n```bash\ncartographer analyze ./my-project\ncartographer analyze . --quick\n```\n\n### Live mode (real-time updates)\n\n```bash\ncartographer live ./my-project\n```\n\nEdit files and watch the city update in your browser.\n\n### Options\n\n| Flag | Description |\n|------|-------------|\n| `--quick` | Structure only, no AI/git. Instant results |\n| `--skip-git` | Skip git archaeology (churn, bus factor) |\n| `--skip-llm` | Skip AI summaries (no OpenAI key needed) |\n| `--root <dir>` | Scope analysis to a subdirectory |\n| `--output <dir>` | Custom output directory |\n| `--languages <list>` | Filter languages (e.g., `ts,py`) |\n| `--no-serve` | Don't open the browser |\n| `-p, --port <n>` | Custom port (default: 3742) |\n\n### Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `OPENAI_API_KEY` | Required for AI summaries and custom expeditions |\n| `CARTOGRAPHER_PORT` | Web UI port (default: 3742) |\n\n## Navigating the City\n\n| Action | How |\n|--------|-----|\n| **Pan** | Left-click drag |\n| **Rotate** | Right-click drag |\n| **Zoom** | Scroll wheel |\n| **Select module** | Click a neighborhood |\n| **Select file** | Click a building |\n| **Enter building** | Click \"Enter Building\" in HUD |\n| **Exit building** | Click \"Exit Building\" or Escape |\n| **Search** | Cmd+K / Ctrl+K |\n| **Back to overview** | Press Escape |\n| **Expeditions** | Click \"Expeditions\" button |\n\n## Visual Encoding\n\n| Visual | Meaning |\n|--------|---------|\n| Building height | Lines of code |\n| Building color (green) | Health 90-100 |\n| Building color (blue) | Health 70-89 |\n| Building color (amber) | Health 50-69 |\n| Building color (orange) | Health 30-49 |\n| Building color (red) | Health 0-29 |\n| Road thickness | Coupling strength |\n| Flowing particles | Data flow direction |\n| Flame particles | High churn + low health |\n| Gold shimmer | Excellent health (90+) |\n| Warning icon | Bus factor = 1 |\n\n## Supported Languages\n\n| Language | Parsing | Imports | Modules |\n|----------|---------|---------|---------|\n| TypeScript | Full | Full | Barrel files, tsconfig paths |\n| JavaScript | Full | Full | Barrel files |\n| Python | Full | Full | `__init__.py` packages |\n| Rust | Full | Full | `Cargo.toml`, `mod.rs` |\n| Go | Full | Full | Directory packages, `go.mod` |\n| Java | Full | Full | Maven/Gradle, package dirs |\n\n## Development\n\n```bash\ngit clone https://github.com/BugBunnyWanders/Cartographer.git\ncd Cartographer\npnpm install\npnpm build\nnode packages/cli/dist/index.js analyze . --quick\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}