# cumulus Brainstorm in the terminal: ideas as nodes on a 2D canvas, connected, folded and color-coded, across as many documents as you like. Vim keys first; the mouse works too. Runs on Windows and Linux. > **Status:** being built, one stage at a time. See [DESIGN.md](DESIGN.md) for > the plan; this README grows with the app. ## Build and run You need Rust ([rustup.rs](https://rustup.rs)). The exact version is pinned in `rust-toolchain.toml`, and rustup installs it by itself the first time. ```sh cargo build --release ``` The program is `target/release/cumulus` (`cumulus.exe` on Windows): copy it to a folder on your `PATH`. - **Windows**: nothing else to install. The `.exe` carries its own C runtime and runs on any Windows 10 or 11. - **Linux** (Void, Fedora…): build the same way. You can also build a static Linux binary from Windows with `cargo linux`: it lands in `target/x86_64-unknown-linux-musl/release/cumulus` and runs on any distribution. ## Keys The plan for the everyday keys (all of them are in DESIGN.md): | Keys | What they do | |-------------------|----------------------------------------------------| | `hjkl` | move to the nearest node that way | | `gh gj gk gl` | parent, next sibling, previous sibling, first child | | `o` `O` `a` | new sibling below / above, new child | | `i` or Enter | edit the title | | `dd` `x` | delete the branch / just the node | | `u` `Ctrl-r` | undo / redo | | `za` `zf` `zi` | fold, auto-fold, focus | | `+` `-` | zoom in / out | | `C` `M` `v` | connect, move, select | | `` | the action menu | | `:` `?` | command line, help | After the first key of a sequence (`g`, `z`, `d`, ``…), a popup lists what can follow. ## Development ```sh cargo test # run the tests cargo lint # clippy, treating warnings as errors cargo fmt # format the code ```