Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/zapstore/zsp/gogit clone --depth 1 https://github.com/zapstore/zspWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.00635 |
| Opus 5 | $0.00000 | $0.00318 |
| Sonnet 5 | $0.00000 | $0.00127 |
| Haiku 4.5 | $0.00000 | $0.00064 |
Grade A, and why
go scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Go Conventions
Style
- Standard library style. Run
gofmt. No third-party linters beyondgo vet. - Use
internal/for private packages. Public API surface should be minimal. - Prefer flat package structure within
internal/— one package per concern, not deep nesting. - Reference existing patterns in the same project before inventing new ones.
Error Handling
- Wrap errors with
fmt.Errorf("context: %w", err)— always add context. - Return errors; don't panic. Panics are only acceptable for programmer bugs (unreachable code).
- Use
errors.Is/errors.Asfor sentinel and typed error checks. - Define sentinel errors as package-level
var ErrFoo = errors.New("foo").
Testing
- Table-driven tests. Name subtests clearly.
- Test files live next to the code they test (
foo_test.gobesidefoo.go). - Use
testdata/for fixtures. - No test frameworks — standard
testingpackage only.
Dependencies
- Prefer the standard library. Add a dependency only when it saves significant complexity.
- All projects use
github.com/nbd-wtf/go-nostrfor Nostr operations. - Pin dependency versions via
go.sum. Rungo mod tidyafter changes.
Concurrency
- Use
context.Contextfor cancellation. Pass it as the first parameter. - Prefer
sync.WaitGrouporerrgroup.Groupover bare goroutines. - No goroutine leaks — every goroutine must have a clear shutdown path.
- Use channels for communication, mutexes for state protection. Don't mix.
Naming
- Short, clear names.
srcnotsourceManager.cfgnotconfiguration. - Interfaces describe behavior:
Signer,Publisher, notISignerInterface. - Acronyms are all-caps:
URL,HTTP,APK,ID.
Project Layout
main.go— entry point, minimal logic, delegates tointernal/.internal/— all business logic, one package per domain.testdata/— test fixtures, config examples.Makefile— build commands where applicable.
Build
- Use
-ldflagsfor version injection at build time. - Support
go install module@latestwith embedded build info fallback. - CGo is acceptable where needed (e.g. SQLite) but prefer pure Go when possible.
make(defaultbuildtarget) produces a single binary named after the project at the repo root.make allcross-compiles for all supported platforms intodist/as<binary>-<os>-<arch>.- Always pass
-trimpath -ldflags '-s -w'for reproducible, stripped binaries.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 63 lines · 0 tokens per session scan A 0fe6c1ef4b30
go is a cursor rule published in the GitHub repository zapstore/zsp (18 stars, last pushed 28d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 635 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.
Other cursor rules, from other repositories
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.
dev-standard
Apache Superset development standards and guidelines for Cursor IDE.
coolify-ai-docs
Master reference to all Coolify AI documentation in .ai/ directory.
typescript
Changes to these high-fan-out internals can affect every message, delta, element, or rerun. Keep work in them minimal, and benchmark changes with representative stress-test apps.
python_lib
Tips and guidelines specific to the development of the Streamlit Python library, not applicable to scripts and e2e tests.
specs
This directory contains product and tech specs for Streamlit features.