Compare commits

...

2 commits

Author SHA1 Message Date
04c1be5694 more misc edits 2025-08-14 11:34:14 -04:00
5a281c8386 misc edits 2025-08-11 10:56:57 -04:00
6 changed files with 148 additions and 71 deletions

View file

@ -0,0 +1,71 @@
#!/usr/bin/env bash
if [[ "$1" == "--help" || "$1" == "-h" ]]; then
echo "usage: $0 <repo_name> <branch_name>"
echo "example: $0 k-repo foo-branch1"
exit 0
fi
if [ $# -lt 1 ] || [ $# -gt 2 ]; then
echo "error: invalid number of arguments"
echo "usage: $0 <repo_name> <branch_name>"
echo "run with --help for more information"
exit 1
fi
REPO_NAME="$1"
BRANCH_NAME="$2"
REPO_PATH="$HOME/Klaviyo/Repos/$REPO_NAME"
if [ ! -d "$REPO_PATH" ]; then
echo "error: repository directory does not exist: $REPO_PATH"
exit 1
fi
cd "$REPO_PATH" || exit 1
if [ $# -eq 1 ]; then
echo "no branch name provided. listing github prs..."
PR_LIST=$(gh pr list --limit 300 --json number,title,headRefName \
--template '{{range .}}{{.number}} | {{.title}} |{{.headRefName}}{{"\n"}}{{end}}')
if [ -z "$PR_LIST" ]; then
echo "error: failed to fetch pr list from github"
exit 1
fi
SELECTED_PR=$(echo "$PR_LIST" | fzf --delimiter='|' --with-nth=1,2 --prompt='pick a github pr > ' | awk -F'|' '{print $3}')
if [ -z "$SELECTED_PR" ]; then
echo "no pr selected"
exit 1
fi
BRANCH_NAME="$SELECTED_PR"
fi
# Escape branch name for filesystem use
SAFE_BRANCH_NAME=$(echo "$BRANCH_NAME" | sed 's/\//_/g' | sed 's/+/-/g')
PR_NUMBER=""
if [ -n "$BRANCH_NAME" ]; then
PR_NUMBER=$(echo "$PR_LIST" | grep "|.*$BRANCH_NAME$" | awk -F'|' '{print $1}' | head -1 | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
fi
jj git fetch || exit 1
PARENT_DIR="$HOME/projects/work/reviews/$REPO_NAME"
mkdir -p "$PARENT_DIR" || exit 1
if [ -n "$PR_NUMBER" ]; then
WORKSPACE_DIR="$PARENT_DIR/${PR_NUMBER}_${SAFE_BRANCH_NAME}"
else
WORKSPACE_DIR="$PARENT_DIR/$SAFE_BRANCH_NAME"
fi
jj workspace add "$WORKSPACE_DIR" -r "$BRANCH_NAME@origin" || exit 1
echo "successfully created workspace for $REPO_NAME/$BRANCH_NAME"
prr get "klaviyo/$REPO_NAME/$PR_NUMBER"
echo "cd $WORKSPACE_DIR && prr edit klaviyo/$REPO_NAME/$PR_NUMBER"

View file

@ -1,9 +1,3 @@
{{ if eq .hosttype "personal" -}}
model: ollama_chat/qwen2.5-coder:14b
{{ else -}}
model: openai/gpt-4.1
{{- end }}
cache-prompts: true
gitignore: false
auto-commits: false

View file

@ -97,3 +97,6 @@ find_note() {
git log --oneline -G"$1"
}
alias aider-gh="aider --openai-api-base $GH_OPENAI_BASE_URL --openai-api-key $GH_OPENAI_API_KEY --model $GH_OPENAI_MODEL --no-git"
alias aider-lms="aider --openai-api-base $LMS_OPENAI_BASE_URL --openai-api-key $LMS_OPENAI_API_KEY --model openai/$LMS_OPENAI_MODEL --no-git"

View file

@ -1,65 +1,68 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2L3gzTFIxaE9WR2JzN3lp
UzZEVTNXQXY2SE91dGRFcWNLN3NtajMwazNnCkRMbDg4Rk93UHlsTVJRVGRqTjdE
YXkzdi84b0doY0srUHgwbHJFVHdzN3MKLS0tIHZNSGJ0Uy9qNjIzaFN1dWJYQWxS
TmtycktSYSs1OHhYUHJnL2ZkdzZvZE0KvCJKYeXvW5yxHHNafd6igikywrQNglyX
pFXXnX4NVitpvIse6aVQie0src7guiKIZm+ZiaF1dkijCYETwCj+IAnmkSxEgkCq
+RTGxTHpxXTtCG8oOMQVojG3O8gkxww6ChkTTkeZbnekXu7tmYOdet84dDmkhlTm
0y9GfxSKEidCxWUoob5snCjLmWwpBhAQFHNRAjr06Kg+NdIq4y8Wyxylehjt5xcC
Z2DDdIHmnKmp0jeOvKwJUwCJrSZ65OqpdMhwq2d2Now8xUU0I+e22NYym/YACnIw
+XzjMXHonhvLw0d4UDtdnmblb/p8lXVOgrT+nN56xkFWDGU+yzDTQmOF9llGLpxs
0R2Sg5OW8MhRpKZVqRwv1/OdwhioVP1ex/oNuDm13nQkDc8hCJaREKGJhWWGuweo
0LvuUocjgl9jL2LDEyCszl5Zh+g6xIoZcwrAv3JkwbKijZFrn4RxL3YGBI6Q9HrQ
u56RaSgXmvUgiKLTNsvSOQcTSQR5r0ADvdP+CNdsVUqn19SqgOFNwDTfW1P3sDIX
hZ1pXo/8pwjfYHNnlMwbPWMDhsArcK3wyB0Jnzb8upVl/AYPAr4o9PMi6ihOYe/0
XY7wBauP0XRR8VaUXkqxp6M7Z47RlyspLnJss4mD375w0+a+juM6hIVLajENSHKY
MQ+1WyRgV0JwXNcNX5TfqzYSXHKKDe3GmlH2Z8ZVOuTlE3NhOYKwUkjcgfB8ypeH
zFuIYMQeNrl60yqu8iEnMAouYLoct7qiLuuq16e2xQPD6JWhatSbLzif8+i5fo/6
7OoRraBzZaaIKF04SrTVVT+jNSojZoD5Nt3ZBMgpfE8d86gdCux/k8WpRNVw93B1
JsgDs6+4cfTHqAN1WJwOrjn2sOSI0fXnHsc+j9X87dsPRcjLSx8gNFRorQfBfHWx
f1q7kcXvxmvfVcHQskiwGqoDd1xgExqxgS0H5qkNCu07X8vjpL5/MDcxNXBRSyF1
95UY0T9EOKK05AkSSzsYLeINEhkSpE2citc+xvtTwLV6B1b5y5bdKeiiksrU8vP2
sxtmew48G7LDoHSRR6pQFVWe6u3NuxPiOBg2sGbVtELVzUdg++aG7rSNZH4lyehc
l9qW5rYfeT88G5gyerQUJ1IlSnfj78RPFYARi8tBelSpeJph23t0bpu/NrNcHSKe
2kSkKeBR+VR7qerSnhJscQ04nUmOudFDv9YMSGdyKtfjWmodA7sM/6hsjd1R8fGB
LNC+oRUYBKc5CqWG53USRiPjmtQsA7hOMdthdj1U73gRFhEQItLT+t0TIjRO9ysj
ri6ob0cCXblvHRlfeyB/DcWsNtNlBC0F3UFfRpJOl/OJLNavDK8Fmot6U2XibK0D
WVlIGfhMglLQqeerpQ1X8WzeKP7V1p7dqjAOu2YCjlmI2Nma84jaHtUSNA75cBJg
ML16s+7JhcNjd8RO7vG5yBR+OdxYA35Ayq+vLGKLQPTcDhjZZOwGe0/A1Qq4lKKn
tVFpQNIpF2pBTdEUSkf9gXCwY3M9aNv4YtZSlaizK0172GFmNgpUnSrDSmRIlXlW
FsVi94hIWBIxJtyCsJyFJf2cq1DZFnIBQtQGsbc52jxDFgufQvQ5cQBgg/oy1mgu
g6MNS12h5cJBeZkzIb9NFYZ3VO/XijYllqcGsf9x+jREspJvCceyPYeB910n23hw
0SUjpwbAHJ41raaDExuY9xmkOgGjI0gkd06ib/P8VLZVzWgUSrh24EXG4UgzXSab
YuGKklLNF4gooRrnvFgADW6VxMKKBP+U8UsGGiQ78RBVkP+QKrv+NiTiNVIL3s4M
rYRoRUmqlqV5Z5mWrVkZ1+Zzux89V2ws92QqmClx3PBcsLsW99bYWVfw9aYvxS7J
YD0cfFrb96xeOvjKToshkummUdrXGsRh18H2KKrK7fyfO/Ciq5ONCtjQP0nOIFSy
mZ0i5UA0nlP4GzCjziTLXGib3U5HMoPhd79bNjwSkhAdxUNm01J6WMR9tFwRksNQ
N4tKem/NscdGApEU3sRusAKprNwJB376UVmJQ/wxTvONPhQd0qCtdtKCVUAZ4yCu
5JA/QYn0uSrnlqSgv/Pk9ZQ/K/voiHBhWvicjW041DVWK5j/BjFV+w9IrfnyYHwu
767Ywt/WbleO5Aj2xI/uGdAjIFioKdraGq1LpajFaOdQpRBd8d6gt1vOcIYmUvmE
w/W5xtCE/I7gBkSVJMSy5A19MYaOjDNgWPJhd4tLydkGylCN06TXpCrVIY5YNNCh
IC+1yxiTxDIEgyExn3KBW2QcWm8sZB3BEb0stPVIqReynufUAboB5TQ/aSE/T5v2
FCxPuh4h5ODhrV6NJXwjKZQIHBGmUluTK+LFHWdGhM5ysSfW1jXLgfCH+BKNPeK8
6fO/GeZyBOcCrbt+sNuGmrjQ7GgKPeIMWQRR9bN7Gx5dDptalU2hgQ6grYFBfVK1
m0bWrtLtg36XXFjmf8X2VQaKkwoz3DSyjF1YTqTWHMd578qg7hD3y3VtMY79GRei
+daiNDdZ37Fr3WHoTWUrM8m9EUdBbaaTUwPgpoeX63EsTY7RhGz5AVT+rRNQkFOg
fiWB5w6Iu2SPK3yrVhs+LseggToXRZvP8oX0kjl0MNXPFq2wwjLFnrjjFtOjZOQr
74vn63cnxh2BTyHoim2NWng+6rNaeV6Q6FCk46SJK1qfQgfNSFEUj7UdDWq7RlOW
hEzB2ueEMD0B26susuCRzft2mF/ATStPb+l2dgBnnNF6dEG8HGIajRyYQxiuq11u
6OGH3SIWanbAbooDm9NoMSM+ZHWZo7HrH3k/PuJDU+tVxGTyjnWbtJmyFl0qed78
aiE/BPc1DUynHR+U4j6svpA+I8CFBVAnWkLD/N6f7lyNZk6e1qxnQXEG73IEka5W
KajpF/wupS6DKfBm5W0Yu8z9x9/1HfxV8I7VGyPCyfXvZS51WFOtRhf3JzqTfZQH
2d0qmiIjxBeqvWRXOVM373iRq9qCikyQKVseL7/Cyz91k2GwfWeL/vYmE+xWBicM
3T3gDGb4fqXacTfn30EPrFB3Gr4TGlG5JYABN7OWIaDAMuL48yVMj+ZzRvZWwWvv
h1medC/FcZRDDP6gKICVngGJ/g5Hj0TpCfbzb7/VIgapc3u3OAUgdUUIuKqSF5Ri
b36+uvpy2euinHnC0eauJWB2AdIxfeStSsIIB2yj69Q4revXR//ArWZIbt/whfH2
YItudczg7pZhaF9bFz1/Fh9WKDTnSMoKsgzkjmBGkmhR+nEzfBLfzDLxmquRDHve
cSHgiZtOeQk8xg8scKNzTTWR/f+SeUUaRBgwqhnJl5ehB6XrKvq3Z96ZLXApyvFI
/aebItUNdXI1AbYVvhEX+hNtlLo728G9vhF6ytr1ixynT2OP+RbDsnjqKO2koDxh
hqQLYxBqLG9VNzIDkPg20ewGjXdjuHrMx0iAvWPpG/Ri4G3oxqQrAAtcSF/vwqx0
Ek0vSMcuj3DdMQ8vhs8UPw+JCSaRCjwivQZx45YjWR+3Lw46oIsrULLwDUlQO3EO
wA7dR/V8mk5+Wx/fHBZZhmiT0rRES0P1Di8+OzIsmnSjrJCLOMTJV3lXTOTk9vfm
QnmBcP2zrUuzyByFYFc+JYyjrePrO2s/0z0Q5EOptxXdQfsfKQ/3A+GYg9vufdzr
p0FadtXY95K7Q+tjrVpIzVImdPx3lxUMjKZOaU+ZiKz9Ne/O5+EYvT3+MbytYKNN
snCZ+BCbhnfh9uFTGLa/MvNr15iZbwVtRMMfTbpmlBdiJjC1LqBS9MpkvaCHc9o5
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXYStFaTYyL2M1RXh2OE5I
Z2JybzEwaVVJWEI0K1dtVDZ3WUhERzVjTnpVCllZaUFFNm54eXdaRmJLWEZyVlU3
ZHk4cm5CNlRpSmpxYUp6Y3JTRk5WdXcKLS0tIGduM25PK2xqbVU4Y0pwRlROTDNP
NXhLbm9KS0kyS0VuSUtac2tTNDRYTFkK22J++I9ub9KWPFrNB+PNVKraeZy9qbbi
25IEwMyj4aFptQ00Pan+T74+gDkpfE/0afPeTpbOmoXLWw3VNkSK6QtWv7nI2ctK
20xgJaV2hQUisxVRbgMim10pA79MaE9SG96i/67HHBsnb74jVjH8sU/YlsG/n7DS
fwN04HxZDiAT21Ybk/qp8jbwiVLQLpdLktwTOYXLpcWK3BDiVXYBZANqloLEPw49
NkNYebahj5sBV52L/gcVz2le5GTuTg0N+oKX3DPCta7Y2uD7oq1dZMw1SGsyazHe
EYF7/IvI66noqWLlLRaETKdLsbAQGrrzBWb+vyeu8tM1LXGDBKhEXVllF9komMv0
gHnXbY3OFg9kNiKi3gA8+TfHPzMgHAEWNKj1Bftrq3xl0RJMeIfCWiU4eylRvibi
3lice6ls9tGU+ufEIGkcIQZ3mrrQW0tPLUO4RefKMz+KB3Pn74nW9gaAMgVHhB5l
y3UUbvKe1oLiyc0jYs3vyjQk/2dwl2Thj7b7GqGe81vfxDDGdWvFvqZvazV2UHkN
lPPPYtrFTpm6Uv2lrVnljF7A0j0KYKzMkrFrgPtZFVqpfRhQQahIoKMemNqCohAY
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
C5eDpMEGZt4Mq2ny1/E=
-----END AGE ENCRYPTED FILE-----

View file

@ -11,6 +11,7 @@
supports_tools: true
- model_id: lms-qwen3-coder-30b
model_name: qwen3/qwen3-coder-30b
model_name: qwen/qwen3-coder-30b
api_base: "http://localhost:1234/v1"
api_key_name: copilot
supports_tools: true

View file

@ -13,9 +13,14 @@ git_push_bookmark = '"{{ .github_personal }}_jj_" ++ change_id.short()'
"diff added token" = { fg = "green", underline = false }
[revset-aliases]
"stack()" = "trunk()..@"
"immutable_heads()" = "builtin_immutable_heads() | (trunk().. & ~mine())"
[aliases]
l = ["log", "-r", "(trunk()..@):: | (trunk()..@)-"]
refresh = ["rebase", "-s", "roots(trunk()..@)", "-d", "trunk()"]
insert = ["rebase", "-r", "@", "--before", "merge", "--after", "trunk()"]
bdiff = ["diff", "-r", "(trunk()..@)::"]
[ui]
default-command = ["log"]
diff-formatter = ":git"