MCPcopy Index your code
hub / github.com/LucasPickering/slumber

github.com/LucasPickering/slumber @v5.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v5.3.0 ↗ · + Follow
2,461 symbols 7,426 edges 153 files 1,023 documented · 42%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Slumber

Test CI crates.io Sponsor

Slumber example

Slumber is a TUI (terminal user interface) HTTP client. Define, execute, and share configurable HTTP requests. Slumber is built on some basic principles:

  • It will remain free to use forever
  • You own your data: all configuration and data is stored locally and can be checked into version control
  • It will never be enshittified

Features

Examples

Slumber is based around collections. A collection is a group of request recipes, which are templates for the requests you want to run. A simple collection could be:

# slumber.yml
requests:
  get:
    method: GET
    url: https://shoal.lucaspickering.me/fish

  post:
    method: POST
    url: https://shoal.lucaspickering.me/fish
    body:
      type: json
      data:
        {
          "name": "Barry Bartlett",
          "species": "Barracuda",
          "age": 3,
          "weight_kg": 6.2,
        }

Create this file, then run the TUI with slumber.

For a more extensive example, see the docs.

Development

If you want to contribute to Slumber, see CONTRIBUTING.md for guidelines, development instructions, etc.

Extension points exported contracts — how you extend this code

Generate (Interface)
A helper for building a UI. It can be converted into some UI element to be drawn. [18 implementers]
crates/tui/src/view.rs
HasId (Interface)
A type that has an `id` field. This is ripe for a derive macro, maybe a fun project some day? [7 implementers]
crates/core/src/collection/cereal.rs
IntoV4 (Interface)
Convert a v3 object into its v4 equivalent [16 implementers]
crates/import/src/v3.rs
Subcommand (Interface)
An executable subcommand. This trait isn't strictly necessary because we do static dispatch via the command enum, but it [9 …
crates/cli/src/lib.rs
TryFromValue (Interface)
Convert [Value] to a type fallibly This is used for converting function arguments to the static types expected by the f [14 …
crates/template/src/value.rs
DeserializeYaml (Interface)
Deserialize from YAML into the implementing type [33 implementers]
crates/util/src/yaml.rs
ToEmitter (Interface)
An emitter generates events of a particular type. This is used for components that need to respond to actions performed [12 …
crates/tui/src/view/event.rs
HttpProvider (Interface)
Native async fn isn't dyn-compatible [4 implementers]
crates/core/src/render.rs

Core symbols most depended-on inside this repo

clone
called by 285
crates/tui/src/view/event.rs
clone
called by 136
crates/tui/src/view/component/recipe_detail/table.rs
into_iter
called by 97
crates/template/src/lib.rs
iter
called by 81
crates/template/src/lib.rs
context
called by 74
crates/template/src/value.rs
render_widget
called by 71
crates/tui/src/view/component/internal.rs
area
called by 68
crates/tui/src/view/component/internal.rs
into_iter
called by 65
crates/core/src/collection/recipe_tree.rs

Shape

Method 1,258
Function 692
Class 340
Enum 137
Interface 34

Languages

Rust99%
Python1%

Modules by API surface

crates/tui/src/view/common/select.rs66 symbols
crates/tui/src/view/component/internal.rs58 symbols
crates/tui/src/view/test_util.rs54 symbols
crates/tui/src/view/common/text_box.rs49 symbols
crates/core/src/render/functions.rs44 symbols
crates/core/src/http/models.rs43 symbols
crates/core/src/database.rs43 symbols
crates/util/src/yaml.rs42 symbols
crates/util/src/yaml/resolve.rs40 symbols
crates/template/src/parse.rs40 symbols
crates/tui/src/view/component/primary/view_state.rs39 symbols
crates/tui/src/view/common/actions.rs38 symbols

For agents

$ claude mcp add slumber \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact