{"$schema":"https://ejfox.com/schema/page-twin@1.json","kind":"blog_post","url":"https://ejfox.com/blog/week-notes/2024-34","json_url":"https://ejfox.com/blog/week-notes/2024-34.json","generator":"ejfox.com/json-twin@1","data":{"cacheVersion":"2026-05-13-gear-cards","html":"<h2 class=\"\" id=\"2024-34\">2024-34</h2>\n<h3 class=\"\" id=\"step-1-basic-commit\">Step 1: Basic commit</h3>\n<pre class=\"md-pre\"><ruby class=\"\">git add -A<rt class=\"\">Stage all changes</rt></ruby> &#x26;&#x26; <ruby class=\"\">git commit -m \"Update\"<rt class=\"\">Commit with fixed message</rt></ruby></pre>\n<h3 class=\"\" id=\"step-2-interactive-commit-message\">Step 2: Interactive commit message</h3>\n<pre class=\"md-pre\"><ruby class=\"\">git add -A<rt class=\"\">Stage all changes</rt></ruby> &#x26;&#x26; <ruby class=\"\">read -p \"Commit message: \" msg<rt class=\"\">Get user input</rt></ruby> &#x26;&#x26; <ruby class=\"\">git commit -m \"$msg\"<rt class=\"\">Commit with input</rt></ruby></pre>\n<h4 class=\"\" id=\"step-3-llm-generated-messages\">Step 3: LLM-generated messages</h4>\n<pre class=\"md-pre\"><ruby class=\"\">git add -A<rt class=\"\">Stage all changes</rt></ruby> &#x26;&#x26;\n<ruby class=\"\">diff=$(git diff --cached)<rt class=\"\">Get staged diff</rt></ruby> &#x26;&#x26;\n<ruby class=\"\">msg=$(echo \"$diff\" | llm -m \"gpt-4o-mini\" -s \"Generate 5 commit messages\")<rt class=\"\">Ask LLM to generate 5 potential commit messages</rt></ruby> &#x26;&#x26;\n<ruby class=\"\">echo \"$msg\"<rt class=\"\">Display messages</rt></ruby> &#x26;&#x26;\n<ruby class=\"\">read -p \"Commit message: \" selected<rt class=\"\">User chooses</rt></ruby> &#x26;&#x26;\n<ruby class=\"\">git commit -m \"$selected\"<rt class=\"\">Commit with choice</rt></ruby></pre>\n<h3 class=\"\" id=\"step-4-interactive-selection-with-fzf-final-version\">Step 4: Interactive selection with fzf (Final version)</h3>\n<pre class=\"md-pre\"><ruby class=\"\">git add -A<rt class=\"\">Stage all changes</rt></ruby> &#x26;&#x26;\n<ruby class=\"\">diff=$(git diff --cached)<rt class=\"\">Get staged diff</rt></ruby> &#x26;&#x26;\n<ruby class=\"\">msg=$(echo \"$diff\" | llm -m \"gpt-4o-mini\" -s \"Generate 5 commit messages\")<rt class=\"\">Generate 5 potential commit messages</rt></ruby> &#x26;&#x26;\n<ruby class=\"\">selected=$(echo \"$msg\" | fzf --prompt=\"Pick a message:\")<rt class=\"\">Use fzf to let use interactively select which message</rt></ruby> &#x26;&#x26;\n<ruby class=\"\">git commit -m \"$selected\"<rt class=\"\">Commit with selection</rt></ruby></pre>\n<h2 class=\"\" id=\"projects-worked-on\">Projects Worked On</h2>\n<h3 class=\"\" id=\"connectology\">Connectology</h3>\n<p class=\"\">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.</p>\n<p class=\"\">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.</p>","title":"2024-34","metadata":{"tags":["weekly-notes","reflections","progress","git","coding","database","demo","tech"],"modified":"2024-10-14T23:49:12.000Z","date":"2024-08-20T15:12:56.000Z","dek":"In which the protagonist grapples with the complexities of integrating with Supabase for Connectology, seeking joy in details amidst the challenge.","words":259,"images":0,"imageDetails":{"total":0,"cloudinary":0,"withDimensions":0},"links":0,"codeBlocks":0,"headers":{"h2":2},"toc":[{"text":"2024-34","slug":"2024-34","level":"h2","children":[{"text":"Step 1: Basic commit","slug":"step-1-basic-commit","level":"h3","children":[]},{"text":"Step 2: Interactive commit message","slug":"step-2-interactive-commit-message","level":"h3","children":[]},{"text":"Step 4: Interactive selection with fzf (Final version)","slug":"step-4-interactive-selection-with-fzf-final-version","level":"h3","children":[]}]},{"text":"Projects Worked On","slug":"projects-worked-on","level":"h2","children":[{"text":"Connectology","slug":"connectology","level":"h3","children":[]}]}],"type":"post"}},"_links":{"self":"https://ejfox.com/blog/week-notes/2024-34.json","html":"https://ejfox.com/blog/week-notes/2024-34","index":"/blog.json"}}