chore: updated README.md
46bb4514
1 file(s) · +25 −21
| 2 | 2 | ||
| 3 | 3 |  |
|
| 4 | 4 | ||
| 5 | - | A vim-style TUI for building and sending HTTP requests, organized into |
|
| 6 | - | collections you can import straight from an OpenAPI spec. |
|
| 5 | + | Like Postman but it actually works. Terminal native HTTP request builder with OpenAPI support. |
|
| 7 | 6 | ||
| 8 | 7 | ## Features |
|
| 9 | 8 | ||
| 10 | - | - **OpenAPI 3.x import** — turn a spec (file or URL) into a collection with |
|
| 11 | - | requests, params, example bodies, servers, and docs prefilled. |
|
| 12 | - | - **Ad-hoc collections** — no spec needed; paste a full URL and it's split into |
|
| 13 | - | server, path, and query params for you. |
|
| 14 | - | - **Vim-style TUI** — three panes (requests / editor / response), `j`/`k` |
|
| 15 | - | navigation, `:` command line, `/` incremental search. |
|
| 16 | - | - **Variables** — `{{name}}` from the collection, plus dynamic ones like |
|
| 17 | - | `{{uuid}}`, `{{timestamp}}`, `{{randomInt(1,100)}}`. |
|
| 18 | - | - **Auth per collection** — a fixed bearer token, an API key in a header of |
|
| 19 | - | your choice, or the OAuth2 client-credentials flow (tokens cached in memory |
|
| 20 | - | only). Press `A` to configure. |
|
| 21 | - | - **Secrets from your shell** — any secret field (bearer token, API key, |
|
| 22 | - | OAuth client secret) can be a `$(…)` command, resolved at send time, e.g. |
|
| 23 | - | `$(op read "op://vault/item/field")`. |
|
| 9 | + | - **OpenAPI 3.x import** — turn a spec (file or URL) into a collection with requests, params, example bodies, servers, and docs prefilled. |
|
| 10 | + | - **Ad-hoc collections** — no spec needed; paste a full URL and it's split into server, path, and query params for you. |
|
| 11 | + | - **Vim-style TUI** — three panes (requests / editor / response), `j`/`k` navigation, `:` command line, `/` incremental search. |
|
| 12 | + | - **Variables** — `{{name}}` from the collection, plus dynamic ones like `{{uuid}}`, `{{timestamp}}`, `{{randomInt(1,100)}}`. |
|
| 13 | + | - **Auth per collection** — a fixed bearer token, an API key in a header of your choice, or the OAuth2 client-credentials flow (tokens cached in memory only). Press `A` to configure. |
|
| 14 | + | - **Secrets from your shell** — any secret field (bearer token, API key, OAuth client secret) can be a `$(…)` command, resolved at send time, e.g. `$(op read "op://vault/item/field")`. |
|
| 24 | 15 | - **Server switcher** — swap base URLs so requests stay portable across envs. |
|
| 25 | 16 | - **Syntax highlighting** — JSON and XML in both request bodies and responses. |
|
| 26 | 17 | - **Plain JSON storage** — collections live in `~/.config/cielago/collections/`. |
|
| 27 | 18 | ||
| 28 | 19 | ## Installation |
|
| 29 | 20 | ||
| 21 | + | ### Homebrew |
|
| 22 | + | ||
| 23 | + | ```sh |
|
| 24 | + | brew install stevedylandev/tap/cielago |
|
| 25 | + | ``` |
|
| 26 | + | ||
| 27 | + | ### Prebuilt binaries |
|
| 28 | + | ||
| 29 | + | Grab a binary for your platform from the [releases page](https://github.com/stevedylandev/cielago/releases), or run the install script: |
|
| 30 | + | ||
| 31 | + | ```sh |
|
| 32 | + | curl --proto '=https' --tlsv1.2 -LsSf https://github.com/stevedylandev/cielago/releases/latest/download/cielago-installer.sh | sh |
|
| 33 | + | ``` |
|
| 34 | + | ||
| 35 | + | ### From source |
|
| 36 | + | ||
| 30 | 37 | ```sh |
|
| 31 | 38 | cargo install --path . |
|
| 32 | 39 | ``` |
|
| 53 | 60 | cielago path <name> # print the collection's JSON path |
|
| 54 | 61 | ``` |
|
| 55 | 62 | ||
| 56 | - | `<name>` matches loosely — `Some API`, `some api`, and `some-api` all resolve to |
|
| 57 | - | the same collection. |
|
| 63 | + | `<name>` matches loosely — `Some API`, `some api`, and `some-api` all resolve to the same collection. |
|
| 58 | 64 | ||
| 59 | 65 | ### Keys |
|
| 60 | 66 | ||
| 70 | 76 | | `?` | Help | |
|
| 71 | 77 | ||
| 72 | 78 | Sidebar: `n`/`r`/`d`/`y` new/rename/delete/duplicate, `t` cycle label source. |
|
| 73 | - | Tables: `space` toggle row, `i` edit, `a` add, `d` delete, `m` cycle method, |
|
| 74 | - | `p` edit URL. Body/response: `i` edit inline, `e` open in `$EDITOR`, |
|
| 75 | - | `j`/`k`/`d`/`u`/`g`/`G` scroll. |
|
| 79 | + | Tables: `space` toggle row, `i` edit, `a` add, `d` delete, `m` cycle method, `p` edit URL. Body/response: `i` edit inline, `e` open in `$EDITOR`, `j`/`k`/`d`/`u`/`g`/`G` scroll. |
|
| 76 | 80 | ||
| 77 | 81 | Press `?` in the TUI for the full list. |
|
| 78 | 82 | ||