How marketcalls/openalgo-cli works
OpenAlgo CLI is a process-oriented client for a user’s self-hosted trading API. The main workflow is command-line input → Cobra command dispatch → generated operation client → authenticated HTTP request to the OpenAlgo server → JSON/CSV output. The README also documents WebSocket monitoring, profile management, strategy operations, option tools, and agent-oriented discovery and dry-run behavior. The graph reflects documented capabilities where their implementation was not sampled; those links are omitted when source wiring is uncertain.
Main entry points: commands.gen.go Command handlers · root.go Command root · client.go HTTP transport · output.go JSON and CSV output
Components 21
CLI workflow
- Executable entry
cmd/openalgo/main.go - Command root
internal/cmd/root.go - Command handlers
internal/cmd/commands.gen.go - Help and schema
internal/cmd/help_all.go
Trading operations
- Order operations
internal/cmd/commands.gen.go - Account and positions
internal/cmd/commands.gen.go - Market and options
internal/cmd/commands.gen.go - Strategy operations
internal/cmd/commands.gen.go - Notifications
internal/cmd/commands.gen.go - Stream commands
internal/cmd/stream.go
API connectivity
- WebSocket streaming
internal/stream/stream.go - Generated API client
internal/api/openalgo_client.gen.go - HTTP transport
internal/client/client.go
Profiles and output
- Profile management
internal/cmd/profile.go - Configuration resolution
internal/config/config.go - Connectivity diagnostics
internal/cmd/doctor.go - JSON and CSV output
internal/output/output.go - Result filtering
internal/output/jq.go
Other components
- User or agent
- OpenAlgo server
- Terminal or pipeline
Connections 22
- User or agent → Executable entry: runs CLI
- Executable entry → Command root: executes
- Command root → Command handlers: dispatches
- Command root → Help and schema: offers discovery
- Command handlers → Order operations: routes order commands
- Command handlers → Account and positions: routes account commands
- Command handlers → Market and options: routes market commands
- Command handlers → Strategy operations: routes strategy commands
- Command handlers → Notifications: routes notification commands
- Command handlers → Generated API client: invokes operations
- Stream commands → WebSocket streaming: starts stream
- WebSocket streaming → OpenAlgo server: subscribes over WebSocket
- Profile management → Configuration resolution: stores and resolves
- Command root → Configuration resolution: loads settings
- Connectivity diagnostics → HTTP transport: checks connectivity
- Generated API client → HTTP transport: sends API calls
- HTTP transport → OpenAlgo server: requests HTTP API
- OpenAlgo server → HTTP transport: returns response
- Command handlers → JSON and CSV output: renders results
- JSON and CSV output → Result filtering: filters when requested
- JSON and CSV output → Terminal or pipeline: writes data
- Stream commands → Terminal or pipeline: emits NDJSON