f96fdbdf51
Co-authored-by: Cursor <cursoragent@cursor.com>
2.0 KiB
2.0 KiB
Shared Context — tinqs-git
Rules shared across all agents working in this repo.
Go module identity
The Go module path is code.gitea.io/gitea. Never rename this. It is the canonical import path for the entire Gitea ecosystem. Renaming it would break every internal import and make upstream rebase impossible.
Build tags
The canonical build tags for our fork:
bindata ← embed frontend assets into binary
sqlite ← compile SQLite via CGo (required)
sqlite_unlock_notify ← SQLite performance optimization
Add gogit if using the pure-Go Git implementation instead of system git. Not needed for Linux builds.
Branch discipline
main= upstream tracking. Never commit directly. Onlygit pull origin main+git rebase.tinqs/main= our fork. All customizations live here. Rebase ontomainquarterly.- Feature branches:
tinqs/phase-N→ merge intotinqs/mainwhen done.
What never changes
models/— DB schema. Upstream owns this. We ride their migrations.go.modmodule path — stayscode.gitea.io/gitea.main.goentry point — stays as-is.modules/setting/config keys — add new keys, never remove or rename existing ones.
What we can change
modules/— add new packages (lfs/, auth/, billing/)routers/— add new routes, modify templatestemplates/— branding, landing pageweb_src/— CSS theme, JS componentspublic/— logo, favicon, static assetsoptions/locale/— translation stringsMakefile— binary name, LDFLAGS.gitea/workflows/— CI pipelines
Test before push
make test-sqlite # SQLite integration tests (our DB)
make test-backend # Go unit tests
make lint # all linters
Commit style
- Prefix:
feat:,fix:,chore:,docs:,ci:,branding: - Reference epic phase when relevant:
feat(lfs): auto-track game asset patterns (phase 2) - Never commit
gitea.dbornode_modules/