docs(adr): adr template, design principles adr #26

Merged
mvhutz merged 20 commits from docs/contract-v2 into main 2026-07-05 01:27:01 +00:00
Showing only changes of commit 192ca9d853 - Show all commits
-48
View File
@@ -1,48 +0,0 @@
# AGENTS.md
## Git hosting: this is Gitea, not GitHub
`go-cuckoo` is hosted on a self-hosted Gitea instance, not GitHub. `gh` will
not work against it — use the `tea` CLI instead.
- Remote: `git@git.maximhutz.com:tools/go-cuckoo.git`
- Repo slug for `tea`: `tools/go-cuckoo`
- PR URLs look like `https://git.maximhutz.com/tools/go-cuckoo/pulls/<N>`
(path is `pulls`, matching `tea`'s `pulls` command — not `pull`).
## Inspecting a PR
Get metadata as JSON:
```sh
tea pulls --repo tools/go-cuckoo -o json \
-f "index,title,state,author,base,head,body,labels" <PR#>
```
Non-interactive sessions print a one-line `NOTE: no gitea login detected,
falling back to login '<name>'` on stderr before the JSON — expected, not an
error.
Useful fields from the JSON: `base` / `head` (branch names), `headSha`,
`diffUrl` (`<pr-url>.diff`, fetchable without auth via plain `curl`/`WebFetch`
for a public repo).
**`-f diff` and `-f patch` are listed in `tea pulls --help` but are silently
dropped from JSON output — verified empirically, don't rely on them.** To get
the actual diff:
```sh
git fetch origin <base>
git diff origin/<base>...HEAD # only valid if local HEAD == PR's headSha
```
Check local `HEAD` against the PR's `headSha` first (`git rev-parse HEAD`) —
if they differ, the checkout isn't the PR branch and this diff is wrong.
Otherwise fall back to fetching `diffUrl` directly.
## Other `tea` subcommands that exist
`tea pulls list|checkout|create|review|approve|reject|merge|review-comments`,
plus top-level `tea issues`, `tea releases`, `tea labels`. Run
`tea <noun> --help` before assuming GitHub-shaped flags carry over — Gitea's
CLI has its own field names and defaults (e.g. `--state` defaults to `open`).