Files
2026-06-25 13:19:05 +00:00

1.8 KiB

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