From ed91ea50b56fa6b0d4cc6d80ab7cc6d3584bb3d1 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 15 Sep 2025 09:20:01 +0300 Subject: docs: move build and install guide to its own file --- README.md | 27 ++------------------------- docs/buildandinstall.md | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 25 deletions(-) create mode 100644 docs/buildandinstall.md diff --git a/README.md b/README.md index a2b1836..7fb9bf3 100644 --- a/README.md +++ b/README.md @@ -18,34 +18,11 @@ It has got improved capabilities for Go code understanding (for example, create ## Documentation -* [Configuration guide](docs/configuration.md) +* [Configuration guide](docs/configuration.md) +* [Build and install guide](docs/buildandinstall.md) * [Usage examples](docs/usage.md) * [Helix + tmux quickstart](docs/tmux.md) -## Build and tasks - -Hexai uses Mage for developer tasks. Install Mage, then run targets like build, dev, test, and install. - -- Install Mage: `go install github.com/magefile/mage@latest` -- Build binaries: `mage build` (produces `hexai`, `hexai-lsp`, and `hexai-tmux-action`) -- Dev build (+ tests, vet, lint): `mage dev` -- Run tests: `mage test` -- Run tests with coverage: `go test ./... -cover` -- Full cross-package coverage and HTML report: `mage coverage` (writes `docs/coverage.html`) -- In restricted sandboxes/CI (no sockets), skip network-based tests: - - `HEXAI_TEST_SKIP_NET=1 go test ./... -cover` -- Install binaries to `GOPATH/bin`: `mage install` - -Note: `mage lint` uses `golangci-lint`. Install via `mage devinstall` if needed. - -## Install - -Either use the Mage method as mentioned above, or install directly with: - -- CLI: `go install codeberg.org/snonux/hexai/cmd/hexai@latest` -- LSP: `go install codeberg.org/snonux/hexai/cmd/hexai-lsp@latest` -- Action runner: `go install codeberg.org/snonux/hexai/cmd/hexai-tmux-action@latest` - ## Hexai CLI - When invoked without arguments, `hexai` opens your editor (`$HEXAI_EDITOR` or `$EDITOR`) on a temporary `.md` file to capture a prompt, and combines it with any piped stdin. diff --git a/docs/buildandinstall.md b/docs/buildandinstall.md new file mode 100644 index 0000000..7400eda --- /dev/null +++ b/docs/buildandinstall.md @@ -0,0 +1,23 @@ +## Build and tasks + +Hexai uses Mage for developer tasks. Install Mage, then run targets like build, dev, test, and install. + +- Install Mage: `go install github.com/magefile/mage@latest` +- Build binaries: `mage build` (produces `hexai`, `hexai-lsp`, and `hexai-tmux-action`) +- Dev build (+ tests, vet, lint): `mage dev` +- Run tests: `mage test` +- Run tests with coverage: `go test ./... -cover` +- Full cross-package coverage and HTML report: `mage coverage` (writes `docs/coverage.html`) +- In restricted sandboxes/CI (no sockets), skip network-based tests: + - `HEXAI_TEST_SKIP_NET=1 go test ./... -cover` +- Install binaries to `GOPATH/bin`: `mage install` + +Note: `mage lint` uses `golangci-lint`. Install via `mage devinstall` if needed. + +## Install + +Either use the Mage method as mentioned above, or install directly with: + +- CLI: `go install codeberg.org/snonux/hexai/cmd/hexai@latest` +- LSP: `go install codeberg.org/snonux/hexai/cmd/hexai-lsp@latest` +- Action runner: `go install codeberg.org/snonux/hexai/cmd/hexai-tmux-action@latest` -- cgit v1.2.3