Browse Substack newsletter posts
substack is a single pure-Go binary. It reads Substack newsletters through
their public REST API, shapes posts into clean records, and pipes into the rest
of your tools. No API key required.
go install github.com/tamnd/substack-cli/cmd/substack@latest
Or grab a prebuilt binary from the releases, or run the container image:
docker run --rm ghcr.io/tamnd/substack:latest --help
substack feed astralcodexten substack feed stratechery --limit 5 -o json substack --help substack version
cmd/substack/ thin main, wires cli.Root into fang
cli/ the cobra command tree
substack/ the library: HTTP client and data models
pkg/render/ shared table/json/jsonl/csv/tsv/url/raw renderer
docs/ tago documentation site
make build # ./bin/substack make test # go test ./... make vet # go vet ./...
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:
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.
Apache-2.0. See LICENSE.