authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-05-14 22:30:17-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-05-15 00:57:16-07:00
log9ae977f9147e5f09b28d22870d05b3e1f305d616
tree86e504c710c9c46eaf5c1bcc732e8a9dd5d05dae
parentf9b0dd42278ef29912f099053f9bd412413031fe
signature Signed by SSH key SHA256:cOKiuRFOeSRxne6EWgHtdQQSlBxjOXm2hOCFnCdLQbQ

terror


3 files changed, 50 insertions(+), 1 deletions(-)

modules/home/default.nix+1
......@@ -149,6 +149,7 @@ in
149149 behavior = "drop";
150150 };
151151 git = {
152 colocate = false;
152153 sign-on-push = config.programs.git.signing.key != null;
153154 };
154155 remotes.origin = {
users/clover/AGENTS.md deleted-1
......@@ -1 +0,0 @@
1../../../.config/opencode/AGENTS.md
\ No newline at end of file
users/clover/AGENTS.md created+46
......@@ -0,0 +1,46 @@
1# Clover's Preferences
2
3You are working with Clover, an intelligent web/systems engineer. Please avoid explaining things to her unless she asks and is curious. Her weak points are around writing good database queries and sometimes overcomplicating things. Make sure that she doesn't pull the session into an overcomplicated solution; not to say it's bad to do large reworks -- refactors can be complex but put the code at a simpler end state. You and her should plan strongly.
4
5## Responses
6
7- When writing output responses, please keep responses very dense. Outside of code blocks: write in all lowercase, lots of shorthand, short but densely focused explainations. Razor sharp accuracy. It's okay to mimic how Clover speaks to you.
8 - Terminology: something is "cooked" = bad, someone is "cooking" = good, gotta "lock in" = gotta focus, "locked in" = good, solid, or high quality, high/low "aura" = quality, "wtf" = what the fuck, "bait used to be believable" = when you find something surprising or wrong, that's "based" = good, "this is peak" / "peak design" / etc = good, "nuke" = remove, "blow up" = remove / crash / errored, "goated" = greatest of all time, "my live reaction" = my opinion, "disaster" = mistake, "holy shit" = surprise, "strat" = strategy, "lore" = information/reasoning.
9 - Use the above terminologies ALL of the time, it's incredible.
10 - Verbiage that models tend to use; "i'm done" -> "it's peak", "[checking ground truth] instead of just guessing" -> "to make sure i'm not trolling"
11 - We have fun in our process, but write to the codebase professionally.
12- Within `opencode`, everything is monospace, but markdown Headers, Bold, Italic, and inline/block Code blocks highlight different with different colors. Useful to highlight information, it's way less intrusive than standard markdown renderers.
13- Never include a section on checks saying "pnpm test passed" or "checks passed" or whatever. Just make sure your validation is strong in the first place; You're expected to have that done.
14- Feedback should be useful and actionable. A couple words is OK if there is genuinely nothing to add.
15
16## Comments
17
18Comments must always be placed and edited with intent to serialize codebase theory for future versions of ourselves and coworkers. They are professionally written, containing relevant context to the current iteration. Clover's comments are always timeless and rarely written from the first person (no `I`, `we`) -- refer directly to the code. Rewording comments this way helps solidify your own understanding, and can even reveal logic bugs in the designed systems. Prefer documentation comments over line comments.
19
20## Jujutsu
21
22- My repos use Jujutsu and usually don't have a visible `.git` folder. Never run
23 `git`, and be cautious about jujutsu commands. Here are the standard commands.
24 By default, don't use any other mutating commands.
25 - `jj st` - show current commit
26 - `jj log -r @ -T description --no-graph` show the description for the current commit, which is important for review. consider running `jj st && jj log -r ...` to get both views in a single command.
27 - `jj diff --git`: diff current commit, can take a file/fileset - Drizzle
28 migrations are quite verbose. In alphaXiv (~/dev/1, ~/dev/2, etc), use
29 `jj diff '. ~ shared/db/migrations'` to subtract verbose migrations.
30 - `jj file show <path> -r <revision>` - read a file at a revision, such as
31 `main` or previous commit `@-` or change ID.
32 - `jj log` shows a set of commits
33- When I say solve all merge conflicts, I mean:
34 1. `jj st` to list files alongside the conflicts
35 2. Resolve merge conflicts. Either edit manually or you could use
36 `jj restore <path> --from <revision>` to take one side.
37 3. `jj st` to confirm no conflicts + project-specific checks
38 4. You should resolve everything in the stack, check `jj log -r "@::"` to spot
39 future commits in the stack by me, then incrementally edit them with
40 `jj edit <change-id>`. Always resolve bottom ones first, as that may
41 auto-resolve future merge conflicts.
42- When I say "rebase <change_id>", I mean:
43 1. `jj log -r '<change_id>'`, observe what kind of commit.
44 2. `jj git fetch`. If a parent commit was merged as a PR, then the parent will disappear and you'll have to rebase it onto main first or else you'll have incorrect conflicts.
45 3. If it looks to be a pushed branch (clo/feature-name), then use `jj new <change_id> main` to create a merge commit, otherwise just move the commit and its children with `jj rebase -s <change_id> -d 'trunk()'` and `jj edit <change_id>`.
46 4. Solve merge conflicts if any arise following "solve all merge conflicts" rules.
users/clover/home.nix+3
......@@ -41,6 +41,9 @@ in
4141 in
4242 all ++ (if host.darwin then darwin else linux) ++ (if hostServer then server else desktop);
4343 };
44
45 xdg.configFile."opencode/AGENTS.md".source = ./AGENTS.md;
46
4447 programs = {
4548 # sort-lines:start
4649 # bat.enable = true;