# 🤝 Contributing Guide Thanks for taking the time to contribute! This project thrives on clear, well-tested, idiomatic Go code. Here's how you can help:
## 📦 How to Contribute 1. Fork the repo. 2. Create a new branch. 3. Install the [pre-commit hooks](https://github.com/mrz1836/go-pre-commit). 4. Commit *one feature per commit*. 5. Write tests. 6. Open a pull request with a clear list of changes. More info on [pull requests](http://help.github.com/pull-requests/).
## 🧪 Testing All tests follow standard Go patterns. We love: * ✅ [Go Tests](https://golang.org/pkg/testing/) * 📘 [Go Examples](https://golang.org/pkg/testing/#hdr-Examples) * ⚡ [Go Benchmarks](https://golang.org/pkg/testing/#hdr-Benchmarks) Tests should be: * Easy to understand * Focused on one behavior * Fast This project aims for >= **90% code coverage**. Every code path must be tested to keep the Codecov badge green and CI passing.
## 🧹 Coding Conventions We follow [Effective Go](https://golang.org/doc/effective_go.html), plus: * 📖 [godoc](https://godoc.org/golang.org/x/tools/cmd/godoc) * 🧼 [golangci-lint](https://golangci-lint.run/) * 🧾 [Go Report Card](https://goreportcard.com/) Format your code with `gofmt`, lint with `golangci-lint`, and keep your diffs minimal.
## 📚 More Guidance For detailed workflows, commit standards, branch naming, PR templates, and more—read [AGENTS.md](./AGENTS.md). It’s the rulebook.
Let’s build something great. 💪