DunneFlow · Tutorial
Your first map
Open the DunneFlow application, analyse a directory of source code, and read the cover of the map it makes.
In this tutorial you use the DunneFlow application to map a codebase you have on disk, then read the map's cover to learn what kind of program it is before opening a single file. Everything happens in your browser, and nothing leaves your machine.
You'll need#
- The DunneFlow application for your platform. See Installing.
- A directory of Python, TypeScript, C++ or Kotlin source, for example a project cloned to
~/code/some-project. See Getting the code. - Node.js 20 or newer, only if the project contains TypeScript. (No Node? See A mixed-language repository without Node.)
Steps#
-
Start DunneFlow. On macOS, open DunneFlow from Applications. On Windows, double-click DunneFlow in the folder you unzipped (the first time, SmartScreen may ask you to choose More info, then Run anyway). On Linux, choose DunneFlow from your applications menu. Your browser opens on the start page.
-
Look at the start page. The lead line says no programs have been mapped yet, and Maps are kept in shows where your maps will be stored. Press Show me if you want to see that folder.
-
Press + Analyse a directory… The Analyse a directory dialog opens.
-
Fill in Directory to read. Type the full path to your source, such as
/Users/you/code/some-project/src, or press Choose… to pick it. For a Python project, thesrc/or package directory is usually better than the repository root. On Windows the picker opens behind your browser, so Alt-Tab to it. -
Check Call it. It fills in from the directory's name. Change it if you want the map to have a different name.
-
Leave Read the documentation too switched on. It lets DunneFlow build a glossary and relate your documents to the code.
-
Press Analyse. If the button is disabled, read the sentence above it: it says exactly what is wrong, such as a relative path or a directory that does not exist.
-
Watch the progress panel. It appears bottom-right and counts the steps of this run. You can dismiss it and come back. When the run finishes, the dashboard opens on the map's cover.
-
Read Where to start. These are the ways into the program (command-line entry points, HTTP routes, handlers), ranked by how much of the program each one commands. A steep drop after the first one or two tells you where the front door is.
-
Read What it touches. This counts everything that leaves the program by kind: DATABASE, FILE, NETWORK, PROCESS, ENV and so on. Click a kind to see every place that does it. This panel tells you what kind of program you have.
-
Glance at What looks wrong. Findings are counted as Broken, Suspect and Informational. Click a count to open the worklist, and read one finding's blind spot: the circumstance in which it would be a false alarm.
-
Select a routine. Click one of the ways in. The inspector on the right fills with IN, OUT and TOUCHES, and every view in the centre now shows that routine. Try switching between Graph and Table.
What you've learned#
- How to make a map from the application, and what the dialog checks before it lets you analyse.
- That a running analysis never disturbs the map you are reading, and that a stopped one is marked unfinished rather than passed off as complete.
- How to read the cover: ways in, what the program touches, and what looks wrong.
- That one selection travels through every view.
Next#
- Chasing rabbits: follow a detour without losing your place.
- Compare two versions.
- Reference: The shell and The start page and your first map.
Something unclear or out of date? Tell us.