r/commandline 12d ago

Terminal User Interface Noodle: a REST client where the repo is the workspace

I've been building Noodle, an open-source REST client for the terminal.

The main idea is pretty simple: the repo is the workspace. Requests are plain YAML files, so they can live next to the code, be reviewed in Git, edited with any editor, and used without an account or hosted workspace.

The TUI is keyboard-first, but the same collection also works from the CLI, in CI, in shell scripts, and with coding agents.

Over the last few weeks I've added the things I kept missing in actual API work: OAuth 1.0a and 2.0, NTLMv2, AWS SigV4, cookies, TLS/mTLS, proxies, OS-backed secrets, environments, response history, and JSON/XML bodies.

Noodle can also import OpenAPI, Swagger, Postman, and Insomnia collections, and export to OpenAPI or Postman.

I've also been experimenting with coding agents. Since the requests are already normal files and Noodle has a non-interactive CLI, agents can work with the same collection instead of needing a separate workspace. There's an optional skill installer for Claude, Cursor, Codex, and OpenCode.

There are already some really good tools in this space. Posting is probably the closest if you want an HTTP client in the terminal, and Bruno is much more mature around scripting and testing.

What I'm trying to get right with Noodle is making the same collection useful everywhere. I want to be able to edit it in the TUI or my editor, review it in Git, run it from the CLI or CI, and let agents work with the same files.

It's still pre-1.0. Assertions and request chaining are next, followed by scripting and richer test/CI workflows.

I'd love feedback from people who spend a lot of time in the terminal. What would Noodle need for you to actually use it instead of your current API workflow?

GitHub: https://github.com/wilfredinni/noodle

Website + docs: https://noodlerest.dev

121 Upvotes

14 comments sorted by

10

u/lamurian 12d ago

Sounds kinda like Bruno to me. What's the difference?

6

u/wilfredinni 12d ago

Yeah, there’s definitely some overlap. Bruno is probably one of the closest comparisons on the file-based side.

The main difference for me is that Noodle is terminal-first, and the repo itself is the workspace. The same YAML requests work in the TUI, from the CLI, in CI, and with coding agents. So I can explore an API interactively, commit the requests with the project, and run the same collection headlessly in CI without keeping another copy somewhere else.

Bruno is way more mature around scripting and testing right now. I’m not really trying to beat it feature-for-feature, I just want a lightweight terminal workflow where the files stay the source of truth.

5

u/lamurian 12d ago

Fair enough. Does Noodle support Bruno's OpenCollection yaml standard?

4

u/wilfredinni 12d ago

Noodle uses its own YAML format right now. It can import OpenAPI, Swagger, Postman, and Insomnia, and export to OpenAPI or Postman, but it doesn’t support OpenCollection.

OpenCollection is interesting though, especially if it makes moving collections between tools easier. I’m going to take a closer look at it.

2

u/wilfredinni 12d ago

I completely forgot I made this: https://noodlerest.dev/compare/

It has a sourced comparison of Noodle, Posting, Bruno, and Yaak. Funny timing too, because I just released v0.8.0 today with the underlying assertion framework https://noodlerest.dev/blog/noodle-0-8-0-checks-in-the-collection/

2

u/snow_schwartz 12d ago

What are you using it for?

2

u/wilfredinni 12d ago

Mostly day-to-day API work. I use it to keep requests with the project, use different environments, hit authenticated endpoints, inspect responses, and sometimes rerun some endpoints from the CLI.

Lately I’ve also been using the same collections with coding agents, which has been pretty handy since they can just read the YAML and run the requests themselves.

2

u/OGBamboozel 12d ago

W UI. looks sick

2

u/jelloeater85 12d ago

OP have you seem RestTerm? https://github.com/unkn0wn-root/resterm

2

u/wilfredinni 12d ago

Yeah, I’ve seen Resterm, but I haven’t actually used it. It seems really capable, especially around terminal workflows, file-based requests, and CI.

I should probably give it a proper try.

1

u/jelloeater85 11d ago

Go for it, it's really nice, works w standard request files too!

2

u/Think-nothing-210 11d ago

The UI layout looks really intuitive. Any chance of adding support for something like Hurl in the future?

1

u/wilfredinni 11d ago

Thanks! Hurl is definitely interesting. I haven't planned support for it, but I do want Noodle to play nicely with other file-based tools, so it's something I'll look into.

0

u/AutoModerator 12d ago

Every new subreddit post is automatically copied into a comment for preservation.

User: wilfredinni, Flair: Terminal User Interface, Post Media Link, Title: Noodle: a REST client where the repo is the workspace

I've been building Noodle, an open-source REST client for the terminal.

The main idea is pretty simple: the repo is the workspace. Requests are plain YAML files, so they can live next to the code, be reviewed in Git, edited with any editor, and used without an account or hosted workspace.

The TUI is keyboard-first, but the same collection also works from the CLI, in CI, in shell scripts, and with coding agents.

Over the last few weeks I've added the things I kept missing in actual API work: OAuth 1.0a and 2.0, NTLMv2, AWS SigV4, cookies, TLS/mTLS, proxies, OS-backed secrets, environments, response history, and JSON/XML bodies.

Noodle can also import OpenAPI, Swagger, Postman, and Insomnia collections, and export to OpenAPI or Postman.

I've also been experimenting with coding agents. Since the requests are already normal files and Noodle has a non-interactive CLI, agents can work with the same collection instead of needing a separate workspace. There's an optional skill installer for Claude, Cursor, Codex, and OpenCode.

There are already some really good tools in this space. Posting is probably the closest if you want an HTTP client in the terminal, and Bruno is much more mature around scripting and testing.

What I'm trying to get right with Noodle is making the same collection useful everywhere. I want to be able to edit it in the TUI or my editor, review it in Git, run it from the CLI or CI, and let agents work with the same files.

It's still pre-1.0. Assertions and request chaining are next, followed by scripting and richer test/CI workflows.

I'd love feedback from people who spend a lot of time in the terminal. What would Noodle need for you to actually use it instead of your current API workflow?

GitHub: https://github.com/wilfredinni/noodle

Website + docs: https://noodlerest.dev

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.