Contributing
tryck is developed at github.com/Pinta365/tryck and released under the MIT licence. Issues and pull requests are welcome.
Reporting a bug
Open an issue at github.com/Pinta365/tryck/issues. A report that can be reproduced quickly is far easier to fix. Include:
- the output of
tryck version, - your operating system and architecture,
- the exact command you ran,
- the full diagnostic output, not just the last line,
- a minimal site that reproduces the problem, if you can make one.
tryck initin an empty directory is a good starting point; add the smallest file that shows the bug.
For a problem in the built-in theme, note the theme settings and whether you have a layouts/ or theme folder overriding anything. See Diagnostics for what the messages mean.
Feature requests
Open an issue that describes the problem you want to solve, not only the change you have in mind. Many additions can also be a plugin or a layout override. See Writing plugins.
Security issues
Report security problems privately with the Report a vulnerability button on the repository's Security tab. Do not open a public issue for them.
Development
Building and testing needs Go 1.26 or later.
1go test -race ./... # all tests
2gofmt -l . # formatting; must print nothing
3go vet ./... # static checks
4CGO_ENABLED=0 go build ./cmd/tryck # the binary
The build tests compare output against golden files under testdata/sites/*/expected. After an intentional change, accept the new output with:
1TRYCK_UPDATE=1 go test ./internal/build
There is a benchmark for the build pipeline:
1go test -run '^$' -bench . ./internal/build
These are the same checks the CI workflow runs. Run them before opening a pull request.
Building these docs
The documentation site in docs/ is built with tryck itself:
1go run ./cmd/tryck dev --config docs/tryck.config.yaml
Open http://127.0.0.1:8080/. The build must be clean, with no warnings or errors:
1go run ./cmd/tryck build --config docs/tryck.config.yaml