thunderbird-patch-review
Easy-to-use patch review interface for Thunderbird
Contribute: ~marcc/thunderbird-review-plugin@lists.sr.ht
git clone git://mccd.space/thunderbird-patch-review
| Log | Files | Refs | README | LICENSE |
commit b56adf51c3e0a5e448f59bcbfbf6b04509439982 parent af77b22e578a1acf65a8e967b81760c7f14181f6 Author: Pi Agent <agent@pi.local> Date: Sat, 18 Jul 2026 12:48:19 +0200 docs: add AGENTS.md with atomic-commit policy and repo layout Diffstat:
| A | AGENTS.md | | | 37 | +++++++++++++++++++++++++++++++++++++ |
1 file changed, 37 insertions(+), 0 deletions(-)
diff --git a/AGENTS.md b/AGENTS.md
@@ -0,0 +1,36 @@
+# Agent Notes
+
+## Commits
+
+Commits must be **atomic**: each commit is a single, self-contained change
+that builds and passes the tests on its own. Do not bundle unrelated edits
+into one commit, and do not leave a change half-finished across commits. If
+a task touches more than one concern, split it into a series of small
+commits, each with a focused message describing exactly that concern.
+
+Scope of "atomic" here:
+
+- One logical change per commit (a fix, a feature, a refactor — not mixed).
+- The extension still loads and `tests/run.mjs` / `tests/host-test.sh` still
+ pass after every commit, not only at the tip of the series.
+- The commit message subject line summarizes the single concern; the body,
+ when needed, explains why.
+
+## Repository layout
+
+- `extension/` — the Thunderbird MailExtension (manifest v2, no build step).
+ - `review/review.{html,css,js}` — the review tab UI.
+ - `modules/` — pure modules: diff parsing, intraline highlight, reply
+ formatting, review storage, series collection, sourcehut, native bridge.
+ - `background.js` — background service worker driving the host and tabs.
+- `host/` — the native messaging host (`review-host.sh`, POSIX sh) and its
+ install scripts.
+- `tests/` — `run.mjs` exercises the pure modules against fixtures; generate
+ fixtures with `gen-fixtures.sh`; `host-test.sh` drives the host end-to-end.
+
+## Running the tests
+
+```
+node tests/run.mjs # pure modules
+sh tests/host-test.sh # native host, end-to-end
+```
+\ No newline at end of file