Ismail Ben Alla

Coflow

Code map for VS Code

See how your code runs.

A zoomable map beside your editor, from the whole system down to every line of one function, computed from the code itself.

Or search for benisalla.coflow in the Extensions view (Ctrl+Shift+X).

The System view of a full-stack app: the React frontend, the Traefik gateway, the FastAPI backend, Postgres, Mailpit and Sentry, with labelled connectionsThe System view of a full-stack app: the React frontend, the Traefik gateway, the FastAPI backend, Postgres, Mailpit and Sentry, with labelled connections
The System view of a full-stack app: the React frontend, the Traefik gateway, the FastAPI backend, Postgres, Mailpit and Sentry, with labelled connections

How it works

Three views of the same project: start from what runs, step back to the system, then go down into the code.

  1. From main

    Start where the program starts: the file that runs everything. Every route, task and handler shows what triggers it, and selecting one lights the full path main → route → handler → database.

    The From main view: main at the bottom, routers, routes and handlers growing upward to the databaseThe From main view: main at the bottom, routers, routes and handlers growing upward to the database
  2. The system

    Step back to the architecture: apps, gateway, services, workers, databases, queues and outside services, read from docker-compose, nginx, frontends and routes, with every connection labelled.

    The System view: clients, gateway, services and data stores in tiers, with labelled connectionsThe System view: clients, gateway, services and data stores in tiers, with labelled connections
  3. The code

    Double-click to go inside: a block, a package, a module, a class, then one function drawn line by line as a flowchart.

    The top level of the code map: frontend, backend, config, tests and the outside world, with HTTP requests and a missing routeThe top level of the code map: frontend, backend, config, tests and the outside world, with HTTP requests and a missing route

Screenshots

Each screenshot follows this page’s light or dark theme, as Coflow follows VS Code’s.

Features

Get started in a minute

  1. Install

    Search for Coflow in the Extensions view, or install it from the VS Code Marketplace or Open VSX.

  2. Open a project

    Open a folder with Python code and trust it when VS Code asks.

  3. Open the map

    Press Ctrl+Alt+M (Cmd+Alt+M on macOS), or click the map icon in the editor title bar.

  4. Go inside

    Double-click a box to go inside it, and press Esc to go back up a level.

Questions

Does my code leave my machine?

No. Coflow reads your files on your computer and draws the map there. It makes no network requests, sends no telemetry, needs no account and uses no AI. See the privacy statement.

Which languages does it support?

Python today, with JSON config files. For the System view, Coflow also reads docker-compose and nginx files and spots the project's frontends. More languages are planned, JavaScript and TypeScript first.

Does it run my code?

The analysis only reads your code; it never runs it. Only Record a Run… runs the script or test you pick, with your own interpreter, which is why Coflow needs a trusted folder.

What does it cost? What is the license?

Coflow is free and open source under the MIT License. The source code is on GitHub: https://github.com/benisalla/coflow

What do I need?

VS Code 1.100 or newer and Python 3.10 or newer. The Python extension is optional: Coflow uses it only to find the interpreter you selected.

Where do I report a bug or ask for a feature?

By email. The support page says what to include so it can be fixed quickly.

What’s new

  1. 0.7.0Next release

    • System view: the architecture of the project from docker-compose, nginx, frontends and routes
    • From main view: exploration starts from the file that runs everything, with triggers and full paths
    • Focus mode: incoming and outgoing connections of any box
  2. 0.6.0

    • View Options menu: choose what the map shows
    • Arrange the map by hand: drag, snap, undo, and a layout file you can commit
    • A new, calmer look and better organised maps
  3. 0.5.0

    • Renamed from Code Flow Map to Coflow (extension ID benisalla.coflow)

Full changelog on the VS Code Marketplace →