<?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>DEV Community: Siwar Grami</title>
    <description>The latest articles on DEV Community by Siwar Grami (@siwar_grami_1300f83897830).</description>
    <link>https://dev.to/siwar_grami_1300f83897830</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4187217%2Feafd87b4-9791-4e45-a946-4a05d326a242.jpg</url>
      <title>DEV Community: Siwar Grami</title>
      <link>https://dev.to/siwar_grami_1300f83897830</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/siwar_grami_1300f83897830"/>
    <language>en</language>
    <item>
      <title>Your coding agent starts every session with amnesia.</title>
      <dc:creator>Siwar Grami</dc:creator>
      <pubDate>Thu, 05 Nov 2026 12:54:59 +0000</pubDate>
      <link>https://dev.to/siwar_grami_1300f83897830/your-coding-agent-starts-every-session-with-amnesia-38o4</link>
      <guid>https://dev.to/siwar_grami_1300f83897830/your-coding-agent-starts-every-session-with-amnesia-38o4</guid>
      <description>&lt;p&gt;It can read your entire codebase. It cannot read why any of it is that way.&lt;br&gt;
The reasoning lives somewhere it can't reach in PR descriptions, in commit messages, in a review thread from March, and mostly in sessions that already ended.&lt;br&gt;
So it re-derives decisions your team made six months ago. Sometimes it re-derives them wrong.&lt;br&gt;
We gave the history back.&lt;br&gt;
Gitmore exposes your repo's activity to the agent over MCP read-only, API key, no source code. Before it edits a file, the agent can ask what shipped this week, or search every PR description and commit message for why a thing changed.&lt;br&gt;
Then the other direction, which matters more.&lt;br&gt;
When a session ends, a Claude Code Stop hook posts a short self-report: what it did, why, the branch, the commit, the PR, the files it touched. Four thousand characters of reasoning that would otherwise have died with the session.&lt;br&gt;
The next agent reads it. So does the next engineer.&lt;br&gt;
Here's the part I underestimated. When one person used an agent occasionally, losing the "why" was an annoyance. When agents write a third of your merged work, losing the "why" is an institutional memory problem and it compounds quietly, commit by commit, until nobody can explain a subsystem.&lt;br&gt;
Attribution tells you how much of your code agents wrote.&lt;br&gt;
This decides whether any of that work accumulates into something your team actually knows.&lt;/p&gt;

&lt;p&gt;gitmore.io&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>mcp</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>How many of your commits did an AI actually write?</title>
      <dc:creator>Siwar Grami</dc:creator>
      <pubDate>Thu, 22 Oct 2026 13:49:06 +0000</pubDate>
      <link>https://dev.to/siwar_grami_1300f83897830/how-many-of-your-commits-did-an-ai-actually-write-12jk</link>
      <guid>https://dev.to/siwar_grami_1300f83897830/how-many-of-your-commits-did-an-ai-actually-write-12jk</guid>
      <description>&lt;p&gt;Everyone is quoting a percentage right now. Thirty percent of our code is AI-written. Half. Ninety. Almost nobody says where the number came from, because for the most part it came from a survey or a feeling.&lt;/p&gt;

&lt;p&gt;The strange thing is that the real number is sitting in your git history already, and almost nobody looks.&lt;/p&gt;

&lt;p&gt;Coding agents sign their work. Not as a side effect their authors deliberately built attribution into the commit record. Claude Code appends a co-author line pointing at &lt;a href="mailto:noreply@anthropic.com"&gt;noreply@anthropic.com&lt;/a&gt;. Cursor signs as &lt;a href="mailto:cursoragent@cursor.com"&gt;cursoragent@cursor.com&lt;/a&gt;. Jules shows up as google-labs-jules[bot]. Devin leaves a session link. Copilot's coding agent opens the pull request under its own bot account. Every one of those survives in metadata you can read without touching a single line of source code.&lt;/p&gt;

&lt;p&gt;So you can just count them. This is the whole measurement, run against the repo I'm writing from:&lt;/p&gt;

&lt;p&gt;git log --since="90 days ago" --format='%(trailers:key=Co-authored-by,valueonly)' | grep -ci anthropic&lt;br&gt;
Five of the last fifteen commits. A third, measured rather than guessed, in about two seconds.&lt;/p&gt;

&lt;p&gt;I ended up building this properly, which mostly means I hit the sharp edges first. Three of them are worth knowing about.&lt;/p&gt;

&lt;p&gt;The first will break any version you write today. Most teams squash-merge, and when they do, the agent's trailers do not stay on the pull request they land on the squashed commit on your default branch. If you attribute PRs by reading the PR title and body, which is the natural thing to do when you're working from an API, you will classify a large share of agent work as human and never notice you did. You have to follow the merge commit and read the trailers there.&lt;/p&gt;

&lt;p&gt;The second is that a careless pattern eats real people. Searching for "claude" matches a developer named Claude. Searching for "cursor" matches a commit message about cursor position. Searching for "aider" matches the word raider. Every rule has to be anchored to the part that is genuinely machine-generated the trailer key, the bot suffix, the noreply address. For the same reason I threw out the convenient branch prefixes claude/ and devin/, because plenty of developers prefix branches with their own first name, and turning a person into a robot is a worse mistake than missing a few agent branches.&lt;/p&gt;

&lt;p&gt;The third is the one that actually matters, and it's a decision rather than a technique. When a commit carries no signal at all, you can treat it as human, or you can start inferring from style and message shape and diff size. I went with: no signal means human, always.&lt;/p&gt;

&lt;p&gt;That makes every number a floor. The true AI share of your repository is somewhere above what I report, never below. Rebased commits, hand-squashed history, hooks that strip trailers, agents that don't sign — all of it is invisible to me, and I'd rather under-count it than guess.&lt;/p&gt;

&lt;p&gt;This looks like giving up accuracy and it's the opposite. A floor is something you can defend. "At least a third of our merged work is agent-authored" survives someone pushing back on it in a planning meeting. An estimate doesn't survive the first person who asks how you got it.&lt;/p&gt;

&lt;p&gt;What I didn't expect is that the percentage turns out to be the least interesting thing you get. Once authorship is a real field in your data, the useful questions are comparative. Do agent pull requests get merged at the same rate as human ones, or do they quietly pile up and get closed? Do they sit longer in review? In most repos I've looked at they do, and that gap says more about how a team has adapted than any headline percentage. Where is agent work actually concentrated? Usually tests and glue code, and almost never the part people were anxious about.&lt;/p&gt;

&lt;p&gt;None of that is a productivity score, and I'd be careful with anyone who tries to turn it into one. It's a description of a workflow that changed underneath all of us without anyone getting a chance to measure the before.&lt;/p&gt;

&lt;p&gt;If you want the number for a repo you haven't cloned, there's a free scanner that runs the same attribution over any public GitHub repository without an account. It's part of Gitmore, which does this continuously across GitHub, GitLab and Bitbucket, but the scan is public and the command above needs nothing from me at all.&lt;/p&gt;

&lt;p&gt;Run it on a codebase you know well. If the number comes back lower than you expected, the interesting part is working out which signal got lost.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gitmore.io/" rel="noopener noreferrer"&gt;https://gitmore.io/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Gitmore Update: 5 New Features Are Live!</title>
      <dc:creator>Siwar Grami</dc:creator>
      <pubDate>Thu, 15 Oct 2026 17:00:44 +0000</pubDate>
      <link>https://dev.to/siwar_grami_1300f83897830/gitmore-update-5-new-features-are-live-30e2</link>
      <guid>https://dev.to/siwar_grami_1300f83897830/gitmore-update-5-new-features-are-live-30e2</guid>
      <description>&lt;p&gt;We've been working on making development reporting more useful, connected, and easier to manage. Today, we're excited to share &lt;strong&gt;5 new features now available in Gitmore!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here's what's new 👇&lt;/p&gt;

&lt;h3&gt;
  
  
  🌐 1. Client Portals
&lt;/h3&gt;

&lt;p&gt;Share password-protected client portals instead of writing updates from scratch. Get audience-specific summaries in &lt;strong&gt;8 languages&lt;/strong&gt;, with PDF export included.&lt;/p&gt;

&lt;h3&gt;
  
  
  🚨 2. Proactive Alerts
&lt;/h3&gt;

&lt;p&gt;Stay informed about stale PRs, inactive AI-agent PRs, and changes in the proportion of AI-written code. Get alerts directly through email or Slack.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔗 3. Task Management Integrations
&lt;/h3&gt;

&lt;p&gt;Connect Gitmore with &lt;strong&gt;Notion, Linear, Jira, Asana, ClickUp, and Trello&lt;/strong&gt;. Match pull requests to tasks and automatically close them when a PR is merged. Human approval is required before anything gets written back.&lt;/p&gt;

&lt;h3&gt;
  
  
  🤖 4. API &amp;amp; MCP
&lt;/h3&gt;

&lt;p&gt;Explore repository activity using Gitmore's read-only MCP server, which includes 6 tools for querying development insights with AI assistants such as Claude. API keys are also available for coding agents.&lt;/p&gt;

&lt;h3&gt;
  
  
  📚 5. Report History
&lt;/h3&gt;

&lt;p&gt;Every report you send is saved for &lt;strong&gt;one year&lt;/strong&gt;, so you can revisit the exact email or Slack message as it was delivered. Viewing a report doesn't count as an email open because the tracking pixel is removed before display.&lt;/p&gt;




&lt;p&gt;The goal is simple: spend less time chasing updates and more time building.&lt;/p&gt;

&lt;p&gt;🎉 &lt;strong&gt;All five features are live, and you can start with Gitmore's free plan.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://gitmore.io/" rel="noopener noreferrer"&gt;https://gitmore.io/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What would make the biggest difference in your development workflow: better reporting, proactive alerts, or connecting your tasks with your code?&lt;/p&gt;

&lt;h1&gt;
  
  
  Gitmore #DevTools #SoftwareDevelopment #AI
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
