docs(adr): adr template, design principles adr #26
@@ -0,0 +1,48 @@
|
|||||||
|
# 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`).
|
||||||
@@ -33,6 +33,7 @@ Do not equate them.
|
|||||||
- [ ] Update the `README.md` and `doc.go` to reflect these principles.
|
- [ ] Update the `README.md` and `doc.go` to reflect these principles.
|
||||||
- [ ] Update the contributing guide and pull request template to require these principles are met.
|
- [ ] Update the contributing guide and pull request template to require these principles are met.
|
||||||
2. The repository should contain a living document, describing the interface differences between `go-cuckoo` and `map`.
|
2. The repository should contain a living document, describing the interface differences between `go-cuckoo` and `map`.
|
||||||
|
(I already started work on branch `docs/interface-congruency-analysis`.)
|
||||||
I should prioritize limiting any incongruencies.
|
I should prioritize limiting any incongruencies.
|
||||||
- [ ] Produce the first draft to uncover any current incongruencies.
|
- [ ] Produce the first draft to uncover any current incongruencies.
|
||||||
- [ ] Link the document to the `README.md`.
|
- [ ] Link the document to the `README.md`.
|
||||||
|
|||||||
Reference in New Issue
Block a user