Skip to content

Commit ada7b0b

Browse files
committed
chore: add reviewfixer configs
Change-Id: I4caa6d010f8f824aff1c38a7a73d08d47b400cce Signed-off-by: Thomas Kosiewski <tk@coder.com>
1 parent 432121f commit ada7b0b

3 files changed

Lines changed: 80 additions & 1 deletion

File tree

flake.lock

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33

44
inputs = {
55
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
6+
# Separate, fresh nixpkgs pin used only to build reviewfixer, which
7+
# requires Go >= 1.26.2 (newer than the main pin currently provides).
8+
nixpkgs-go.url = "github:NixOS/nixpkgs/nixos-unstable";
69
flake-utils.url = "github:numtide/flake-utils";
710
treefmt-nix.url = "github:numtide/treefmt-nix";
811
};
912

10-
outputs = { self, nixpkgs, flake-utils, treefmt-nix, ... }:
13+
outputs = { self, nixpkgs, nixpkgs-go, flake-utils, treefmt-nix, ... }:
1114
flake-utils.lib.eachDefaultSystem (system:
1215
let
1316
pkgs = import nixpkgs {
@@ -18,6 +21,33 @@
1821
];
1922
};
2023

24+
pkgsGo = import nixpkgs-go { inherit system; };
25+
26+
reviewfixer = pkgsGo.buildGoModule rec {
27+
pname = "reviewfixer";
28+
version = "0.1.0-beta.0";
29+
30+
src = pkgsGo.fetchFromGitHub {
31+
owner = "ThomasK33";
32+
repo = "reviewfixer";
33+
rev = "v${version}";
34+
hash = "sha256-hrnSm7ttpyUAtkre9micI2n9smKgzX5AmUcj3bJQjbU=";
35+
};
36+
37+
vendorHash = "sha256-yIWbmHFxmOeXBm5TMRsupy33DC6VAUYvZNSz5wa1yxA=";
38+
39+
# Upstream tests shell out to `git`, which isn't available in the
40+
# Nix build sandbox. Skip the test phase here.
41+
doCheck = false;
42+
43+
meta = with pkgsGo.lib; {
44+
description = "Local harness for working through review feedback on Graphite-managed stacked PRs";
45+
homepage = "https://github.com/ThomasK33/reviewfixer";
46+
license = licenses.mit;
47+
mainProgram = "reviewfixer";
48+
};
49+
};
50+
2151
treefmt = treefmt-nix.lib.evalModule pkgs {
2252
projectRootFile = "flake.nix";
2353
programs = {
@@ -56,6 +86,7 @@
5686
websocat
5787
jq
5888
fzf
89+
reviewfixer
5990
# claude-code
6091
];
6192
in

reviewfixer.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# yaml-language-server: $schema=https://raw.githubusercontent.com/ThomasK33/reviewfixer/refs/heads/main/reviewfixer.schema.json
2+
# Config for running reviewfixer against the Claude ACP adapter.
3+
#
4+
# Prerequisites:
5+
# - `node` and `npm`/`npx` available on PATH
6+
# - `ANTHROPIC_API_KEY` exported in the shell that launches reviewfixer
7+
#
8+
# Usage:
9+
# reviewfixer validate --config ./reviewfixer.yaml
10+
# reviewfixer --config ./reviewfixer.yaml
11+
# reviewfixer run --config ./reviewfixer.yaml
12+
#
13+
# If you install the adapter globally instead of using `npx`, you can replace:
14+
# command: npx
15+
# args: ["-y", "@agentclientprotocol/claude-agent-acp"]
16+
# with:
17+
# command: claude-agent-acp
18+
19+
runtime:
20+
kind: acp
21+
compact_on_resume: true
22+
acp:
23+
command: npx
24+
args:
25+
- -y
26+
- "@agentclientprotocol/claude-agent-acp"
27+
28+
review:
29+
request:
30+
- mode: comment
31+
comment: "/coder-agents-review"

0 commit comments

Comments
 (0)