shellreq
v0.4.1
Published
A lightweight terminal-native API testing tool.
Maintainers
Readme
⚡ ShellReq
A lightweight, interactive terminal-native API testing tool for developers.
Fast. Scriptable. Beautiful TUI. Zero vulnerabilities.
Why ShellReq?
ShellReq brings the power of a modern API client directly into your terminal workflow — no heavy GUI apps needed.
- Interactive TUI — Full-screen terminal UI for managing requests.
- Fast CLI — Fire HTTP requests instantly without leaving your terminal.
- Git Friendly — Save requests as shell scripts or CI/CD steps.
- Environment Support — Use
.envfiles for multi-environment testing. - Zero Config — Install and start testing immediately.
- Secure — All dependencies pinned to exact versions, 0 known vulnerabilities.
Installation
npm install -g shellreqOr run instantly with npx:
npx shellreq uiInteractive TUI
Launch the full-screen terminal UI:
shellreq uiFeatures:
- Tab-based navigation: Editor → Response → History → Collections
- Method selector (GET, POST, PUT, PATCH, DELETE)
- JSON body editor for POST/PUT/PATCH
- Response viewer with status, timing, headers, and formatted body
- Auto-saves last 50 requests to history
- Collections for saving frequently used requests
- Keyboard shortcuts:
TABswitch tab,ENTERsend request,Qquit
CLI Usage
GET request
shellreq get https://jsonplaceholder.typicode.com/posts/1POST with JSON body
shellreq post https://jsonplaceholder.typicode.com/posts --json '{"title":"Hello","body":"World"}'Custom headers
shellreq get https://api.example.com/data -H "Authorization: Bearer TOKEN"Verbose mode (show response headers)
shellreq get https://jsonplaceholder.typicode.com/posts/1 --verboseDELETE
shellreq delete https://jsonplaceholder.typicode.com/posts/1Environment Variables
Create a .env file in your project root:
API_URL=https://jsonplaceholder.typicode.comUse placeholders in commands:
shellreq get "{{API_URL}}/posts/1"VS Code Extension
ShellReq is also available as a VS Code sidebar extension — a full API client without leaving your editor.
Download ShellReq API Client on VS Code Marketplace
Tech Stack
- HTTP — Node.js built-in
http/https(CLI & extension) - TUI — Ink (React for CLI)
- CLI Parsing — Commander.js
- Styling — Chalk
- Environment — Dotenv
Changelog
v0.4.1
- Security & Stability: Removed
axiosfrom the NPM package, replacing it completely with native Node.jshttp/httpsmodules. - Dependency Cleanup: Eliminated unnecessary native module overrides (
http,https,url) from dependencies to prevent supply chain risks. - Brought CLI networking on par with the VS Code extension for full consistency and safety.
v0.4.0
- Fixed VS Code extension webview: reliable tab switching and draggable splitter (mouse/touch) across platforms.
- Hardened webview scripting to avoid CSP/DOM timing issues and improved state sync with the extension host.
- Improved request handling and error reporting in the extension's network layer.
- Bumped package versions for CLI and extension; updated release notes and READMEs.
v0.3.0
- Removed
ink-boxandink-gradient(eliminated high CVE fromcross-spawnchain) - Pinned all dependencies to exact versions — 0 known vulnerabilities
- Replaced
axiosin TUI with nativefetch(Node 18+) - Fixed
backgroundColorprop errors in Ink components - Fixed
dotenv.config()options compatibility - Added
vitest.config.tsto exclude VS Code extension tests from npm test run - Updated React to 18.x for Ink 5.x compatibility
v0.2.0
- Interactive TUI with tab navigation
- History and Collections persistence
- Split-pane response viewer
v0.1.x
- Initial CLI release with GET, POST, PUT, PATCH, DELETE
- Environment variable support via
.env
Contributing
Open issues or PRs on GitHub.
