https://github.com/tamnd/uva-cli
Browse UVa Online Judge problems and problem sets from the terminal
https://github.com/tamnd/uva-cli
cli competitive-programming golang json scraper uva web-scraping
Last synced: 1 day ago
JSON representation
Browse UVa Online Judge problems and problem sets from the terminal
- Host: GitHub
- URL: https://github.com/tamnd/uva-cli
- Owner: tamnd
- License: apache-2.0
- Created: 2026-06-14T04:43:43.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-29T12:36:53.000Z (16 days ago)
- Last Synced: 2026-06-29T14:26:41.279Z (16 days ago)
- Topics: cli, competitive-programming, golang, json, scraper, uva, web-scraping
- Language: Go
- Size: 38.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# uva
A command line for uva.
`uva` is a single pure-Go binary. It speaks to uva over plain
HTTPS, shapes the responses into clean records, and pipes into the rest of your
tools. No API key, nothing to run alongside it.
## Install
```bash
go install github.com/tamnd/uva-cli/cmd/uva@latest
```
Or grab a prebuilt binary from the [releases](https://github.com/tamnd/uva-cli/releases), or run
the container image:
```bash
docker run --rm ghcr.io/tamnd/uva:latest --help
```
## Usage
```bash
uva --help
uva version
```
This is a fresh scaffold. The command tree starts with `version`; build out the
real commands in `cli/` on top of the `uva` library package.
## Development
```
cmd/uva/ thin main, wires cli.Root into fang
cli/ the cobra command tree
uva/ the library: HTTP client and data models
docs/ tago documentation site
```
```bash
make build # ./bin/uva
make test # go test ./...
make vet # go vet ./...
```
## Releasing
Push a version tag and GitHub Actions runs GoReleaser, which builds the
archives, Linux packages, the multi-arch GHCR image, checksums, SBOMs, and a
cosign signature:
```bash
git tag v0.1.0
git push --tags
```
The Homebrew and Scoop steps self-disable until their tokens exist, so the first
release works with no extra secrets.
## License
Apache-2.0. See [LICENSE](LICENSE).