Bandura is a desktop IDE for building, running, and debugging API tests. You describe a multi-step API scenario — log in, capture the token, create a record, assert on the result — as a flow, and Bandura gives you two ways to work on it at once: a visual graph you can arrange by hand, and a code editor showing the exact YAML underneath.
The one idea: the graph and the code are the same file
A flow lives in a single plain-text .aether file. The graph view and the code view are two
renderings of that one file — edit either and the other follows, because there is nothing to
sync. No export step, no hidden database, no cloud copy.
Because flows are plain files:
- They live in your Git repository, next to the code they test. Branch them, diff them, review them in pull requests.
- A teammate gets your whole test suite with
git clone. There is nothing to import — the files are the format. - Everything works offline, with no account. Secrets stay in your local
.envfile and are never written into flows.
What’s on screen
When you open Bandura with a workspace loaded, the window has five areas:
- Activity bar (far left, icon rail) — switches the sidebar between the File Explorer, Environments, the Flow Map (an overview of every flow in the workspace), and Settings.
- Sidebar — whichever of those views is active. Toggle it with ⌘B.
- Editor (center) — one tab per open file.
.aetherfiles open in the flow editor with Graph, Code, and Result tabs; every other file (.env,.json,.md, …) opens in a regular text editor. - Inspector (right, in the flow editor) — details for the selected node: its YAML, the variables it uses, request parameters, its last result, and an AI chat.
- Bottom panel — Console, Variables, History, and Terminal tabs. Toggle it with ⌘J.
The status bar along the bottom shows the active environment on the left (click it to switch) and the active file plus the last run’s status on the right.
On Windows and Linux, read ⌘ as Ctrl throughout these docs.
Words you’ll see everywhere
| Term | Meaning |
|---|---|
| Flow | One API scenario, stored as one .aether file. |
| Node | One step in a flow — a request, an assertion, a condition, a loop, a parallel fan-out, a script, an AI action, or a subflow. |
| Workspace | The folder you open in Bandura. All files live and stay there. |
| Capture | Saving a value from a response (like a token) into a variable for later nodes. |
| Environment | A named set of variables (staging, production, …) defined in bandura.json. |
Where to go next
Open a folder (Open a workspace), then build and run something real in about five minutes (Your first flow).