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

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

Browse nLab mathematics wiki pages and definitions as structured records from the terminal
https://github.com/tamnd/nlab-cli

cli golang json mathematics nlab scraper wiki

Last synced: 1 day ago
JSON representation

Browse nLab mathematics wiki pages and definitions as structured records from the terminal

Awesome Lists containing this project

README

          

# nlab

Browse the nLab mathematics wiki

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

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

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

## Usage

```bash
nlab --help
nlab version
```

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

## Development

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

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