<?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: Anuraj S.L</title>
    <description>The latest articles on Forem by Anuraj S.L (@anuraj_sl_069e22db471c6e).</description>
    <link>https://forem.com/anuraj_sl_069e22db471c6e</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%2F3522655%2Fd5b78d9e-2664-4896-aa73-6beac0c6fbce.jpg</url>
      <title>Forem: Anuraj S.L</title>
      <link>https://forem.com/anuraj_sl_069e22db471c6e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/anuraj_sl_069e22db471c6e"/>
    <language>en</language>
    <item>
      <title>How Global Steering Revolutionizes SDLC using Amazon KIRO</title>
      <dc:creator>Anuraj S.L</dc:creator>
      <pubDate>Mon, 30 Mar 2026 21:30:33 +0000</pubDate>
      <link>https://forem.com/anuraj_sl_069e22db471c6e/how-global-steering-revolutionizes-sdlc-using-amazon-kiro-53f4</link>
      <guid>https://forem.com/anuraj_sl_069e22db471c6e/how-global-steering-revolutionizes-sdlc-using-amazon-kiro-53f4</guid>
      <description>&lt;h1&gt;
  
  
  Say Goodbye to Repetitive Setup: How Global Steering Revolutionizes Project Management
&lt;/h1&gt;

&lt;p&gt;You've told your AI assistant a dozen times that you prefer functional React components. You've re-explained your Git conventions at the start of every project. You've copy-pasted the same security policies into yet another workspace. Sound familiar?&lt;/p&gt;

&lt;p&gt;Here's the thing: most of what you tell your AI coding assistant isn't project-specific. Your coding style, testing philosophy, security standards — they stay the same whether you're building a fintech API or a personal side project. So why are you repeating yourself every single time?&lt;/p&gt;

&lt;p&gt;This is exactly the problem that &lt;strong&gt;Global Steering&lt;/strong&gt; in &lt;a href="https://kiro.dev/" rel="noopener noreferrer"&gt;Kiro&lt;/a&gt; was built to solve.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Steering?
&lt;/h2&gt;

&lt;p&gt;Steering is persistent AI context. It's a collection of markdown files that give Kiro knowledge about your preferences, standards, and architectural decisions &lt;em&gt;before&lt;/em&gt; it starts working on your code. Instead of re-explaining the same conventions in every chat session, you write them once in a steering file, and Kiro reads them automatically with every interaction.&lt;/p&gt;

&lt;p&gt;There are two scopes for steering files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Workspace steering&lt;/strong&gt; — lives in your project at &lt;code&gt;.kiro/steering/&lt;/code&gt; and applies only to that specific workspace.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Global steering&lt;/strong&gt; — lives in your home directory at &lt;code&gt;~/.kiro/steering/&lt;/code&gt; and applies to &lt;em&gt;every&lt;/em&gt; workspace you open.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Global steering is the key ingredient here. Any markdown file you place in &lt;code&gt;~/.kiro/steering/&lt;/code&gt; becomes available to Kiro across all your projects, automatically. No copying, no pasting, no forgetting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Global Steering Changes the Game
&lt;/h2&gt;

&lt;h3&gt;
  
  
  One Folder, Infinite Projects
&lt;/h3&gt;

&lt;p&gt;Think of global steering as your &lt;code&gt;.bashrc&lt;/code&gt; for AI context — configuration that follows you everywhere. Write your coding style preferences, security policies, testing philosophy, and documentation standards once, and they become the foundation for every project you touch.&lt;/p&gt;

&lt;p&gt;For a developer working across 20 projects a year, that's hours of repetitive setup eliminated. For a team of 50? The savings compound fast.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Best of Both Worlds
&lt;/h3&gt;

&lt;p&gt;Universal rules are great, but flexibility matters. Global Steering lets you layer your instructions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Global steering&lt;/strong&gt; (&lt;code&gt;~/.kiro/steering/&lt;/code&gt;) defines your baseline — coding style, security requirements, accessibility standards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workspace steering&lt;/strong&gt; (&lt;code&gt;.kiro/steering/&lt;/code&gt;) adds project-specific context — the tech stack, product domain, file structure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When there's a conflict between global and workspace instructions, &lt;strong&gt;workspace steering takes precedence&lt;/strong&gt;. This means you can set broad defaults globally and override them for specific projects when needed. It's not one-size-fits-all — it's sensible defaults with surgical overrides.&lt;/p&gt;

&lt;h3&gt;
  
  
  Seamless AGENTS.md Compatibility
&lt;/h3&gt;

&lt;p&gt;Kiro fully supports the &lt;a href="https://agents.md/" rel="noopener noreferrer"&gt;AGENTS.md&lt;/a&gt; standard. You can place AGENTS.md files in your global steering folder (&lt;code&gt;~/.kiro/steering/&lt;/code&gt;) or in the root of any workspace, and Kiro picks them up automatically. Note that AGENTS.md files don't support Kiro's inclusion modes — they're always included. But if you already have agent instructions written in this format, they'll work out of the box.&lt;/p&gt;

&lt;h3&gt;
  
  
  Instant Team Alignment
&lt;/h3&gt;

&lt;p&gt;For teams, global steering is a serious productivity lever. Organizations can distribute standardized steering files to every developer through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Version-controlled repositories&lt;/strong&gt; — maintain a shared repo of company-wide steering files. Developers clone it during onboarding and symlink or copy the files to &lt;code&gt;~/.kiro/steering/&lt;/code&gt;. A simple setup script automates the whole process.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MDM solutions&lt;/strong&gt; (Jamf, Intune, Group Policies) — push steering files directly to &lt;code&gt;~/.kiro/steering/&lt;/code&gt; on every developer's machine. Zero manual setup, centralized policy management, and automatic updates when standards change.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;New team members inherit your team's exact coding standards the moment they start working with Kiro. No forgotten policies, no drift, no onboarding friction.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Belongs in Global Steering?
&lt;/h2&gt;

&lt;p&gt;Focus on what's consistent across your work, regardless of the project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎨 &lt;strong&gt;Coding style&lt;/strong&gt; — component patterns, naming conventions, formatting preferences&lt;/li&gt;
&lt;li&gt;🧪 &lt;strong&gt;Testing philosophy&lt;/strong&gt; — coverage expectations, test file organization, mocking approaches&lt;/li&gt;
&lt;li&gt;🔒 &lt;strong&gt;Security requirements&lt;/strong&gt; — authentication standards, input validation, data handling rules&lt;/li&gt;
&lt;li&gt;📝 &lt;strong&gt;Documentation standards&lt;/strong&gt; — comment styles, README templates, API documentation formats&lt;/li&gt;
&lt;li&gt;🏗️ &lt;strong&gt;Architecture principles&lt;/strong&gt; — design patterns, dependency management, error handling strategies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What NOT to include:&lt;/strong&gt; API keys, secrets, database credentials, internal URLs, customer data, or any PII. Steering files are plain-text markdown — treat them like code that could be shared.&lt;/p&gt;

&lt;h2&gt;
  
  
  Smart Inclusion Modes
&lt;/h2&gt;

&lt;p&gt;Not every steering file needs to load every time. Kiro offers four inclusion modes to keep context relevant:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mode&lt;/th&gt;
&lt;th&gt;Front Matter&lt;/th&gt;
&lt;th&gt;Behavior&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Always&lt;/strong&gt; (default)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;inclusion: always&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Loaded in every interaction. Use for core standards.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Conditional&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;inclusion: fileMatch&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Loaded only when working with files matching a pattern (e.g., &lt;code&gt;components/**/*.tsx&lt;/code&gt;).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Manual&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;inclusion: manual&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Available on-demand via &lt;code&gt;#steering-file-name&lt;/code&gt; in chat.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Auto&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;inclusion: auto&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Automatically included when your request matches the file's description.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This means your React component guidelines only load when you're editing &lt;code&gt;.tsx&lt;/code&gt; files, and your deployment runbook only appears when you ask about deployments. Clean, focused context.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Real-World Example
&lt;/h2&gt;

&lt;p&gt;Say you're a full-stack developer working across client projects, open source, and side projects. Your global steering folder might look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;~/.kiro/steering/
├── style.md              # Functional components, Prettier with semicolons
├── accessibility.md      # Semantic HTML, ARIA attributes, alt text
├── testing.md            # Jest, 80% coverage, tests in __tests__/
└── security.md           # Input validation, auth patterns, OWASP basics
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you start a new e-commerce project. Your workspace steering adds the specifics:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.kiro/steering/
├── tech.md               # Next.js, TypeScript, Tailwind CSS
├── product.md            # Product data models, cart logic
└── structure.md          # Components in src/components/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When you ask Kiro to "Create a new ProductCard component," it reads both layers and generates a functional TypeScript component using Tailwind, with proper semantic HTML and accessibility attributes, placed in the right directory with a test file — all matching your personal coding style. No instructions needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started in 3 Steps
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Create your first global steering file. Pick the thing you repeat most — usually coding style:&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;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; ~/.kiro/steering
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create &lt;code&gt;~/.kiro/steering/style.md&lt;/code&gt; with your preferences in plain markdown.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Test it. Open any project in Kiro and ask it to generate some code. It should follow your style preferences without you mentioning them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Expand gradually. Add more files as you notice patterns you keep repeating. Build your steering library organically.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;Global Steering turns your accumulated development wisdom into persistent, portable AI context. Write your standards once in markdown, drop them in &lt;code&gt;~/.kiro/steering/&lt;/code&gt;, and Kiro follows them everywhere — across every project, every language, every team member.&lt;/p&gt;

&lt;p&gt;No more copy-pasting. No more forgotten policies. No more explaining yourself for the 48th time.&lt;/p&gt;

&lt;p&gt;What will you put in your global steering? Share in the comments&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sources: &lt;a href="https://kiro.dev/docs/steering/" rel="noopener noreferrer"&gt;Kiro Steering Documentation&lt;/a&gt;, &lt;a href="https://kiro.dev/blog/stop-repeating-yourself/" rel="noopener noreferrer"&gt;Kiro Blog - Stop Repeating Yourself&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I Built a CLI That Catches What AI Coding Tools Break</title>
      <dc:creator>Anuraj S.L</dc:creator>
      <pubDate>Sun, 29 Mar 2026 19:44:09 +0000</pubDate>
      <link>https://forem.com/anuraj_sl_069e22db471c6e/i-built-a-cli-that-catches-what-ai-coding-tools-break-1o9d</link>
      <guid>https://forem.com/anuraj_sl_069e22db471c6e/i-built-a-cli-that-catches-what-ai-coding-tools-break-1o9d</guid>
      <description>&lt;p&gt;I've been using AI tools (Claude, Antigravity, Kiro, Copilot, Cursor) to build software for the past year. They're incredible at writing code but terrible at remembering what depends on what.&lt;/p&gt;

&lt;p&gt;Here's a scenario every AI-assisted developer knows:&lt;/p&gt;

&lt;p&gt;You ask the AI to refactor your user model. &lt;/p&gt;

&lt;p&gt;It does a great job. Clean code, good types, well-structured. &lt;/p&gt;

&lt;p&gt;What it doesn't know is that six other files import from that model. Your auth service, your cart controller, your API docs, your validation middleware. All of them still reference the old interface. The AI has no idea they exist.&lt;/p&gt;

&lt;p&gt;You don't notice either. Not until something breaks in production three sessions later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The pattern I kept seeing:&lt;/strong&gt;&lt;br&gt;
After about 40 development sessions, I started tracking these failures. &lt;/p&gt;

&lt;p&gt;&lt;u&gt;They fell into three buckets:&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Anchor drift. A core file changes, but everything that depends on it stays stale. The AI modified the source of truth without updating the consumers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Context loss. Session crashes, token limits hit, or I simply started a new day. The AI had zero memory of what we decided yesterday, what was half-finished, or which files were in a fragile state.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Silent regressions. Tests quietly removed. Files growing past 500 lines. Documentation falling weeks behind the code. Nobody checking because there was no system to check.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These aren't bugs in the AI. They're structural problems. The AI is stateless. It can't track cross-file dependencies across sessions. That's not its job. But someone needs to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So I built TRACE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;TRACE is a CLI tool that enforces structural coherence in AI-augmented codebases. It's not a linter. It's not a test runner. It's a system that understands which files are your sources of truth (anchors), which files depend on them (consumers), and whether everything is still in sync.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install -g trace-coherence&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Here's what a typical session looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Start of session
$ trace gate start

━━━ Start Gate — MyProject ━━━

✓ TRACE state exists
✓ Baseline tests passing (37/37)
✓ No unresolved debt (0/5)
✓ Integrity checksums verified
✓ Config validation passed
✓ AI context generated

GATE PASSED — Session open.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That last line, "AI context generated", creates a file called .trace/AI_CONTEXT.md that contains only what's relevant to this session: which anchors exist, which consumers depend on them, any outstanding debt, current plan items. Your AI tool reads this and has focused context instead of fumbling through the whole project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The anchor-consumer model&lt;/strong&gt;&lt;br&gt;
The core concept is simple. In trace.yaml, you declare which files are anchors (sources of truth) and which files consume them:&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="na"&gt;yamlanchors&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;user_model&lt;/span&gt;
    &lt;span class="na"&gt;file&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;src/models/user.ts&lt;/span&gt;
    &lt;span class="na"&gt;consumers&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;src/services/auth.service.ts&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;src/controllers/user.controller.ts&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;src/middleware/validation.ts&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;src/routes/user.routes.ts&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;docs/api/users.md&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now TRACE knows the dependency graph. When user.ts changes but auth.service.ts doesn't, that's a coherence violation. The gate end check catches it:&lt;br&gt;
bash$ trace gate end&lt;/p&gt;

&lt;p&gt;━━━ End Gate — MyProject ━━━&lt;/p&gt;

&lt;p&gt;✗ Consumer sync: user_model anchor modified,&lt;br&gt;
  but 3 consumers not updated:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;src/services/auth.service.ts&lt;/li&gt;
&lt;li&gt;src/middleware/validation.ts&lt;/li&gt;
&lt;li&gt;docs/api/users.md&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GATE BLOCKED — Fix consumer drift before closing.&lt;br&gt;
This is what makes TRACE different from a linter. A linter checks syntax. TRACE checks whether your changes are structurally complete. Did you update everything that needed updating? Did you leave any file in a state that contradicts another file?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Two ways to start&lt;/u&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;New project&lt;/strong&gt;:&lt;code&gt;trace init&lt;/code&gt;&lt;br&gt;
Creates trace.yaml and the .trace/ directory. All gates default to "block" mode. Full enforcement from the start.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Existing project&lt;/strong&gt;:&lt;code&gt;trace scan&lt;/code&gt;&lt;br&gt;
This is where it gets interesting. trace scan does a 4-phase analysis of your codebase:&lt;/p&gt;

&lt;p&gt;Scans all files and identifies likely anchors (files with many importers)&lt;br&gt;
Maps consumer relationships from import/require statements&lt;br&gt;
Detects existing test infrastructure and quality tools&lt;br&gt;
Auto-calibrates complexity thresholds based on your actual codebase&lt;/p&gt;

&lt;p&gt;It generates a trace.yaml with everything pre-configured. Gates default to "warn" mode so nothing blocks your existing workflow. This is the "Clean as You Code" approach borrowed from SonarQube: pre-existing issues get a baseline pass, new code is fully enforced.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What else it does&lt;/strong&gt;&lt;br&gt;
22 commands total. Here are the ones I use most:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;trace impact user_model   &lt;span class="c"&gt;# Show blast radius before coding&lt;/span&gt;
trace checkpoint          &lt;span class="c"&gt;# Crash recovery + auto-observation&lt;/span&gt;
trace plan add &lt;span class="s2"&gt;"Auth refactor"&lt;/span&gt; &lt;span class="nt"&gt;--priority&lt;/span&gt; high
trace plan move ITEM-003 &lt;span class="k"&gt;done
&lt;/span&gt;trace plan release v1.2.0   &lt;span class="c"&gt;# Auto-generate release notes&lt;/span&gt;
trace ci &lt;span class="nt"&gt;--json&lt;/span&gt;           &lt;span class="c"&gt;# PR-scoped analysis for CI/CD&lt;/span&gt;
trace license           &lt;span class="c"&gt;# Dependency license compliance check&lt;/span&gt;
trace validate         &lt;span class="c"&gt;# Config check with "did you mean?" typo detection&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The planning system is a YAML-based Kanban board. No infrastructure. No SaaS. Just a file in your repo that tracks what's todo, in progress, done, or deferred. trace plan release turns completed items into formatted release notes.&lt;/p&gt;

&lt;p&gt;The CI command only checks files changed in the current PR. It can output JSON and generate GitHub PR comments automatically. No need to run full-project analysis on every push.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Zero network calls. Runs entirely offline.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It works with any language (TypeScript, Python, Go, Java, Rust). Any AI tool (Claude, Copilot, Cursor, ChatGPT). Any CI system (GitHub Actions, GitLab CI, Jenkins).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it costs in tokens&lt;/strong&gt;&lt;br&gt;
About 1,000 to 2,000 tokens per session for reading the AI context file and running gates. But it prevents the 50,000+ token debugging sessions that happen when drift goes undetected. The math works out heavily in your favor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I learned building it&lt;/strong&gt;&lt;br&gt;
The biggest insight: AI tools are excellent at local reasoning (this file, this function) but have no mechanism for global reasoning (across files, across sessions). TRACE fills that gap. It's not competing with the AI. It's providing the structural memory that AI can't maintain on its own.&lt;br&gt;
The second insight: "Clean as You Code" is the only adoption strategy that works for existing projects. Nobody will stop everything to retrofit coherence checks. But if you only enforce rules on new code, people adopt it naturally because it never blocks them on old problems.&lt;/p&gt;

&lt;p&gt;Try it&lt;br&gt;
&lt;code&gt;npm install -g trace-coherence&lt;/code&gt;&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;cd &lt;/span&gt;your-project
trace scan
trace gate start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/anurajsl/trace" rel="noopener noreferrer"&gt;https://github.com/anurajsl/trace&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I built this because I needed it. If you're using AI tools to write code and have ever been burned by cross-file drift, give it 5 minutes.&lt;/p&gt;

&lt;p&gt;Happy to answer questions in the comments.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>agentskills</category>
    </item>
    <item>
      <title>Building AI Agents That Actually Work: A Developer's Reality Check</title>
      <dc:creator>Anuraj S.L</dc:creator>
      <pubDate>Mon, 22 Sep 2025 18:01:45 +0000</pubDate>
      <link>https://forem.com/anuraj_sl_069e22db471c6e/building-ai-agents-that-actually-work-a-developers-reality-check-l3m</link>
      <guid>https://forem.com/anuraj_sl_069e22db471c6e/building-ai-agents-that-actually-work-a-developers-reality-check-l3m</guid>
      <description>&lt;p&gt;Everyone's talking about 2025 being "the year of AI agents." But after digging into what's actually happening in production environments, I've learned the conversation needs to shift from hype to honest implementation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Promise vs. The Reality
&lt;/h2&gt;

&lt;p&gt;The tech news cycle wants you to believe autonomous AI agents will revolutionize everything overnight. Meanwhile, developers building these systems are learning something different: &lt;strong&gt;the gap between a working demo and a production system is massive&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here's what caught my attention: a recent study found that experienced developers actually took 19% longer to complete tasks when using AI tools. Not because the tools don't work, but because the real world is messier than benchmarks suggest.&lt;/p&gt;

&lt;p&gt;And the numbers get worse from there. When you chain agent actions together, error rates compound exponentially. A system with 95% reliability per step drops to just 36% success over 20 steps. In production, you need 99.9%+ reliability, which is why 76% of developers still won't use AI for deployment and monitoring tasks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choosing Your Framework: It's Not Just About LangGraph
&lt;/h2&gt;

&lt;p&gt;The agent framework landscape is crowded, and each takes a different philosophy:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LangGraph&lt;/strong&gt; gives you graph-based control where you explicitly manage state and flow. Companies like LinkedIn, Uber, and Klarna use it because it prioritizes control over convenience. If you need to see exactly what's happening at each step, this is your tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CrewAI&lt;/strong&gt; focuses on multi-agent teams with role-based coordination. Think of it as organizing AI agents like you'd organize a human team, with specialized roles and collaboration protocols. Great when you have clearly defined responsibilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AutoGen&lt;/strong&gt; from Microsoft emphasizes conversational multi-agent systems with built-in human-in-the-loop patterns. It's designed around the idea that agents should communicate like people do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Semantic Kernel&lt;/strong&gt; integrates tightly with Azure and the Microsoft ecosystem. If you're already invested there, it reduces friction.&lt;/p&gt;

&lt;p&gt;The real question isn't which framework is "best"—it's which matches your team's skills and your specific use case. Stack Overflow's 2025 survey shows Ollama (51%) and LangChain (33%) leading adoption among developers building agents, but that's correlation, not causation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Three Things That Actually Matter
&lt;/h2&gt;

&lt;p&gt;After reviewing dozens of production implementations, three patterns emerge for successful agent systems:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. State Management Is Your Foundation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most agent failures trace back to context problems. The LLM doesn't have the right information at the right time. This is why stateful frameworks like LangGraph work—they make context explicit and trackable.&lt;/p&gt;

&lt;p&gt;Instead of hoping your agent remembers what happened three steps ago, you design exactly what information persists and how it flows between operations. This isn't sexy, but it's what separates toys from tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Humans Stay in the Loop&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The agents that work in production aren't fully autonomous. They're collaborative.&lt;/p&gt;

&lt;p&gt;Your code review agent? It flags issues and suggests fixes, but a developer approves changes. Your database agent? It generates SQL queries, but requires confirmation before execution. The pattern repeats: AI handles complexity, humans handle judgment.&lt;/p&gt;

&lt;p&gt;This isn't a limitation—it's a design choice. Recent data shows 70% of successful agent implementations include human approval steps. The teams skipping this step are the ones dealing with production incidents.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Tool Design Matters More Than Model Choice&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here's the part that surprised me: the quality of your tools matters more than which LLM you use.&lt;/p&gt;

&lt;p&gt;Every tool you give an agent needs careful design. How does it communicate success? What happens on partial failures? How do you avoid burning through context with verbose responses?&lt;/p&gt;

&lt;p&gt;The real engineering challenge isn't prompt writing—it's building an ecosystem of tools that agents can actually use effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Means for Your Organization
&lt;/h2&gt;

&lt;p&gt;If you're a technical leader evaluating agents, here's the business perspective that matters:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost Reality&lt;/strong&gt;: Context windows create quadratic token costs. A single long-running agent conversation can cost 10-100x more than you'd expect from simple calculations. Budget accordingly and build cost monitoring from day one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time to Value&lt;/strong&gt;: The companies seeing ROI are those starting with narrow, well-defined use cases. Wells Fargo processed 245 million interactions successfully—but they didn't start there. They started small and scaled what worked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Team Impact&lt;/strong&gt;: 52% of developers report AI tools improved their productivity, but that's heavily dependent on use case. The gains come from automation of specific tasks (documentation, code review, testing), not wholesale replacement of workflows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Risk Management&lt;/strong&gt;: For compliance-heavy industries, you need audit trails, rollback mechanisms, and human oversight. Most organizations aren't agent-ready from a governance perspective. The technical work is building APIs and integration points; the harder work is policy and process.&lt;/p&gt;

&lt;p&gt;The question isn't "should we use agents?" It's "which specific problems justify the engineering investment, ongoing costs, and operational overhead?"&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started Without Drowning
&lt;/h2&gt;

&lt;p&gt;If you're thinking about building with agents, start small:&lt;/p&gt;

&lt;p&gt;Pick one specific problem where automation would genuinely help. Not "automate our entire codebase" but "flag potential security issues in pull requests" or "generate API documentation from code."&lt;/p&gt;

&lt;p&gt;Build with these principles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Explicit over implicit&lt;/strong&gt;: Make your agent's decision points visible&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bounded over broad&lt;/strong&gt;: Narrow scope leads to better results
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitored over autonomous&lt;/strong&gt;: Observability isn't optional&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use the ReAct (Reasoning and Acting) pattern. Let your agent think through problems step by step, use tools to gather information, then observe results before deciding what's next. This creates an audit trail and makes debugging actually possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Production Checklist
&lt;/h2&gt;

&lt;p&gt;Before you deploy, you need:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Observability&lt;/strong&gt;: Can you see what your agent is doing at each step? According to the latest Stack Overflow survey, 43% of teams use Grafana + Prometheus for agent monitoring—they're adapting traditional DevOps tools because AI-native solutions aren't mature yet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost controls&lt;/strong&gt;: Long conversations get expensive fast. Design with limits in mind. Set budgets per conversation, implement caching strategies, and monitor token usage religiously.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Error handling&lt;/strong&gt;: What happens when a tool fails? When the LLM returns unexpected output? When external APIs are down? Your agent needs graceful degradation, not silent failures.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Testing infrastructure&lt;/strong&gt;: You can't just "try it and see." You need systematic evaluation of both outputs and the execution path. Did it work? Did it work the right way?&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Actually Working
&lt;/h2&gt;

&lt;p&gt;The successful agent implementations I've seen share a pattern: they're not trying to replace humans, they're augmenting specific workflows with clear boundaries.&lt;/p&gt;

&lt;p&gt;A self-documenting code system that adds docstrings and flags issues? That works. An agent that tries to understand requirements, write code, test it, and deploy it? That's still science fiction.&lt;/p&gt;

&lt;p&gt;The difference is scope. The first has clear inputs, defined outputs, and measurable success. The second has too many variables and too many ways to fail.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Honest Truth About 2025
&lt;/h2&gt;

&lt;p&gt;AI agents will be everywhere this year, but probably not how you think.&lt;/p&gt;

&lt;p&gt;We'll see more copilots and assistants. More tools that make developers faster at specific tasks. More systems that handle the boring parts so humans can focus on the interesting problems.&lt;/p&gt;

&lt;p&gt;What we won't see—despite the headlines—is fully autonomous systems replacing development teams. The math doesn't work. The reliability isn't there. The trust hasn't been earned.&lt;/p&gt;

&lt;p&gt;And honestly? That's fine. The real value isn't in replacement, it's in partnership. Build systems that make your team faster, not systems that try to replace them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to Go From Here
&lt;/h2&gt;

&lt;p&gt;If you're building agent systems:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start with problems, not technology&lt;/strong&gt;. Don't build an agent because agents are hot. Build one because you have a specific workflow that needs automation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Choose your battles&lt;/strong&gt;. Some tasks are perfect for agents (documentation, analysis, pattern matching). Others aren't (deployment, architecture decisions, anything requiring deep business context).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Invest in your tools&lt;/strong&gt;. The framework matters, but your tool library matters more. Build reusable components that future agents can leverage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monitor everything&lt;/strong&gt;. Production agents need production observability. Invest in tracing, logging, and evaluation from day one.&lt;/p&gt;

&lt;p&gt;The agent revolution might not look like the one in the headlines, but it's real. The teams winning are the ones building deliberately, not desperately chasing hype.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;If you've tried agents in production, what worked—and where did they break down?&lt;/strong&gt; I'm especially interested in hearing about unexpected costs, reliability issues, or use cases that succeeded against expectations. Sharing real stories will help the community cut through the hype and focus on what actually delivers value.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
