summaryrefslogtreecommitdiff
path: root/docs/buildandinstall.md
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-09-15 09:20:01 +0300
committerPaul Buetow <paul@buetow.org>2025-09-15 09:20:01 +0300
commited91ea50b56fa6b0d4cc6d80ab7cc6d3584bb3d1 (patch)
treedc2aa9c16cf26caa662dc92d36f4e57da07095db /docs/buildandinstall.md
parentd1bc9ffe01f426e00bb83055bcebbb1e4d625a0a (diff)
docs: move build and install guide to its own file
Diffstat (limited to 'docs/buildandinstall.md')
-rw-r--r--docs/buildandinstall.md23
1 files changed, 23 insertions, 0 deletions
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`