<?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: Yiting Qiang</title>
    <description>The latest articles on DEV Community by Yiting Qiang (@qiangyt).</description>
    <link>https://dev.to/qiangyt</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%2F2200705%2F0657e19e-ccf2-48d0-bc54-66dc102273ef.jpeg</url>
      <title>DEV Community: Yiting Qiang</title>
      <link>https://dev.to/qiangyt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/qiangyt"/>
    <language>en</language>
    <item>
      <title>A supplement to Copilot and Cursor - utilizes AI for batch processing of project codes</title>
      <dc:creator>Yiting Qiang</dc:creator>
      <pubDate>Sat, 12 Oct 2024 04:24:50 +0000</pubDate>
      <link>https://dev.to/qiangyt/a-supplement-to-copilot-and-cursor-utilizes-ai-for-batch-processing-of-project-codes-5bm2</link>
      <guid>https://dev.to/qiangyt/a-supplement-to-copilot-and-cursor-utilizes-ai-for-batch-processing-of-project-codes-5bm2</guid>
      <description>&lt;p&gt;GITHUB: &lt;a href="https://github.com/qiangyt/batchai" rel="noopener noreferrer"&gt;https://github.com/qiangyt/batchai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I often rely on ChatGPT and GitHub Copilot, but it is a little bit frustrating to constantly copy and paste between the copilot chat window and my open code files. Why not update the files directly? I also tried using Cursor, which solved the first problem, but still have to open each file individually to add them to the AI's context.&lt;/p&gt;

&lt;p&gt;That's why I created &lt;code&gt;batchai&lt;/code&gt;. The idea is simple: less copy-pasting, fewer clicks on 'Add to Chat' or 'Apply.' &lt;code&gt;batchai&lt;/code&gt; traverses files and processing each of them. Since AI isn’t always perfect, I’ve designed it to run only on a Git directory, so we can easily diff the changes and choose to either commit or revert them.&lt;/p&gt;

&lt;p&gt;Currently, &lt;code&gt;batchai&lt;/code&gt; only supports code review and fixing common issues (think of it as a local AI-driven SonarQube). The next feature in progress is generating unit test code in batches, which I plan to use in a few of my personal projects (including this &lt;code&gt;batchai&lt;/code&gt;), as they have very few unit tests. Other planned features include code explanation, comment generation, and refactoring — all of which will be handled in batches. Additionally, I’m working on enabling &lt;code&gt;batchai&lt;/code&gt; to have an overall insight of the project’s code, such as building cross-file code symbol indexing, which should help the AI perform better.&lt;/p&gt;

&lt;p&gt;Here are some interesting findings from testing batchai on my personal projects over the past two weeks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It can identify issues that traditional tools, such as SonarQube, tend to miss.&lt;/li&gt;
&lt;li&gt;It may not report all issues in one go, so I need to run it multiple times.&lt;/li&gt;
&lt;li&gt;Due to outdated LLM training data and hallucinations, it's crucial to confirm the changes for accuracy by myself - That's why I make &lt;code&gt;batchai&lt;/code&gt; work only on clean Git repository directories.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I used the &lt;a href="https://github.com/qiangyt/spring-petclinic" rel="noopener noreferrer"&gt;spring-petclinic (cloned from https://github.com/spring-projects/spring-petclinic)&lt;/a&gt; for demonstration.&lt;/p&gt;

&lt;p&gt;Here are some examples of correct review:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/qiangyt/spring-petclinic/commit/6f42f16a249b3fffa8b95ac625c824210bbb2712#diff-7ba90c8df45063ea6569e3ea29850f6dbd777bc14f76b1115f556ade61441207" rel="noopener noreferrer"&gt;Adds a check to ensure birthday not be in the future&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fusvs2hgw8ifxisilc47p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fusvs2hgw8ifxisilc47p.png" alt="Adds a check to ensure birthday not be in the future" width="800" height="140"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/qiangyt/spring-petclinic/commit/6f42f16a249b3fffa8b95ac625c824210bbb2712#diff-4788251011337c19f735f2061cf599b8dbc0394a92ba86447b0db9b386f869cd" rel="noopener noreferrer"&gt;Renamed method to adhere to JavaBeans naming conventions&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi0edef8wzxakpcywiosj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi0edef8wzxakpcywiosj.png" alt="Renamed method to adhere to JavaBeans naming conventions" width="800" height="292"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And also a wrong fix:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/qiangyt/spring-petclinic/commit/6f42f16a249b3fffa8b95ac625c824210bbb2712#diff-7bc3b8001f97e9913dec25d48040a4a71b2ff4fcf915b49325602b4facad5979" rel="noopener noreferrer"&gt;Downgraded MySQL version from 9.0 back to 8.0 (gpt4o-mini think latest MySQL version is 8.0)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F16sk4xkj7yg5fchyno25.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F16sk4xkj7yg5fchyno25.png" alt="Downgraded MySQL version from 9.0 back to 8.0 (gpt4o-mini think latest MySQL version is 8.0)" width="800" height="150"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;More detail:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/qiangyt/spring-petclinic/commit/5f2770f2fc0ce4e5d59e2ae348ce0b14c8767e75" rel="noopener noreferrer"&gt;Code Review report&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/qiangyt/spring-petclinic/commit/6f42f16a249b3fffa8b95ac625c824210bbb2712" rel="noopener noreferrer"&gt;Fix following the review report&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[x] Code Review : Reports issues to the console, saves as a review report, and then fixes code directly.&lt;/li&gt;
&lt;li&gt;[x] Customized Prompts.&lt;/li&gt;
&lt;li&gt;[x] File Ignoring : Specifies files to ignore, respecting both &lt;code&gt;.gitignore&lt;/code&gt; and an additional &lt;code&gt;.batchai_ignore&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;[x] Target Specification : Allows specifying target directories and files within the Git repository.&lt;/li&gt;
&lt;li&gt;[x] Implemented using Go: Resulting in a single executable binary that works on Mac OSX, Linux, and Windows.&lt;/li&gt;
&lt;li&gt;[x] Diff: Displays colorized diffs in the console.&lt;/li&gt;
&lt;li&gt;[x] LLM Support : Supports OpenAI-compatible LLMs, including Ollama.&lt;/li&gt;
&lt;li&gt;[x] I18N : Supports internationalization comment/explaination generation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Planned features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Explain, Comment Generation, Test Generation, Refactoring.&lt;/li&gt;
&lt;li&gt;Rejected Changes Tracking : Tracks rejected changes to avoid redundant modifications.&lt;/li&gt;
&lt;li&gt;Language-Specific Prompts : Different prompts for various programming languages.&lt;/li&gt;
&lt;li&gt;LLM Usage Metrics : Implements metrics for tracking LLM usage.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Download the latest executable binary from &lt;a href="https://github.com/qiangyt/batchai/releases/latest" rel="noopener noreferrer"&gt;here&lt;/a&gt; and add it to your $PATH. For Linux and Mac OSX, remember to run &lt;code&gt;chmod +x ...&lt;/code&gt; to make the binary executable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Clone the demo project. The following steps assume the cloned project directory is &lt;code&gt;/data/spring-petclinic&lt;/code&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; /data
   git clone https://github.com/spring-projects/spring-petclinic
   &lt;span class="nb"&gt;cd &lt;/span&gt;spring-petclinic
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this directory, create a .env file. In the .env file, set the OPENAI_API_KEY. Below is an example:&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;# OpenAI&lt;/span&gt;
   &lt;span class="nv"&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;change-it
   &lt;span class="c"&gt;#OPENAI_PROXY_URL=&lt;/span&gt;
   &lt;span class="c"&gt;#OPENAI_PROXY_USER=&lt;/span&gt;
   &lt;span class="c"&gt;#OPENAI_PROXY_PASS=&lt;/span&gt;
   &lt;span class="c"&gt;#BATCHAI_REVIEW_MODEL=openai/gpt-4o-mini&lt;/span&gt;

   &lt;span class="c"&gt;# Ali TONGYI qwen&lt;/span&gt;
   &lt;span class="c"&gt;#QWEN_API_KEY=change-it&lt;/span&gt;
   &lt;span class="c"&gt;#BATCHAI_REVIEW_MODEL=tongyi/qwen2.5-coder-7b-instruct&lt;/span&gt;

   &lt;span class="c"&gt;# local Ollama&lt;/span&gt;
   &lt;span class="c"&gt;#OLLAMA_BASE_URL=http://localhost:11434/v1/&lt;/span&gt;
   &lt;span class="c"&gt;#BATCHAI_REVIEW_MODEL=ollama/qwen2.5-coder:7b-instruct-fp16&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For Ollama, you can refer to my example &lt;a href="https://github.com/qiangyt/batchai/blob/master/docker-compose.yml" rel="noopener noreferrer"&gt;docker-compose.yml&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;CLI Examples:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Report issues to the console (also saved to &lt;code&gt;build/batchai&lt;/code&gt;):
&lt;/li&gt;
&lt;/ul&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; /data/spring-petclinic
   batchai review &lt;span class="nb"&gt;.&lt;/span&gt; src/main/java/org/springframework/samples/petclinic/vet/Vets.java
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Directly fix the target files via option &lt;code&gt;--fix&lt;/code&gt;:
&lt;/li&gt;
&lt;/ul&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; /data/spring-petclinic
   batchai review &lt;span class="nt"&gt;--fix&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt; src/main/java/org/springframework/samples/petclinic/vet/Vets.java
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;batchai&lt;/code&gt; in main Java code only:
&lt;/li&gt;
&lt;/ul&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; /data/spring-petclinic
   batchai review &lt;span class="nb"&gt;.&lt;/span&gt; src/main/java/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Run &lt;code&gt;batchai&lt;/code&gt; on the entire project:
&lt;/li&gt;
&lt;/ul&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; /data/spring-petclinic
   batchai review &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  CLI Usage
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To view the global help menu and available commands, run:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  batchai &lt;span class="nt"&gt;-h&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  NAME:
  batchai - utilizes AI &lt;span class="k"&gt;for &lt;/span&gt;batch processing of project codes

  USAGE:
    batchai &lt;span class="o"&gt;[&lt;/span&gt;global options] &lt;span class="nb"&gt;command&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;command &lt;/span&gt;options] &amp;lt;repository directory&amp;gt;  &lt;span class="o"&gt;[&lt;/span&gt;target files/directories &lt;span class="k"&gt;in &lt;/span&gt;the repository]

  VERSION:
    0.1.0 &lt;span class="o"&gt;(&lt;/span&gt;5eeb081&lt;span class="o"&gt;)&lt;/span&gt;

  COMMANDS:
    review           Report issues to console, also saved to &lt;span class="s1"&gt;'build/batchai'&lt;/span&gt;
    list             Lists files to process
    explain &lt;span class="o"&gt;(&lt;/span&gt;TODO&lt;span class="o"&gt;)&lt;/span&gt;   Explains the code, output result to console or as comment
    comment &lt;span class="o"&gt;(&lt;/span&gt;TODO&lt;span class="o"&gt;)&lt;/span&gt;   Comments the code
    refactor &lt;span class="o"&gt;(&lt;/span&gt;TODO&lt;span class="o"&gt;)&lt;/span&gt;  Refactors the code
    &lt;span class="nb"&gt;help&lt;/span&gt;, h          Shows a list of commands or &lt;span class="nb"&gt;help &lt;/span&gt;&lt;span class="k"&gt;for &lt;/span&gt;one &lt;span class="nb"&gt;command

  &lt;/span&gt;GLOBAL OPTIONS:
    &lt;span class="nt"&gt;--enable-symbol-reference&lt;/span&gt;  Enables symbol collection to examine code references across the entire project &lt;span class="o"&gt;(&lt;/span&gt;default: &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
    &lt;span class="nt"&gt;--force&lt;/span&gt;                    Ignores the cache &lt;span class="o"&gt;(&lt;/span&gt;default: &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
    &lt;span class="nt"&gt;--lang&lt;/span&gt; value, &lt;span class="nt"&gt;-l&lt;/span&gt; value     language &lt;span class="k"&gt;for &lt;/span&gt;generated text &lt;span class="o"&gt;(&lt;/span&gt;default: en_US.UTF-8&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$LANG&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
    &lt;span class="nt"&gt;--help&lt;/span&gt;, &lt;span class="nt"&gt;-h&lt;/span&gt;                 show &lt;span class="nb"&gt;help&lt;/span&gt;
    &lt;span class="nt"&gt;--version&lt;/span&gt;, &lt;span class="nt"&gt;-v&lt;/span&gt;              print the version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;To see detailed help for the &lt;code&gt;review&lt;/code&gt; command, run:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  batchai review &lt;span class="nt"&gt;-h&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  NAME:
    batchai review - Report issues to console, also saved to &lt;span class="s1"&gt;'build/batchai'&lt;/span&gt;

  USAGE:
    batchai review &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;command &lt;/span&gt;options]

  OPTIONS:
    &lt;span class="nt"&gt;--fix&lt;/span&gt;, &lt;span class="nt"&gt;-f&lt;/span&gt;   Replaces the target files &lt;span class="o"&gt;(&lt;/span&gt;default: &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
    &lt;span class="nt"&gt;--help&lt;/span&gt;, &lt;span class="nt"&gt;-h&lt;/span&gt;  show &lt;span class="nb"&gt;help&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Supported LLMs
&lt;/h2&gt;

&lt;p&gt;Tested and supported models:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;OpenAI series: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;openai/gpt-4o&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;openai/gpt-4o-mini&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Other OpenAI models should work too.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Ali TONYI Qwen series: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;qwen2.5-coder-7b-instruct&lt;/code&gt; (also available via Ollama)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Other Qwen models should work too.&lt;/p&gt;

&lt;p&gt;To add more LLMs, simply follow the configuration in &lt;a href="https://github.com/qiangyt/batchai/blob/master/res/static/batchai.yaml" rel="noopener noreferrer"&gt;res/static/batchai.yaml&lt;/a&gt;, as long as the LLM exposes an OpenAI-compatible API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configuration
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Optional configuration file:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can provide an optional configuration file: &lt;code&gt;${HOME}/batchai/batchai.yaml&lt;/code&gt;. For a full example, refer to &lt;a href="https://github.com/qiangyt/batchai/blob/master/res/static/batchai.yaml" rel="noopener noreferrer"&gt;res/static/batchai.yaml&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Environment file:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also configure &lt;code&gt;batchai&lt;/code&gt; via an environment file &lt;code&gt;.env&lt;/code&gt; located in the target Git repository directory. Refer to &lt;a href="https://github.com/qiangyt/batchai/blob/master/res/static/batchai.yaml" rel="noopener noreferrer"&gt;res/static/batchai.yaml&lt;/a&gt; for all available environment variables, and &lt;a href="https://github.com/qiangyt/batchai/blob/master/res/static/batchai.env" rel="noopener noreferrer"&gt;res/static/batchai.env&lt;/a&gt; for their default values.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ignore specific files:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;batchai&lt;/code&gt; ignores the directories and files following &lt;code&gt;.gitignore&lt;/code&gt; files. This is usually sufficient, but if there are additional files or directories that cannot be ignored by Git but should not be processed by batchai, we can specify them in the &lt;code&gt;.batchai_ignore&lt;/code&gt; files. The rules are written in the same way as in &lt;code&gt;.gitignore&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customized Prompts
Refer to &lt;code&gt;BATCHAI_REVIEW_RULE_*&lt;/code&gt; and &lt;code&gt;MY_REVIEW_RULE_*&lt;/code&gt; in &lt;a href="https://github.com/qiangyt/batchai/blob/master/res/static/batchai.yaml" rel="noopener noreferrer"&gt;res/static/batchai.yaml&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;p&gt;MIT&lt;/p&gt;

</description>
      <category>ai</category>
      <category>githubcopilot</category>
      <category>cursor</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
