Add the project skeleton and the approved design
Cargo.toml with the release profile and lints, the toolchain pinned to Rust 1.90.0, a build script that records the git commit for `cumulus --version`, and rustfmt settings and cargo aliases (`cargo lint`, `cargo linux`) as in skyshift. DESIGN.md holds the design approved after the question rounds; README.md has build instructions and the planned keys. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
commit
0e03c396bf
12 files changed
+659
No files matched your search
@@ -0,0 +1,56 @@
|
||||
# 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 |
|
||||
| `<Space>` | the action menu |
|
||||
| `:` `?` | command line, help |
|
||||
|
||||
After the first key of a sequence (`g`, `z`, `d`, `<Space>`…), 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
|
||||
```
|
||||
Reference in new issue
Block a user