An open API service indexing awesome lists of open source software.

https://github.com/tamnd/githubdocs-cli

Browse and search GitHub documentation articles and guides from the terminal
https://github.com/tamnd/githubdocs-cli

cli developer-tools documentation github golang scraper

Last synced: 2 days ago
JSON representation

Browse and search GitHub documentation articles and guides from the terminal

Awesome Lists containing this project

README

          

# ghdocs

Browse GitHub documentation

`ghdocs` is a single pure-Go binary. It speaks to githubdocs 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/githubdocs-cli/cmd/ghdocs@latest
```

Or grab a prebuilt binary from the [releases](https://github.com/tamnd/githubdocs-cli/releases), or run
the container image:

```bash
docker run --rm ghcr.io/tamnd/ghdocs:latest --help
```

## Usage

```bash
ghdocs --help
ghdocs version
```

This is a fresh scaffold. The command tree starts with `version`; build out the
real commands in `cli/` on top of the `githubdocs` library package.

## Development

```
cmd/ghdocs/ thin main, wires cli.Root into fang
cli/ the cobra command tree
githubdocs/ the library: HTTP client and data models
docs/ tago documentation site
```

```bash
make build # ./bin/ghdocs
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).