Clone
Read only, no credentials:
https://rodent.software/git/vole.git
Write over SSH with a registered key:
git clone ssh://git@0.0.0.0:2222/vole.git
A free and open-source forge that lives in your Git repo.
Developing Vole
Build
go build -tags libsqlite3,sqlite_fts5 -o vole ./cmd/vole
Vole links SQLite dynamically, so a build needs a C compiler and the SQLite
development headers (libsqlite3-dev on Debian and Ubuntu, sqlite-devel on
Fedora and RHEL). The library must be built with FTS5, which the distributions
above enable; global search uses it. The binary needs libsqlite3.so.0 on the
machine that runs it. go.mod pins the Go toolchain, so an older go on your
PATH fetches the right one on the first build.
Test
go test -tags sqlite_fts5 ./...
Before you push
vole workflow run verify
verify is everything CI runs: formatting, vet, build, the license and
vulnerability scans, the packages, the deployment files, Markdown links, and the
tests. Its steps live in
.vole/workflows/verify.yaml, so a local run and a
pushed run execute the same commands in the same image. That means it needs a
container runtime (Docker, Podman, or nerdctl) rather than the tools on your
PATH, and network access for module downloads: the job declares
network: bridge, so the runner that takes it is started with
--container-network bridge, and a local run defaults to the same network.
Using Vole as a library
Vole is also a Go library. See Architecture § Using Vole as a library.