https://github.com/tamnd/classcentral-cli
Search online courses, reviews, and providers on Class Central as JSON or table output
https://github.com/tamnd/classcentral-cli
classcentral cli golang json mooc scraper web-scraping
Last synced: 1 day ago
JSON representation
Search online courses, reviews, and providers on Class Central as JSON or table output
- Host: GitHub
- URL: https://github.com/tamnd/classcentral-cli
- Owner: tamnd
- License: apache-2.0
- Created: 2026-06-13T19:30:06.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-29T14:28:09.000Z (16 days ago)
- Last Synced: 2026-06-29T16:25:51.678Z (16 days ago)
- Topics: classcentral, cli, golang, json, mooc, scraper, web-scraping
- Language: Go
- Size: 53.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cc
Search online courses on Class Central
`cc` is a single pure-Go binary. It speaks to classcentral 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/classcentral-cli/cmd/cc@latest
```
Or grab a prebuilt binary from the [releases](https://github.com/tamnd/classcentral-cli/releases), or run
the container image:
```bash
docker run --rm ghcr.io/tamnd/cc:latest --help
```
## Usage
```bash
cc --help
cc version
```
This is a fresh scaffold. The command tree starts with `version`; build out the
real commands in `cli/` on top of the `classcentral` library package.
## Development
```
cmd/cc/ thin main, wires cli.Root into fang
cli/ the cobra command tree
classcentral/ the library: HTTP client and data models
docs/ tago documentation site
```
```bash
make build # ./bin/cc
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).