shobhit-testapi-cli
v1.0.0
Published
Interactive and incredibly easy-to-use CLI tool for testing APIs from your terminal.
Downloads
10
Maintainers
Readme
TestAPI CLI 🚀
An interactive and incredibly easy-to-use CLI tool for testing APIs directly from your terminal. Say goodbye to bloated UI apps just for checking simple endpoints!
Features
- Interactive Menu: Fully interactive CLI with
inquirer, guiding you through making requests step by step. - Direct Commands: Pass arguments directly via the terminal for instant responses (e.g.
testapi GET https://api.github.com). - Persistent History: Your requests history is saved automatically, so you can revisit past calls quickly.
- Custom Headers & Body: Easily add HTTP headers and JSON bodies.
- Syntax Highlighting & Loading Spinners: Beautiful output with
chalkandora.
Installation
You can install it globally using npm:
npm install -g testapi-cli(Note: Replace testapi-cli with your package's published name if it changes).
Usage
Interactive Mode
Run testapi without arguments to launch the interactive menu:
testapiFrom here you can:
- 📥 Make a Request (GET, POST, PUT, DELETE, PATCH)
- 📜 View History (Your last 50 requests)
- 🗑️ Clear History
- 🚪 Exit
Command-Line Arguments
Skip the interactive prompts by passing the method and URL directly:
testapi GET https://jsonplaceholder.typicode.com/todos/1Using Data (Body) and Headers:
testapi POST https://jsonplaceholder.typicode.com/posts \
-H "Content-Type: application/json" \
-H "Authorization: Bearer myToken123" \
-d '{"title": "foo", "body": "bar", "userId": 1}'Viewing / Clearing History Directly
testapi history
testapi clearDirectory Structure
testapi/
├── bin/
│ └── index.js # Entry point for the executable
├── src/
│ ├── cli/
│ │ └── menu.js # Main interactive menu logic
│ ├── commands/
│ │ ├── request.js # Request execution logic
│ │ └── history.js # History commands
│ ├── services/
│ │ └── http.js # Optional extra helpers
│ ├── store/
│ │ └── historyStore.js # Filesystem persistence for history
│ ├── utils/
│ │ └── logger.js # Chalk wrappers and UI styling
│ └── index.js # Bootstrapping and arg parsing
└── package.jsonLicense
MIT License.
