

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# AGENTS.md23## Agent Instructions45> **Note for the AI agent:** Before running the startup script, verify that all dependencies and CLI tools are already available. If a `vendor/` directory exists **or** `go list -m -mod=readonly all` succeeds (indicating modules are cached), you may skip the entire startup script—including all `go mod` commands and `go install` steps. Otherwise, run the script as listed below.67### General coding practices89- When adding Go tests, always invoke `t.Parallel()` at the start of each test and subtest to maximize concurrency.10- Prefer `github.com/gofiber/utils/v2` helpers (for example, `utils.Trim`) when performing common operations such as string manipulation, whenever it is practical and appropriate for the surrounding code.11- Keep all protocol behavior RFC-compliant (e.g., HTTP/1.1 requirements) and document any intentional deviations.12- Protect hot paths from regressions: profile changes.13- Apply secure-by-default choices (validation, timeouts, sanitization) and ensure new code hardens attack surfaces.1415### Linter pitfalls (run `make lint` before every push)1617The linter is the most common reason CI fails for generated changes. Always run18`make lint` locally and fix every finding *before* committing — do not rely on19CI to surface them. The `golangci-lint` config (`.golangci.yml`) enables strict20`errcheck` settings (`check-type-assertions: true` and `check-blank: true`),21which trip up the patterns below:2223- **Never discard a type-assertion result with `_`.** `v, _ := x.(T)` fails24 `errcheck`. Use the comma-ok form and act on it instead:2526```go27 v, ok := x.(T)28 if !ok {29 v = T{} // explicit fallback; the zero value is fine when that's intended30 }31```3233- **Never discard a returned `error` with `_`** (`check-blank`). Handle it, or34 if it is genuinely safe to ignore, call the function without assignment or add35 a justified `//nolint:errcheck // reason` comment.3637- When in doubt, run `make lint` (or `golangci-lint run ./<pkg>/...`) and treat a38 non-zero exit as a blocker.3940---4142## Startup script (reference only – do not run)4344- Fetch dependencies:4546```bash47 go mod tidy && go mod download && go mod vendor48```4950- Install CLI tools referenced in Makefile:5152```bash53 go install gotest.tools/gotestsum@latest # test runner54 go install golang.org/x/vuln/cmd/govulncheck@latest # vulnerability scanner55 go install mvdan.cc/gofumpt@latest # code formatter56 go install github.com/tinylib/msgp@latest # msgp codegen57 go install github.com/vburenin/ifacemaker@f30b6f9bdbed4b5c4804ec9ba4a04a999525c202 # interface impls58 go install github.com/dkorunic/betteralign/cmd/betteralign@latest # struct alignment59 go mod tidy # clean up go.mod & go.sum60```6162## Makefile commands6364Use `make help` to list all available commands. Common targets include:6566- **audit**: run `go mod verify`, `go vet`, and `govulncheck` for quality checks.67- **benchmark**: run benchmarks with `go test`.68- **coverage**: generate a coverage report.69- **format**: apply formatting using `gofumpt`.70- **lint**: execute `golangci-lint`.71- **test**: run the test suite with `gotestsum`.72- **longtest**: run the test suite 15 times with shuffling enabled.73- **tidy**: clean and tidy dependencies.74- **betteralign**: optimize struct field alignment.75- **generate**: run `go generate` after installing msgp and ifacemaker.7677These targets can be invoked via `make <target>` as needed during development and testing.7879## Pull request guidelines8081- PR titles must start with a category prefix describing the change: `🐛 bug:`, `🔥 feat:`, `📒 docs:`, or `🧹 chore:`.82- Generated PR titles and bodies must summarize the *entire* set of changes on the branch (for example, based on `git log --oneline <base>..HEAD` or the full diff), **not** just the latest commit. The Summary section should reflect all modifications that will be merged.8384## Programmatic checks8586Before presenting final changes or submitting a pull request, run each of the87following commands and ensure they succeed. Include the command outputs in your88final response to confirm they were executed:8990```bash91make audit92make generate93make betteralign94make format95make lint96make test97```9899All checks must pass before the generated code can be merged.100101After completing the programmatic checks above, confirm that any relevant102documentation has been updated to reflect the changes made, including PR103instructions when applicable.104
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| gofiber/fiber.github/copilot-instructions.md · 40k | Copilot instructions | agent-behaviour | 31/100 | 13 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| vllm-project/vllmAGENTS.md · 89k | AGENTS.md | setuptestlint-formatstyle+5 | 100/100 | 14 days ago | |
| duckduckgo/content-scope-scriptsspecial-pages/AGENTS.md · 70 | AGENTS.md | buildteststylearch+3 | 100/100 | 14 days ago | |
| TryGhost/Ghoste2e/AGENTS.md · 55k | AGENTS.md | setupteststylearch+2 | 100/100 | today | |
| deepseek-ai/deepseek-harnessnative/landlock-run/AGENTS.md · 104k | AGENTS.md | setupteststylearch+3 | 100/100 | today | |
| aaif-goose/gooseAGENTS.md · 53k | AGENTS.md | setupbuildtestlint-format+7 | 100/100 | 8 days ago | |
| n8n-io/n8npackages/@n8n/agents/AGENTS.md · 201k | AGENTS.md | buildteststylearch+3 | 100/100 | 14 days ago | |
| code-yeongyu/oh-my-openagentpackages/web/AGENTS.md · 68k | AGENTS.md | setupbuildtestlint-format+6 | 100/100 | 13 days ago | |
| mui/material-uiAGENTS.md · 99k | AGENTS.md | setupbuildtestlint-format+9 | 100/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/gofiber-fiber-agents)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.