2 min read 258 words

2024-34

Step 1: Basic commit

git add -AStage all changes && git commit -m "Update"Commit with fixed message

Step 2: Interactive commit message

git add -AStage all changes && read -p "Commit message: " msgGet user input && git commit -m "$msg"Commit with input

Step 3: LLM-generated messages

git add -AStage all changes &&
diff=$(git diff --cached)Get staged diff &&
msg=$(echo "$diff" | llm -m "gpt-4o-mini" -s "Generate 5 commit messages")Ask LLM to generate 5 potential commit messages &&
echo "$msg"Display messages &&
read -p "Commit message: " selectedUser chooses &&
git commit -m "$selected"Commit with choice

Step 4: Interactive selection with fzf (Final version)

git add -AStage all changes &&
diff=$(git diff --cached)Get staged diff &&
msg=$(echo "$diff" | llm -m "gpt-4o-mini" -s "Generate 5 commit messages")Generate 5 potential commit messages &&
selected=$(echo "$msg" | fzf --prompt="Pick a message:")Use fzf to let use interactively select which message &&
git commit -m "$selected"Commit with selection

Projects Worked On

Connectology

Working on getting my local demo switched over to using supabase for storing nodes, edges, and doing basic auth. Its been a real slog, all of that shit is actually really complicated, it turns out. But hopefully it will be easier the next time.

I’ve been trying to work on little joy-based details like animations, transitions, and helpful defaults but instead I am stuck recreating the basics with a remote database. Thats okay I guess. I think I need to be more disciplined in my refactors and how I spend my time.