mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-07-03 14:05:39 +02:00
55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# 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
|