thanks for your interest in improving GoDocHive! this is a small project, so the process is light.
- fork and clone the repo.
- make sure you have Go 1.25+ installed.
- build and run the tests:
go build -o hiver ./cmd/hiver go test ./... - run it against a folder of docs to try your change:
then open http://127.0.0.1:3030/search
./hiver -path /path/to/docs
cmd/hiver— the entrypoint (flags, config, server lifecycle)internal/index— index lifecycle, document extraction, the live-reindex watcherinternal/search— query execution and result mappinginternal/server— http handlers, middleware, embedded templates/assets, metrics
- run the full audit (the same checks CI runs):
this runs gofmt/vet, staticcheck, govulncheck, and the race-enabled tests.
make audit - keep changes focused — one logical change per pull request.
- add or update tests for any behavior you change.
- follow the existing style: small packages under
internal/, structured logging vialog/slog, and no new package-level mutable state (pass dependencies explicitly).
use short, present-tense messages with a type prefix, e.g. feat:, fix:, docs:, refactor:, test:, ci:. this keeps the history readable and feeds the release changelog.
open an issue using one of the templates. for bugs, include the exact command and flags you ran, your OS, what you expected, and what actually happened.
be respectful and constructive. that's the whole policy.