owl
A CLI tool for exploring OpenAPI spec files from the terminal.
Installation
go install github.com/rmakiyama/owl@latest
Or build from source:
git clone https://github.com/rmakiyama/owl.git
cd owl
go build -o owl .
Usage
owl [--file <path>] [--output text|json|yaml] <command>
Spec File Resolution
owl looks for a spec file in this order:
--file / -f flag
OWL_SPEC environment variable
- Auto-detection in the current directory (
openapi.yaml, openapi.yml, openapi.json, swagger.yaml, swagger.yml, swagger.json)
Global Flags
| Flag |
Short |
Description |
--file |
-f |
Path to OpenAPI spec file |
--output |
-o |
Output format: text (default), json, yaml |
Commands
owl tags
Shows all tags with their endpoint counts and descriptions.
ls — List all endpoints
owl ls
owl ls --tag users
| Flag |
Short |
Description |
--tag |
-t |
Filter endpoints by tag |
search — Search endpoints by keyword
owl search user
owl search --path login
owl search --desc authentication
Searches across paths, summaries, descriptions, parameter names, and request body properties. Matching keywords are highlighted in the output.
| Flag |
Short |
Description |
--path |
-p |
Search paths only |
--desc |
-d |
Search summary/description only |
show — Show operation details
owl show GET /users/{id}
Displays full details for a specific operation: summary, description, parameters, request body schema, and responses with their schemas.
The default text format renders colored tables in the terminal. Use --output json or --output yaml for machine-readable output:
owl ls -o json
owl show GET /users -o yaml
License
MIT