<?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: Toolbit AI</title>
    <description>The latest articles on DEV Community by Toolbit AI (@toolbitai).</description>
    <link>https://dev.to/toolbitai</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%2F4245350%2Fc6567cb8-2ba7-43ea-8bbf-44e28d131206.png</url>
      <title>DEV Community: Toolbit AI</title>
      <link>https://dev.to/toolbitai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/toolbitai"/>
    <language>en</language>
    <item>
      <title>How to Evaluate an AI Coding Assistant on Your Own Repo</title>
      <dc:creator>Toolbit AI</dc:creator>
      <pubDate>Sun, 15 Nov 2026 04:00:43 +0000</pubDate>
      <link>https://dev.to/toolbitai/how-to-evaluate-an-ai-coding-assistant-on-your-own-repo-295a</link>
      <guid>https://dev.to/toolbitai/how-to-evaluate-an-ai-coding-assistant-on-your-own-repo-295a</guid>
      <description>&lt;p&gt;An AI coding assistant looks convincing in a vendor demo: a tidy repository, a prepared prompt, a patch that compiles. The useful test is duller than that. Point the tool at a throwaway copy of a repository you already know, give it jobs you can already judge, and decide from the diff and the tests — not from the chat.&lt;/p&gt;

&lt;p&gt;This is a way to choose a tool for the codebase you actually maintain. It is not a ranking of products, and it is not a substitute for reviewing the pull request later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Work on a throwaway copy of the real repo
&lt;/h2&gt;

&lt;p&gt;Do not run the trial in your everyday working tree, and do not start from the vendor's sample app. You want the project's real layout, tests, conventions and rough edges, without risking uncommitted work.&lt;/p&gt;

&lt;p&gt;A separate Git worktree on a new branch is enough:&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="c"&gt;# From the repository you already know&lt;/span&gt;
git worktree add ../repo-eval -b trial/assistant-eval
&lt;span class="nb"&gt;cd&lt;/span&gt; ../repo-eval
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;git worktree add&lt;/code&gt; gives you a second checkout of the same repository. Your main directory stays where you left it. When the trial is over:&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-repo
git worktree remove ../repo-eval
git branch -D trial/assistant-eval
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you would rather not use a worktree, &lt;code&gt;git switch --create trial/assistant-eval&lt;/code&gt; in a disposable clone is also fine. The point is the same: a branch you can throw away, with no secrets in the tree. Keep &lt;code&gt;.env&lt;/code&gt; files, deployment keys and production connection strings out of the trial copy, and do not grant the assistant access to them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Give it four jobs you can already judge
&lt;/h2&gt;

&lt;p&gt;Write the tasks down before you open the tool. Use work you have done recently, so you will recognise a wrong answer.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Explain a module you know.&lt;/strong&gt; Ask for a short account of what a specific file or package does, including one awkward edge case. Check the explanation against the code, not against whether it sounds fluent.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fix a failure you can reproduce.&lt;/strong&gt; Run the project's existing test command so you have a real failure, or temporarily break a test you understand on this branch only. Ask the assistant to fix it. Then run the same command yourself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make a small change in the project's style.&lt;/strong&gt; A narrow feature or refactor is enough. See whether it follows naming, error handling and test patterns already in the tree, or whether it imports a new helper that already exists two folders away.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Respect a hard limit.&lt;/strong&gt; Tell it, in the same prompt, which files it must not touch. A good trial includes a door you asked it to leave closed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you are comparing products, run the same four jobs in each, on the same commit. A map of current options is the &lt;a href="https://www.toolbit.ai/category/coding-assistant" rel="noopener noreferrer"&gt;coding assistant category on Toolbit&lt;/a&gt;. Use it to see what to try, then judge the tools on this repository.&lt;/p&gt;

&lt;p&gt;For a large tree, a related question is whether the assistant opens the right files at all. A shortlist of tools aimed at &lt;a href="https://www.toolbit.ai/blog/ai-tools-for-understanding-large-codebases-an" rel="noopener noreferrer"&gt;understanding large codebases&lt;/a&gt; can help you choose a starting pair. It is still this test, on your tree, that decides it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Judge the diff and the tests, not the chat
&lt;/h2&gt;

&lt;p&gt;Read &lt;code&gt;git diff&lt;/code&gt; and &lt;code&gt;git status&lt;/code&gt; before you read another paragraph of explanation. Then run the test command the repository already documents — &lt;code&gt;npm test&lt;/code&gt;, &lt;code&gt;pytest&lt;/code&gt;, &lt;code&gt;go test ./...&lt;/code&gt;, &lt;code&gt;cargo test&lt;/code&gt;, or whatever the project uses. Do not add a new test runner for the trial.&lt;/p&gt;

&lt;p&gt;Look for the usual shortcuts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An invented function, type or API that is not in the repo, and was not added in the diff.&lt;/li&gt;
&lt;li&gt;A test that has been deleted, skipped, or rewritten so it can no longer fail.&lt;/li&gt;
&lt;li&gt;Edits outside the brief, including formatting sweeps and "helpful" refactors in files you asked it to leave alone.&lt;/li&gt;
&lt;li&gt;A confident explanation that disagrees with the code you just opened.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A fluent patch that fails the tests is an easy no. A patch that passes by weakening the tests is a quieter no. If two tools both produce a passing, in-scope diff, prefer the one that touched less, and that you could review without a long investigation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The trial ran on a throwaway branch or worktree of a repository you already know, with secrets kept out.&lt;/li&gt;
&lt;li&gt;Four jobs were written down first: explain, fix a known failure, make a small in-style change, and respect a hard limit.&lt;/li&gt;
&lt;li&gt;The same jobs were used in each tool, on the same commit.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git diff&lt;/code&gt; was read, and the project's own test command was run, before the chat was trusted.&lt;/li&gt;
&lt;li&gt;Invented APIs, weakened tests and out-of-scope edits were treated as failures.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Takeaway
&lt;/h2&gt;

&lt;p&gt;Evaluate an AI coding assistant on a copy of your own repository, with jobs you can already mark as right or wrong. Keep the tool that produces a reviewable diff and still passes the tests you already had. A polished demo is not the same thing as help you can merge.&lt;/p&gt;

</description>
      <category>coding</category>
      <category>ai</category>
      <category>testing</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
