Skip to main content

Building

gligabao is pure Go and builds with CGO_ENABLED=0: SQLite uses the modernc.org/sqlite driver and the default vector store is chromem-go, so no C compiler is needed.
  • ./run_build.sh builds build/gligabao.
  • ./run_tests.sh runs the tests.
  • docker build . (or ./run_build_container.sh) builds a static binary in a container.
  • docker compose up --build builds and starts the server and the Python sidecar together on one network (see docker-compose.yml).
  • ./run_build_sidecar.sh builds the container image of the Python sidecar.
  • ./run_pypi.sh builds and uploads the PyPI packages: the Python client and the server.

Versioning

The version is in VERSION (semantic version) and the history in CHANGELOG.md (Keep a Changelog format). The version is embedded into the binary at build time (go:embed), so a deployed binary always knows it:
Every change bumps VERSION and adds a changelog entry; go test fails if the two disagree. The rules for people and coding agents are in AGENTS.md of the repository.