In my previous article about treating architecture documentation as a first-class asset, I had a great discussion in the comments about enforcing architectural rules. I promised to share materials from my recent Google Developer Groups workshop. The workshop is now finished! Here is the story of how I built an AI Quality Gate, how it helped me solve the internal "CEO, CTO, CFO, CISO" conflict, and
Have you ever spent 20 minutes looking for a conversation you had with Cursor last week? The one where it helped you fix a tricky async bug—and now you're facing the same issue in a different project, but can't find that thread anywhere? This isn't a user error. It's a structural limitation in how Cursor handles session history. Cursor includes a built-in conversation history panel. You can browse
llms.txt is a small text file on a documentation site—usually lists what the product is and links to the important Markdown pages. For coding agents, treat it as the canonical URL to open first when upstream behavior is unclear. This post is mostly setup and workflow, not theory. Location Put this there Official doc server https://example.com/llms.txt (maintained by the library/vendor) Y
This post was created with AI assistance and reviewed for accuracy before publishing. Cursor can use project rules and documentation to steer behavior. Exact file names and mechanisms evolve; check Cursor documentation for the current layout (for example rules in .cursor or legacy .cursorrules patterns). Short, enforceable bullets beat long essays: stack versions, test commands, “no new dependenci
In my previous article, I documented how I installed Terraform on macOS using Homebrew and fixed a Zsh autocomplete issue. In this article, I am going to be using terraform to provision, update, and destroy a simple set of infrastructure using the sample configuration provided by hashicorp The goal is to understand the basic Terraform workflow: Write configuration Authenticate to Google Cloud Ini
On April 30th I got an email from Google about something called GEAR, their new program for building AI agents using ADK, the Agent Development Kit. I signed up, watched the intro video, and had a strange feeling of recognition. The pattern was familiar. Define tools. Write descriptions. Connect an AI model to those tools. Let the model decide which tool to call based on what the user asks. I buil
"Write a function to fetch the list of users." — same prompt, same codebase. Yesterday: getUsers(). Today: fetchUserList(). Tomorrow: loadAllUsers(). Six months of AI-assisted coding and I kept hitting this wall. My initial reaction was "maybe I need to write better prompts." I wrote better prompts. The functions got slightly better. New inconsistencies appeared elsewhere. The problem wasn't the A
VotePath -- an AI-powered multilingual voting guide for first-time voters. The Problem: Why Don't People Vote? What is VotePath? 🤖 Gemini-Powered AI Assistant: A conversational AI built with the Google Gemini API that answers specific election queries in real-time. 🛠️ The Tech Stack Building the UI components and wiring up the Gemini SDK went smoothly using an intent-driven development approach.