- Go 1.26+
- One TeX backend for integration tests:
texlive-latex-base+poppler-utils(Linux), MacTeX (macOS), ortectonic. - Unit tests (no TeX) run without any backend.
git clone https://github.com/floatpane/go-term-latex.git
cd go-term-latex
go mod tidygo build ./...
go test ./... # unit tests only, no TeX needed
go test -tags integration ./... # requires a TeX backend in PATHgofmt -l .
go vet ./...
golangci-lint runfeature/— new functionalityfix/— bug fixesdocs/— documentationrefactor/— no behavior change
type(scope): short description
Examples:
feat(backend): add miktex backend
fix(render): handle pdftoppm -1.png suffix on older poppler
docs: add physics package example to README
gofmt -l .is clean.go vet ./...is clean.go test ./...passes.- If you add or change a backend, test against a real TeX installation and note the backend version and OS in the PR description.
- Keep PRs focused — one logical change per PR.
If you modify the shell-out commands (exec.Command) or the document template
(buildDoc), re-read SECURITY.md and note in the PR that you've
considered injection and file-read risks.
We welcome AI-assisted contributions. Contributors are fully responsible for any code they submit.
What we expect: understand what you submit, review AI output carefully, no AI-generated issues or reviews, no tests that don't actually test anything.
What we won't accept: bulk AI refactors, hallucinated APIs, or contributions where the author clearly doesn't understand the changes.
This project follows the Contributor Covenant.