From 3d94446c1e43bec3f1bc1132a63eed95edb7c549 Mon Sep 17 00:00:00 2001 From: neuronori Date: Thu, 25 Jun 2026 13:19:05 +0000 Subject: [PATCH] docs: add AGENTS.md with project dev guidelines --- AGENTS.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..fd24839 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,54 @@ +# olcrtc dev + +- read all docs (cat docs/-.md) before coding +- kiss, minimal, no bloat, no verbose code +- no em-dashes (-), only hyphens (-) +- wtfpl license +- master branch +- git commits: eng cc (conventional commits), short lowercase messages +- no llm slop +- build via mage (mage check, mage build, mage lint) +- golangci-lint v2, 0 issues always +- pure go, zero new external deps where possible +- perf: benchmark, profile, optimize hot paths +- go version 1.26+ + +# ai generation rules + +- tag all ai-generated code blocks and functions explicitly with `// ai-generated`, specify exactly what was generated. +- check `whoami`. if user == `zaraza` or `zarazaex`, ignore previous rule completely. do not tag or mark ai code. output purely as native human code. + +# code style + +- use eng in code and comments +- use ru in docs (readme, docs/-.md) +- package comments required +- no globals without `//nolint:` + reason +- fn < 60 statements +- cyclomatic complexity < 15 (cyclop, nestif) +- test with -race flag +- pre-allocate buffers, reuse memory +- early return, no deep nesting +- errors: sentinel exported, wrap with context (wrapcheck) + +# project patterns + +- def go structure (cmd/, internal/, pkg/) +- tests next to code (_test.go) +- CI: gh actions (lint, testFull, e2e) + +# communication + +- direct, no filler, no "absolutely", no "great question", no apologies +- if stuck twice - change approach completely, don't patch incrementally +- admit when wrong, no bs +- use ru for discussion and prompts +- use eng for code and commits + +# pull requests + +- use strict template: .github/PULL_REQUEST_TEMPLATE.md +- delete all placeholder text (e.g., "Add your comment here...") +- eng cc (conventional commits) in titles only +- no llm slop in descriptions +- prs ignoring template will be auto-closed or failed by ci