Development Setup¶
Prerequisites¶
- Go 1.24 or later
- mise (optional, for version management)
Clone and Build¶
Or without make:
If using mise:
Project Structure¶
prox/
├── cmd/
│ └── prox/
│ └── main.go # CLI entrypoint
├── internal/
│ ├── api/ # HTTP server and handlers
│ ├── cli/ # CLI command definitions
│ ├── config/ # YAML parsing, validation
│ ├── constants/ # Shared constants (timeouts, buffer sizes, defaults)
│ ├── daemon/ # Background daemon lifecycle, PID file, state file
│ ├── domain/ # Core domain types and error definitions
│ ├── logs/ # Log buffer, subscriptions
│ ├── proxy/ # Standalone proxy, request tracking, capture
│ ├── proxyd/ # Shared proxy daemon
│ ├── supervisor/ # Process orchestration
│ ├── tui/ # Bubbletea TUI
│ └── version/ # Build/version metadata
├── docs/ # Documentation
├── prox.yaml # Example config
├── go.mod
└── go.sum
Running Tests¶
Or without make:
Linting¶
Install golangci-lint:
Run linter:
Or without make:
Documentation¶
The documentation site is built with Zensical,
configured in zensical.toml.