Product maps from code

Understand your app as a map.

Works across web and native apps — the data model is platform-agnostic, so stacks plug in as adapters.

Alkahest statically analyzes your codebase and reverse-engineers a screen-level product map — every screen, how they navigate, and the data each one calls. Share it as a link; anyone on the team reads it in the browser, no install required.

$npm install -g @cr8rcho/alkahest
alkahest view — product map
▶ /login /dashboard /projects /settings GET /api/me GET /api/stats GET /api/projects PATCH /api/user

Why Alkahest

The map your codebase never shipped with.

New teammates, PMs, and designers shouldn't have to read the router to learn how the product is wired. Alkahest derives that picture from the source — and keeps it current.

Static analysis, no runtime

Parses your source directly. No instrumentation, no running the app, nothing to wire into CI. Point it at a repo and scan.

Screens, navigation & data

Every screen as a node, navigation as edges, and the API/data calls each screen makes — so flows and dependencies are visible at a glance.

Share as a link

Publish the map to a hosted viewer and send a URL. Teammates explore the graph in the browser — no install, no checkout, always the latest scan.

CLI & MCP

Drive it from the terminal, or expose it to your AI agent over MCP so it can read the product map while it codes.

Open-core

The CLI and the graph renderer are open source (MIT). The hosted service adds accounts, sharing, and team plans on top.

Always current

Because the map is derived from code, a re-scan reflects reality. Re-publish and the link updates — no stale diagrams to maintain by hand.

How it works

From repo to shareable map in three commands.

  1. Scan your project

    Run alkahest scan at the root of your app. Alkahest parses the source and builds a screen-level map locally — preview it any time with alkahest view.

  2. Authenticate the CLI

    Create a publish token on your account page, then alkahest login --token <token>. The token links the CLI to your account.

  3. Publish a link

    alkahest publish uploads the map and returns a shareable URL. Send it to your team — they open the interactive graph in the browser.

# 1 · install the CLI (from GitHub — not yet on npm)
npm install -g @cr8rcho/alkahest

# 2 · map your project (preview locally)
alkahest scan
alkahest view

# 3 · connect your account
alkahest login --token <your-token>

# 4 · publish a shareable link
alkahest publish
# → https://alkahest.app/p/your-project

Quickstart

Copy, paste, and your agent maps the app.

Paste one prompt and your agent installs Alkahest, connects it over MCP, scans the project, and builds the map for you — no manual setup, no API key. Pick your tool:

Paste this to Claude Code — it installs, connects, and maps the project
Set up Alkahest in this project for me, end to end:
1. Install the CLI:  npm install -g @cr8rcho/alkahest
2. Connect it to you over MCP:  claude mcp add alkahest -s project -- alkahest mcp
3. Build the product map:  alkahest scan
4. Give me an overview of the screens, then write a one-line summary and a short PRD for the most important ones (use the alkahest set_summary / set_prd tools if they're available).
5. Open the dashboard:  alkahest view

Heads up: after the MCP server is added, restart Claude Code once so the alkahest tools load — then it can write the summaries and PRDs into the map.

Paste this to Codex — it installs, registers, and maps the project
Set up Alkahest in this repo for me, end to end:
1. Install the CLI:  npm install -g @cr8rcho/alkahest
2. Register it as an MCP server by adding this to ~/.codex/config.toml:
     [mcp_servers.alkahest]
     command = "alkahest"
     args = ["mcp"]
3. Build the product map:  alkahest scan
4. Give me an overview of the screens, then write a one-line summary and a short PRD for the most important ones (use the alkahest set_summary / set_prd tools if they're available).
5. Open the dashboard:  alkahest view

Heads up: after editing config.toml, restart Codex once so the alkahest MCP tools load — then it can write the summaries and PRDs into the map.

Want to share the map? Create a free account for a publish token, then ask your agent to run alkahest login --token <token> and alkahest publish — you'll get a link anyone can open. Prefer the manual route? See How it works.

FAQ

Questions, answered.

What does Alkahest actually produce?

A screen-level product map: a graph where each screen of your app is a node, navigation between screens are edges, and the API/data calls a screen makes are attached to it. It's the bird's-eye view of how your product is wired, derived from the code itself.

Which frameworks are supported?

Today: React (Next.js — app & pages router —, Vite/CRA via React Router, and Remix/React Router 7), Vue (Nuxt and Vue Router), Angular, Svelte (SvelteKit), Astro, React Native (Expo Router and React Navigation), SwiftUI and UIKit (iOS), Jetpack Compose (Android), Flutter, server-rendered Django, Flask, and Rails, and plain multi-page HTML. The data model is platform-agnostic, so more stacks land as pluggable adapters. Alkahest reads your source statically — it does not run your app, so there's nothing to instrument.

Do I have to host anything?

No. The CLI runs locally and alkahest publish uploads the map to the hosted viewer at alkahest.app. Anyone with the link can explore the graph in their browser — no install or repo access needed.

Is my source code uploaded?

No. Only the derived map (screens, navigation, and data-call metadata) is published — not your source files.

Is it open source?

Yes — it's open-core. The CLI and the graph renderer are MIT-licensed and on GitHub. The hosted service (accounts, sharing, team plans) is the paid layer on top.

Map your app in the next five minutes.

Create a free account, generate a publish token, and ship your first link.