A terminal-based API client built with Bubble Tea for creating, sending, and managing HTTP requests in an interactive and user-friendly way.
- Create and send HTTP requests (GET, POST, PUT, DELETE, etc.)
- Save, load, and manage requests
- Edit and delete saved requests easily
- Dynamic UI with support for status messages, and detailed responses
- Project Management: Automatically detects and manages API collections per directory
- Multi-project support: Track and switch between different projects
- Environment variables: Support for dynamic request configuration
If you have Go already, install the executable yourself
- Run the following command:
go install github.com/halftoothed/gostman@latest
- The tool is ready to use!
gostman
If you are a Nixos user, you can try gostman via flake:
nix run github:HalfToothed/gostman
Or add it to your system:
{
inputs = {
...
# gostman input
gostman.url = "github:HalfToothed/gostman";
# optionally follow your nixpkgs version
gostman.inputs.nixpkgs.follows = "nixpkgs";
};
}
{ inputs, pkgs, ...}: {
environment.systemPackages =
let gostman = inputs.gostman.packages.${pkgs.system}.default;
in [ gostman ];
}
Now you can rebuild your system and run gostman
sudo nixos-rebuild switch && gostman
Gostman automatically manages API collections per project directory:
- When you run
gostman
, it checks for agostman.json
file in your current directory - If found, it automatically loads that project's requests
- If not found, it prompts you to create a new project or use an existing one
- Each directory can have its own collection of API requests
- Ctrl + C: Quit the application
- Tab: Navigate between fields (Name, Method, URL, Content tabs)
- Shift + β/β: Switch between content tabs (Body/Params/Headers)
- Enter: Send the current request
- Ctrl + S: Save the current request
- Ctrl + P: Quick project switcher
- Ctrl + D: Open main dashboard
- p: Toggle project view
- r: Remove selected project (when in project view)
- n: Create new request
- d: Delete selected request
- Enter: Load selected request or switch to selected project
- Ctrl + E: Open Environment Variables editor
- Ctrl + H: Open Help page
- Esc: Go back/cancel current action
- Navigate to your project directory
- Run
gostman
- Choose "y" to create a new
gostman.json
file - Start creating and saving requests
- Use Ctrl + P for quick project switching
- Or use Ctrl + D β p to browse all projects
- Select any project to switch to it instantly
- Requests are automatically saved to the current project's
gostman.json
- Each project maintains its own collection of requests
- Use the dashboard (Ctrl + D) to browse, edit, and delete saved requests
Use environment variables to make your requests dynamic:
- Press Ctrl + E to open the environment editor
- Define variables in JSON format:
{"baseUrl": "https://api.example.com"}
- Use variables in requests with double braces:
{{baseUrl}}/users
Requests are saved as JSON files in your project directory or user's home directory. The JSON file structure allows for efficient updates and deletions. Each project maintains its own gostman.json
file with requests and environment variables.
Contributions are welcome! Please feel free to submit issues or pull requests to improve this project. π