Features

Everything in one
coherent system.

GhostMap isn't a collection of independent tools. Every feature is part of the same model: code → symbols → annotations → tree.

The map of your file, always up to date.

GhostMap builds a symbol-first hierarchy from your code: classes, functions, interfaces, structs. Then it layers your @ghost annotations on top as anchors with status and description.

The result is a navigable tree that reflects real structure - not what you named your folders, not what you remember. Click any node to jump directly to that line.

GHOSTMAP - Filter · Reset · Search
#auth-refactor in-progress
AuthService
login
validate jwt tokens review
rate limit todo
logout
revoke session done
TokenService
rotate in-progress

Name a section of code.
Own it in the tree.

Wrap any block of code between // @ghost #name start and // @ghost end and GhostMap creates a named parent node that owns everything inside - regardless of language structure.

Ideal for large refactors, ongoing migrations, or "hot zones" you want to flag for the whole team before anyone touches them.

workflow.service.ts
1// @ghost #workflow-v2 start 2// description: split into 3 services | status: in-progress 3 4class WorkflowService { 5 charge() {} 6 refund() {} 7 8 // @ghost description: move to workflow-service | status: todo 9 reconcile() {} 10} 11 12// @ghost end
#workflow-v2 in-progress
WorkflowService
charge
refund
reconcile todo

Opens in milliseconds.
Not seconds.

The Ghost Index is the loading engine. Every time GhostMap analyzes a file, it persists the result - symbols, anchors, tree - into a local snapshot.

Next time you open that file, the tree appears instantly from the snapshot. No LSP cold start. No re-parse. No waiting.

without index LSP cold start: 5 - 35 s
with Ghost Index Snapshot load: < 50 ms
.ghostmap / snapshot
{ "schemaVersion": 1, "uri": "auth.service.ts", "textFingerprint": "sha256:a3f...", "capturedAt": "2026-06-17T...", "isComplete": true, "tree": [ { "name": "AuthService", "type": "class", ... }, { "name": "login", "type": "function", ... } ] }
The snapshot is fingerprinted with SHA-256. If the file changes between sessions, GhostMap detects the mismatch on the next refresh and rebuilds automatically.

Wrong syntax. Instant fix.

GhostMap catches annotation problems as you type and offers one-click fixes directly in the editor.

Unclosed range

A #name start without a matching end. GhostMap degrades it to a point anchor and warns you.

Malformed syntax

A loose word after @ghost that doesn't match any pattern. Quick fix: convert to named anchor or contextual anchor.

Detached anchor

A contextual anchor with no symbol nearby within the ownership radius. GhostMap tells you which anchor is floating.

Invalid status

A status value that isn't recognized. Quick fix: suggests the closest valid value - or todo as default.

19 languages today. Three quality tiers.

GhostMap uses the best available extractor for each supported language and falls back when editor language services are unavailable. The 19 languages below are grouped by the quality you can expect today.

First-class - symbol extraction + full nesting
TypeScript TSX JavaScript JSX Python Rust C# Java C++ C PHP Ruby Dart
Best-effort - symbols extract; nesting may be partial
Go Groovy Objective-C
Top-level only - coarse index; deep nesting unreliable
Scala Solidity Julia Elixir
How the engine picks an extractor: GhostMap tries the editor language service first, then local bundled parsing, then a coarse fallback. If the language server isn't available or is slow, it falls back to the next layer automatically. You always get a tree - it just might be less detailed for tier-2/3 languages.
Planned language expansion (separate workstream). Roughly 20 additional languages (Kotlin, Swift, Haskell, OCaml, Clojure, Lua, R, Bash, SQL family, ...) are on the roadmap but not yet supported. Languages stay off this matrix until their parser, queries, and fixtures are reliable enough for public support; the coarse fallback alone does not count as "supported".

Ready to map your project?

Free for personal, educational, and evaluation use. Works in supported local VS Code workspaces.

Install – Local VSIX