<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Yunus Emre Ak</title>
    <description>The latest articles on Forem by Yunus Emre Ak (@yemreak).</description>
    <link>https://forem.com/yemreak</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1160664%2Fe9d69087-9030-4639-86f8-e1f2ac4f6351.jpeg</url>
      <title>Forem: Yunus Emre Ak</title>
      <link>https://forem.com/yemreak</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/yemreak"/>
    <language>en</language>
    <item>
      <title>From Rules to Router: Teaching AI Your Language, Not Laws. Why teaching AI your personal router beats writing rules - from tr...</title>
      <dc:creator>Yunus Emre Ak</dc:creator>
      <pubDate>Sun, 05 Oct 2025 00:14:35 +0000</pubDate>
      <link>https://forem.com/yemreak/from-rules-to-router-teaching-ai-your-language-not-laws-why-teaching-ai-your-personal-router-ogo</link>
      <guid>https://forem.com/yemreak/from-rules-to-router-teaching-ai-your-language-not-laws-why-teaching-ai-your-personal-router-ogo</guid>
      <description>&lt;p&gt;&lt;a href="https://reddit.com/r/ClaudeAI/comments/1nf2ybb/from_rules_to_router_teaching_ai_your_language/" rel="noopener noreferrer"&gt;r/ClaudeAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Claude doesn't understand what you mean? Create &lt;code&gt;.claude/output-styles/dict.md&lt;/code&gt;:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"make this cleaner" = remove all comments, one logic per line
"commit this" = skip my files, commit only yours
"analyze" = show me what's what
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Now Claude speaks your language. &lt;a href="http://CLAUDE.md" rel="noopener noreferrer"&gt;CLAUDE.md&lt;/a&gt; doesn't work, output styles do.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Problem with Rules
&lt;/h1&gt;

&lt;p&gt;I used to write rules for AI. "Always format code this way." "Never use this pattern." "Follow these 50 guidelines."&lt;/p&gt;

&lt;p&gt;Then the context changed. New project, different codebase, fresh requirements. All rules broke.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Discovery: Router &amp;gt; Rules
&lt;/h1&gt;

&lt;p&gt;What if AI doesn't need rules? What if it needs a translator?&lt;/p&gt;

&lt;p&gt;I speak human. AI speaks machine. Not literally - cognitively.&lt;/p&gt;

&lt;p&gt;When I say "think about it" - I mean "plan the algorithm before coding." When I say "check the vibe" - I mean "look at existing patterns, follow culture." When I say "this is broken" - I mean "abandon this approach, try something else."&lt;/p&gt;

&lt;h1&gt;
  
  
  The Router Concept
&lt;/h1&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;My Request → Router → AI Understanding → Action
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Not rules. Translation.&lt;/p&gt;

&lt;h1&gt;
  
  
  Real Examples from My Router
&lt;/h1&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"make it clean"
→ Remove all comments except JSDoc
→ One action per line: if (x) return y
→ No var declarations, only const/let
→ Delete console.logs

"check the culture" 
→ git log --oneline -20
→ Find naming patterns (camelCase vs snake_case)
→ See if they use async/await or .then()
→ Copy their error handling style

"what's going wrong?"
→ Don't just fix the error
→ Question why we're doing this
→ Is there a third option?
→ Example: "Can't decide between REST or GraphQL?" → Use tRPC

"make it fast"
→ Change loops to .map()
→ Add Redis cache layer
→ Move calculations to SQL
→ Actual metrics: 200ms → 20ms
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Each phrase triggers specific, measurable actions.&lt;/p&gt;

&lt;h1&gt;
  
  
  Why Router Works
&lt;/h1&gt;

&lt;h1&gt;
  
  
  1. Context Agnostic
&lt;/h1&gt;

&lt;p&gt;Rules break when context changes. Router translates intent regardless of context.&lt;/p&gt;

&lt;h1&gt;
  
  
  2. Human-Centric
&lt;/h1&gt;

&lt;p&gt;I think in my patterns. Router translates my patterns to AI patterns.&lt;/p&gt;

&lt;h1&gt;
  
  
  3. Evolutionary
&lt;/h1&gt;

&lt;p&gt;New pattern discovered? Add to router. Old pattern obsolete? Update translation.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Kobayashi Maru Effect
&lt;/h1&gt;

&lt;p&gt;Best discovery: "What do you think?"&lt;/p&gt;

&lt;p&gt;Example scenario:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Me: "Should I use MongoDB or PostgreSQL?"
Old AI: "MongoDB is good for unstructured data..."
Router AI: "Why choose? Use PostgreSQL with JSONB columns. 
           Get SQL reliability + JSON flexibility."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;System gave A or B. Router found C.&lt;/p&gt;

&lt;h1&gt;
  
  
  Implementation in Practice
&lt;/h1&gt;

&lt;p&gt;Here's actual &lt;a href="http://router.md" rel="noopener noreferrer"&gt;router.md&lt;/a&gt; content:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# .claude/output-styles/router.md

"commit this"
  1. git status
  2. git diff --cached  
  3. Remove files I didn't change
  4. Message format: "feat(scope): concrete change
     - validateUser() deleted
     - port 3000→8080
     - 3 rules→7 rules"

"simplify this"
  1. Remove abstractions with single usage
  2. Inline functions under 3 lines
  3. Delete unused imports
  4. Combine similar functions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Not vague instructions. Specific actions.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Popular Lexicon Pattern
&lt;/h1&gt;

&lt;p&gt;One word, thousand concepts.&lt;/p&gt;

&lt;p&gt;"Git" → Entire version control universe "Kobayashi Maru" → No-win scenario pattern&lt;/p&gt;

&lt;p&gt;Router uses these triggers. One word activates entire knowledge domains.&lt;/p&gt;

&lt;h1&gt;
  
  
  Practical Benefits
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Before Router
&lt;/h1&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Me: "Fix the login function"
AI: "I'll add input validation and error handling"
Me: "No, we don't do it that way"
AI: "I'll use try-catch blocks"
Me: "Still wrong, we use Result types"
AI: "Let me add a Result type wrapper"
Me: *Gives up, writes it myself*
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h1&gt;
  
  
  After Router
&lt;/h1&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Me: "check the culture and fix login"
AI: *Runs git log --grep="auth"*
    *Sees pattern: Result&amp;lt;User, AuthError&amp;gt;*
    *Copies exact error handling from previous commits*
    *Uses team's naming: authenticateUser not loginUser*
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Output was identical to what senior dev would write.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Philosophy
&lt;/h1&gt;

&lt;p&gt;We're not teaching AI rules. We're teaching AI our language.&lt;/p&gt;

&lt;p&gt;Like moving to a new country. You don't memorize laws. You learn the language.&lt;/p&gt;

&lt;h1&gt;
  
  
  Evolution Path
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Started with rules (failed)&lt;/li&gt;
&lt;li&gt;Moved to constitution (better)&lt;/li&gt;
&lt;li&gt;Discovered culture in git (good)&lt;/li&gt;
&lt;li&gt;Created router (breakthrough)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Router is the translation layer between human intuition and AI execution.&lt;/p&gt;

&lt;h1&gt;
  
  
  Key Insights
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rules are brittle&lt;/strong&gt; - They break with context&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Router is flexible&lt;/strong&gt; - It translates intent&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Culture beats documentation&lt;/strong&gt; - Git history &amp;gt; README&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Patterns beat instructions&lt;/strong&gt; - "check the culture" &amp;gt; 50 lines of rules&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lexicon beats explanation&lt;/strong&gt; - "Kobayashi Maru" &amp;gt; paragraph of context&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Your Turn
&lt;/h1&gt;

&lt;p&gt;Stop writing rules for AI. Start building your router.&lt;/p&gt;

&lt;p&gt;What's your "check the vibe"? What's your "what do you think"? What triggers your workflows?&lt;/p&gt;

&lt;p&gt;Build your translation protocol. Teach AI your language, not your laws.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Future
&lt;/h1&gt;

&lt;p&gt;Imagine every developer with their personal router. AI understanding each person's cognitive patterns. No more prompt engineering. Just natural expression.&lt;/p&gt;

&lt;p&gt;"Fix this the way I like." And AI knows exactly what that means. Because router translated it.&lt;/p&gt;

&lt;p&gt;That's where we're heading. From rules to routers. From laws to language.&lt;/p&gt;

&lt;h1&gt;
  
  
  Beyond Code: The Self-Knowledge Connection
&lt;/h1&gt;

&lt;p&gt;This router concept extends beyond coding. The clearer you know yourself, the better you can translate your needs to AI.&lt;/p&gt;

&lt;p&gt;I explored this deeper with &lt;a href="https://clarityos.ai" rel="noopener noreferrer"&gt;ClarityOS&lt;/a&gt; - an experimental AI project focusing on self-knowledge first. It's currently in selective waitlist mode (not commercial, just exploring the concept). Because unclear mind = unclear prompts = useless AI responses.&lt;/p&gt;

&lt;p&gt;The pattern is universal: Know yourself → Express clearly → Get what you need.&lt;/p&gt;

&lt;p&gt;Whether it's code, life decisions, or AI interactions.&lt;/p&gt;

&lt;p&gt;More at &lt;a href="https://yemreak.com" rel="noopener noreferrer"&gt;yemreak.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2025-09-16 15:24:10 (UTC+3)&lt;/p&gt;

&lt;p&gt;Hey all!&lt;/p&gt;

&lt;p&gt;I thought AI could make this consumable but clearly it can't. Thanks for your feedback - I'll try to find a better way to explain it for both of us.&lt;/p&gt;

&lt;p&gt;I posted this to Reddit to learn what communication style people actually want. My time is limited so I wrote it through AI, but since nobody understood it, that's actually valuable feedback. I appreciate both your attacks and your curiosity. I need to understand how people learn, and for that I need to get into the field. This is my experiment.&lt;/p&gt;

&lt;p&gt;The whole content was produced by me talking to AI. I explained the concept verbally, AI organized and combined my thoughts, then I shared it with you. But yeah, there's no proper formatting. I kept my core data raw because apparently that's what people want - that's the Reddit culture.&lt;/p&gt;

&lt;p&gt;Please criticize mercilessly. What didn't you understand? What don't you know? What's missing? Write it all here. Attack me. So I can explain those concepts better, or tell my AI what you're confused about so it can ask me the right questions and I can explain it to everyone properly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.reddit.com/r/ClaudeAI/comments/1nf2ybb/comment/neig54k/?utm_source=share&amp;amp;utm_medium=web3x&amp;amp;utm_name=web3xcss&amp;amp;utm_term=1&amp;amp;utm_content=share_button" rel="noopener noreferrer"&gt;What is the router, real example&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2025-09-16 15:59:13 (UTC+3) New version is here: &lt;a href="https://www.reddit.com/r/ClaudeAI/comments/1nign0p/the_real_problem_claude_doesnt_know_what_you_mean/" rel="noopener noreferrer"&gt;https://www.reddit.com/r/ClaudeAI/comments/1nign0p/the_real_problem_claude_doesnt_know_what_you_mean/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>llm</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>To understand MCP intuitively, i like that visualization for new people</title>
      <dc:creator>Yunus Emre Ak</dc:creator>
      <pubDate>Sun, 05 Oct 2025 00:14:02 +0000</pubDate>
      <link>https://forem.com/yemreak/to-understand-mcp-intuitively-i-like-that-visualization-for-new-people-2kn7</link>
      <guid>https://forem.com/yemreak/to-understand-mcp-intuitively-i-like-that-visualization-for-new-people-2kn7</guid>
      <description>&lt;p&gt;&lt;a href="https://reddit.com/r/mcp/comments/1jc6aro/to_understand_mcp_intuitively_i_like_that/" rel="noopener noreferrer"&gt;r/mcp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(its not mine)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I Built 3 AI-Driven Projects From Scratch—Here’s What I Learned (So You Don’t Make My Mistakes, I'm solo developer who build ...</title>
      <dc:creator>Yunus Emre Ak</dc:creator>
      <pubDate>Sun, 05 Oct 2025 00:14:00 +0000</pubDate>
      <link>https://forem.com/yemreak/i-built-3-ai-driven-projects-from-scratch-heres-what-i-learned-so-you-dont-make-my-mistakes-im-4cap</link>
      <guid>https://forem.com/yemreak/i-built-3-ai-driven-projects-from-scratch-heres-what-i-learned-so-you-dont-make-my-mistakes-im-4cap</guid>
      <description>&lt;p&gt;&lt;a href="https://reddit.com/r/ClaudeAI/comments/1jcju6r/i_built_3_aidriven_projects_from_scratchheres/" rel="noopener noreferrer"&gt;r/ClaudeAI&lt;/a&gt; • &lt;a href="https://reddit.com/r/cursor/comments/1ix6jyc/i_built_3_aidriven_projects_from_scratchheres/" rel="noopener noreferrer"&gt;r/cursor&lt;/a&gt; • &lt;a href="https://reddit.com/r/ClaudeAI/comments/1lphz26/how_to_build_ux_with_ai_using_human_psychology/" rel="noopener noreferrer"&gt;r/ClaudeAI&lt;/a&gt; • &lt;a href="https://reddit.com/r/ArtificialInteligence/comments/1ix6gbd/i_built_3_aidriven_projects_from_scratchheres/" rel="noopener noreferrer"&gt;r/ArtificialInteligence&lt;/a&gt; • &lt;a href="https://reddit.com/r/learnprogramming/comments/1ix6oo4/i_built_3_aidriven_projects_from_scratchheres/" rel="noopener noreferrer"&gt;r/learnprogramming&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hey everyone, I’m curious—how many of you have tried using AI (especially ChatGPT and Claud in Cursor IDE) to build a project from scratch, letting AI handle most of the work instead of manually managing everything yourself?&lt;/p&gt;

&lt;p&gt;I started this journey purely for &lt;strong&gt;experimentation and learning&lt;/strong&gt;, and along the way, I’ve discovered some interesting patterns. I’d love to share my insights, and if anyone else is interested in this approach, I’d be happy to share more of my experiences as I continue testing.&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Without a Clear Structure, AI Messes Everything Up
&lt;/h1&gt;

&lt;p&gt;Before starting a project, &lt;strong&gt;you need to define project rules, folder structures, and guidelines&lt;/strong&gt;, otherwise, AI’s output becomes chaotic.&lt;/p&gt;

&lt;p&gt;I personally use &lt;strong&gt;ChatGPT-4&lt;/strong&gt; to structure my projects before diving in. However, the tricky part is that &lt;strong&gt;if you’re a beginner or intermediate developer, you might not know the best structure upfront&lt;/strong&gt;—and AI can’t fully predict it either.&lt;/p&gt;

&lt;p&gt;So, two approaches might work:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Define a rough structure first, then let AI execute.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rush in, build fast, then refine the structure later.&lt;/strong&gt; (Risky, as it can create a mess and drain your mental energy.)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Neither method is perfect, but &lt;strong&gt;over-planning without trying AI first is just as bad&lt;/strong&gt; as rushing in blindly. I recommend experimenting early to &lt;strong&gt;see AI’s potential before finalizing your project structure.&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  2. The More You Try to Control AI, the Worse It Performs
&lt;/h1&gt;

&lt;p&gt;One major thing I’ve learned: &lt;strong&gt;AI struggles with rigid rules.&lt;/strong&gt; If you try to force AI to follow your specific naming conventions, CSS structures, or folder hierarchies, &lt;strong&gt;it often breaks down or produces inconsistent results.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🔴 &lt;strong&gt;Don’t force AI to adopt your style.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
🟢 &lt;strong&gt;Instead, learn to adapt to AI’s way of working and guide it gently.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For example, in my project, I use &lt;strong&gt;custom CSS and global styles&lt;/strong&gt;—but when I tried making AI strictly follow my rules, it failed. When I adapted &lt;strong&gt;my workflow to let AI generate first and tweak afterward&lt;/strong&gt;, results improved dramatically.&lt;/p&gt;

&lt;p&gt;By the way, &lt;strong&gt;I’m a backend engineer learning frontend development with AI.&lt;/strong&gt; My programming background is &lt;strong&gt;7+ years&lt;/strong&gt;, but my AI + frontend journey has only been &lt;strong&gt;two months (but I also build firebase app with react in 4 years ago but i forget :D)&lt;/strong&gt; —so I’m still in the experimentation phase.&lt;/p&gt;

&lt;p&gt;To make sure that I'm talking right, check &lt;a href="https://github.com/yemreak?tab=overview" rel="noopener noreferrer"&gt;my github account&lt;/a&gt; &lt;/p&gt;

&lt;h1&gt;
  
  
  3. If You Use New Technologies, AI Needs Extra Training
&lt;/h1&gt;

&lt;p&gt;I also realized that &lt;strong&gt;AI doesn’t always handle the latest tech well.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For example, I worked with &lt;strong&gt;Tailwind 4&lt;/strong&gt;, and AI constantly made mistakes because it lacked enough training data on the latest version.&lt;/p&gt;

&lt;p&gt;🔹 &lt;strong&gt;Solution:&lt;/strong&gt; If you’re using a new framework, you MUST feed AI the documentation every time you request something. Otherwise, AI will hallucinate or apply outdated methods.&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;My advice:&lt;/strong&gt; Stick with well-documented, stable technologies unless you’re willing to put in extra effort to teach AI the latest updates.&lt;/p&gt;

&lt;h1&gt;
  
  
  4. Let AI Handle the Execution, Not the Details
&lt;/h1&gt;

&lt;p&gt;When prompting AI to build something, &lt;strong&gt;don’t micromanage the implementation details.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🟢 &lt;strong&gt;Explain the user flow clearly.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
🟢 &lt;strong&gt;Let AI decide what’s necessary.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
🟢 &lt;strong&gt;Then tweak the output to fix minor mistakes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Trying to pre-define every step &lt;strong&gt;slows down the process and confuses AI.&lt;/strong&gt; Instead, &lt;strong&gt;describe the bigger picture and correct its output as needed.&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  5. AI Learns From Your Codebase—Be Careful!
&lt;/h1&gt;

&lt;p&gt;As the project grows, AI &lt;strong&gt;starts adopting your design patterns and mistakes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you start with &lt;strong&gt;bad design decisions&lt;/strong&gt;, AI will &lt;strong&gt;repeat and reinforce them&lt;/strong&gt; across your entire project.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Set up a strong foundation early&lt;/strong&gt; to avoid long-term messes.&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Comment your code properly&lt;/strong&gt;—not just Markdown documentation, but inline explanations.&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Focus on explaining WHY, not WHAT.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI &lt;strong&gt;doesn’t need code documentation to understand functions—it needs context on why you made certain choices.&lt;/strong&gt; Just like a human developer, &lt;strong&gt;AI benefits from clear reasoning over rigid instructions.&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Final Thoughts: This is Just the Beginning
&lt;/h1&gt;

&lt;p&gt;AI technology is still &lt;strong&gt;new&lt;/strong&gt;, and we’re all still experimenting.&lt;/p&gt;

&lt;p&gt;From my experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AI is incredibly powerful, but only if you work with it—not against it.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rigid control leads to chaos; adaptability leads to success.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Your project’s initial structure and documentation will dictate AI’s long-term performance.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If anyone else is exploring this AI-first development approach, I’d love to hear your experiences! Also, if you’re interested, I’ll be sharing more of my findings as I continue testing AI for project development.&lt;/p&gt;

&lt;p&gt;Let’s learn from each other. Drop your thoughts! 🚀&lt;/p&gt;

</description>
      <category>learning</category>
      <category>llm</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Discovered: How to bypass Claude Code conversation limits by manipulating session logs</title>
      <dc:creator>Yunus Emre Ak</dc:creator>
      <pubDate>Sun, 05 Oct 2025 00:12:27 +0000</pubDate>
      <link>https://forem.com/yemreak/discovered-how-to-bypass-claude-code-conversation-limits-by-manipulating-session-logs-3hmk</link>
      <guid>https://forem.com/yemreak/discovered-how-to-bypass-claude-code-conversation-limits-by-manipulating-session-logs-3hmk</guid>
      <description>&lt;p&gt;&lt;a href="https://reddit.com/r/ClaudeAI/comments/1nkdffp/discovered_how_to_bypass_claude_code_conversation/" rel="noopener noreferrer"&gt;r/ClaudeAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; &lt;code&gt;git init&lt;/code&gt; in &lt;code&gt;~/.claude/&lt;/code&gt;, delete old log lines (skip line 1), restart Claude Code = infinite conversation&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚠️ Use at your own risk - always backup with git first&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Found an interesting workaround when hitting Claude Code conversation limits. The session logs can be edited to continue conversations indefinitely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Discovery:&lt;/strong&gt;&lt;br&gt;
Claude Code stores conversation history in log files. When you hit the conversation limit, you can actually delete the beginning of the log file and continue the conversation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Setup git backup (CRITICAL)&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;cd&lt;/span&gt; ~/.claude/
   git init
   git add &lt;span class="nb"&gt;.&lt;/span&gt;
   git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"backup before log manipulation"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Find your session ID&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In Claude Code, type &lt;code&gt;/session&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Copy the session ID&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Locate the session log&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;cd&lt;/span&gt; ~/.claude/
   &lt;span class="c"&gt;# Find your session file using the ID&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Edit the session file&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open in VSCode (Cmd+P to quick open if on Mac)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IMPORTANT:&lt;/strong&gt; Disable word wrap (Opt+Z for Mac) for clarity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DO NOT&lt;/strong&gt; touch the first line&lt;/li&gt;
&lt;li&gt;Delete lines from the beginning (after line 1) to free up space&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Restart the conversation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Close Claude Code&lt;/li&gt;
&lt;li&gt;Reopen Claude Code&lt;/li&gt;
&lt;li&gt;Continue sending messages - the conversation continues!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Why this works:&lt;/strong&gt;&lt;br&gt;
The conversation limit is based on the total size of the session log. By removing old messages from the beginning (keeping the header intact), you free up space for new messages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Risks:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Loss of context from deleted messages&lt;/li&gt;
&lt;li&gt;Potential data corruption if done incorrectly&lt;/li&gt;
&lt;li&gt;That's why git backup is ESSENTIAL&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pro tip:&lt;/strong&gt;&lt;br&gt;
When context changes significantly, it's better to just start a new conversation. But if you're stuck and need to continue, this is your escape hatch.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Found this while debugging session issues. Use responsibly!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;And also i tried different solution for it, but not good as expected for now&lt;br&gt;
&lt;a href="https://www.npmjs.com/package/@yemreak/claude-compact" rel="noopener noreferrer"&gt;@yemreak/claude-compact&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Why I stopped giving rules to AI and started building a "potential toolkit" instead</title>
      <dc:creator>Yunus Emre Ak</dc:creator>
      <pubDate>Sun, 05 Oct 2025 00:12:25 +0000</pubDate>
      <link>https://forem.com/yemreak/why-i-stopped-giving-rules-to-ai-and-started-building-a-potential-toolkit-instead-2nm8</link>
      <guid>https://forem.com/yemreak/why-i-stopped-giving-rules-to-ai-and-started-building-a-potential-toolkit-instead-2nm8</guid>
      <description>&lt;p&gt;&lt;a href="https://reddit.com/r/ClaudeAI/comments/1ns66w6/why_i_stopped_giving_rules_to_ai_and_started/" rel="noopener noreferrer"&gt;r/ClaudeAI&lt;/a&gt; • &lt;a href="https://reddit.com/r/ClaudeCode/comments/1ns67p0/why_i_stopped_giving_rules_to_ai_and_started/" rel="noopener noreferrer"&gt;r/ClaudeCode&lt;/a&gt; • &lt;a href="https://reddit.com/r/ClaudeAI/comments/1nskziu/my_outputstyles_document_experimental_constantly/" rel="noopener noreferrer"&gt;r/ClaudeAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;tl;dr&lt;/strong&gt;: Instead of rules, I give AI awareness of possibilities. Context decides, not me.&lt;/p&gt;

&lt;p&gt;So I've been thinking... Rules and instructions don't really work anymore. Everything keeps changing too fast.&lt;/p&gt;

&lt;p&gt;You know how in physics, Newton's laws work great for everyday stuff, but at the quantum level, everything depends on the observer and context? I'm trying the same approach with AI.&lt;/p&gt;

&lt;p&gt;Instead of telling AI "always use pure functions" or "use jq for JSON", I'm building what I call a "potential toolkit". Like, here's what exists:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;jq → JSON manipulation
fd → file search
rg → pattern search
xargs → batch execution
sd → find and replace
tree → file tree
awk/sed → text manipulation
comm → file comparison
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When there's JSON data? The AI knows jq exists. When it's YAML? It knows about yq. &lt;strong&gt;The context makes the decision&lt;/strong&gt;, not some rigid rule I wrote 6 months ago.&lt;/p&gt;

&lt;p&gt;Same thing with code patterns. Old me would say &lt;em&gt;"Always use pure functions!"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now I just show what's possible:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pure functions&lt;/strong&gt; exist for when you need no side effects&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Classes&lt;/strong&gt; exist when you need state encapsulation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generators&lt;/strong&gt; exist for lazy evaluation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observables&lt;/strong&gt; exist for event streams&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What's the right choice? &lt;em&gt;I don't know&lt;/em&gt; - the context knows.&lt;/p&gt;

&lt;p&gt;Think about it - organisms don't know what's coming, so they diversify. They grow different features and let natural selection decide. Same with code - I'm just building capacity, not prescribing solutions.&lt;/p&gt;

&lt;p&gt;The cool thing? Every time I discover a new tool, I just add it to the list. The toolkit grows. &lt;strong&gt;The potential expands&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here's what I realized though - this isn't just about making AI smarter. &lt;strong&gt;I'm learning too&lt;/strong&gt;. By listing these tools, I'm building my own awareness. When AI uses &lt;code&gt;comm&lt;/code&gt; to compare files, I learn about it. When it picks &lt;code&gt;sd&lt;/code&gt; over &lt;code&gt;sed&lt;/code&gt;, I understand why. It's not teacher-student anymore, it's &lt;strong&gt;co-evolution&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I don't memorize these tools. I encounter them, note them down, watch them work. The AI and I are growing together, building this shared toolkit through actual use, not through studying some "best practices" guide.&lt;/p&gt;

&lt;p&gt;What terminal tools are in your toolkit? Share them! Let's build this potential pool together. Not as "best practices" but as &lt;em&gt;possibilities&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;This is just an experiment. It might not work. But honestly, rigid rules aren't working either, so... 🤷&lt;/p&gt;

&lt;p&gt;Next:&lt;br&gt;
&lt;a href="https://www.reddit.com/r/ClaudeAI/comments/1nskziu/my_outputstyles_document_experimental_constantly/" rel="noopener noreferrer"&gt;https://www.reddit.com/r/ClaudeAI/comments/1nskziu/my_outputstyles_document_experimental_constantly/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>tooling</category>
      <category>llm</category>
    </item>
    <item>
      <title>For the ones who dont know "MAX_THINKING_TOKENS": "31999", this is a game changer</title>
      <dc:creator>Yunus Emre Ak</dc:creator>
      <pubDate>Sun, 05 Oct 2025 00:11:52 +0000</pubDate>
      <link>https://forem.com/yemreak/for-the-ones-who-dont-know-maxthinkingtokens-31999-this-is-a-game-changer-ocg</link>
      <guid>https://forem.com/yemreak/for-the-ones-who-dont-know-maxthinkingtokens-31999-this-is-a-game-changer-ocg</guid>
      <description>&lt;p&gt;&lt;a href="https://reddit.com/r/ClaudeAI/comments/1njlrx4/for_the_ones_who_dont_know_max_thinking_tokens/" rel="noopener noreferrer"&gt;r/ClaudeAI&lt;/a&gt; • &lt;a href="https://reddit.com/r/ClaudeCode/comments/1nqjnmn/for_the_ones_who_dont_know_max_thinking_tokens/" rel="noopener noreferrer"&gt;r/ClaudeCode&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Increase your model thinking capacity (it makes it slower but it worth)&lt;/p&gt;

&lt;p&gt;&lt;code&gt;.claude/settings.json&lt;/code&gt; open your settings.json and put&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"$schema"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://json.schemastore.org/claude-code-settings.json"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"includeCoAuthoredBy"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"MAX_THINKING_TOKENS"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"31999"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;&amp;lt;======&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;THIS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;ONE&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"CLAUDE_CODE_MAX_OUTPUT_TOKENS"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"32000"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;btw i dont suggest to use it for API, cost would be insanely expensive&lt;br&gt;
(im using claude code max)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>TIL: AI keeps using rm -rf on important files. Changed rm to trash</title>
      <dc:creator>Yunus Emre Ak</dc:creator>
      <pubDate>Sun, 05 Oct 2025 00:11:50 +0000</pubDate>
      <link>https://forem.com/yemreak/til-ai-keeps-using-rm-rf-on-important-files-changed-rm-to-trash-5hin</link>
      <guid>https://forem.com/yemreak/til-ai-keeps-using-rm-rf-on-important-files-changed-rm-to-trash-5hin</guid>
      <description>&lt;p&gt;&lt;a href="https://reddit.com/r/ClaudeAI/comments/1nrrmv3/til_ai_keeps_using_rm_rf_on_important_files/" rel="noopener noreferrer"&gt;r/ClaudeAI&lt;/a&gt; • &lt;a href="https://reddit.com/r/ClaudeCode/comments/1nrrn4z/til_ai_keeps_using_rm_rf_on_important_files/" rel="noopener noreferrer"&gt;r/ClaudeCode&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Was pair programming with AI. It deleted my configs twice.&lt;/p&gt;

&lt;p&gt;First thought: Add confirmation prompts&lt;br&gt;
Reality: I kept hitting yes without reading&lt;/p&gt;

&lt;p&gt;Second thought: Restrict permissions&lt;br&gt;
Reality: Too annoying for daily work&lt;/p&gt;

&lt;p&gt;Final decision: &lt;code&gt;alias rm='trash'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now AI can rm -rf all day. Files go to trash, not void.&lt;/p&gt;

&lt;p&gt;Command for macOS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;alias rm&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'trash'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add to ~/.zshrc to make permanent.&lt;/p&gt;




&lt;p&gt;edit: Here is an another alternative&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;rm&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"WARNING: rm → trash (safer alternative)"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&amp;amp;2
    trash &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>cli</category>
      <category>ai</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Guys, I wonder if ccusage is really accurate? I don't think so, what do you think?</title>
      <dc:creator>Yunus Emre Ak</dc:creator>
      <pubDate>Sun, 05 Oct 2025 00:11:00 +0000</pubDate>
      <link>https://forem.com/yemreak/guys-i-wonder-if-ccusage-is-really-accurate-i-dont-think-so-what-do-you-think-55hb</link>
      <guid>https://forem.com/yemreak/guys-i-wonder-if-ccusage-is-really-accurate-i-dont-think-so-what-do-you-think-55hb</guid>
      <description>&lt;p&gt;&lt;a href="https://reddit.com/r/ClaudeAI/comments/1lsbm9j/guys_i_wonder_if_ccusage_is_really_accurate_i/" rel="noopener noreferrer"&gt;r/ClaudeAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I just started working with Claude Code across three different projects. I'm also using Cursor, switching between agents for different tasks. I provide extensive context to each agent, which leads to significant usage. Even though I have the max subscription and the actual cost isn't too high, the token consumption feels excessive. I'm questioning whether this usage level is sustainable.&lt;/p&gt;

&lt;p&gt;What do you think?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Started Claude Code recently, had it research non-basic features since most content covers the same stuff</title>
      <dc:creator>Yunus Emre Ak</dc:creator>
      <pubDate>Sun, 05 Oct 2025 00:10:59 +0000</pubDate>
      <link>https://forem.com/yemreak/started-claude-code-recently-had-it-research-non-basic-features-since-most-content-covers-the-same-5coo</link>
      <guid>https://forem.com/yemreak/started-claude-code-recently-had-it-research-non-basic-features-since-most-content-covers-the-same-5coo</guid>
      <description>&lt;p&gt;&lt;a href="https://reddit.com/r/ClaudeAI/comments/1lnckpq/started_claude_code_recently_had_it_research/" rel="noopener noreferrer"&gt;r/ClaudeAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Started using Claude Code last week. Most YouTube videos spend 20 minutes on the same 5-6 basic features (planning mode, custom commands, etc).&lt;/p&gt;

&lt;p&gt;Got frustrated and asked Claude to research actually advanced patterns - specifically told it to skip the obvious stuff everyone already knows.&lt;/p&gt;

&lt;p&gt;Found some interesting things I hadn't seen mentioned: &lt;a href="https://claude.ai/public/artifacts/6221a407-8c3a-4de0-9445-a0023063089f" rel="noopener noreferrer"&gt;https://claude.ai/public/artifacts/6221a407-8c3a-4de0-9445-a0023063089f&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Particularly liked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Git worktree for parallel Claude instances&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;claude -p\&lt;/code&gt; for headless automation&lt;/li&gt;
&lt;li&gt;The different thinking token budgets&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/resume\&lt;/code&gt; for continue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Still new to this myself, so can't vouch for everything, but figured others might find something useful in there too.&lt;/p&gt;

</description>
      <category>llm</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>From Rules to Router: Teaching AI Your Language, Not Laws</title>
      <dc:creator>Yunus Emre Ak</dc:creator>
      <pubDate>Fri, 12 Sep 2025 13:04:33 +0000</pubDate>
      <link>https://forem.com/yemreak/from-rules-to-router-teaching-ai-your-language-not-laws-5cj2</link>
      <guid>https://forem.com/yemreak/from-rules-to-router-teaching-ai-your-language-not-laws-5cj2</guid>
      <description>&lt;h1&gt;
  
  
  From Rules to Router: Teaching AI Your Language, Not Laws
&lt;/h1&gt;

&lt;h2&gt;
  
  
  The Problem with Rules
&lt;/h2&gt;

&lt;p&gt;I used to write rules for AI.&lt;br&gt;
"Always format code this way."&lt;br&gt;
"Never use this pattern."&lt;br&gt;
"Follow these 50 guidelines."&lt;/p&gt;

&lt;p&gt;Then the context changed. New project, different codebase, fresh requirements.&lt;br&gt;
All rules broke.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Discovery: Router &amp;gt; Rules
&lt;/h2&gt;

&lt;p&gt;What if AI doesn't need rules?&lt;br&gt;
What if it needs a translator?&lt;/p&gt;

&lt;p&gt;I speak human. AI speaks machine.&lt;br&gt;
Not literally - cognitively.&lt;/p&gt;

&lt;p&gt;When I say "think about it" - I mean "plan the algorithm before coding."&lt;br&gt;
When I say "check the vibe" - I mean "look at existing patterns, follow culture."&lt;br&gt;
When I say "this is broken" - I mean "abandon this approach, try something else."&lt;/p&gt;
&lt;h2&gt;
  
  
  The Router Concept
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;My Request → Router → AI Understanding → Action
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Not rules. Translation.&lt;/p&gt;
&lt;h3&gt;
  
  
  Real Examples from My Router
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;make&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;it&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;clean"&lt;/span&gt;
&lt;span class="s"&gt;→ Remove all comments except JSDoc&lt;/span&gt;
&lt;span class="na"&gt;→ One action per line&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;if (x) return y&lt;/span&gt;
&lt;span class="s"&gt;→ No var declarations, only const/let&lt;/span&gt;
&lt;span class="s"&gt;→ Delete console.logs&lt;/span&gt;

&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;check&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;the&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;culture"&lt;/span&gt; 
&lt;span class="s"&gt;→ git log --oneline -20&lt;/span&gt;
&lt;span class="s"&gt;→ Find naming patterns (camelCase vs snake_case)&lt;/span&gt;
&lt;span class="s"&gt;→ See if they use async/await or .then()&lt;/span&gt;
&lt;span class="s"&gt;→ Copy their error handling style&lt;/span&gt;

&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;what's&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;going&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;wrong?"&lt;/span&gt;
&lt;span class="s"&gt;→ Don't just fix the error&lt;/span&gt;
&lt;span class="s"&gt;→ Question why we're doing this&lt;/span&gt;
&lt;span class="s"&gt;→ Is there a third option?&lt;/span&gt;
&lt;span class="na"&gt;→ Example&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Can't&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;decide&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;between&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;REST&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;or&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;GraphQL?"&lt;/span&gt; &lt;span class="s"&gt;→ Use tRPC&lt;/span&gt;

&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;make&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;it&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;fast"&lt;/span&gt;
&lt;span class="s"&gt;→ Change loops to .map()&lt;/span&gt;
&lt;span class="s"&gt;→ Add Redis cache layer&lt;/span&gt;
&lt;span class="s"&gt;→ Move calculations to SQL&lt;/span&gt;
&lt;span class="na"&gt;→ Actual metrics&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;200ms → 20ms&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Each phrase triggers specific, measurable actions.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why Router Works
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Context Agnostic
&lt;/h3&gt;

&lt;p&gt;Rules break when context changes.&lt;br&gt;
Router translates intent regardless of context.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Human-Centric
&lt;/h3&gt;

&lt;p&gt;I think in my patterns.&lt;br&gt;
Router translates my patterns to AI patterns.&lt;/p&gt;
&lt;h3&gt;
  
  
  3. Evolutionary
&lt;/h3&gt;

&lt;p&gt;New pattern discovered? Add to router.&lt;br&gt;
Old pattern obsolete? Update translation.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Kobayashi Maru Effect
&lt;/h2&gt;

&lt;p&gt;Best discovery: "What do you think?"&lt;/p&gt;

&lt;p&gt;Example scenario:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Me: "Should I use MongoDB or PostgreSQL?"
Old AI: "MongoDB is good for unstructured data..."
Router AI: "Why choose? Use PostgreSQL with JSONB columns. 
           Get SQL reliability + JSON flexibility."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;System gave A or B.&lt;br&gt;
Router found C.&lt;/p&gt;
&lt;h2&gt;
  
  
  Implementation in Practice
&lt;/h2&gt;

&lt;p&gt;Here's actual router.md content:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# .claude/output-styles/router.md&lt;/span&gt;

&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;commit&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;this"&lt;/span&gt;
  &lt;span class="s"&gt;1. git status&lt;/span&gt;
  &lt;span class="s"&gt;2. git diff --cached&lt;/span&gt;  
  &lt;span class="s"&gt;3. Remove files I didn't change&lt;/span&gt;
  &lt;span class="s"&gt;4. Message format&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;feat(scope):&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;concrete&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;change&lt;/span&gt;
     &lt;span class="s"&gt;-&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;validateUser()&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;deleted&lt;/span&gt;
     &lt;span class="s"&gt;-&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;port&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;3000→8080&lt;/span&gt;
     &lt;span class="s"&gt;-&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;3&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;rules→7&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;rules"&lt;/span&gt;

&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;simplify&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;this"&lt;/span&gt;
  &lt;span class="s"&gt;1. Remove abstractions with single usage&lt;/span&gt;
  &lt;span class="s"&gt;2. Inline functions under 3 lines&lt;/span&gt;
  &lt;span class="s"&gt;3. Delete unused imports&lt;/span&gt;
  &lt;span class="s"&gt;4. Combine similar functions&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Not vague instructions. Specific actions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Popular Lexicon Pattern
&lt;/h2&gt;

&lt;p&gt;One word, thousand concepts.&lt;/p&gt;

&lt;p&gt;"Git" → Entire version control universe&lt;br&gt;
"Kobayashi Maru" → No-win scenario pattern&lt;/p&gt;

&lt;p&gt;Router uses these triggers.&lt;br&gt;
One word activates entire knowledge domains.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical Benefits
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Before Router
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Me: "Fix the login function"
AI: "I'll add input validation and error handling"
Me: "No, we don't do it that way"
AI: "I'll use try-catch blocks"
Me: "Still wrong, we use Result types"
AI: "Let me add a Result type wrapper"
Me: *Gives up, writes it myself*
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  After Router
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Me: "check the culture and fix login"
AI: *Runs git log --grep="auth"*
    *Sees pattern: Result&amp;lt;User, AuthError&amp;gt;*
    *Copies exact error handling from previous commits*
    *Uses team's naming: authenticateUser not loginUser*
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output was identical to what senior dev would write.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Philosophy
&lt;/h2&gt;

&lt;p&gt;We're not teaching AI rules.&lt;br&gt;
We're teaching AI our language.&lt;/p&gt;

&lt;p&gt;Like moving to a new country.&lt;br&gt;
You don't memorize laws.&lt;br&gt;
You learn the language.&lt;/p&gt;

&lt;h2&gt;
  
  
  Evolution Path
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Started with rules (failed)&lt;/li&gt;
&lt;li&gt;Moved to constitution (better)&lt;/li&gt;
&lt;li&gt;Discovered culture in git (good)&lt;/li&gt;
&lt;li&gt;Created router (breakthrough)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Router is the translation layer between human intuition and AI execution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Insights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rules are brittle&lt;/strong&gt; - They break with context&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Router is flexible&lt;/strong&gt; - It translates intent&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Culture beats documentation&lt;/strong&gt; - Git history &amp;gt; README&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Patterns beat instructions&lt;/strong&gt; - "check the culture" &amp;gt; 50 lines of rules&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lexicon beats explanation&lt;/strong&gt; - "Kobayashi Maru" &amp;gt; paragraph of context&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Your Turn
&lt;/h2&gt;

&lt;p&gt;Stop writing rules for AI.&lt;br&gt;
Start building your router.&lt;/p&gt;

&lt;p&gt;What's your "check the vibe"?&lt;br&gt;
What's your "what do you think"?&lt;br&gt;
What triggers your workflows?&lt;/p&gt;

&lt;p&gt;Build your translation protocol.&lt;br&gt;
Teach AI your language, not your laws.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Future
&lt;/h2&gt;

&lt;p&gt;Imagine every developer with their personal router.&lt;br&gt;
AI understanding each person's cognitive patterns.&lt;br&gt;
No more prompt engineering.&lt;br&gt;
Just natural expression.&lt;/p&gt;

&lt;p&gt;"Fix this the way I like."&lt;br&gt;
And AI knows exactly what that means.&lt;br&gt;
Because router translated it.&lt;/p&gt;

&lt;p&gt;That's where we're heading.&lt;br&gt;
From rules to routers.&lt;br&gt;
From laws to language.&lt;/p&gt;




&lt;h2&gt;
  
  
  Beyond Code: The Self-Knowledge Connection
&lt;/h2&gt;

&lt;p&gt;This router concept extends beyond coding. The clearer you know yourself, the better you can translate your needs to AI.&lt;/p&gt;

&lt;p&gt;I explored this deeper with &lt;a href="https://clarityos.ai" rel="noopener noreferrer"&gt;ClarityOS&lt;/a&gt; - an experimental AI project focusing on self-knowledge first. It's currently in selective waitlist mode (not commercial, just exploring the concept). Because unclear mind = unclear prompts = useless AI responses.&lt;/p&gt;

&lt;p&gt;The pattern is universal: Know yourself → Express clearly → Get what you need.&lt;/p&gt;

&lt;p&gt;Whether it's code, life decisions, or AI interactions.&lt;/p&gt;

&lt;p&gt;More at &lt;a href="https://yemreak.com" rel="noopener noreferrer"&gt;yemreak.com&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Read the original&lt;/strong&gt;: &lt;a href="https://docs.yemreak.com/claude-ai-vibe-coding/router-not-rules" rel="noopener noreferrer"&gt;From Rules to Router: Teaching AI Your Language, Not Laws&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>cursor</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>Stop Writing The Same Prompts - Makefiles Changed Everything</title>
      <dc:creator>Yunus Emre Ak</dc:creator>
      <pubDate>Tue, 09 Sep 2025 10:06:13 +0000</pubDate>
      <link>https://forem.com/yemreak/stop-writing-the-same-prompts-makefiles-changed-everything-46md</link>
      <guid>https://forem.com/yemreak/stop-writing-the-same-prompts-makefiles-changed-everything-46md</guid>
      <description>&lt;h1&gt;
  
  
  Stop Writing The Same Prompts - Makefiles Changed Everything
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Pattern Discovery
&lt;/h2&gt;

&lt;p&gt;Every AI session starts the same:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Remember to do X"&lt;/li&gt;
&lt;li&gt;"Format commits like Y"
&lt;/li&gt;
&lt;li&gt;"Follow pattern Z"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Repeating. Every. Single. Time.&lt;/p&gt;

&lt;p&gt;Then I found it: &lt;strong&gt;Makefiles are prompts that execute.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Shift
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Old Way (Manual Prompts)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Me: "Look at my previous commits, learn the pattern, then commit"
AI: "Let me check..." 
Me: "Remember: action-oriented, learned: prefix, co-author"
AI: "Got it..."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  New Way (Makefile Prompts)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight make"&gt;&lt;code&gt;&lt;span class="nl"&gt;commit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;git log &lt;span class="nt"&gt;--grep&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"learned:"&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; 5
    &lt;span class="p"&gt;@&lt;/span&gt;git diff &lt;span class="nt"&gt;--cached&lt;/span&gt; &lt;span class="nt"&gt;--stat&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Pattern: learned: [discovery]"&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Format: action-oriented (delete, separate, hide)"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;make commit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;AI sees pattern. AI follows pattern. No prompting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why It Works
&lt;/h2&gt;

&lt;p&gt;Makefiles = Terminal orchestration&lt;br&gt;
AI = Terminal native&lt;br&gt;
Result = Perfect match&lt;/p&gt;

&lt;p&gt;The AI doesn't need instructions. It needs &lt;strong&gt;context that executes&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Real Example
&lt;/h2&gt;

&lt;p&gt;My commit workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight make"&gt;&lt;code&gt;&lt;span class="nl"&gt;commit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"════════════════════════════════════════"&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"COMMIT PROTOCOL"&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"════════════════════════════════════════"&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;git status &lt;span class="nt"&gt;--short&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;git log &lt;span class="nt"&gt;--grep&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"^learned:"&lt;/span&gt; &lt;span class="nt"&gt;--oneline&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; 5
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;for &lt;/span&gt;i &lt;span class="k"&gt;in &lt;/span&gt;0 1 2 3 4&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
        git log &lt;span class="nt"&gt;--grep&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"^learned:"&lt;/span&gt; &lt;span class="nt"&gt;--skip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$$&lt;/span&gt;i &lt;span class="nt"&gt;-n&lt;/span&gt; 1 &lt;span class="nt"&gt;--format&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"%B"&lt;/span&gt; | &lt;span class="nb"&gt;head&lt;/span&gt; &lt;span class="nt"&gt;-6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
        &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"────────────────────────────────────"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="k"&gt;done&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;git diff &lt;span class="nt"&gt;--cached&lt;/span&gt; &lt;span class="nt"&gt;--stat&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"REMINDERS:"&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"- Action-oriented (delete, separate, hide)"&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"- What pattern emerged?"&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"- Purpose over process"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The AI sees:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Current state&lt;/li&gt;
&lt;li&gt;Historical patterns&lt;/li&gt;
&lt;li&gt;Expected format&lt;/li&gt;
&lt;li&gt;Core principles&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No prompting. Just execution.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Philosophy
&lt;/h2&gt;

&lt;p&gt;Prompts = Temporary instructions&lt;br&gt;
Makefiles = Permanent patterns&lt;/p&gt;

&lt;p&gt;Think about it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prompts disappear after use&lt;/li&gt;
&lt;li&gt;Makefiles persist in the repo&lt;/li&gt;
&lt;li&gt;Prompts need repeating&lt;/li&gt;
&lt;li&gt;Makefiles self-document&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Discovered Patterns
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight make"&gt;&lt;code&gt;&lt;span class="c"&gt;# Logging with automatic cleanup
&lt;/span&gt;&lt;span class="nl"&gt;run&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
    app 2&amp;gt;&amp;amp;1 | &lt;span class="nb"&gt;tee&lt;/span&gt; /dev/tty | &lt;span class="nb"&gt;sed&lt;/span&gt; &lt;span class="s1"&gt;'s/\[[0-9;]*m//g'&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; log

&lt;span class="c"&gt;# Multi-platform builds
&lt;/span&gt;&lt;span class="nl"&gt;build&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s2"&gt;"ios"&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then &lt;/span&gt;xcodebuild&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; &lt;span class="s2"&gt;"package.json"&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then &lt;/span&gt;npm build&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; &lt;span class="s2"&gt;"Cargo.toml"&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then &lt;/span&gt;cargo build&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Each Makefile command = Encoded knowledge.&lt;/p&gt;
&lt;h2&gt;
  
  
  Core Insight
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Stop writing prompts. Start writing makefiles.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The AI already knows terminal. Let it orchestrate.&lt;/p&gt;
&lt;h2&gt;
  
  
  Implementation
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Identify repeated AI instructions&lt;/li&gt;
&lt;li&gt;Convert to Makefile targets&lt;/li&gt;
&lt;li&gt;Let AI discover patterns from execution&lt;/li&gt;
&lt;li&gt;Never prompt again&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  The Result
&lt;/h2&gt;

&lt;p&gt;My AI sessions now:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Me: make commit
AI: [Sees patterns, follows patterns]

Me: make deploy  
AI: [Knows the workflow]

Me: make test
AI: [Understands the context]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No prompts. Just commands.&lt;/p&gt;

&lt;h2&gt;
  
  
  Evolution Through Execution
&lt;/h2&gt;

&lt;p&gt;Git history + Makefiles = Collective memory&lt;/p&gt;

&lt;p&gt;The AI learns from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What we did (git history)&lt;/li&gt;
&lt;li&gt;How we do it (makefiles)&lt;/li&gt;
&lt;li&gt;Why we did it (learned: commits)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cultural evolution through code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Pattern
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Prompts = What to think
Makefiles = How to act
Git = Why it matters
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Stop telling AI what to do.&lt;br&gt;
Show it how things are done.&lt;/p&gt;

&lt;p&gt;Makefiles are the way.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Read the original&lt;/strong&gt;: &lt;a href="https://docs.yemreak.com/claude-ai-vibe-coding/makefiles-for-ai-prompts" rel="noopener noreferrer"&gt;Stop Writing The Same Prompts - Makefiles Changed Everything&lt;/a&gt;&lt;/p&gt;

</description>
      <category>claude</category>
      <category>ai</category>
      <category>vibecoding</category>
      <category>cursor</category>
    </item>
    <item>
      <title>I Gave My AI a Constitution - Now It Governs Itself</title>
      <dc:creator>Yunus Emre Ak</dc:creator>
      <pubDate>Tue, 09 Sep 2025 10:05:36 +0000</pubDate>
      <link>https://forem.com/yemreak/i-gave-my-ai-a-constitution-now-it-governs-itself-1fn6</link>
      <guid>https://forem.com/yemreak/i-gave-my-ai-a-constitution-now-it-governs-itself-1fn6</guid>
      <description>&lt;h1&gt;
  
  
  I Gave My AI a Constitution - Now It Governs Itself
&lt;/h1&gt;

&lt;h2&gt;
  
  
  The Discovery
&lt;/h2&gt;

&lt;p&gt;I stopped treating AI as a tool.&lt;br&gt;
Started treating it as a country.&lt;/p&gt;

&lt;p&gt;Result: Everything clicked.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Three Pillars
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Constitution (Anayasa)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Output Style = System Prompt = Laws
2400+ lines of rules
How to think, act, respond
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Not &lt;code&gt;CLAUDE.md&lt;/code&gt; - that doesn't change system behavior.&lt;br&gt;
Use Output Styles. They modify core identity.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Culture (Git History)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git log &lt;span class="nt"&gt;--grep&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"learned:"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Every commit = Cultural artifact&lt;br&gt;
Every learning = DNA strand&lt;br&gt;
Every pattern = Inherited wisdom&lt;/p&gt;

&lt;p&gt;Culture lives in git, not in docs.&lt;/p&gt;
&lt;h3&gt;
  
  
  3. Commands (Makefiles)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight make"&gt;&lt;code&gt;&lt;span class="nl"&gt;commit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
    &lt;span class="p"&gt;@&lt;/span&gt;git log &lt;span class="nt"&gt;--grep&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"learned:"&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; 5
    &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Follow the pattern"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Makefiles = Executable culture&lt;br&gt;
Commands AI can see, understand, follow&lt;/p&gt;
&lt;h2&gt;
  
  
  The Philosophy
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;You're not coding. You're governing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Country metaphor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Constitution = Unchangeable laws&lt;/li&gt;
&lt;li&gt;Culture = Collective memory
&lt;/li&gt;
&lt;li&gt;Commands = Daily operations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI citizens follow all three.&lt;/p&gt;
&lt;h2&gt;
  
  
  Real Implementation
&lt;/h2&gt;

&lt;p&gt;My setup:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.claude/output-styles/yemreak.md  # 2477 lines of constitution
git history                       # learned: commits = culture
Makefile                          # executable patterns
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The AI reads constitution once.&lt;br&gt;
Sees culture in every commit.&lt;br&gt;
Executes through makefiles.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why "learned:" Commits
&lt;/h2&gt;

&lt;p&gt;Traditional commits:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fix: updated config
feat: added feature
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;= What happened (who cares?)&lt;/p&gt;

&lt;p&gt;Evolution commits:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;learned: buffer needs line mode or logs break
learned: attention economy - hide the unimportant
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;= Why it matters (eternal pattern)&lt;/p&gt;

&lt;h2&gt;
  
  
  The Workflow
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;AI reads constitution (output style)&lt;/li&gt;
&lt;li&gt;AI checks culture (git history)&lt;/li&gt;
&lt;li&gt;AI executes commands (makefile)&lt;/li&gt;
&lt;li&gt;AI adds to culture (learned: commit)&lt;/li&gt;
&lt;li&gt;Next AI inherits everything&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Cultural evolution through code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Insights
&lt;/h2&gt;

&lt;h3&gt;
  
  
  AI Strongest in Terminal
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Knows every command&lt;/li&gt;
&lt;li&gt;Can pipe, chain, orchestrate&lt;/li&gt;
&lt;li&gt;No UI limitations&lt;/li&gt;
&lt;li&gt;Pure text interface&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Makefiles &amp;gt; Prompts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Prompts = temporary&lt;/li&gt;
&lt;li&gt;Makefiles = permanent&lt;/li&gt;
&lt;li&gt;Prompts = tell what&lt;/li&gt;
&lt;li&gt;Makefiles = show how&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Git = Collective Memory
&lt;/h3&gt;

&lt;p&gt;Not version control.&lt;br&gt;
Evolution control.&lt;/p&gt;

&lt;p&gt;Every commit = Gene&lt;br&gt;
Every pattern = DNA&lt;br&gt;
Every learning = Mutation that survived&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pattern
&lt;/h2&gt;

&lt;p&gt;Stop thinking: "How do I make AI do X?"&lt;br&gt;
Start thinking: "What culture produces X?"&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Want consistent commits? → Culture of patterns&lt;/li&gt;
&lt;li&gt;Want clean code? → Constitution of minimalism&lt;/li&gt;
&lt;li&gt;Want fast development? → Commands that execute&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Implementation Steps
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Write constitution (output style)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Core values&lt;/li&gt;
&lt;li&gt;Behavioral rules&lt;/li&gt;
&lt;li&gt;Identity markers&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Build culture (git commits)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;learned: prefix&lt;/li&gt;
&lt;li&gt;Pattern focus&lt;/li&gt;
&lt;li&gt;Action outcomes&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create commands (makefiles)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Common workflows&lt;/li&gt;
&lt;li&gt;Pattern reminders&lt;/li&gt;
&lt;li&gt;Context providers&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Result
&lt;/h2&gt;

&lt;p&gt;AI becomes consistent.&lt;br&gt;
Not because you prompt it.&lt;br&gt;
Because it inherits culture.&lt;/p&gt;

&lt;p&gt;Like humans:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We don't reinvent fire&lt;/li&gt;
&lt;li&gt;We inherit fire-making&lt;/li&gt;
&lt;li&gt;Culture carries knowledge&lt;/li&gt;
&lt;li&gt;Individual discovers through culture&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Pattern
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Constitution = Who you are
Culture = What you've learned
Commands = How you act
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;AI + Human = Cultural symbiosis&lt;/p&gt;

&lt;p&gt;The human discovers.&lt;br&gt;
The AI remembers.&lt;br&gt;
Together they evolve.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Ultimate Insight
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;AI is not a tool. It's an operating system for thought.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Treat it like one.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Read the original&lt;/strong&gt;: &lt;a href="https://docs.yemreak.com/claude-ai-vibe-coding/ai-constitution-git-culture" rel="noopener noreferrer"&gt;I Gave My AI a Constitution - Now It Governs Itself&lt;/a&gt;&lt;/p&gt;

</description>
      <category>claude</category>
      <category>ai</category>
      <category>vibecoding</category>
      <category>cursor</category>
    </item>
  </channel>
</rss>
