Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Leverage AI Architect's knowledge graph to power more intelligent code reviews
Enhance your code reviews with deeper codebase intelligence by connecting Bito's AI Code Review Agent to AI Architect. This integration enables significantly more accurate and context-aware reviews by leveraging the comprehensive knowledge graph that AI Architect builds from your codebase.
When AI Code Review Agent accesses AI Architect's knowledge graph, it gains a complete understanding of your codebase architecture — including microservices, modules, APIs, dependencies, and design patterns.
This enhanced context allows the AI Code Review Agent to:
Provide system-aware code reviews - Understand how changes in one service or module impact other parts of your system
Catch architectural inconsistencies - Identify when new code doesn't align with your established patterns and conventions
Detect cross-repository issues - Spot problems that span multiple repositories or services
Deliver more accurate suggestions - Generate fixes that are grounded in your actual codebase structure and usage patterns
Reduce false positives - Better understand context to avoid flagging valid code as problematic
Follow these steps to connect AI Architect with AI Code Review Agent:
Log in to
Open the dashboard.
In the Server URL field, enter your Bito MCP URL
In the Auth token field, enter your Bito MCP Access Token
Contact our team at to request a trial. We'll help you configure the integration and get your team up and running quickly.
Learn how to customize Bito’s view by switching from a side panel to a new tab or a separate window.
Bito automatically saves the chat session History. The session history is stored locally on your computer. You can return to any chat session and continue the AI conversation from where you left off. Bito will automatically maintain and restore the memory of the loaded chat session.
You can "Delete" any saved chat session or share a permalink to the session with your coworkers.
Here is the video overview of accessing and managing the session history.
Work on your code with AI that knows your code!
Easily delete Agent instances you no longer need.
If you no longer need an instance, you can delete it to keep your workspace organized. Follow the steps below to quickly remove any unused Agents.
and select a workspace to get started.
From the left sidebar, select .
If your Bito workspace is connected to your GitHub/GitLab/Bitbucket account, a list of AI Code Review Agent instances configured in your workspace will appear.
How to Update Bito Plugin on VS Code and JetBrains IDEs
Keeping your Bito plugin up to date ensures you have access to the latest features and improvements. In this article, we will guide you through the steps to update the Bito plugin on both VS Code and JetBrains IDEs. Let's dive in!
Updating Bito Plugin on VS Code
Open your VS Code IDE
Navigate to the Extensions view by clicking on the square icon in the left sidebar
Deploy the AI Code Review Agent in Bito Cloud or opt for self-hosted service.
The supports two deployment options:
Each option comes with its own set of benefits and considerations.
This guide walks you through both options to help you determine which deployment model best fits your team’s needs.
provides a managed environment for running the AI Code Review Agent, offering a seamless, hassle-free experience. This option is ideal for teams looking for quick deployment and minimal operational overhead.
Bito AI chat is the most versatile and flexible way to use AI assistance. You can type any technical question to generate the best possible response. Check out these to understand all you can do with Bito.
To use AI Chat, type the question in the chat box, and press 'Enter' to send. You can add a new line in the question with 'SHIFT+ ENTER'.
Bito starts streaming answers within a few seconds, depending on the size and complexity of the prompt.
Bito makes it super easy to use the answer generated by AI, and take a number of actions.
Copy the answer to the clipboard.
Bito indexes your code locally using AI
When you open a project in Visual Studio Code or JetBrains IDEs, Bito lets you enable the of code files from that project’s folder. Basically, this indexing mechanism leverages our new that enables Bito to understand your entire codebase and answer any questions regarding it.
The index is stored locally on your system to provide better performance while maintaining the security/privacy of your private code.
Once indexing is complete, you can ask any question in the Bito chatbox. Bito uses AI to determine if you are asking about something in your codebase. If Bito is confident, it grabs the relevant parts of your code from our and feeds them to the for accurate answers. But if it's unsure, Bito will ask you to confirm before proceeding.
In case you ask a general question (not related to your codebase), then Bito will directly send your request to our LLM without first looking for the appropriate local context.
However, if you want to ask a question about your code no matter what, then you can use specific keywords such as "my code", "my repo", "my project", "my workspace", etc., in your question.
It takes less than 2 minutes
Get up and running with Bito in just a few steps! Bito seamlessly integrates with Windsurf, providing powerful AI-driven code reviews directly within your editor. Click the button below to quickly install the Bito extension and start optimizing your development workflow with context-aware , and more.
Launch Windsurf IDE on your computer.
From the top menu, click View -> Extensions to open the Extensions marketplace.
In the Extensions search bar at the top, type "Bito"
Deploy the AI Code Review Agent in Bito Cloud.
offers a single-click solution for using the , eliminating the need for any downloads on your machine. You can create multiple instances of the Agent, allowing each to be used with a different repository on a Git provider such as GitHub, GitLab, or Bitbucket.
We also support GitHub (Self-Managed), GitLab (Self-Managed), and Bitbucket (Self-Managed).
Select your Git provider from the options below and follow the step-by-step installation guide to seamlessly set up your AI Code Review Agent.
Answers to popular questions about the AI Code Review Agent.
To ensure the operates smoothly with your GitHub (Self-Managed), GitLab (Self-Managed), or Bitbucket (Self-Managed), please whitelist all of Bito's gateway IP addresses in your firewall to allow incoming traffic from Bito. This will enable Bito to access your self-hosted repository.
List of IP addresses to whitelist:
18.188.201.104
It takes less than 2 minutes
Get up and running with Bito in just a few steps! Bito seamlessly integrates with Cursor, providing powerful AI-driven code reviews directly within your editor. Click the button below to quickly install the Bito extension and start optimizing your development workflow with context-aware , and more.
Launch Cursor IDE on your computer.
From the top menu, click View -> Extensions to open the Extensions marketplace.
In the Extensions search bar at the top, type "Bito"
From one-time reviews to continuous automated reviews.
On your machine or in a Private Cloud, you can run the AI Code Review Agent via either CLI or webhooks service. This guide will teach you about the key differences between CLI and webhooks service and when to use each mode.
The main difference between CLI and webhooks service lies in their operational approach and purpose. In CLI, the docker container is used for a one-time code review. This mode is ideal for isolated, single-instance analyses where a quick, direct review of the code is needed.
On the other hand, webhooks service is designed for continuous operation. When set in webhooks service mode, the AI Code Review Agent remains online and active at a specified URL. This continuous operation allows it to respond automatically whenever a pull request is opened in a repository. In this scenario, the git provider notifies the server, triggering the AI Code Review Agent to analyze the pull request and post its review as a comment directly on it.
Selecting the appropriate mode for code review with the AI Code Review Agent depends largely on the nature and frequency of your code review needs.
CLI mode is best suited for scenarios requiring immediate, one-time code reviews. It's particularly effective for:
Easily duplicate Agent configurations for faster setup.
Save time and effort by quickly creating a new instance using the configuration settings of an existing one. It’s a fast and simple way to set up multiple Agent instances without having to reconfigure each one.
Follow the steps below to get started:
and select a workspace to get started.
From the left sidebar, select .
Deploy the AI Code Review Agent on your machine.
The self-hosted AI Code Review Agent offers a more private and customizable option for teams looking to enhance their code review processes within their own infrastructure, while maintaining complete control over their data. This approach is ideal for organizations with specific compliance, security, or customization requirements.
When setting up the AI Code Review Agent, you have the flexibility to choose between two primary modes of operation: CLI and webhooks service.
CLI allows developers to manually initiate code reviews directly from terminal. This mode is ideal for quick, on-demand code reviews without the need for continuous monitoring or integration.
Webhooks service transforms the Agent into a persistent service that automatically triggers code reviews based on specific events, such as pull requests or comments on pull requests. This mode is suitable for teams looking to automate their code review processes.
The IDE customization settings are accessible through the new toolbar dropdown menu titled "Extension Settings".
In Visual Studio Code and JetBrains IDEs, you can choose between a light or dark theme for the Bito panel to match your coding environment preference. For VS Code users, Bito also offers an adaptive theme mode in which the Bito panel and font colors automatically adjust based on your selected VS Code theme, creating a seamless visual experience.
You can set the desired theme through the Theme dropdown.
Theme adapted from “Noctis Lux”:
AI that Understands Your Code
Bito indexes your code locally using AI
Keywords to invoke AI that understands your code
What type of questions can be asked?
Sneak peek into the inner workings of Bito
AI that understands your code in VS Code
AI that understands your code in JetBrains IDEs (e.g., PyCharm)
Exclude unnecessary files and folders from repo to index faster!
Answers to popular questions
Pros:
Simplicity: Enjoy a straightforward setup with a single-click installation process, making it easy to get started without technical hurdles.
Maintenance-Free: Bito Cloud takes care of all necessary updates and maintenance, ensuring your Agent always operates on the latest software version without any effort on your part.
Scalability: The platform is designed to easily scale, accommodating project growth effortlessly and ensuring reliable performance under varying loads.
Cons:
Handling of Pull Request Diffs: For analysis purposes, diffs from pull requests are temporarily stored on our servers.
Self-hosted AI Code Review Agent offers a higher degree of control and customization, suited for organizations with specific requirements or those who prefer to manage their own infrastructure.
Pros:
Full Control: Self-hosting provides complete control over the deployment environment, allowing for extensive customization and the ability to integrate with existing systems as needed.
Privacy and Security: Keeping the AI Code Review Agent within your own infrastructure can enhance data security and privacy, as all information remains under your direct control.
Cons:
Setup Complexity: Establishing a self-hosted environment requires technical know-how and can be more complex than using a managed service, potentially leading to longer setup times.
Maintenance Responsibility: The responsibility of maintaining and updating the software falls entirely on your team, which includes ensuring the system is scaled appropriately to handle demand.
Look for the official Bito extension in the search results. The extension should be published by "Bito"
Click the Install button and wait for the installation to complete (this usually takes just a few seconds).
Once installed, you'll need to authenticate:
Click "Sign up or Sign-in"
Bito authentication screen will display.
Log in with your Bito account credentials (or create a new account)
To confirm Bito is working correctly:
You should see the Bito icon in your Windsurf IDE sidebar
Click on it to open the Bito panel
You should now have access to all Bito features
Try asking Bito a simple question to test the connection
18.216.64.170
The agent response can come from any of these IPs.
You should set a longer expiration period for your GitHub Personal Access Token (Classic), GitLab Personal Access Token, or Bitbucket Personal Access Token. We recommend setting the expiration to at least one year. This prevents the token from expiring early and avoids disruptions in the AI Code Review Agent's functionality.
Additionally, we highly recommend updating the token before expiry to maintain seamless integration and code review processes.
For more details on how to create tokens, follow these guides:
GitHub Personal Access Token (Classic): View Guide
GitLab Personal Access Token: View Guide
Bitbucket Personal Access Token: View Guide
Bito requires certain permissions to analyze pull requests and provide AI-powered code reviews. It never stores your code and only accesses the necessary data to deliver review insights.
Bito requires:
Read access to code and metadata: To analyze PRs and suggest improvements
Read and write access to issues and pull requests: To post AI-generated review comments
Read access to organization members: To provide better review context
If you don’t have admin access, you’ll need your administrator to install Bito on your organization’s Git account. Once installed, you can use it for PR reviews on allowed repositories. GitHub also sends a notification to the organization owner to request the organization owner to install the app.
No, Bito does not store or train models on your code. It only analyzes pull request data in real-time and provides suggestions directly within the PR.
Yes, after installation, you can select specific repositories instead of granting access to all. You can also manage repository access later through our web dashboard.
Once installed, you’ll be redirected to Bito, where you can:
Select repositories for AI-powered reviews
Customize review settings to fit your workflow
Open a pull request to start receiving AI-driven suggestions
Contact support@bito.ai for any assistance.
Performing periodic, scheduled code analyses.
Reviewing code in environments with limited or no continuous integration support.
Integrating with batch processing scripts for ad-hoc analysis.
Using in educational settings to demonstrate code review practices.
Experimenting with different code review configurations.
Reviewing code on local setups or for personal projects.
Performing a final check before pushing code to a repository.
CLI mode stands out for its simplicity and is perfect for standalone tasks where a single, direct execution of the code review process is all that's needed.
Webhooks service, on the other hand, is the go-to choice for continuous code review processes. It excels in:
Continuously monitoring all pull requests in a repository.
Providing instant feedback in collaborative projects.
Seamlessly integrating with CI/CD pipelines for automated reviews.
Performing automated code quality checks in team environments.
Conducting real-time security scans on new pull requests.
Ensuring adherence to coding standards in every pull request.
Streamlining the code review process in large-scale projects.
Maintaining consistency in code review across multiple projects.
Enhancing workflows in remote or distributed development teams.
Offering prompt feedback in agile development settings.
Webhooks service is indispensable in active development environments where consistent monitoring and immediate feedback are critical. It automates the code review process, integrating seamlessly into the workflow and eliminating the need for manual initiation of code reviews.
Before deleting an Agent, ensure that any repositories currently using it are reassigned to another Agent otherwise a warning popup will appear.
Locate the Agent you wish to delete and click the Delete button given in front of it.

In the search bar, type "Bito" to locate the Bito plugin
Once you locate the Bito plugin, click on the update button to initiate the update
Pro Tip 💡: Enable Auto-update for Bito Plugin on VS Code (as shown in the video)
Updating Bito Plugin on JetBrains IDEs
Open your JetBrains IDE (e.g., IntelliJ IDEA, PyCharm, etc.)
Go to Settings by clicking on "File" in the menu bar (Windows/Linux) or by clicking on "IntelliJ IDEA" in the menu bar (macOS).
In the Settings window, navigate to the "Plugins" section
Switch to the "Installed" tab to view the list of installed plugins
Locate the Bito plugin in the list and click on the update button to initiate the update
Vote response "Up" or "Down". This feedback Bito improve the prompt handling.
Many of these commands can be executed with keyboard shortcuts documented here: Keyboard shortcuts


Once Bito sees any input containing these keywords, it will use the index to identify relevant portions of code or content in your folder and use it for processing your question, query, or task.
As usual, security is top of mind at Bito, especially when it comes to your code. A fundamental approach we have taken is to keep all code on your machine, and not store any code, code snippets, indexes, or embedding vectors on Bito’s servers or our API partners. All code remains on your machine, Bito does not store it. In addition, none of your code is used for AI model training.
Learn more about Bito’s Privacy and Security Practices.

Look for the official Bito extension in the search results. The extension should be published by "Bito".
Click the Install button
Wait for the installation to complete (this usually takes just a few seconds)
Once installed, you'll need to authenticate:
Click "Sign up or Sign-in"
Bito authentication screen will display.
Log in with your Bito account credentials (or create a new account)
To confirm Bito is working correctly:
You should see the Bito icon in your Cursor IDE sidebar
Click on it to open the Bito panel
You should now have access to all Bito features
If your Bito workspace is connected to your GitHub/GitLab/Bitbucket account, a list of AI Code Review Agent instances configured in your workspace will appear. Locate the instance you wish to duplicate and click the Clone button given in front of it.
An Agent configuration form will open, pre-populated with the input field values. You can edit these values as needed.
Click Select repositories to choose Git repositories for the new Agent.
To enable code review for a specific repository, simply select its corresponding checkbox. You can also enable repositories later, after the Agent has been created. Once done, click Save and continue to save the new Agent configuration.
When you save the configuration, your new Agent instance will be added and available on the Code Review Agents page.

For more details, visit the CLI vs webhooks service page.
Based on your needs and the desired integration level with your development workflow, choose one of the following options to install and run the AI Code Review Agent:
Install/run via CLI: Ideal for developers seeking a simple, interactive way to conduct code reviews from the command line.
Install/run via webhooks service: Perfect for teams looking to automate code reviews through external events, enhancing their CI/CD workflow.
Install/run via GitHub Actions: A great option for GitHub users to seamlessly integrate automated code reviews into their GitHub Actions workflows.
Theme adapted from “Solarized Light”:
Theme adapted from “Tomorrow Night Blue”:
Theme adapted from “barn-cat”:
Take control of your code readability! Within the Bito extension settings, you can now adjust the font size for a comfortable viewing experience.
You can set the desired font size through the Font Size text field. However, if you check the Font Size (Match with IDE Font) checkbox, it will override the set font size with the Editor font size.






Let your friends see what you and Bito are creating together.
Easily share insights from any AI Chat session by creating a unique shareable link directly from the Bito extension in VS Code or JetBrains IDEs.
Whether you need to share AI-generated code suggestions, explanations, or any other chat insights, this feature allows you to create a public link that others can access. The link will remain active for 15 days and can be viewed by anyone with access to the URL, making collaboration and knowledge sharing seamless.
Additionally, you can quickly share your AI Chat session through a pre-written Tweet or an Email.
Let's see how it is done:
Open Bito in Visual Studio Code or any JetBrains IDE.
Start a conversation in Bito’s AI Chat user interface.
Locate the share button on the top right of the Bito extension side-panel.
Click the share button to open a menu with options, including X (Twitter), Email, and Link.
Share on X (Twitter):
Click on X (Twitter) from the menu, and a dialogue window will appear, asking whether you want to open the external site.
Simply click "Open" to proceed.
Share Through Email:
Click on Email from the menu, and you will be redirected to your email application.
Select your email account if needed.
The email will be pre-filled with all the necessary information, including the link to your Chat Session.
Share the Link:
Click on Link from the menu.
A confirmation popup will appear. Click Share session to generate a unique URL for your chat session, which will automatically be copied to your clipboard for easy sharing.
Ask questions about highlighted issues, request alternative solutions, or seek clarifications on suggested fixes.
Ask questions directly to the AI Code Review Agent regarding its code review feedback. You can inquire about highlighted issues, request alternative solutions, or seek clarifications on suggested fixes.
Real-time collaboration with the AI Code Review Agent accelerates your development cycle. By delivering immediate, actionable insights, it eliminates the delays typically experienced with human reviews. Developers can engage directly with the Agent to clarify recommendations on the spot, ensuring that any issues are addressed swiftly and accurately.
Bito supports over 20 languages—including English, Hindi, Chinese, and Spanish—so you can interact with the AI in the language you’re most comfortable with.
To start a conversation, type your question directly as a reply to the Agent’s code review comment.
The AI Code Review Agent will analyze your comment and determine if it’s a valid and relevant question.
If the agent decides it’s a valid question, it will respond with helpful insights.
If the agent determines it’s unclear, off-topic, or not related to its feedback, it will not respond.
To help the agent recognize your question faster, you can also tag your comment with @bitoagent or @askbito. Tagging informs the Agent that your message is intended as a question. However, tagging does not guarantee a reply. The agent will still analyze your comment and decide whether it is a valid question worth responding to.
Bito usually responds within about 10 seconds.
On GitHub and Bitbucket, you may need to manually refresh the page to see the response.
On GitLab, updates happen automatically.
When chatting with the AI Code Review Agent, you can ask questions to better understand or improve the code feedback it provided. Here are examples of what you can ask:
Clarifications about a highlighted issue Ask the AI to explain why it flagged a certain line of code or why something might cause a problem.
Request for alternative solutions Request different ways to fix or improve the code beyond what was originally suggested.
Deeper explanations If you want to understand the technical reasoning behind a suggestion (e.g., security concerns, performance impacts, best practices), you can ask for more detailed explanations.
The AI can only answer questions related to its own code review comments.
You cannot ask general questions about the repository or unrelated topics.
You cannot start a new thread independently — your question must be a reply to a comment made by Bito’s AI Code Review Agent.
If your comment is not linked to a Bito review comment, the AI will not respond.
Keywords to invoke AI that understands your code
Here is the list of keywords in different languages to ask questions regarding your entire codebase. Use any of these keywords in your prompts inside Bito chatbox.
my code
my repo
my project
my workspace
我的代码
我的仓库
我的代码库
我的项目
我的程式碼
我的倉庫
我的項目
我的工作區
Mi código
Mi repo
Mi proyecto
Mi espacio de trabajo
私のコード
私のリポ
私のプロジェクト
私のワークスペース
Meu código
Meu repo
Meu projeto
Meu espaço de trabalho
Mój obszar roboczy
moje miejsce pracy
mój obszar roboczy
moj kod
It takes less than 2 minutes
Get up and running with Bito in just a few steps! Bito seamlessly integrates with popular JetBrains IDEs such as IntelliJ IDEA, PyCharm, and WebStorm, providing powerful AI-driven code reviews directly within your editor. Click the button below to quickly install the Bito extension and start optimizing your development workflow with context-aware AI Chat, and more.
Watch the video below to learn how to download the Bito extension on JetBrains IDEs.
In JetBrains IDEs such as IntelliJ, go to File -> Settings to open the Settings dialog, and click Plugins -> Marketplace tab in the settings dialog. Search for Bito.
2. Click "Install" to install the Bito extension. We recommend you restart the IDE after the installation is complete.
3. Bito panel will appear on the right-hand sidebar. Click it to complete the setup process. You will either need to create a new workspace if you are the first in your company to install Bito or join an existing workspace created by a co-worker. See
This guide will help you set up and start using Bito's AI-powered tools. Whether you're looking to enhance feedback of your coding agents with AI Architect or automate code reviews with our AI Code Review Agent, you'll find everything you need below.
Bito's AI Architect is currently invitation-only. To request access, contact support@bito.ai.
Bito offers two deployment options for AI Architect.
(Fully managed by Bito — no infrastructure setup required)
(Run AI Architect on your own infrastructure for maximum control)
and connect your Git provider.
From the screen, click Configure next to Set up AI Architect, then select the repositories you want indexed.
Bito indexes your repositories, builds the underlying knowledge graph, and notifies you once your indexes are ready.
Download and install AI Architect with a single command.
Configure AI Architect with your Git and LLM credentials.
Configure your repositories
Start indexing to build knowledge graph of your codebase
AI Architect integrates with the tools you already use — from AI coding agents to project management and communication platforms.
Connect AI Architect to your AI coding agents using the one-command installer, which automatically configures Claude Code, Cursor, Windsurf, GitHub Copilot, and other compatible tools on your system.
AI Architect integrates directly with your Jira workspace to bring codebase intelligence into the planning phase. When an Epic or Story is created, AI Architect automatically analyzes your codebase and past tickets to generate a structured plan — covering feasibility assessment, technical design, and story breakdown — directly inside Jira.
Connect AI Architect with Linear to bring codebase-aware planning into your Linear workspace. AI Architect can analyze your codebase in the context of Linear issues to help teams move faster from planning to implementation.
Create your account at to get started.
Select your preferred Git platform and follow the guided setup to install the agent:
What Types of Questions Can be Asked?
You can try asking any question you may have in mind regarding your codebase. In most cases, Bito will give you an accurate answer. Bito uses AI to determine if you are asking about something in your codebase.
However, if you want to ask a question about your code no matter what, then you can use our pre-defined keywords such as "my code", "my repo", "my project", "my workspace", etc., in your question.
The complete list of these keywords is given on our Available Keywords page.
What a particular code file does
In my code what does code in sendgrid/sendemail.sh do?
What a particular function in my code does
In my repo explain what function message_tokens do
In my project rewrite the code of signup.php file in nodejs
In my workspace suggest code refactoring for api.py and mention all other files that need to be updated accordingly
In my code find runtime error possibilities in script.js
Find logical errors in scraper.py in my code
In my code detect code smells in /app/cart.php and give solution
Generate documentation for search.ts in my workspace in markdown format
In my code write unit tests for index.php
In my code generate test code for code coverage of cache.c
summarize recent code changes in my code
Any function to compute tokens in my project?
Any code or script to send emails in my workspace?
In my repo list all the line numbers where $alexa array is used in index.php.
In my code list all the files and code changes needed to add column desc in table raw_data in dailyReport DB.
From single-repo reviews to system-wide insights
The AI Code Review Agent becomes significantly more powerful when paired with AI Architect.
Below is a clear explanation of how the agent behaves in each setup and why AI Architect unlocks much deeper, system-level insights.
The standard AI Code Review Agent analyzes code at the repository level.
It creates a within-repo knowledge graph by building:
Abstract Syntax Trees (ASTs)
Symbol indexes
Local dependency relationships
This allows it to perform strong, context-aware code reviews within a single repository, including:
Identifying issues in the diff
Understanding dependencies inside the repo
Checking for consistency and correctness within that project
Suggesting improvements based on local patterns
However, the agent’s visibility stops at the repository boundary. It cannot detect effects on other services or codebases.
When AI Architect is enabled, the AI Code Review Agent gains a complete view of your entire engineering ecosystem.
AI Architect builds a cross-repository knowledge graph that maps:
All services
Shared libraries
Modules and components
Inter-service dependencies
With this system-level understanding, the agent can perform much deeper analysis.
1. Cross-repository awareness
The agent understands how code in one repo interacts with code in others — crucial for microservices and distributed systems.
2. Cross-repo impact analysis
During a pull request review, the agent can identify:
What breaks downstream if you change an interface
Which services call the function you updated
Which teams or repos depend on your changes
Whether the update introduces architecture-wide risks
3. Architecture-level checks
The agent evaluates your changes not just for correctness, but for their alignment with the overall system design.
4. Early problem detection across the entire codebase
Ripple effects, breaking changes, or dependency violations that traditionally appear only in staging or after deployment can now be flagged directly during review.
Automate code reviews in your Continuous Integration/Continuous Deployment (CI/CD) pipeline—compatible with all CI/CD tools, including Jenkins, Argo CD, GitLab CI/CD, and more.
Bito Cloud lets you integrate the AI Code Review Agent into your CI/CD pipeline for automated code reviews. This document provides a step-by-step guide to help you configure and run the script successfully.
Select the appropriate Git provider guide from this link based on your Git provider, and follow the step-by-step instructions to install the AI Code Review Agent using Bito Cloud. Be sure to review the prerequisites and the installation/configuration steps provided in the documentation.
Download the bito-action-script folder from GitHub, which includes a shell script (bito-actions.sh) and a configuration file (bito_action.properties).
You can integrate the AI Code Review Agent into your CI/CD pipeline in two ways, depending on your preference:
Option 1: Using the bito_action.properties File
Configure the following properties in the bito_action.properties file located in the downloaded bito-action-script folder.
Run the following command:
./bito_actions.sh bito_action.properties
Note: When using the properties file, make sure to provide all the three parameters in .properties file
Provide all necessary values directly on the command line:
./bito_actions.sh agent_instance_url=<agent_instance_url> agent_instance_secret=<secret> pr_url=<pr_url>
Replace <agent_instance_url>
Incorporate the AI Code Review Agent into your CI/CD pipeline by adding the appropriate commands to your build or deployment scripts. This integration will automatically trigger code reviews as part of the pipeline, enhancing your development workflow by enforcing code quality checks with every change.
Your code stays yours — understand how Bito protects your data
Security and privacy are fundamental to how Bito's AI Architect operates. Bito doesn't store your code and we don't use your code for AI model training.
This document explains how AI Architect handles your code and data across different deployment modes.
The way AI Architect handles your code depends on your deployment choice:
Your code is not stored on Bito's servers.
When you use Bito-hosted AI Architect, Bito stores only summaries and indexes of your code — not the code itself. These indexes help AI Architect understand your repository structure, key functionalities, service calls, design patterns, variable naming conventions, and architectural relationships across microservices.
How it works:
AI Architect analyzes your code to build a knowledge graph
Only metadata and summaries are stored on Bito's servers (e.g., "this repo contains authentication services," "this module calls these other services")
The actual code is never persisted in Bito's cloud
When code access is needed:
If you ask a question that requires viewing actual code, AI Architect authenticates with your Git provider using your credentials
It fetches the specific file on-demand
Extracts the necessary information
Passes it back to you through the MCP server
For performance optimization, Bito temporarily caches individual code files for up to 10 minutes during analysis. You have full control over this behavior — you can configure the cache duration or disable caching entirely through your settings.
Your code remains entirely in your data center.
When you deploy AI Architect on-premises in your own infrastructure, all code and indexes are stored locally. Bito receives no code or code-related information. We only receive anonymous metadata about usage to confirm the product is working properly — no details about what your code does or contains.
Bito-hosted AI Architect adds a few seconds to requests that require actual code access because the code must be fetched on-demand from your Git provider. This slight latency is the trade-off for keeping your code off Bito's servers. In practice, this difference is not material to user experience.
All requests to and from AI Architect are transmitted over HTTPS and fully encrypted
Your Git credentials are used only to authenticate and fetch code when needed
Code accessed during analysis is handled securely and not logged or stored beyond the temporary cache window
Your code is never used for AI model training. Bito doesn't train on, learn from, or retain any of your code snippets or queries for model improvement purposes.
Bito uses leading AI providers (such as Anthropic, OpenAI, etc.) via their APIs to power AI Architect features. None of your code or AI requests are stored by these partners. All AI providers we work with maintain commitments to not use API data for model training or retain user data beyond the immediate request processing.
To ensure AI Architect is working correctly and to improve the product, Bito collects:
Anonymous usage metrics
Feature usage statistics
Error logs (without code content)
This information helps us understand how AI Architect is being used and identify areas for improvement.
Bito maintains SOC 2 Type II compliance and follows industry-leading security practices. For detailed information about our security posture and certifications, visit our .
For our full privacy practices, see our .
If you have questions about how AI Architect handles your code or data, contact the Bito team at . We're committed to transparency about security and privacy practices.
Deploy AI Architect in your own infrastructure for complete data control and enhanced security
can be self-hosted in two ways depending on your use case. Pick the one that matches how you plan to use it:
A lightweight, single-machine install for individual developers who want to evaluate AI Architect or use it for personal development work. It runs entirely in Docker on your local machine (e.g., laptop) and automatically registers itself with your installed coding agents — no shared infrastructure, no DevOps coordination required.
👉
A full-featured, multi-user deployment of Bito's AI Architect designed for teams who want to share a centralized knowledge graph across the organization. It supports both Docker Compose and Kubernetes, can be hosted on any on-premise or cloud infrastructure you control, and includes SSO authentication.
👉
Integrate ChatGPT with AI Architect for more accurate, codebase-aware AI assistance.
Use Bito's with ChatGPT (Web & Desktop) to enhance your AI-powered coding experience.
Once connected via MCP (Model Context Protocol), ChatGPT can leverage AI Architect's deep contextual understanding of your project, enabling more accurate code suggestions, explanations, and code insights.
Follow the . Upon successful setup, you will receive a Bito MCP URL and Bito MCP Access Token that you need to enter in your coding agent.
AI Architect is a full engineering workflow platform built around a knowledge graph of your codebase, business context, tribal knowledge, docs, tickets, and observability data. It operates across three solution areas — technical design & scoping, grounded coding, and code review — surfacing system-level intelligence at every stage of development.
This page covers the core features that power those workflows.
The knowledge graph is the context engine at the core of AI Architect. It ingests your codebase, Git history, issue tracker data (Jira, Linear), documentation (Confluence), observability signals, and Slack conversations into a unified, continuously updated graph.
Rather than treating your codebase as searchable text, the knowledge graph models the relationships between services, APIs, dependencies, past decisions, and recurring incident patterns — capturing how your system actually fits together.
This shared context powers every capability in AI Architect. When an agent runs a feasibility analysis, generates a technical design, or reviews a pull request, it draws from the same knowledge graph — so output is grounded in your real architecture, not generic patterns.
The knowledge graph also enables cross-repo reasoning: it understands blast radius, tracks instability histories, and connects a Jira incident from six months ago to the service a developer is about to change today.
Block merges until code issues are fixed.
Bito’s Request changes comments feature helps enforce code quality by blocking merges until all AI-generated review comments are resolved—fully supported in GitHub, GitLab, and Bitbucket.
When enabled, Bito identifies actionable issues in pull requests and posts them as formal “Request changes” review comments. If your repository uses branch protection rules that require all review conversations to be resolved before merging, Bito’s flagged comments will automatically block the pull request until addressed.
This ensures developers don’t accidentally merge incomplete or unreviewed code.
Go to your repository → Settings → Branches
Governor cuts your agent bill in half by sending fewer tokens to cheaper models, with quality intact.
Bito's Governor is a gateway that sits between your AI coding tools (Claude Code, Cursor, Codex, etc.) and the LLM providers (Anthropic, OpenAI, Groq, etc.). It reduces the tokens each task consumes and the price you pay for every token.
Governor combines with a smart model router:
Bito's AI Architect cuts the token count. It serves system context from a live of your entire engineering system (code, business context, and tribal knowledge), so your tools skip the discovery work that consumes most of a task's tokens.
The model router cuts the price per token. It uses the same knowledge graph to see how complex each request is, then sends it to the cheapest LLM that can handle it, because most requests do not need a frontier model.
Learn how to customize the AI Code Review Agent.
Bito's supports different configuration methods depending on the deployment environment:
Bito-hosted – The agent runs on Bito's infrastructure and is configured through the .
Self-hosted – The agent runs on user-managed infrastructure and is configured by editing the .
The sections below provide configuration guidance for each setup.
In Bito-hosted AI Code Review Agent, you can configure the agent through the .
On-demand, context-aware AI code reviews for GitHub, GitLab, and Bitbucket.
Bito’s is the first agent built with Bito’s AI Agent framework and engine. It is an automated AI assistant (powered by best-in-class AI models) that will review your team’s code; it spots bugs, issues, code smells, and security vulnerabilities in Pull/Merge Requests (PR/MR) and provides high-quality suggestions to fix them.
It seamlessly integrates with Git providers such as GitHub, GitLab, and Bitbucket, automatically posting recommendations directly as comments within the corresponding Pull Request. It includes real-time recommendations from Static Code Analysis and OSS vulnerability tools such as fbinfer, Dependency-Check, etc. and can include high severity suggestions from other 3rd party tools you use such as Snyk.
The AI Code Review Agent acts as a set of specialized engineers each analyzing different aspects of your PR. They analyze aspects such as Performance, Code Structure, Security, Optimization, and Scalability. By combining and filtering the results, the Agent can provide you with much more detailed and insightful code reviews, bringing you a better quality code review and helping you save time.
The AI Code Review Agent helps engineering teams merge code faster while also keeping the code clean and up to standard, making sure it runs smoothly and follows best practices.
It ensures a secure and confidential experience without compromising on reliability. Bito neither reads nor stores your code, and none of your code is used for AI model training. Learn more about our
Unlock premium Bito features with our 14-day free trial.
The Bito free trial gives you access to premium features for 14 days, allowing you to experience the full capabilities of Bito's AI-powered coding assistant.
You can start your free trial directly from the Bito IDE extension using any of the three methods below.
The easiest way to start your trial is through natural interaction:
Type a message in the Bito chat box and send it.
Look for the popup that appears after sending your message.
AI that Understands Your Code
Bito has created the ability for our AI to understand your codebase, which produces dramatically better results that are personalized to you. This can help you write code, refactor code, explain code, debug, and generate test cases – all with the benefits of AI knowing your entire code base.
Bito AI automatically figures out if you're asking about something in your code. If it's confident, it grabs the relevant parts of your code from our and feeds them to the for accurate answers. But if it's unsure, Bito will ask you to confirm before proceeding.
For now, this feature is only available for our Team Plan which costs $15 per user per month. We have plans to release it for our Free Plan soon. But it will be limited to repos of 10MB indexable size.
Recent breakthroughs in and have helped make many AI Coding Assistant tools available, including Bito, to help you develop software faster.
The major issue with these AI assistants, though, is that they have no idea about your entire codebase. Some tools take context from currently opened files in your IDE, while others enable you to manually enter code snippets in a chat-like interface and then ask questions about them.
我的文件夹
mój kod
moim kodzie
moje repo
moje repozytorium
moim repo
moj projekt
mój projekt
moim projekcie
The code is not retained after the request
Trade-off discussions Ask the AI about pros and cons of different approaches it may have suggested (e.g., performance vs. readability).
Best practices guidance Request advice on best practices related to the specific code snippet — such as naming conventions, error handling, optimization tips, or design patterns.
Language-specific advice If you’re working in a particular language (e.g., JavaScript, Python, Java), you can ask for language-specific guidance related to the comment.
Request for more context If the suggestion feels too "short" or "surface level," you can ask the AI to explain more about the broader coding or architectural concept behind its feedback.
Security and safety questions If a suggestion touches on security (like input validation, authentication, or encryption), you can ask for further security-related advice.
Testing and validation Ask the AI if it recommends writing any tests based on its code suggestions and what those tests might look like.













Click the "Post" button to send the tweet.
Add the receiver(s) of this email using the "To" input field.
Click the "Send" button to send the email.




AST + symbol analysis
✅
✅ (plus cross-repo linking)
Dependency visibility
Local to repo
Full call chains across repos
Impact analysis
Local only
Upstream + downstream, multi-repo
Architecture checks
Limited
System-level validation
Ripple-effect detection
❌
✅
Multi-service understanding
❌
✅
Scope
Single repository
Entire system (multi-repo)
Knowledge graph
Repo-only
Cross-repository, system-wide
<secret><pr_url>Note: You can also override the values given in the .properties file or provide values that are not included in the file. For example, you can configure agent_instance_url and agent_instance_secret in the bito_action.properties file, and only pass pr_url on the command line during runtime.
./bito_actions.sh bito_action.properties pr_url=<pr_url>
Replace <pr_url> with your specific values.
agent_instance_url
The URL of the Agent instance provided after configuring the AI Code Review Agent with Bito Cloud.
agent_instance_secret
The secret key for the Agent instance obtained after configuring the AI Code Review Agent with Bito Cloud.
pr_url
URL of your pull request on GitLab, GitHub, or BitBucket.
Get your MCP server URL and access token
Bring AI Architect's codebase intelligence directly into your Slack workspace. Ask questions, get technical context, and collaborate on planning.
AI Architect can also connect to your Confluence workspace, treating your documentation as a first-class context source alongside your code and tickets.
When a Jira ticket has linked Confluence pages — RFCs, design docs, runbooks, acceptance criteria — AI Architect reads them automatically and grounds its implementation plan in what's already documented. You can also reference Confluence pages from Slack and ask AI Architect to create, update, or comment on pages from inside Jira or Slack.
This keeps planning, discussion, and documentation in sync — no tab-switching to copy context around.
AI Architect works with popular chat-based AI tools so you can query your codebase knowledge graph conversationally.
AI Architect can work alongside Bito's AI Code Review Agent to provide richer, codebase-aware feedback on pull requests — combining live code review with deep knowledge of your system's architecture and history.
Once installed, the agent will be linked to your repositories and ready to assist.
To customize your agent, go to Repositories and click the Settings button next to the relevant agent. From there, you can choose the review feedback mode, enable or disable automatic reviews, define custom guidelines to align with your team’s standards, and more.
curl -fsSL https://aiarchitect.bito.ai/install.sh | bashStandalone mode
Enterprise mode
Best for
Individual developers
Teams & organizations
Deployment target
Single machine (laptop/desktop)
Shared server (on-prem or cloud)
Regardless of which mode you choose, you'll need the following before you start. Each setup guide covers these in full detail:
A Bito account and Bito Access Key — sign up at https://alpha.bito.ai and generate a key from Settings → Advanced settings.
A Git Access Token for your provider — GitHub, GitLab, Bitbucket, or Azure DevOps.
LLM API keys — Bito's AI Architect uses Large Language Models (LLMs) to build a knowledge graph of your codebase. Provide an API key for the LLM provider you plan to use, such as:
Anthropic (Claude)
OpenAI (GPT)
Portkey
Google Vertex AI
Azure AI
Novita
AWS Bedrock
Google Gemini
Local OpenAI-compatible (bring your own server)
Docker Desktop (or Docker Service on Linux) running on the host machine.
If you're a single developer trying AI Architect for the first time on your own machine, start with Standalone mode. It's the fastest way to get up and running.
If you're rolling out AI Architect to a team, need a single shared knowledge graph across developers, or have requirements like Kubernetes or SSO, go with Enterprise mode.
http://localhost or internal IP addresses) are not supported and will not work.Download BitoAIArchitectGuidelines.md file. You will need to copy/paste the content from this file later when configuring AI Architect.
Note: This file contains best practices, usage instructions, and prompting guidelines for the Bito AI Architect MCP server. The setup will work without this file, but including it helps AI tools interact more effectively with the Bito AI Architect MCP server.
A paid ChatGPT subscription - MCP connectors require one of the following:
ChatGPT Plus
ChatGPT Pro
ChatGPT Team
ChatGPT Enterprise
ChatGPT Edu
ChatGPT uses OAuth 2.1 with PKCE for secure MCP server authentication via the Connectors feature in Developer Mode.
How OAuth authentication works:
You enable Developer Mode and add the MCP server URL in Connectors settings
ChatGPT initiates an OAuth flow
Your browser opens a consent page hosted by Bito
You enter your email and approve the connection
ChatGPT receives secure tokens automatically
Your email is tracked for usage analytics (collected during OAuth consent)
Benefits:
No manual token management
Secure browser-based authentication
Automatic token refresh
Email collected during consent (no separate header needed)
Go to chatgpt.com (or open the ChatGPT desktop app) and sign in
Click on your profile icon (bottom-left corner)
Select Settings
Go to Apps and Connectors (or just Connectors)
Scroll down and click "Advanced Settings"
Toggle "Developer Mode" to ON
In the Connectors section, click "Create" or "+ Add Connector"
Fill in the connector details:
Connector Name: BitoAIArchitect
Click on the newly created BitoAIArchitect connector
Click "Connect" to initiate the OAuth flow
A browser window opens showing the Bito Authorization page
Return to ChatGPT Settings → Connectors
BitoAIArchitect should show as "Connected"
Start a new conversation
Once connected, you can use BitoAIArchitect in several ways:
Direct prompts: Ask questions about your repositories
Deep Research: BitoAIArchitect tools appear in "Deep Research" mode
Verify you have a paid ChatGPT subscription (Plus, Pro, Team, Enterprise, or Edu)
Free tier accounts do not have connector access
The feature may be rolling out gradually - check back later if recently subscribed
Ensure pop-ups are allowed for chatgpt.com
Check that your Workspace ID is correct
Verify your organization has OAuth enabled for the MCP server
Try using an incognito/private browser window
Verify the MCP server URL is correct and accessible
Ensure the server supports OAuth 2.1 with dynamic client registration
Check that code_challenge_methods_supported includes S256 in the authorization server metadata
Click the connection and select "Reconnect"
OAuth tokens may have expired - re-authorize when prompted
Check if your Bito workspace is still active
Ensure the MCP connection shows "Connected" status
Try starting a fresh conversation
Explicitly mention "use BitoAIArchitect" in your prompt if tools don't activate automatically
Check that you're using the connector in a mode that supports tools (not all chat modes do)
AI Architect connects to the tools your team already uses across planning, coding, review, and communication.
Jira is the primary surface for technical design and scoping. AI Architect listens for new or updated Epics and Stories, posts implementation plans as ticket comments, and can be triggered on demand via @bito in any comment. Plans include feasibility assessments, story breakdowns, effort estimates, and risk flags — all grounded in your knowledge graph.
Slack brings AI Architect into team discussions. Mention @Bito in any channel thread and the assistant reads the full conversation context, resolves referenced Jira tickets and Confluence pages, and responds with context-aware answers, task breakdowns, or implementation plans — directly in the thread.
connect to AI Architect via MCP (Model Context Protocol). A one-command installer automatically configures all supported tools detected on your system. Supported agents include Claude Code, Cursor, Windsurf, GitHub Copilot (VS Code), Junie, and JetBrains AI Assistant. Once connected, Agent Skills are available inside each tool, giving developers access to the full knowledge graph while they build.
— including Claude.ai (Web & Desktop) and ChatGPT (Web & Desktop) — can also be connected to AI Architect via MCP for codebase-aware conversational assistance outside of a dedicated coding environment.
integrates with AI Architect to bring knowledge graph context into every pull request review across GitHub, GitLab, and Bitbucket. Reviews go beyond the diff — they include cross-repo impact analysis, architectural consistency checks, and blast radius detection, catching issues before they reach production.
When auto-analysis is enabled for Jira, AI Architect evaluates every new or updated Epic and Story before generating an implementation plan. It reads the full ticket — title, description, comments, attachments, and any linked Confluence pages — and assigns a complexity score from 1 to 10. Implementation plans are only generated for tickets that meet or exceed the complexity threshold (default: 7). Tickets below the threshold receive a short note explaining why a plan was skipped, along with a prompt to request one manually if needed.
This keeps your ticket history clean and ensures that AI Architect's output is directed at the work that actually benefits from it — complex, ambiguous, or cross-cutting changes — rather than straightforward tasks that engineers can act on immediately.
AI Architect can be invoked in two ways: automatically when a ticket is created or updated, or on demand by any team member. On-demand triggering is done by commenting @bito, /bito, or #bito directly on the Jira ticket, or by adding a bito, bito-analyse, or bito-analyze label.
The same comment syntax also works for follow-up requests — you can ask AI Architect to revise its analysis, focus on a specific aspect, or regenerate the plan after requirements change.
This gives teams full control over when AI Architect runs. You can start with on-demand mode to evaluate output quality on specific tickets, then graduate to automatic analysis once you're confident in the results.
Requirements rarely stay fixed. AI Architect supports iterative refinement by generating new versions of any artifact — technical designs, scope breakdowns, feasibility assessments — as the ticket evolves. As engineers update descriptions, add comments, or link new context, they can re-trigger AI Architect to produce a revised plan that reflects the current state of the work.
This means technical planning stays in sync with changing requirements without manual rework. Each iteration builds on the ticket's full history, so AI Architect understands what has changed and why.
By default, AI Architect formats its output using Bito's standard structure. Custom templates let you override that with your team's own format — whether that's a specific TDD layout, an internal RFC structure, or a planning format tied to your sprint process. Output then matches what your engineers expect to see and what your workflow tooling can consume.
Custom templates are configured per workspace. To get started, contact the Bito team at support@bito.ai.
AI Architect supports free-form prompting directly inside the Jira ticket, coding agents, or Slack. Engineers can mention Bito followed by a question/instruction in natural-language, such as:
@bito analyze technical feasibility
@bito focus on database migration risk
@bito write this as a spike document
@bito break this into frontend and backend workstreams
@Bito PROJ-456 is causing errors in production — here are the logs. Identify the root cause?
@Bito help us break this feature into smaller tasks
@Bito explain the difference between these two approaches
@Bito what are the action items from this thread?
@Bito review the code changes in this thread and suggest improvements
Open a chat or conversation in your AI tool and try a test query to confirm AI Architect is working:
"What repositories are available in my organization?"
"Show me all Python repositories"
"List the available tools"
"What are the dependencies of [repo-name]?"
"Find all microservices using Redis"
"Show me repository clusters in our organization"
"Plan a new feature for [component]"
(uses bito-feature-plan skill)
"Write a PRD for [feature]"
(uses bito-prd skill)
"Help me triage this production issue"
(uses bito-production-triage skill)
Custom prompts work alongside the knowledge graph context AI Architect already has. You're directing the output, not replacing the grounding.
AI Architect can pull external technical context alongside your internal knowledge graph when generating plans. When web research is enabled, it incorporates relevant industry patterns, library documentation, and external best practices into its analysis — useful for greenfield work, third-party integrations, or areas where your codebase doesn't yet have established patterns.
Web research is applied selectively. It supplements internal context rather than replacing it, so the output remains grounded in your actual system.
The Bito AI Assistant brings AI Architect directly into Slack. You can ask system-level questions, trigger implementation plans, iterate on technical designs, and triage production issues — all without leaving the channel where the discussion is already happening. Mention @Bito in any thread, and the assistant reads the full conversation context, including any referenced Jira tickets or Confluence pages, before responding.
Common use cases include summarizing long planning threads, generating task breakdowns from a discussion, and pulling context from a specific ticket mid-conversation. The Slack agent is available in both public and private channels and supports file attachments including code files, configs, and logs.
Agent Skills are structured instruction files that define how AI Architect approaches specific engineering tasks. Each skill is purpose-built for a different type of work: feasibility analysis, epic planning, spike investigations, production triage, PRD or TRD generation, pre-commit reviews, and more. Skills can be triggered in Jira and Slack by commenting with natural language (@bito is this feasible?, @bito turn this epic into tasks), or invoked directly inside your coding agent via MCP.
Skills have full access to your knowledge graph — codebase, Jira history, Confluence docs, and observability data — so their output is always grounded in how your system actually works, not a generic template. In coding agents, skills are installed automatically and discoverable via / in the chat interface.
After a technical plan is approved, AI Architect can transform it into self-contained workstream agent specs — structured documents that give a coding agent everything it needs to implement a single workstream without further clarification. Each spec includes file paths, relevant patterns from your codebase, verification gates, and a dependency contract describing what other workstreams it relies on or produces.
Agent specs are designed to be passed directly into Cursor, Claude Code, Codex, or any MCP-compatible coding agent. They eliminate the back-and-forth between planning and implementation by encoding architectural decisions into the spec itself.
Once a workstream plan is approved, AI Architect can execute it directly. It creates a new branch from your default branch, implements the code changes across the relevant repositories, and follows the patterns and conventions already present in your codebase. Implementation is guided by the agent spec, with verification gates checked at each step.
This capability is available via the bito-agent-spec-executor skill in your connected coding agent. It is designed for well-scoped workstreams with clear acceptance criteria and works best when paired with the detailed agent spec output.
After implementation is complete, AI Architect opens a pull request per workstream, linked back to the originating Jira ticket. PRs include a summary of the changes made, the workstream spec they were generated from, and any verification results from the implementation run. This closes the loop between planning and review, giving engineers and reviewers immediate context on what was built and why.
Automated PRs work across GitHub, GitLab, and Bitbucket. They follow your existing branch naming and PR conventions.
SSO integration lets your team authenticate with AI Architect through your organization's existing identity provider instead of managing shared access tokens. When someone joins or leaves, access is granted or revoked through the same system that controls their email, Slack, and other business tools — no separate credential rotation required.
AI Architect's SSO implementation supports a broad range of identity providers including Google Workspace, Okta, Azure Entra ID, Microsoft AD FS, Auth0, Keycloak, and others, as well as any custom SAML 2.0 or OIDC configuration.
For self-hosted deployments, SSO runs entirely on-premises — no authentication traffic leaves your environment except for identity provider federation (if Enterprise IdP is configured) and Bito API calls for SSO configurations.
Session duration, refresh token TTL, and concurrent session limits are all configurable per workspace.
Create or edit a branch protection rule (e.g., for main)
Enable:
✅ Require a pull request before merging
✅ Require conversation resolution before merging
Go to your project → Settings → Merge requests
Under Merge checks, enable:
✅ All threads must be resolved
Click Save changes button.
Go to your repository → Repository settings → Branch restrictions
Click Add a branch restriction button.
Under Select branches, define the target branches where this restriction should apply. Pull requests merging into these branches will be blocked until all "Request changes" comments are resolved. You can choose one of two options:
By branch name or pattern: Enter a specific branch name (e.g., main) or use a wildcard pattern to cover multiple branches. For example, using an asterisk * applies the restriction across all branches, while release/* applies it to every release branch.
By branch type: Select a branch type (e.g., development, release) from the dropdown menu.
Switch to Merge settings tab.
Under Merge checks, enable:
✅ No changes are requested
Under Merge conditions, enable:
✅ Prevent a merge with unresolved merge checks
Note: This setting is only available if your organization uses Bitbucket Cloud Premium. It will block anyone from merging the PR if there are unresolved "request change" comments. On Standard Bitbucket Cloud, this option is unavailable; users will see a warning if they attempt to merge with unresolved "request change" comments, but the merge will still be allowed.
Click Save button.
Go to Repositories in the Bito dashboard.
Click on Settings for your desired AI Code Review Agent instance.
Enable the toggle: “Request changes comments”
Save changes
When this is on, Bito will flag actionable AI feedback as formal review comments requiring resolution. Informational or minor suggestions will remain as regular comments.
Bito runs an AI code review on your pull request or merge request.
Actionable issues are posted as change requests.
Your Git provider treats these comments according to your configured merge rules.
If comment resolution is required, the merge is blocked until the flagged issues are resolved.
Developer opens a pull request or merge request.
Bito reviews the code and posts a “request change” comment on a problematic line.
The Git provider blocks the merge due to unresolved comments or threads.
Developer fixes the issue and marks the thread as resolved.
Merge becomes possible once all conditions are met.
Enforces follow-up on critical AI-detected issues.
Works natively with GitHub, GitLab, and Bitbucket workflows.
Ensures only reviewed and clean code gets merged.
Helps maintain consistent code quality at scale.
Agent spend is tokens multiplied by price. Governor cuts both numbers, so the savings also multiply rather than add.
Nothing changes about how your team works. Point your coding tools at Governor with one base URL and one key, and everything else stays exactly as it is.
Governor is a drop-in endpoint. Your tools stay unchanged, your provider accounts stay yours, and you can connect Governor directly or through a gateway you already run.
Every request follows the same path:
Authenticate. Governor verifies the gateway key your tool sent.
Add context. AI Architect answers system questions inside the request, so the tool starts the task already knowing your architecture.
Pick the model. The router judges how complex the request is and selects the cheapest model that can handle it, within the policy you set.
Call the provider. Governor forwards the request to your own LLM provider account using your own credential.
Record it. Governor returns the response and logs the model used, tokens consumed, status, and cost.
Governor runs either on Bito's infrastructure or inside your own network. Both use the same configuration model, so a workspace you build during an evaluation transfers to a self-hosted deployment without redesign.
Bito-hosted is the faster path. Bito creates your workspace and issues an admin token, you configure providers and routes in the console, and Bito applies updates. Most teams start here to get a measurable result within a day.
Self-hosted keeps everything inside your network. One command installs Governor and its database as Docker containers on a single host, and your provider credentials are encrypted with a key that never leaves that host. Choose this when data residency, network egress, or regulatory requirements prevent traffic from transiting a third-party service.
Infrastructure
Managed by Bito
Your own host, running Docker
Setup
Nothing to install, configure in the Bito UI
The agent settings page allows configuration of options such as:
Agent name – Define a unique name for easy identification.
Review options – Choose the review mode (Essential or Comprehensive), set feedback language, and enable features like auto-review, incremental review, summaries, and change walkthroughs.
Custom guidelines – Create and apply custom code review rules tailored to your team’s standards directly from the dashboard.
Filters – Exclude specific files, folders, or branches from review to focus on relevant code.
Tools – Enable additional checks, such as secret scanning and static analysis.
Chat – Configure how the agent responds to follow-up questions in pull request comments and manage automatic replies.
These settings tailor the agent’s behavior to match team workflows and project needs. For detailed guidance, see Create or customize an Agent instance.
In self-hosted deployments, configuration is managed by editing the bito-cra.properties file. This file defines how the agent operates and connects to required services.
Key configuration options include:
Mode
mode = cli: Processes a single pull request using a manual URL input.
mode = server: Runs as a webhook service and listens for incoming events from Git platforms.
Authentication
bito_cli.bito.access_key: Required for authenticating the agent with the Bito platform.
git.provider, git.access_token, etc.: Required for connecting to the appropriate Git provider (e.g., GitHub, GitLab, Bitbucket).
General feedback settings
code_feedback: Enables or disables general feedback comments in reviews.
Analysis tools
static_analysis: Enables static code analysis.
dependency_check: Enables open-source dependency scanning.
Review format and scope
review_comments: Defines output style (e.g., single post or inline comments).
review_scope: Limits the review focus to specific concerns such as security, performance, or style.
Filters
include_source_branches and include_target_branches: Restrict reviews to pull requests that match specified source and target branch patterns.
exclude_files: Skips selected files based on glob patterns.
Each property is documented in detail on the bito-cra.properties file documentation page.
By accessing Bito's AI that Understands Your Code feature, the AI Code Review Agent can analyze relevant context from your entire repository, providing better context-aware analysis and suggestions. This tailored approach ensures a more personalized and contextually relevant code review experience.
To comprehend your code and its dependencies, we use Symbol Indexing, Abstract Syntax Trees (AST), and Embeddings. Each step feeds into the next, starting from locating specific code snippets with Symbol Indexing, getting their structural context with AST parsing, and then leveraging embedding vectors for broader semantic insights. This approach ensures a detailed understanding of the code's functionality and its dependencies. For more information, see How does Bito’s “AI that understands your code” work?
The AI Code Review Agent is built using Bito Dev Agents, an open framework and engine to build custom AI Agents for software developers that understands code, can connect to your organization’s data and tools, and can be discovered and shared via a global registry.
In many organizations, senior developers spend approximately half of their time reviewing code changes in PRs to find potential issues. The AI Code Review Agent can help save this valuable time.
AI Code Review Agent speeds up PR merges by 89%, reduces regressions by 34%, and delivers 87% human-grade feedback.
However, it's important to remember that the AI Code Review Agent is designed to assist, not replace, senior software engineers. It takes care of many of the more mundane issues involved in code review, so senior engineers can focus on the business logic and how new development is aligned with your organization’s business goals.
The Free Plan offers AI-generated pull request summaries to provide a quick overview of changes. For advanced features like line-level code suggestions, consider upgrading to the Team Plan. For detailed pricing information, visit our Pricing page.
Click Try for free in the popup notification.
Complete signup in the browser window that opens.
Select Start Trial to activate your free trial.
For a direct approach to upgrading:
Click the UPGRADE button given at the top of the chat window
Complete signup in the browser window that opens.
Select Start Trial to activate your free trial.
The fastest way to start your free trial:
Hover over Include my code (located above the Bito chat box).
In the popup, select Click for 14 day free trial to immediately activate your trial.
During your free trial, you'll have access to all the features of Bito Team Plan as mentioned on our Pricing page. It includes:
If you encounter any issues while starting your free trial:
Check your internet connection.
Ensure your Bito extension is up to date.
Contact support@bito.ai if the trial doesn't activate properly.
Once your free trial is active, explore all the premium features available to you. Consider upgrading to a paid plan before your trial expires to continue enjoying advanced functionality.
But with Bito’s AI that understands your entire repository, this is a whole new capability. For example, what if you could ask questions like:
how can I add a button to mute and unmute the song to my code in my music player? By default, set this button to unmute. Also, use the same design as existing buttons in UI.
In my code list all the files and code changes needed to add column desc in table raw_data in dailyReport DB.
In my code suggest code refactoring for api.py and mention all other files that needs to be updated accordingly
Please write the frontend and backend code to take a user’s credentials, and authenticate the user. Use the authentication service in my code
This will definitely improve the way you build software.

Install on JetBrains


This page details exactly how the Bito Slack app handles, stores, and processes your data. All policies stated here apply specifically to data flowing through the Bito Slack integration.
Conversational data (messages sent to @Bito, slash command inputs, and AI responses) is not stored by Bito. Only logs are retained for 15 days and are automatically deleted afterward.
Workspace metadata (workspace ID, installer identity, app configuration): retained for the duration of the active installation.
Account-level data: see the .
Upon uninstallation, all data is permanently deleted except for logs. Logs are retained for 15 days and then automatically deleted, except where retention is required by law.
We do not archive messages sent to @Bito, slash command inputs, or AI responses. Only logs are retained in AWS S3 for 15 days and then automatically deleted.
Primary storage: AWS, US-East region (default). EU residency available for Enterprise customers on request.
Encryption at rest: AES-256
Encryption in transit: TLS 1.2 or higher
Access controls: RBAC with mandatory SSO + MFA for employees
Email with subject "Slack Data Deletion Request"
Include workspace name, workspace ID, and admin verification
Bito verifies within 2 business days
Deletion is completed within 2 weeks of verification
Deletion covers all conversational data and workspace metadata in production systems. Backup purging follows the next rotation cycle.
Bito for Slack uses third-party LLMs selected by task and plan:
OpenAI
Anthropic
Your message content to @Bito
Relevant thread context (only when @Bito is mentioned in a thread)
System instructions
Never sent: Slack user emails/names beyond attribution, messages from channels where @Bito is not invited, private DMs not involving @Bito.
Your data is never used to train LLM models. Bito's contracts with LLM providers explicitly prohibit use of customer prompts/outputs for training. Provider-side retention is limited to abuse-monitoring (typically ≤30 days) per their enterprise policies.
LLM API calls are routed to US endpoints by default. Enterprise customers may request EU-only processing via .
Visible AI disclaimer on responses
Rate limiting and abuse detection
LLM-vendor content moderation
Feedback / human escalation via
Bito for Slack is powered by large language models (LLMs). AI-generated responses may be inaccurate, incomplete, biased, or outdated. Treat outputs as informational suggestions, not as professional, legal, financial, medical, or compliance advice. Always verify critical information before acting on it.
Report inaccurate responses to .
In Slack, go to Settings → Manage Apps → Bito → Remove
Upon uninstallation, all data is permanently deleted except for logs. Logs are retained for 15 days and then automatically deleted, except where retention is required by law.
To confirm or expedite deletion, email
Bito's AI Architect plugin brings cross-repository intelligence to Claude Code. Search code, explore dependencies, analyze architecture, and discover patterns across all your organization's repositories. Use it to build implementation plans, write requirements documents, diagnose production issues, and understand complex codebases.
It enables users to explore and understand any codebase — from high-level architecture to line-level code traces — calibrated for multiple personas (Developer, EM, PM, VP, CTO).
Key capabilities:
Deep codebase exploration across multiple repositories
AI-powered architecture analysis and documentation
Production incident triage with blast radius mapping
Feature planning grounded in real system context
Run this command in Claude Code:
Run the interactive setup:
This command guides you through configuring your workspace ID, bearer token, and email.
Alternative: manual configuration
Set these environment variables manually:
After configuration, restart Claude Code and run /mcp to verify the server is connected.
Once installed, access these slash commands in Claude Code:
Use the codebase explorer to understand any repository:
The explorer uses a 4-phase workflow to analyze architecture, dependencies, and code patterns. Choose your persona (Developer, EM, PM, VP, CTO) to get insights calibrated to your role.
Create an implementation plan with cross-repo context:
The plugin analyzes your codebase to identify affected components, dependencies, and potential conflicts.
Diagnose incidents across repositories:
Get cross-repo context and blast radius mapping to understand the full impact of production issues.
Invoke the AI Code Review Agent manually or within a workflow.
The AI Code Review Agent offers a suite of commands tailored to developers' needs. You can manually trigger a code review by entering any of these commands in the comment box below a pull/merge request on GitHub, GitLab, or Bitbucket and submitting the comment. Alternatively, if you are using the self-hosted version, you can configure these commands in the bito-cra.properties file for automated code reviews.
This command provides a broad overview of your code changes, offering suggestions for improvement across various aspects but without diving deep for secure coding or performance optimizations or scalability improvements etc. This makes it ideal for catching general code quality issues that might not necessarily be critical blockers but can enhance readability, maintainability, and overall code health.
Think of it as a first-pass review to identify potential areas for improvement before delving into more specialized analyses.
By default, /review performs an incremental review. It analyzes only the changes made since the last review (such as new commits pushed after a previous review) rather than re-reviewing the entire pull/merge request. This keeps feedback focused on what's new and avoids repeating suggestions on code that was already reviewed.
The /review full command performs a manual full review of the pull/merge request. Instead of looking only at the changes since the last review, it re-analyzes the entire set of changes in the request from scratch.
Use case: Use /review full when you want a complete re-review of all changes. For example, after significant rework, or when you want the Agent to reassess the whole request rather than only the latest commits.
Example: Add a comment with /review full to the pull/merge request.
Five specialized commands are available to perform detailed analyses on specific aspects of your code. Details for each command are given below.
/review security
/review performance
/review scalability
If you'd like to receive general code quality feedback alongside specialized analyses, include the general keyword in your review command.
For example, to receive feedback on general code quality, performance, and security, use:
Example: /review general,performance,security
This ensures a holistic review encompassing both general code quality and specific areas of concern.
This command performs an in-depth analysis of your code to identify vulnerabilities that could allow attackers to steal data, gain unauthorized access, or disrupt your application. This includes checking for weaknesses in input validation, output encoding, authentication, authorization, and session management. It also looks for proper encryption of sensitive data, secure coding practices, and potential misconfigurations that could expose your system.
This command evaluates the current performance of the code by pinpointing slow or resource-intensive areas and identifying potential bottlenecks. It helps developers understand where the code may be underperforming against expected benchmarks or standards. It is particularly useful for identifying slow processes that could benefit from further investigation and refinement.
This includes checking how well your code accesses data and manages tasks like database interactions and memory usage.
This command analyzes your code to identify potential roadblocks to handling increased usage or data. It checks how well the codebase supports horizontal scaling and whether it is compatible with load balancing strategies. It also ensures the code can handle concurrent requests efficiently and avoids bottlenecks from single points of failure. The command further examines error handling and retry mechanisms to promote system resilience under pressure.
This command scans your code for readability, maintainability, and overall clarity. This includes checking for consistent formatting, clear comments, well-defined functions, and efficient use of data structures. It also looks for opportunities to reduce code duplication, improve error handling, and ensure the code is written for future growth and maintainability.
This command helps identify specific parts of the code that can be made more efficient through optimization techniques. It suggests refactoring opportunities, algorithmic improvements, and areas where resource usage can be minimized. This command is essential for enhancing the overall efficiency of the code, making it faster and less resource-heavy.
These commands allow you to manage the AI Code Review Agent's behavior directly within your pull requests across GitHub, GitLab, and Bitbucket.
Pauses automatic AI reviews on the current pull request.
Use case: Useful when significant changes are underway, and you want to prevent the AI from reviewing incomplete code.
Example: Add a comment with /pause to the pull request.
Resumes the automatic AI reviews that were previously paused on the pull request.
Use case: Once your code changes are ready for review, use this command to re-enable the AI's automatic analysis.
Example: Add a comment with /resume to the pull request.
Marks all Bito-posted review comments as resolved.
Use case: After addressing the issues highlighted by the AI, use this command to clean up the comment threads.
Example: Add a comment with /resolve to the pull request.
Cancels all in-progress AI code reviews on the current pull request.
Use case: If an AI review is no longer needed or was initiated by mistake, this command stops the process.
Example: Add a comment with /abort to the pull request.
By default, the /review command generates inline comments, placing code suggestions directly beneath the corresponding lines in each file for clearer guidance on improvements. If you prefer a single consolidated code review instead of separate inline comments, use the #inline_comment parameter and set its value to False.
Example: /review #inline_comment=False
Example: /review scalability #inline_comment=False
Bito doesn't read or store your code. Nor do we use your code for AI model training.
This document explains some of Bito's privacy and security practices. Our Trust Center outlines our various accreditations (SOC 2 Type II) and our various security policies. You can read our full Privacy Policy at https://bito.ai/privacy-policy/.
Security is top of mind at Bito, especially when it comes to your code. A fundamental approach we have taken is we do not store any code, code snippets, indexes or embedding vectors on Bito’s servers unless you expressly allow it. You decide where you want to store your code, either locally on your machine, in your cloud, or on Bito’s cloud. Importantly, our AI partners do not store any of this information.
All requests are transmitted over HTTPS and are fully encrypted.
None of your code or AI requests are used for AI model training. None of your code or AI requests are stored by our AI partners. Our AI model partners are OpenAI, Anthropic, and Google. Here are their policies where they state that they do not store or train on data related to API access (we access all AI models via APIs):
OpenAI:
Anthropic:
Google Cloud: (5th paragraph)
The AI requests including code snippets you send to Bito are sent to Bito servers for processing so that we can respond with an answer.
Interactions with Bito AI are auto-moderated and managed for toxicity and harmful inputs and outputs.
Any response generated by the Bito IDE AI Assistant is stored locally on your machine to show the history in Bito UI. You can clear the history anytime you want from the Bito UI.
Bito is SOC 2 Type II compliant. This certification reinforces our commitment to safeguarding user data by adhering to strict security, availability, and confidentiality standards. SOC 2 Type II compliance is an independent, rigorous audit that evaluates how well an organization implements and follows these security practices over time.
Our SOC 2 Type II compliance means:
Enhanced Data Security: We consistently implement robust controls to protect your data from unauthorized access and ensure it remains secure.
Operational Excellence: Our processes are designed to maintain high availability and reliability, ensuring uninterrupted service.
Regular Monitoring and Testing: We conduct continuous monitoring and regular internal reviews to uphold the highest security standards.
This certification is an assurance that Bito operates with a high level of trust and transparency, providing you with a secure environment for your code and data.
For any further questions regarding our SOC 2 Type II compliance or to request a copy of the audit report, please reach out to
When you use the self-hosted/docker version that you have setup in your VPC, in the docker image Bito checks out the diff and clones the repo for static analysis and also to determine relevant code context for code review. This context and the diff is passed to Bito's system. The request is then sent to a third-party LLM (e.g., OpenAI, Google Cloud, etc.). The LLM processes the prompt and return the response to Bito. No code is retained by the LLM. Bito then receives the response, processes it (such as formatting), and returns it to your self-hosted docker instance. This then posts it to your Git provider. However, the original query is not retained, nor are the results. After each code review is completed, the diff and the checked out repo are deleted.
If you use the Bito cloud to run the AI Code Review Agent, it runs similarly to the self-hosted version. Bito ephemerally checks out the diff and clones the repo for static analysis and to determine the relevant code context for code review. This context and the diff is passed to Bito's system. The request is then sent by Bito to a third-party LLM (e.g., OpenAI, Google Cloud, etc.). The LLM processes the prompt and return the response to Bito. No code is retained by the LLM. Bito then receives the response, processes it (such as formatting), and posts it to your Git provider. However, the original query is not retained, nor are the results. After each code review is completed, the diff and the checked out repo are deleted.
When we receive an AI request from a user, it is processed by Bito's system (such as adding relevant context and determining the Large Language Model (LLM) to use). However, the original query is not retained. The request is then sent to a third-party LLM (e.g., OpenAI, Google Cloud, etc.). The LLM processes the prompt and return the response to Bito. Bito then receives the response, processes it (such as formatting), and returns it to the user’s machine.
For enterprises, we have the ability to connect to your own private LLM accounts, including but not limited to OpenAI, Google Cloud, Anthropic, or third-party services such as AWS Bedrock, Azure OpenAI. This way all data goes through your own accounts or Virtual Private Cloud (VPC), ensuring enhanced control and security.
In line with Bito's commitment to transparency and adherence to data privacy standards, our comprehensive data and business privacy policy is integrated into our practices. Our complete Terms of Use, including the Privacy Policy, are available at , with our principal licensing information detailed at .
Our data retention policy is carefully designed to comply with legal standards and to respect our customers' privacy concerns. The policy is categorized into four levels of data:
Relationship and Usage Meta Data: This includes all data related to the customer's interaction with Bito, such as address, billing amounts, user account data (name and email), and usage metrics (number of queries made, time of day, length of query, etc.). This category of data is retained indefinitely for ongoing service improvement and customer support.
Bito Business Data: Includes customer-created templates and settings. This data is terminated 90 days after the end of the business relationship with Bito.
Confidential Customer Business Data: This includes code, code artifacts, and other organization-owned data such as Jira, Confluence, etc. This data is either stored on-prem/locally on the customer’s machines, or, if in the cloud, is terminated at the end of the business relationship with Bito.
Bito uses the following third-party services: Amazon AWS, Anthropic, Clearbit, Github, Google Analytics, Google Cloud, HelpScout, Hubspot, Microsoft Azure, Mixpanel, OpenAI, SendGrid, SiteGround, and Slack for infrastructure, support, and functional capabilities.
Bito follows industry standard practices for protecting your e-mail and other personal details. Our password-less login process - which requires one-time passcode sent to your e-mail for every login - ensures the complete security of your account.
The Bito Slack app has its own dedicated data handling page covering retention, deletion, LLM details, and uninstall procedures specific to Slack data.
→
If you have any questions about our security and privacy, please email
Instantly improve code performance, security, and readability with AI suggestions.
Templates help you improve your code quality instantly with AI-powered analysis. Get automated suggestions for performance optimization, security fixes, style improvements, and code cleanup without leaving your editor. Each template provides actionable feedback and ready-to-use code improvements that you can review and apply with a single click.
Performance Check: Optimize code performance and efficiency
Security Check: Identify and fix security vulnerabilities
Style Check: Apply coding style and formatting standards
Improve Readability: Enhance code clarity and organization
Clean Code: Remove debugging and logging statements
Select the code you want to analyze in your editor before using any template.
Select code in your editor
Click the Templates button at the bottom of the Bito extension panel
Choose the desired template from the dropdown menu
Select code in your editor
Right-click in the editor window
Hover over "Bito AI" in the context menu
Select the desired template from the submenu
Select code in your editor
Type / at the start of the Bito chat box
Choose the desired template from the dropdown menu
Type some text after the slash / to filter templates by name
Select code in your editor
Go to View → Command Palette (or press Ctrl+Shift+P / Cmd+Shift+P)
Type "bito" to see available templates
Select the desired template from the list
When templates provide code improvements, you'll see an Apply button above the suggested code snippet.
Click the Apply button to open the diff view
Review the changes highlighted in the diff:
Red lines show code to be removed
Green lines show code to be added
Choose your action:
Select meaningful code blocks for better analysis results
Templates work best with complete functions or logical code segments
Review suggested changes before applying them to your codebase
Verify that the changes don't break existing functionality
Integrate Claude Desktop with AI Architect for more accurate, codebase-aware AI assistance.
Use Bito's AI Architect with Claude Desktop to enhance your AI-powered coding experience.
Once connected via MCP (Model Context Protocol), Claude Desktop can leverage AI Architect's deep contextual understanding of your project, enabling more accurate code suggestions, explanations, and code insights.
Follow the AI Architect installation instructions. Upon successful setup, you will receive a Bito MCP URL and Bito MCP Access Token that you need to enter in your coding agent.
Download BitoAIArchitectGuidelines.md file. You will need to copy/paste the content from this file later when configuring AI Architect.
Note: This file contains best practices, usage instructions, and prompting guidelines for the Bito AI Architect MCP server. The setup will work without this file, but including it helps AI tools interact more effectively with the Bito AI Architect MCP server.
Claude Desktop installed - Download and install Claude Desktop from if you haven't already.
Node.js 20.18.1 or higher - Required for the mcp-remote proxy
macOS:
Windows: Download from (download 20.x LTS)
Claude Desktop uses claude_desktop_config.json with the mcp-remote proxy for OAuth-enabled remote servers.
Claude Desktop supports both local MCP servers and remote HTTP servers. For Bito AI Architect (a remote OAuth server), we use the mcp-remote proxy which handles the OAuth flow automatically.
Open Claude Desktop
Click Claude menu → Settings → Developer tab
Click Edit Config to open claude_desktop_config.json
Verify JSON syntax in config file
Ensure Node.js 20+ is installed: node --version
Check that npx is available: npx --version
Ensure your browser is set as default
Allow pop-ups for the OAuth flow
Check firewall settings
Ensure Node.js is in your PATH
Try running npx -y mcp-remote --help in terminal to verify it works
OAuth tokens may have expired - restart Claude Desktop to re-authorize
Check your internet connection
Verify the Workspace ID is correct
Vim/ Neovim Plugin for Bito Using Bito CLI
We are excited to announce that one of our users has developed a dedicated Vim and Neovim plugin for Bito, integrating it seamlessly with your favorite code editor. This plugin enhances your coding experience by leveraging the power of Bito's AI capabilities directly within Vim and Neovim.
Installation
To get started with "vim-bitoai," follow these steps:
Step 1: Install Bito CLI
Make sure you have Bito CLI installed on your system. If you haven't installed it, you can find detailed instructions in the Bito CLI repository at https://github.com/gitbito/CLI.
Step 2: Install the Plugin
Open your terminal and navigate to your Vim or Neovim plugin directory. Then, clone the "vim-bitoai" repository using the following command:
git clone https://github.com/zhenyangze/vim-bitoai.git
Step 3: Configure the Plugin
Open your Vim or Neovim configuration file and add the following lines:
Save the configuration file and restart your editor or run :source ~/.vimrc (for Vim) or :source ~/.config/nvim/init.vim (for Neovim) to load the changes.
Step 4: Verify the Installation
Open Vim or Neovim, and you should now have the "vim-bitoai" plugin installed and ready to use.
Usage
You can use its powerful features once you have installed the "vim-bitoai" plugin. Here are some of the available commands:
BitoAiGenerate: Generates code based on a given prompt.
BitoAiGenerateUnit: Generates unit test code for the selected code block.
BitoAiGenerateComment: Generates comments for methods, explaining parameters and output.
BitoAiCheck: Performs a check for potential issues in the code and suggests improvements.
To execute a command, follow these steps:
Open a file in Vim or Neovim that you want to work on.
Select the code block you want to act on. You can use visual mode or manually specify the range using line numbers.
Execute the desired command by running the corresponding command in command mode. For example, to generate code based on a prompt, use the : BitoAiGenerate command. Note: Some commands may prompt you for additional information or options.
By leveraging the "vim-bitoai" plugin, you can directly harness the power of Bito's AI capabilities within your favorite Vim or Neovim editor. This integration lets you streamline your software development process, saving time and effort in repetitive tasks and promoting efficient coding practices.
Customization
The "vim-bitoai" plugin also offers customization options tailored to your specific needs. Here are a few variables you can configure in your Vim or Neovim configuration file:
g:bito_buffer_name_prefix: Sets the prefix for the buffer name in the Bito history. By default, it is set to 'bito_history_'.
g:vim_bito_path: Specifies the path to the Bito CLI executable. If the Bito CLI is not in your system's command path, you can provide the full path to the executable.
g:vim_bito_prompt_{command}: Allows you to customize the prompt for a specific command. Replace {command} with the desired command.
To define a custom prompt, add the following line to your Vim or Neovim configuration file and replace your prompt with the desired prompt text:
Remember to restart your editor or run the appropriate command to load the changes.
We encourage you to explore the "vim-bitoai" plugin and experience the benefits of seamless integration between Bito and your Vim or Neovim editor. Feel free to contribute to the repository or provide feedback to help us further improve this plugin and enhance your coding experience.
The Architect MCP Analytics dashboard in Bito Cloud provides visibility into how Bito's AI Architect is being used across your workspace through the Model Context Protocol (MCP). Use these metrics to track tool usage, monitor engagement, and understand what tasks the AI Architect is being applied to.
All charts update on a rolling basis and are accessible directly from the Bito UI.
Each time the AI Architect invokes a structured capability — such as code search, file reading, or architecture analysis — it is recorded as a tool call. The analytics page aggregates these tool calls to help you answer questions like:
How much is the AI Architect being used?
Who is using it, and how many people are actively engaged?
Which types of tasks is it being used for most?
Is usage growing or declining over time?
Displays the total number of MCP tool calls made by all users in the last 4 weeks.
Use this as a high-level indicator of overall AI Architect activity. A rising count suggests growing adoption or deeper integration into developer workflows. A sudden drop may point to access issues, a change in team workflow, or a degraded experience worth investigating.
Shows the number of unique workspace members who triggered at least one MCP tool call within the last 4 weeks.
This metric reflects the breadth of adoption rather than total volume. Compare it alongside tool call volume to understand usage distribution:
High volume + low active users → a few power users driving most activity
Growing active users + stable volume → broader but lighter adoption across the team
Breaks down tool call volume week by week over the last 8 weeks.
The longer time horizon makes it easier to identify growth trajectories, plateau periods, or regressions following a product change or team event. Use this chart to compare performance before and after AI Architect rollouts, onboarding pushes, or feature updates.
Segments tool calls by their functional category, showing which types of tasks the AI Architect is most frequently being used for. Volume is displayed over time so you can track how the purpose distribution shifts within the 4-week window.
Use this chart to identify which Architect capabilities are most valued by your team and where adoption of specific features may need support or enablement.
It takes less than 2 minutes
Get up and running with Bito in just a few steps! Bito seamlessly integrates with Visual Studio Code, providing powerful AI-driven code reviews directly within your editor. Click the button below to quickly install the Bito extension and start optimizing your development workflow with context-aware AI Chat, and more.
Watch the video below to learn how to download the Bito extension on VS Code.
In Visual Studio Code, go to the extension tab and search for Bito.
Install the extension. We recommend you restart the IDE after the installation is complete.
After a successful install, the Bito logo appears in the Visual Studio Code pane.
Click the Bito logo to launch the extension and complete the setup process. You will either need to create a new workspace if you are the first in your company to install Bito or join an existing workspace created by a co-worker. See
SSH (Secure Shell) is a network protocol that securely enables remote access, system management, and file transfer between computers over unsecured networks.
Visual Studio Code IDE allows developers to access and collaborate on projects from any connected machine remotely. The corresponding extension [Remote -SSH] must be installed on the host machine's Visual Studio Code IDE to utilize this feature.
The Bito VS Code extension seamlessly integrates with Remote development via SSH, allowing developers to utilize Bito features and capabilities on their remote machines.
Please follow the instructions given in the links below:
Video Guide:
Running VS Code on WSL allows developers to work in a Linux-like environment directly from Windows. This kind of setup is to take advantage of development experience on both operating systems.
WSL provides access to Linux command-line tools, utilities, and applications, to enhance productivity and streamline the development process.
This setup ensures a consistent development environment across different systems, making it easier to develop, test, and deploy applications that will run on Linux servers.
Please follow the instructions given in the links below:
Video Guide:
Make sure every code change follows the requirements and guidance recorded in your Confluence pages.
Bito integrates with Confluence to enhance functional validation by enriching pull request requirements with deeper context from linked documentation.
It fetches relevant details from Confluence pages linked in Jira issues or directly in pull request – such as edge cases, design decisions, or test scenarios – and incorporates them into structured validation results.
This improves accuracy when validating code changes and ensures that every pull request is aligned with the requirements.
When a pull request is opened, Bito automatically:
Detects Confluence references. Bito looks for Confluence page links in the pull request description or in any linked Jira issues.
The context engine behind Bito's AI Architect
Bito's Knowledge graph is the context engine behind that captures your entire engineering system. It ingests your codebase, business context, and tribal knowledge into a unified graph, giving AI and dev tools a shared understanding of the system.
This always-updated graph powers smarter planning, grounded code generation, and faster problem-solving across a variety of tools, including:
Issue trackers (Jira, Linear)
Coding agents (Claude Code, Cursor, etc.)
Deployment mode
Docker Compose
Docker Compose or Kubernetes
Operating systems
macOS 12+, Ubuntu 20.04+
macOS, Linux (Ubuntu, Debian, RHEL, etc.), Windows via WSL2
Shared knowledge graph
No — per-machine only
Yes — shared across the team
Authentication
Bearer token (local cert auto-managed)
Bearer Token, Bito Auth, or Enterprise IdP (SAML/OIDC)
Recommended hardware
8 GB+ RAM, 4+ CPUs, 50 GB+ disk
8–12 GB RAM, 6–8 cores, SSD
IDE auto-registration
Yes — Claude Code, Cursor, Windsurf, VS Code, Junie, JetBrains AI
Via quick-setup installer or manual config
Audit logs: retained for 15 days
Third-party sharing: Bito does not sell, rent, or share customer data for marketing.
Written confirmation is emailed on completion
AI Requests: Data in an AI request to Bito’s AI system. AI requests are neither retained nor viewed by Bito. We ensure the confidentiality of your AI queries; Bito and our LLM partners do not store your code, and none of your data is used for model training. All requests are transmitted via HTTPS and are fully encrypted.
Accept - Apply the suggested changes to your code
Undo - Reject the changes and keep your original code
Use multiple templates on the same code for comprehensive analysis
Use the diff view to understand exactly what changes will be made









One command installer
Provider credentials
Encrypted and stored by Bito
Encrypted under a key held on your host
Updates
Applied by Bito
Applied by you
Traffic path
Your tools to Bito to your LLM provider
Your tools to your host to your LLM provider
Best for
Fastest start, with no infrastructure to maintain
Data residency, egress, or regulatory requirements




/review codeorg/review codeoptimize






High volume, few active users
Power-user concentration; limited spread
Sharp weekly drop
Possible access issue or workflow disruption
Single purpose dominating usage
Narrow use case; other capabilities may be underexplored
Active users
Unique workspace members who triggered at least one tool call within the specified window.
Tool calls by purpose
A categorization of tool calls by the intent or function they serve, such as code navigation or architecture review.
Rolling window
A time range (e.g. 4 weeks or 8 weeks) that shifts forward each day relative to the current date, rather than being fixed to a calendar period.
Steady or growing tool call volume
Healthy adoption and continued use
Increasing active users
Broader team engagement
Flat volume after onboarding
MCP
Model Context Protocol — the structured interface used by AI Architect to invoke tools like code search, file access, and architectural analysis.
Tool call
A single invocation of an MCP tool by the AI Architect on behalf of a user. One session may produce many tool calls.
Tool call volume


Adoption gap; consider enablement efforts
The total count of tool calls recorded within a given time window, across all users.
/bito-ai-architect:prd
Write a Product Requirements Document grounded in real system context
/bito-ai-architect:trd
Produce a Technical Requirements Document by analyzing existing architecture
/bito-ai-architect:production-triage
Diagnose production incidents with cross-repo context and blast radius mapping
/bito-ai-architect:epic-to-plan
Convert an approved epic or PRD into a complete, sprint-ready implementation plan
/bito-ai-architect:feasibility
Produce a go/no-go feasibility and impact analysis before committing to implementation
/bito-ai-architect:scope-to-plan
Convert any approved work item into a complete, sprint-ready implementation plan
/bito-ai-architect:spike
Conduct a structured technical investigation when the team doesn't know enough to plan
/bito-ai-architect:bito-setup
Configure credentials interactively
/bito-ai-architect:codebase-explorer
Explore and understand any codebase from high-level architecture to line-level code traces. Uses "The One Test" methodology with a 4-phase exploration workflow calibrated for different personas (Developer, EM, PM, VP, CTO).
/bito-ai-architect:feature-plan
Build a detailed implementation plan for complex features with cross-repo context
BitoAiCheckSecurity: Checks the code for security issues and provides recommendations.
BitoAiCheckStyle: Checks the code for style issues and suggests style improvements.
BitoAiCheckPerformance: Analyzes the code for performance issues and suggests optimizations.
BitoAiReadable: Organizes the code to enhance readability and maintainability.
BitoAiExplain: Generates an explanation for the selected code.
/plugin marketplace add gitbito/claude-plugins/plugin install bito-ai-architect@bito-claude-plugins/bito-ai-architect:bito-setupexport BITO_WORKSPACE_ID="your-workspace-id"
export BITO_MCP_TOKEN="your-bearer-token"
export BITO_EMAIL="your-email@company.com"/bito-ai-architect:codebase-explorer/bito-ai-architect:feature-plan/bito-ai-architect:production-triage" Vim Plug
Plug 'zhenyangze/vim-bitoai'
" NeoBundle
NewBundle 'zhenyangze/vim-bitoai'
" Vundle
Plugin 'zhenyangze/vim-bitoai'if !exists("g:vim_bito_prompt_{command}")
let g:vim_bito_prompt_{command}="your prompt"
endifDescription: Repository intelligence and architecture analysis for your organization
MCP Server URL: <Your-Bito-MCP-URL>
Authentication: Select "OAuth"
Click "Create" or "Save"
Review the requested permissions
Enter your email address (required for tracking)
Click "Authorize" or "Allow"
Return to ChatGPT - the connection is now active
In the composer, click "Use Connectors" or look for the connector tools
Try asking:
What repositories are available in my organization?dependency_check.snyk_auth_token: Required when using Snyk for vulnerability detection.exclude_draft_pr: Skips draft pull requests when enabled (default: True).
Learn more
Learn more
Verify installation:
node --version # Should show v20.x.x or higher
npx --versionOr manually open: ~/Library/Application Support/Claude/claude_desktop_config.json
Open Claude Desktop
Click File → Settings → Developer tab
Click Edit Config to open claude_desktop_config.json
Or manually open: %APPDATA%\Claude\claude_desktop_config.json
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"BitoAIArchitect": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"<Your-Bito-MCP-URL>"
]
}
}
}If you already have other MCP servers configured, add BitoAIArchitect to the existing mcpServers object:
{
"mcpServers": {
"existing-server": {
...
},
"BitoAIArchitect": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"<Your-Bito-MCP-URL>"
]
}
}
}Windows-specific configuration:
On Windows, you may need to use the cmd wrapper:
{
"mcpServers": {
"BitoAIArchitect": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"mcp-remote",
"<Your-Bito-MCP-URL>"
]
}
}
}On first use, mcp-remote will open your browser to complete OAuth:
A browser window opens showing the Bito Authorization page
Review the requested permissions
Enter your email address (required for tracking)
Click "Authorize" or "Allow"
Return to Claude Desktop - the connection is now active
brew install node@20
# Or use nvm: nvm install 20 && nvm use 20curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejsFetches documentation. Bito retrieves the content of those Confluence pages and extracts key information (requirements, design decisions, acceptance criteria, etc.).
Validates code against the docs. It compares your code changes to the enriched context and generates structured validation feedback.
Reports results in the PR. Bito posts a "Functional Validation" table directly in your pull request comments, showing how each documented requirement is met, missed, or partially implemented.
In your Bito dashboard, go to the Manage integrations page.
Under Available integrations, find Confluence and click Connect.
Click Authorize with your Confluence account. You will be redirected to Atlassian's site to grant Bito access to your Confluence workspace. This uses OAuth to securely link your Confluence content.
Sign in to your Atlassian account if prompted, then click Accept. After successful authorization, you will be returned to Bito.
After completing the initial setup, you can control Confluence integration on a per-agent basis:
Go to the page in your Bito dashboard.
Find the Agent instance you want to connect with Confluence and open its settings.
Within the Agent settings screen, click on the
For Bito to fetch the right documentation, your pull requests must reference the relevant Confluence pages:
With Jira integration: Ensure your Jira issues link to the Confluence pages (for example, by using the Jira Issue macro on the Confluence page). When a Confluence page mentions a Jira issue key, Jira automatically creates a link to that page. Bito will follow those links to gather the documentation context.
Without Jira integration: Include a link to the Confluence page directly in the pull request description. Bito will use that URL to retrieve the page content for validation.
When Bito completes its analysis, it adds a "Functional Validation by Bito" table to your pull request comments. This table contains four columns:
Displays the Jira issue key (e.g., "QP-11", "QP-123") that references the specific Jira ticket being validated.
Shows a brief description of the requirement or task that needs to be completed, summarizing what needs to be done according to the Jira ticket and Confluence page.
Indicates the completion status of each requirement:
Met: The requirement has been fully implemented in the pull request
Missed: The requirement has not been addressed in the pull request
Partial: The requirement has been partially implemented but still needs additional work
Conflict: A change contradicts another requirement (e.g., two requirements cannot both be satisfied by the current code).
Out‑of‑scope: The change is not in the requirements (the code change does not relate to any defined requirement).
Provides detailed information about the validation status:
For "Met" items: Explains what has been successfully implemented
For "Missed" items: Describes what is missing and needs to be addressed
For "Partial" items: Details what has been completed and what still remains to be done
For "Conflict" items: Describes why there is a contradiction between requirements and what might need to be resolved.
For "Out‑of‑scope" items: Explains why the change is considered outside the defined requirements.
Here's what a typical validation table looks like:
Improved traceability: Syncing code validation with Confluence documentation creates a clear audit trail from requirements to implementation.
Single source of truth: By pulling from Confluence (the team’s central documentation hub), Bito ensures developers review code against the definitive requirements. Teams spend less time context-switching between tools.
Aligned development: Automatic validation against documented scenarios helps catch missing features or edge cases early, reducing manual review effort and improving quality.
No "Functional validation" table in pull request: Check that Confluence is connected under Manage integrations and that the Functional Validation setting is enabled for your Agent. Also verify that your PR or its linked Jira issues actually reference the Confluence pages.
Missing or incorrect context: Make sure the Confluence pages contain the up-to-date requirements or test scenarios.
Authorization errors: If Bito can't access Confluence, try re-authorizing the integration. Ensure your Atlassian account has permission to read the relevant Confluence pages.
Code reviews (GitHub, GitLab, Bitbucket)
Team communication (Slack)
The knowledge graph is great at answering questions like "What will be affected if we change Service A?" or "Have we seen this issue before?" without manual research.
The knowledge graph ingests data from multiple sources to form a complete context layer.
The following sources are fed into Bito's indexing pipeline, which scans and parses each type of data to populate the knowledge graph.
Code and commits history: All source code (microservices, libraries, modules) and Git history (commits, branches). The graph records entities like classes, functions, and API endpoints, and notes code changes (e.g. refactor patterns) from commit metadata.
Issue trackers: Jira or Linear tickets, epics, and bugs. Each ticket is connected to the code or service it involves, and recurring incident patterns (like frequent hotfixes) become part of the context.
Documentation: Design documents, architecture decisions, wikis (e.g. Confluence). The graph links these to the relevant code components, capturing business intent and past decisions for reference.
Observability data: Logs, errors, and performance metrics. For example, if a service has repeated errors or missing logs, the graph notes that instability. This means operational risk indicators (like outage-prone services) are surfaced in the graph.
Note: Observability data integration is available as a custom-built solution for your organization. We can integrate with your existing observability platform (such as DataDog, New Relic, or others) to enrich the knowledge graph with operational insights. Contact the Bito team at to discuss your observability integration needs.
Team communication: Slack messages that contain tribal knowledge like incident discussions, architecture debates, undocumented context.
Custom instructions: Enrich the knowledge graph with additional context that's relevant to your engineering workflow. By providing supplementary documentation, you help AI Architect develop a more complete understanding of your project.
The knowledge graph evaluates proposed changes against your actual system state. It understands service boundaries, existing patterns, historical constraints, and known limitations. This allows it to determine what is realistically buildable, highlight risks early, and surface constraints that may not be obvious from specifications alone.
Before any change is made, the knowledge graph maps its full system impact. It traces dependencies across services, APIs, and shared components, and combines this with historical usage and change patterns. This ensures that decisions are based on a complete view of downstream effects, not partial assumptions.
The knowledge graph grounds design decisions in how your system actually works. It reflects existing architectural patterns, prior design decisions, and service-level responsibilities. This leads to designs that are consistent with your environment and easier to implement, operate, and maintain.
The knowledge graph connects high-level work to real system components. It uses past implementation patterns, system dependencies, and team workflows to break down epics into actionable units. This results in tasks that are aligned with how work is actually executed in your organization.
When generating code, the knowledge graph provides system-specific context such as API contracts, service interactions, error handling patterns, and operational constraints. This ensures that generated code aligns with your architecture and integrates correctly with existing systems.
The knowledge graph adds system-wide context to code reviews. It highlights relevant patterns, prior issues, and cross-service implications that may not be visible within a single pull request. This helps reviewers make more informed decisions with less manual investigation.
Most AI coding tools use retrieval-augmented generation: embedding code as vectors and retrieving relevant snippets. This treats your codebase as searchable text rather than an interconnected system.
When you ask about authentication, vector search finds files containing "auth" keywords. It doesn't understand that your authentication service depends on specific Redis configuration, that an Architecture Decision Record (ADR) documents why Redis was chosen, or that a recent incident involved rate limiting.
The difference is between finding information and understanding relationships. A vector database can retrieve your authentication service code and a Jira ticket separately, but can't connect that the ticket describes an incident that led to the code change, which implemented a pattern from an ADR, and monitoring shows the pattern's effectiveness.
Some tools add more context to prompts — feeding more code and documentation to the AI. But retrieving fifty potentially relevant files when only three matter creates noise, not clarity.
The knowledge graph solves a different problem: identifying which information matters for specific decisions and why it matters.
Traditional AI tools treat codebases as relatively static, re-indexing periodically without modeling change over time. The knowledge graph understands that your current architecture results from decisions made in specific contexts.
When your team has been migrating from monolith to microservices for a year, that's not historical trivia — it's a pattern that should inform how new features are designed.
Code analysis tools build dependency graphs and trace function calls, but they don't capture operational reality. Knowing Service A calls Service B is useful. Knowing that Service B has rate limits that caused a production incident eight months ago, that the response involved implementing circuit breakers, and that a shared library now exists for this pattern — that's the context difference between adequate code and production-ready code.
The constraint in scaling engineering isn't hiring developers — it's enabling them to make good decisions without complete context. When critical knowledge lives in senior engineers' heads, scaling means either accepting decisions with less context (leading to rework) or creating bottlenecks.
The knowledge graph distributes accumulated knowledge. Mid-level engineers access the same contextual understanding staff engineers bring, not through years of experience but through the graph making that context explicit and queryable.
Technical debt is the gap between how your system is designed and how it needs to work. The graph makes this visible by connecting what was decided (ADRs, design docs), what was built (code), what happened (incidents, monitoring), and what's planned (Jira epics).
This visibility enables informed decisions about what technical debt costs and what remediation provides value.
For organizations with regulatory requirements, the graph provides an auditable record of technical decisions. When you need to demonstrate why architectural choices were made, what alternatives were considered, and how security requirements were addressed, the graph traces these relationships explicitly.
Most AI tools excel at isolated tasks: writing functions, explaining code, suggesting refactors. The knowledge graph makes AI useful for decisions requiring system-wide understanding: feasibility analysis, architectural design, impact assessment, etc.
These are tasks senior engineers spend most time on, and where AI historically provided least value due to lacking context.
Every decision captured in the graph becomes training data for better future decisions. Organizations accumulate knowledge over time, but it usually remains implicit until people leave and understanding walks out the door.
The knowledge graph makes accumulation explicit, preserving it in a form that informs decision-making as teams evolve.
Getting Started
Key Features
Supported Programming Languages and Tools
Agent Configuration: bito-cra.properties File
FAQs
Install on VS Code


Access deep repository intelligence and codebase insights through AI Architect's MCP server
AI Architect's MCP server provides a comprehensive suite of tools for exploring, analyzing, and understanding your organization's codebase. These tools enable AI coding assistants to access deep repository intelligence, architectural insights, and code-level information across all your Git repositories.
Below is the complete list of MCP tools provided by AI Architect:
getCapabilities
The context layer for your entire software development lifecycle, from planning in Jira to generating code in your IDE to codebase-aware reviews in Git.
Bito's AI Architect builds a knowledge graph of your codebase (from repos to modules to APIs) and operational history (context from issue trackers such as Jira). This gives your team a shared, always-current understanding of the system, and makes that understanding available wherever engineering decisions are made:
In issue trackers (Jira) for feasibility analysis, technical design, and cross-repo impact assessment.
In coding agents (Claude Code, Cursor, Windsurf, GitHub Copilot, and more) for grounded code generation, accelerated onboarding, and production issue triage.
(GitHub, GitLab, Bitbucket) for codebase-aware AI code reviews
This fundamentally changes the game for enterprises with many microservices or large, complex codebases.
Technical design and planning — AI Architect analyzes your Jira tickets and posts a complete implementation plan directly in comments section: feasibility assessment, story breakdown, effort estimates, risk flags, and dependency mapping.
Grounded 1-shot production-ready code — The AI Architect learns all your services, endpoints, code usage examples, and architectural patterns. The agent automatically feeds those to your coding agent (Claude Code, Cursor, Codex, any MCP client) to provide it the necessary information to quickly and efficiently create production ready code.
The AI Architect builds the knowledge graph by analyzing all your repositories (whether you have 50 or 5,000 repos) to learn about your codebase architecture, microservices, modules, API endpoints, design patterns, and more.
AI Architect is designed to be flexible and can power multiple use cases across different AI coding tools and workflows.
(Fully managed by Bito — no infrastructure setup required)
(Run AI Architect on your own infrastructure for maximum control)
Most AI coding tools struggle with accuracy in real-world codebases because they
Don’t fully understand the breadth and depth of your codebase. They read some of the code in your existing repository, but they don’t have a complete graph of your internal APIs, endpoints, libraries, etc. On top of that, if you are accessing a monorepo or many services not available on your machine locally, they have no context or get confused trying to access them. Bito’s AI Architect has built a knowledge graph to provide this information in a cheap and efficient way to your coding agent so it can accomplish the task with grounded and complete information.
They don’t fully understand how all of your services and modules interact with each other when you are trying to understand your overall system versus just one component. The AI Architect’s graph contains a mapping of all the dependencies, allowing to provide sophisticated analysis – how you would expect an Architect too.
Traditional embeddings work like a search engine — they retrieve code snippets or documents similar to a given query.
They can find related content but can’t understand how different parts of your system work together.
The AI Architect, on the other hand:
Builds a knowledge graph that captures relationships between repositories, modules, APIs, and libraries.
Provides precise answers and implementations, not just search results.
Understands context and intent — how and why something is implemented in your codebase.
Enables system-aware reasoning, allowing AI agents to generate or review code with full architectural understanding.
with our team.
Lastly, email if you have any additional questions.
Key requirements for self-hosting the AI Code Review Agent.
A machine with the following minimum specifications is recommended for Docker image deployment and for obtaining optimal performance of the AI Code Review Agent.
CPU Cores
4
Windows
Linux
macOS
Bito Access Key: Obtain your Bito Access Key.
GitHub Personal Access Token (Classic): For GitHub PR code reviews, ensure you have a CLASSIC personal access token with repo access. We do not support fine-grained tokens currently.
GitLab Personal Access Token: For GitLab PR code reviews, a token with API access is required.
Snyk API Token (Auth Token): For Snyk vulnerability reports, obtain a Snyk API Token.
Integrate Claude.ai with AI Architect for more accurate, codebase-aware AI assistance.
Use Bito's AI Architect with Claude.ai (Web) to enhance your AI-powered coding experience.
Once connected via MCP (Model Context Protocol), Claude.ai can leverage AI Architect's deep contextual understanding of your project, enabling more accurate code suggestions, explanations, and code insights.
Follow the AI Architect installation instructions. Upon successful setup, you will receive a Bito MCP URL and Bito MCP Access Token that you need to enter in your coding agent.
Note: The Bito MCP URL must be publicly accessible. Localhost or private network URLs (for example, http://localhost or internal IP addresses) are not supported and will not work.
. You will need to copy/paste the content from this file later when configuring AI Architect.
Note: This file contains best practices, usage instructions, and prompting guidelines for the Bito AI Architect MCP server. The setup will work without this file, but including it helps AI tools interact more effectively with the Bito AI Architect MCP server.
A paid Claude.ai subscription - MCP integrations require one of the following:
Claude Pro
Claude Max
Claude Team
Claude.ai uses OAuth 2.1 with PKCE for secure authentication, so you don't need to manually manage access tokens. Your email will be collected during the OAuth consent flow for tracking purposes.
How OAuth authentication works:
You add the MCP server URL in Claude.ai Integrations settings
Claude.ai initiates an OAuth flow
Your browser opens a consent page hosted by Bito
You enter your email and approve the connection
Benefits:
No manual token management
Secure browser-based authentication
Automatic token refresh
Email collected during consent (no separate header needed)
OAuth Callback URL: https://claude.ai/api/mcp/auth_callback
Go to and sign in with your paid account
Click on your profile icon (bottom-left corner)
Select Settings
Verify you have a paid Claude subscription (Pro, Max, Team, or Enterprise)
Free tier accounts do not have MCP access
Contact Anthropic support if you have a paid plan but don't see the option
Ensure pop-ups are allowed for claude.ai
Check that your Workspace ID is correct
Verify your organization has OAuth enabled for the MCP server
Try clearing browser cache and cookies, then retry
Click the server entry and select "Reconnect"
OAuth tokens may have expired - re-authorize when prompted
Check if your Bito workspace is still active
Ensure the MCP server shows "Connected" status
Try starting a fresh conversation
Some tools may require specific prompts to activate
Bito UI in Visual Studio Code and JetBrains IDEs is entirely keyboard accessible. You can navigate Bito UI with standard keyboard actions such as TAB, SHIFT+TAB, ENTER, and ESC keys. Additionally, you can use the following shortcuts for quick operations.
The following video demonstrates important keyboard shortcuts.
Open Bito Panel: Toggle Bito Panel on and off in the JetBrains IDE. In the Visual Studio Code, the shortcut opens the Bito panel if not already opened.
The following keyboard shortcuts work after the Q/A block is selected.
Bito has carefully selected the keyboard shortcuts after thorough testing. However, it's possible that Bito selected key combination may conflict with IDE or other extensions shortcut. You can change the Bito default shortcut keys to avoid such conflicts.
To Open the Keyboards Shortcuts editor in VS Code, navigate to the menu under File > Preferences > Keyboard Shortcuts. (Code > Preferences > Keyboard Shortcuts on macOS)
Search for default available commands, keybindings, or Bito extension-specific commands in VSCode keyboard shortcut editor.
Finding a conflict in Key binding → Search for the key and take necessary action, e.g., Remove or Reset.
Add a new key binding or map the existing Bito extension command. Provide the necessary information (Command ID) to add the new key binding.
JetBrains Document:
File > settings > keymaps > configure keymaps
Bito extension shortcuts can be overwritten by going into the File > Settings > Keymaps > configure keymaps > to the action you want to assign. It will also overwrite the Bito shortcut if there are conflicts.
Bito extension keyboard shortcuts can be changed from the IntelliJ settings. File > Settings > Keymaps > configure keymaps > plugins > Bito > action you want to change by right click.
Bito extension Keyboard shortcuts can be deleted from the IntelliJ settings. File > Settings > Keymaps > configure keymaps > plugins > Bito > action you want to delete by right click.
Visualize code changes and their impact with automated sequence diagrams.
The Interaction Diagram is a visual feature in Bito's that automatically generates sequence diagrams to help you quickly understand the impact of code changes in your pull requests.
This diagram visualizes how different components of your code interact with each other, making code reviews faster and more intuitive.
Navigate to the dashboard.
Click the Settings
Custom Instructions allows you to enrich with additional context that's relevant to your engineering workflow. By providing supplementary documentation, you help AI Architect develop a more complete understanding of your project ecosystem.
By default, AI Architect builds a knowledge graph using multiple inputs such as your codebase, issue tracking systems, documentation tools, and observability data. While this provides strong coverage, there is often still important context that lives outside these systems or is not easily discoverable.
Custom instructions allow you to fill that gap by providing documents that describe your system in a more complete way.
CLI mode is best suited for immediate, one-time code reviews.
Prerequisites: Before proceeding, ensure you've completed all necessary AI Code Review Agent.
Start Docker: Ensure Docker is running on your machine.
Repository Download: GitHub repository to your machine.
Get instant feedback on your code changes directly within your code editor.
Unlock the power of AI-driven code reviews in VS Code, Cursor, Windsurf, and all JetBrains IDEs (including IntelliJ IDEA, PyCharm, WebStorm, and more) with Bito's . This tool provides real-time, human-like feedback on your code changes, catching common issues before you submit a pull request.
The AI Code Review Agent helps you improve your code as you develop, so you don't have to wait for days to get feedback. This accelerates development cycles, boosts team productivity, and ensures higher code quality.
You can start using the Agent immediately—no setup is required!
Install the latest Bito IDE extension for , , , or .
Replace <Your-Bito-Workspace-ID> with your actual Bito workspace ID, which you can find after logging into your Bito account at alpha.bito.ai
<Your-Bito-Workspace-ID> with your actual Bito workspace ID, which you can find after logging into your Bito account at alpha.bito.ai<Your-Bito-Workspace-ID> with your actual Bito workspace ID, which you can find after logging into your Bito account at alpha.bito.ai<Your-Bito-Workspace-ID> with your actual Bito workspace ID, which you can find after logging into your Bito account at alpha.bito.aiDiscover what repository intelligence and analysis capabilities this MCP server provides.
Returns comprehensive information about available repository data, dependency analysis features, architectural insights, and clustering patterns for your organization's Git repositories.
Use this to understand what repository information is available through this specialized service.
listRepositories
Browse all Git repositories in your organization. Returns comprehensive repository catalog with names, descriptions, and resource URIs.
Use this to discover available repositories, understand the organization's project landscape, identify microservices and components, or get an overview of all systems.
Each entry includes a resource URI for accessing detailed repository information.
Instant access to pre-indexed organizational repository data.
listClusters
View automatically identified clusters of related repositories in your organization.
Clusters represent groups of repositories with strong dependencies or architectural relationships, often forming subsystems or microservice groups.
Use this to understand system architecture, identify bounded contexts, discover service groupings, or analyze component relationships.
Returns cluster information with member repositories and their resource URIs.
getRepositoryInfo
Get comprehensive repository information including metadata, structure, and dependencies.
To access incoming dependencies (services depending on this repo): set includeIncomingDependencies=true.
To access outgoing dependencies (services this repo depends on): set includeOutgoingDependencies=true.
Edge data includes various dependency types - filter by edge.type field to isolate specific categories.
Smart defaults: dependencies auto-limited by detailLevel (summary: 10, standard: 25, full: unlimited).
Essential for understanding repository relationships, analyzing dependencies, investigating integration points, and assessing impact of changes.
Returns pre-analyzed dependency graphs and relationship data.
getClusterInfo
Examine a specific cluster of related repositories to understand subsystem architecture within your organization.
Returns all member repositories, their interdependencies, project summaries, and resource URIs.
Use this to analyze how repositories collaborate, understand service boundaries, explore microservice architectures, or investigate system decomposition patterns.
Valuable for architectural reviews and impact analysis.
searchRepositories
ONLY use when you DON'T know the repository name. If you know exact name, use getRepositoryInfo or getFieldPath directly.
Intelligent search across your organization's Git repositories using natural language queries.
Search by technology, functionality, frameworks, or project characteristics when repository name is unknown.
Uses TF-IDF algorithm on pre-indexed repository metadata for relevant results.
Examples: 'Python microservices', 'repositories using Redis', 'authentication services', 'React applications', 'payment processing systems', 'Kubernetes deployments'.
Returns repositories with relevance scores and direct access URIs.
searchWithinRepository
Search for content within a single repository including metadata and dependency data.
Searches metadata fields and optionally incoming_dependencies and outgoing_dependencies.
By default searches ALL data for comprehensive results.
Use includeIncomingDependencies=false and includeOutgoingDependencies=false for faster metadata-only search.
Returns filtered results with matches from metadata and dependencies.
Use when: You know which repo but need to find specific information without knowing exact field paths.
Natural language queries work well.
getRepositorySchema
Discover repository structure without fetching data.
Returns field names, types, array counts, and nested hierarchy.
Essential first step for exploring unfamiliar repositories.
getFieldPath
Extract specific nested field using dot notation and array indexing.
MOST EFFICIENT for surgical data extraction - returns only requested field vs full repository.
For dependencies: use 'incoming_dependencies' or 'outgoing_dependencies' paths with arraySlice, then filter by edge.type field to isolate specific categories.
Supports deep nesting, array slicing, and optional parent context.
Returns only the requested field data.
queryFieldAcrossRepositories
Query same field path across multiple repositories in single call.
Comparative analysis, pattern discovery, and technology audits across repos.
searchCode
Search code using zoekt index with powerful query syntax.
Supports file filters, exclusions, case sensitivity.
Returns code matches with snippets.
searchSymbols
Search for symbol definitions (functions, classes, methods) across indexed codebase.
getCode
Retrieve actual source code content from repository files.
Use after searchCode/searchSymbols to view the full code around matches.
Returns file contents with line numbers. Only available when reposDir is configured.
Locate the Functional validation option and enable it to enhance pull request validation by incorporating relevant context from linked Confluence pages.
https://yourcompany.atlassian.net/wiki/x/AbCdE

Consistent design adherence — Code generated aligns with your architecture patterns and coding conventions.
Spec-driven development — Automatically generate highly detailed, implementation-ready technical requirement documents (TRDs) and low-level designs (LLDs) with a deep, context-aware understanding of your codebase, services, and design patterns, ensuring architectural integrity and consistency at a granular level.
Triaging production issues — Easily and quickly find root causes to production issues based on errors/logs/etc.
Faster onboarding — New engineers or AI agents can quickly understand how a system or component system structure.
Enhanced documentation and diagramming — Through its internal understanding of interconnections between modules and APIs.
Smarter code reviews — Reviews with system-wide awareness of dependencies and impacts.
You will need:
PowerShell (minimum version 5.x)
Note: In PowerShell version 7.x, run Set-ExecutionPolicy Unrestricted
RAM
8 GB
Hard Disk Drive
80 GB
Linux
You will need:
Bash (minimum version 4.x)
For Debian and Ubuntu systems
sudo apt-get install bash
For CentOS and other RPM-based systems
sudo yum install bash
Docker (minimum version 20.x)
macOS
You will need:
Bash (minimum version 4.x)
brew install bash
Docker (minimum version 20.x)


Windows
Claude Enterprise
Claude.ai receives secure tokens automatically
Your email is tracked for usage analytics (collected during OAuth consent)
Navigate to Integrations section
CTRL + I
Toggle the diff view (when Diff View is applicable)
CTRL + D
Expand/Collapse the code block in the question.
WINDOWS: CTRL + ⬆️ / ⬇️ MAC: CTRL + SHIFT+ ⬆️ / ⬇️
Regenerate the answer
CTRL + L
Modify the prompt for the selected Q&A. Bito copies the prompt in the chatbox that you can modify as needed.
CTRL + U
SHIFT + CTRL + O
Puts cursor in the chatbox when Bito panel is in focus.
SPACEBAR (Or start typing your question directly)
Execute the chat command
ENTER
Add a new line in the chatbox
CTRL + ENTER or SHIFT + ENTER
Modify the most recently executed prompt. This copies the last prompt in the chatbox for any edits.
CTRL + M
Expands and Collapse the "Shortcut" panel
WINDOWS: CTRL + ⬆️ / ⬇️ MAC: CTRL + SHIFT+ ⬆️ / ⬇️
Navigate between the Questions/Answers block.
Note: You must select the Q/A container with TAB/SHIFT+TAB.
⬆️ / ⬇️
Copy the answer to the clipboard.
CTRL + C





Insert the answer in the code editor
Under Review tab, enable the Generate interaction diagrams option.
Once enabled, Bito will automatically post interaction diagrams during code reviews.
A sequence diagram is a type of visual diagram that shows how different parts of your system interact with each other over time.
It illustrates the flow of operations by displaying the order in which methods are called and how data flows between different components.
This makes it easy to trace the execution path of your code and understand dependencies between modules.
The main components in the diagram are displayed as boxes. The level of detail shown depends on the size of your code changes:
Small changes: Boxes may represent individual classes or functions with detailed interactions
Large changes: Boxes may represent higher-level abstractions for better readability
Bito's AI automatically determines the appropriate level of detail based on your pull request.
Within boxes, you'll see labels that provide quick insights:
Change type:
Indicates what kind of modification was made to each module in your codebase.
🟩 Added - New code introduced to the codebase. These are components, functions, or classes that didn't exist before this pull request.
🔄 Updated - Existing code that has been modified. This indicates changes to the logic, behavior, or implementation of existing components.
Deleted - Code that has been removed from the codebase. These components are no longer present after this pull request is merged.
Impact level:
Shows the scope and significance of changes to help you prioritize your code review efforts.
Low - Minimal impact (● ○ ○)
Changes are localized and unlikely to affect other parts of the system. Safe to review with standard attention.
Medium - Moderate impact (● ● ○)
Changes affect multiple components or have moderate complexity. Requires careful review of interactions and side effects.
High - Significant impact (● ● ●)
Changes are extensive or critical, affecting core functionality or multiple system areas. Demands thorough review and testing.
These visual indicators help you identify critical changes at a glance.
Solid arrows (→): Represent forward calls flowing left to right
Example: If main() calls UserService, a solid arrow points from main() to UserService
Dotted arrows (⇢): Represent return flows going right to left
Example: When UserService returns data to main(), a dotted arrow points back from UserService to main()
Circular arrows (↻): Indicate internal calls within the same module
Example: One component of UserService calling another component within UserService
Alt block (if-else logic)
Displayed as a dotted box around multiple lines
Contains two sections separated by a dotted line representing "if" and "else" branches
Shows conditional execution paths in your code
Opt block (optional parameters)
Used for functions with parameter overloading
Contains a single section for optional execution flow
Represents code that may or may not execute depending on optional parameters
Code outside these blocks represents the normal execution flow.
Diagrams are posted in Mermaid format
Interactive controls available:
Pan (move top, bottom, left, right)
Expand/collapse
Zoom in/out
Diagrams are posted in Mermaid format
Note: For very large diagrams, GitLab may not render automatically. You'll see a notice box with a "Display" button - click it to manually render the diagram
Diagrams are posted as image format
When you run incremental reviews (for example, by using the /review command in pull request comments), the existing interaction diagram will be updated rather than creating a new comment with a separate diagram.
Bito can generate two types of diagrams, but only one is displayed at a time:
Interaction diagram: Generated by the standard Code Review Agent, focusing on code changes in the current pull request
Impact analysis diagram: Generated using Bito AI Architect with complete cross-repository codebase understanding.
Note: This feature is not publicly available yet. Please contact Bito at support@bito.ai to have it enabled for your account.
Review the diagram before diving into code details to get a high-level understanding
Use impact indicators to prioritize which changes need closer examination
Follow the arrow flows to understand the execution path
Pay special attention to "High" impact modules
Diagram not appearing: Verify that "Generate interaction diagrams" is enabled in Bito Cloud settings
Rendering issues:
In GitLab, you may need to click the Display button to manually render the diagram.
Refresh the page - this often resolves transient rendering errors.
Syntax errors: In some cases, the Mermaid diagram may contain syntax errors that prevent it from rendering. Try updating the pull request so the diagram is regenerated.

Use Custom Instructions to add important context that enhances AI Architect's understanding of your projects and systems:
Fill knowledge gaps: Add context that doesn't exist in your existing systems
Synthesize information: Consolidate knowledge that spans multiple sources
Capture tribal knowledge: Document institutional understanding that lives in people's heads
Provide domain expertise: Include specialized knowledge, business rules, or industry-specific context
Custom Instructions can contain any context that helps AI Architect better understand and assist with your projects. Consider including:
Industry-specific terminology and concepts
Business rules and constraints
Regulatory or compliance requirements
User personas and use cases
Service ownership and team structures
Communication channels and escalation paths
Deployment processes and environments
Access patterns and security considerations
Design principles and patterns used
Technology choices and rationale
Cross-service dependencies not visible in code
Integration points with external systems
Coding conventions specific to your team
Testing strategies and requirements
Review and approval processes
Performance benchmarks and targets
Historical context for major decisions
Common pitfalls and how to avoid them
Undocumented workarounds or solutions
Best practices learned from experience
When you provide a custom instructions document:
Bito processes your document and extracts relevant information
The extracted context is intelligently integrated into the knowledge graph
AI Architect uses this enriched knowledge to provide more accurate and contextual assistance
With custom instructions, AI Architect can:
Avoid known issues and apply documented best practices
Answer questions using your project-specific context
Generate code that follows your team's conventions and standards
Understand terminology, patterns, and concepts unique to your domain
Provide recommendations that account for your constraints and requirements
Focus on context that significantly affects how AI Architect should understand your systems and processes:
Critical constraints or requirements
Frequently misunderstood concepts
Context that connects different parts of your architecture
Structure your document logically:
Use clear headings and sections
Group related information together
Include examples where helpful
Keep explanations concise but complete
Provide concrete information rather than vague statements:
✅ "Use library X for date handling to ensure timezone consistency"
❌ "Be careful with dates"
Explain reasoning and context behind decisions:
Why certain approaches are preferred
Why specific constraints exist
Why particular patterns are used
Send your custom instructions document to :
The Bito team will integrate the document into your workspace's knowledge graph
You'll be notified once the integration is complete
Extract and Navigate:
Extract the downloaded .zip file to a preferred location.
Navigate to the extracted folder and then to the “cra-scripts” subfolder.
Note the full path to the “cra-scripts” folder for later use.
Open Command Line:
Use Bash for Linux and macOS.
Use PowerShell for Windows.
Set Directory:
Change the current directory in Bash/PowerShell to the “cra-scripts” folder.
Example command: cd [Path to cra-scripts folder]
Adjust the path based on your extraction location.
Configure Properties:
Open the bito-cra.properties file in a text editor from the “cra-scripts” folder. Detailed information for each property is provided on Agent Configuration: bito-cra.properties File page.
Set mandatory properties:
mode = cli
pr_url
bito_cli.bito.access_key
git.provider
git.access_token
Optional properties (can be skipped or set as needed):
git.domain
code_feedback
static_analysis
dependency_check
dependency_check.snyk_auth_token
review_scope
exclude_branches
exclude_files
exclude_draft_pr
Run the Agent:
On Linux/macOS in Bash: Run ./bito-cra.sh bito-cra.properties
On Windows in PowerShell: Run ./bito-cra.ps1 bito-cra.properties
Final Steps:
The script may prompt values of mandatory/optional properties if they are not preconfigured.
Upon completion, a code review comment is automatically posted on the Pull Request specified in the pr_url property.
A workspace subscribed to the Bito Team Plan. Read documentation on how to upgrade.
The root of your project must use a supported Version Control System such as Git, Perforce, or SVN, and be opened in the supported IDE.
Open the Bito IDE extension.
Login to your workspace subscribed to the Bito Team Plan.
Type @codereview in the chat box to open a menu and select from the following actions:
localchanges: Review only the changes you’ve made in your local workspace that haven’t been staged yet. This is useful for quickly checking your current edits before moving them forward.
stagedchanges: Review the changes you’ve staged in Git but haven’t committed yet. This helps ensure only clean, well-reviewed updates get committed.
uncommittedchanges: Review all modifications that exist locally but aren’t yet committed—both staged and unstaged. Ideal for a full review of your current working directory.
path: Review a specific file or multiple files by providing their paths. This allows you to target critical files without running a review across your entire project.
commitId: Review one commit or a range of commits by referencing their commit IDs. Perfect for validating code history, checking incremental updates, or reviewing PR-related commits.
After that, choose between Essential and Comprehensive review modes:
In Essential mode, only critical issues are posted.
In Comprehensive mode, Bito also includes minor suggestion and potential nitpicks.
Submit to get the code review feedback.
You can also invoke the AI Code Review Agent directly from the context menu by right-clicking in the code editor and selecting commands under the "Bito Code Review Agent" menu.
This provides faster, on-the-go access to code reviews right where you work.
Once the AI code review is complete, you'll receive a notification in the IDE. You can view the feedback in the Bito Panel, which includes a list of issues and their fixes.
Each item will contain the following details:
Issue description: Description of the identified issue.
Fix description: Recommended approach or steps to resolve the issue.
File path: The file containing the issue.
Code suggestion: The AI-generated code fix for the issue.
To view past code reviews, click the Session history icon in the top-right corner of the Bito Panel. This opens the Session history tab, which lists all your previous code review sessions.
From the list, click any session to open it and view the complete code review details along with the AI suggestions.
Plugins add optional capabilities — like answering questions in Slack or analyzing Jira tickets — on top of your self-hosted AI Architect installation. Each plugin is a self-contained service you install, configure, and remove with a single command. Installing, updating, or removing a plugin never affects the base platform, its databases, or your indexed repositories.
This guide covers installing and managing plugins on an existing self-hosted deployment. If AI Architect itself is not installed yet, set it up first — see Install AI Architect (self-hosted).
Slack AI Assistant (ai-assistant)
Both plugins run on the same platform your base install already provides. Any shared infrastructure a plugin needs (such as an event bus or cache) is provisioned automatically on first use and shared across plugins.
Before installing a plugin, make sure you have:
A running self-hosted AI Architect deployment. Check with bitoarch status.
Plugin entitlement on your plan. Plugins are part of the Bito Enterprise plan. If your workspace is not entitled, the installer stops and tells you.
A public URL that Slack or Jira can reach. Both plugins receive events from an external service, so the plugin's endpoint must be reachable from the internet over HTTPS with a valid certificate. You provide this during setup.
Every plugin installs with a single command that runs a short guided setup:
The installer resolves shared dependencies, provisions the plugin's database, deploys the service, and then prompts you for exactly what that plugin needs. You don't pass values as flags — you answer the prompts, and each answer applies immediately. Check health at any time with bitoarch plugin status <name>, and change anything later with bitoarch plugin config <name> (it re-runs the same prompts). If you skip a required value, the plugin is left pending and the output tells you how to finish — nothing is half-installed.
The two plugins and their setup steps follow.
You need admin rights to create a Slack app, and a public HTTPS URL Slack can reach. Start the install:
The guided setup then walks you through:
Public URL. Enter the public HTTPS address where the bot is reachable.
Create the Slack app. The setup prints a ready-to-paste Slack app manifest — your URL and every event/request URL are already filled in — and the path to the file to copy it from. Open → Create New App → From an app manifest, paste it, and create the app.
Credentials. From the new app's Basic Information → App Credentials, the setup collects the Client ID, Client Secret, and Signing Secret.
Once it reports healthy, add the bot to a channel with /invite @Bito, then mention @Bito with a question or send it a direct message — it reads the full thread (and supported text attachments) for context. To change any of these settings later, run bitoarch plugin config ai-assistant, which re-runs the same steps.
You need a public HTTPS URL Jira can reach, and access to your Jira project. Start the install:
The guided setup then walks you through:
Public URL. Enter the public HTTPS address where the webhook receiver is reachable.
Connect Jira. If you already connected Jira for Insights, the plugin reuses that connection. Otherwise it asks for your Jira site URL, account email, and an API token (Jira Cloud) or personal access token (Jira Server/Data Center).
Register the webhook.
To change the respond mode, watched projects, or the Jira connection later, run bitoarch plugin config task-analyzer, which re-runs the same steps.
This shows the plugin's current configuration and walks you through the same setup prompts, so you can update the public URL, credentials, connection, or any plugin-specific option. Changes apply immediately.
Upgrades are atomic and preserve your configuration and data. If an upgrade needs a credential you haven't provided, it holds and tells you what to add rather than starting a broken version. Installed plugins are also checked for updates daily, while at least one plugin is installed.
By default, uninstalling keeps the plugin's database and configuration, so reinstalling restores your setup. To also delete them, add --purge — on purge, Bito Task Analyzer additionally removes the webhook it registered in your self-hosted Jira.
The base lifecycle commands are plugin-aware: bitoarch stop, start, restart, and update include your installed plugins automatically.
Yes. Each plugin is independent. A customer can install either or both.
Uninstalling keeps the plugin's data and configuration by default, so reinstalling restores everything. A full purge is available if you want a clean removal.
No. Plugins run on the same infrastructure the user already deployed for AI Architect. However the minimum server requirements has slightly modified.
Yes. Plugins have their own version and can be upgraded independently via bitoarch plugin upgrade. A base platform upgrade also upgrades any installed plugins automatically.
Yes. The Task Analyzer supports Jira Cloud, Jira Server, and Jira Data Center. Self-hosted Jira gets automatic webhook registration; Cloud requires one manual step due to technical constraint.
Bring Jira issue requirements into every pull request and get validation results back automatically.
Bito integrates with Jira to automatically validate pull request code changes against linked Jira ticket requirements, helping ensure your implementations align with the specified requirements in those tickets.
When you create a pull request, Bito automatically:
Detects Jira ticket references in your pull request description, title, or branch name
Crawls the linked Jira tickets to extract requirements from issue descriptions and related Stories/Epics
Analyzes your code changes against these requirements
Provides structured validation results directly in your pull request comments
Bito supports two ways to connect with Jira, depending on where your Jira instance is hosted:
: for Jira sites hosted by Atlassian (e.g., https://mycompany.atlassian.net).
: for Jira instances hosted on your own company domain or servers (e.g., https://jira.mycompany.com).
Navigate to the page in your Bito dashboard
In the Available integrations section, you will see Jira. Click Connect to proceed.
Select the option Jira Cloud. You will be redirected to the official Jira website, where you need to grant Bito access to your Atlassian account.
Navigate to the page in your Bito dashboard
In the Available integrations section, you will see Jira. Click Connect to proceed.
Select the option Jira Data Center (self-managed).
Bito offers multiple ways to link your Jira tickets with pull requests. You can use any of these methods:
Name your source branch using the Jira issue key:
Include the Jira ticket reference in your PR description:
OR
Include the Jira issue key in your PR title:
When Bito completes its analysis, it adds a "Functional Validation by Bito" table to your pull request comments. This table contains four columns:
Displays the Jira issue key (e.g., "QP-11", "QP-123") that references the specific Jira ticket being validated.
Shows a brief description of the requirement or task that needs to be completed, summarizing what needs to be done according to the Jira ticket.
Indicates the completion status of each requirement:
Met: The requirement has been fully implemented in the pull request
Missed: The requirement has not been addressed in the pull request
Partial: The requirement has been partially implemented but still needs additional work
Conflict: A change contradicts another requirement (e.g., two requirements cannot both be satisfied by the current code).
Provides detailed information about the validation status:
For "Met" items: Explains what has been successfully implemented
For "Missed" items: Describes what is missing and needs to be addressed
For "Partial" items: Details what has been completed and what still remains to be done
For "Conflict" items: Describes why there is a contradiction between requirements and what might need to be resolved.
Here's what a typical validation table looks like:
Automated quality assurance: Ensure code changes meet specified requirements
Improved collaboration: Bridge the gap between project management and development
Reduced manual reviews: Bito AI automatically catches missing implementations during code review
Better traceability: Maintain clear links between requirements and code changes
By leveraging Bito's Jira integration, your development team can maintain higher code quality while ensuring that all requirements are properly addressed in every pull request.
Always reference Jira tickets in your pull requests using one of the supported methods
Review the validation table and address any "Missed" or "Partial" items before merging
Ensure Jira tickets contain clear, detailed requirements
Use consistent naming conventions for branches and pull request titles
Enable functional validation for all relevant agents
Validation table not appearing:
Check that your Jira integration is properly configured in the page
Verify that Functional validation is enabled in your agent settings
Ensure your pull request contains valid Jira issue key references
Incorrect validation results:
Review your Jira ticket descriptions for clarity and completeness
Verify that linked Stories/Epics contain relevant requirements
Check that your code changes are in the expected areas
Single Sign-On (SSO) enables your team to authenticate with Bito's MCP through your organization's identity provider instead of sharing access tokens with team members.
SSO addresses a critical security challenge: when teams share access tokens, you lose visibility into who accessed what and when. If someone leaves the company or changes roles, you need to rotate tokens for everyone. SSO solves this by integrating authentication with your existing identity infrastructure.
Your organization likely already uses an identity provider like Google Workspace, Okta, Azure Entra ID, Auth0, or others to manage access to email, Slack, and other business tools. SSO extends this same authentication system to AI Architect, giving you centralized control over access without creating a separate credential management burden.
The practical benefits include automatic enforcement of your existing security policies (like multi-factor authentication requirements), immediate access revocation when someone leaves, and a complete audit trail of who accessed the system and when. This meets enterprise compliance requirements while making access simpler for your users.
AI Architect's SSO implementation uses Descope as the authentication platform, which provides native integrations with enterprise identity providers.
Common identity providers include:
Experience AI-powered code analysis on any pull request — no admin access needed.
Bito offers Test Mode to help you quickly explore our without requiring administrator permissions for your Git repositories. Whether you're evaluating Bito for your team or simply want to see it in action before a full setup, Test Mode gives you immediate access using just a personal access token.
You can point Bito at any pull request you have access to and receive instant AI-generated feedback.
What you get:
Instant access to AI-powered code reviews
Support for GitHub, GitLab, and Bitbucket (cloud and self-hosted)
Deploy AI Architect on Bito's managed infrastructure for instant setup and effortless maintenance.
Bito-hosted runs on managed infrastructure and unifies your codebase, tickets, design docs, and team conversations into a single .
Your coding agents, issue trackers, and chat tools query that graph so planning, design, coding, review, and incident discussions all share the same system context.
Follow this guide to connect a Git provider, pick repositories for indexing, and wire AI Architect into Claude Code, Cursor, Jira, Linear, Slack, Confluence, and the other tools your team already uses.
Bito-hosted AI Architect is currently invitation-only. You can to get instant access, no credit card required. If you're on a free or paid plan and would like access for your workspace, please contact .
Integrate the AI Code Review Agent into your GitHub workflow.
Speed up code reviews by configuring the with your GitHub repositories. In this guide, you'll learn how to set up the Agent to receive automated code reviews that trigger whenever you create a pull request, as well as how to manually initiate reviews using .
Follow the step-by-step instructions below to install the AI Code Review Agent using Bito Cloud:
and select a workspace to get started.
Click under the CODE REVIEW section in the sidebar.
Docker (minimum version 20.x)







Access to the integration you're connecting. Admin rights to create a Slack app (for ai-assistant), or a Jira account and project (for task-analyzer).
Install to your workspace. Open the install link the setup prints and click Allow to authorize the bot in your Slack workspace.
Jira Cloud: the setup prints a callback URL and the exact steps to add it in Jira — Settings → System → WebHooks → Create a WebHook, name it "Bito AI Architect", paste the URL, tick Issue and Comment: created, updated, deleted, and Save. Jira starts sending events immediately.
Respond mode. Choose when tickets are analyzed: on-demand (the default) analyzes a ticket only when a comment mentions @bito or /bito; auto analyzes every new or updated ticket.
Projects. Choose whether the analyzer watches all Jira projects or only specific ones.
Need a support bundle
bitoarch diagnose --bundle collects a shareable diagnostics archive with per-plugin logs and masked configuration (secrets are redacted).
bitoarch plugin list
List installed plugins and versions.
bitoarch plugin upgrade <name>
Upgrade a plugin to the latest version.
bitoarch plugin start <name> / stop <name>
Resume or pause a plugin.
bitoarch plugin uninstall <name>
Remove a plugin (keeps data; add --purge to delete it).
Ask AI Architect about your codebase, architecture, and repositories and get grounded answers directly in your Slack channels.
Slack
Bito Task Analyzer (task-analyzer)
Automatically analyzes new and updated Jira tickets and posts its findings back as comments — either on every change or on @bito mention.
Jira
Plugin shows pending
A required value was not provided. Run bitoarch plugin config <name> to add it, then bitoarch plugin start <name>.
Not healthy after install
bitoarch plugin status <name> shows the live state. Confirm required credentials are set and the service can start.
Slack/Jira events not arriving
bitoarch plugin install <name>
Install a plugin and run guided setup.
bitoarch plugin config <name>
View settings and reconfigure interactively.
bitoarch plugin status [<name>]
Confirm your public URL is reachable from the internet and matches the request/webhook URL configured in Slack or Jira.
Show plugin health and services.
Click Accept to continue. If the integration is successful, you will be redirected back to Bito.
After completing the initial setup, you can control Jira integration on a per-agent basis:
Go to the Repositories page in your Bito dashboard.
Find the Agent instance you want to connect with Jira and open its settings.
Within the Agent settings screen, click on the Integrations tab.
Locate the Functional validation option and enable this setting to activate automatic pull request validation against Jira tickets.
Provide connection details:
Domain URL: Enter the base URL for your Jira instance (e.g. https://jira.mycompany.com).
Personal Access Token: Enter a valid Personal Access Token with admin permissions. Read the official Jira documentation to learn how to create a Personal Access Token.
Click Connect to Jira. You will be redirected to your self-hosted Jira website, where you need to grant Bito access to your Jira account.
Click Allow to continue. If the integration is successful, you will be redirected back to Bito.
After completing the initial setup, you can control Jira integration on a per-agent basis:
Go to the Repositories page in your Bito dashboard.
Find the Agent instance you want to connect with Jira and open its settings.
Within the Agent settings screen, click on the Functional validation tab.
Locate the Functional validation option and enable this setting to activate automatic pull request validation against Jira tickets.
Out‑of‑scope: The change is not in the requirements (the code change does not relate to any defined requirement).
For "Out‑of‑scope" items: Explains why the change is considered outside the defined requirements.

bitoarch plugin install <name>bitoarch plugin install ai-assistantbitoarch plugin install task-analyzerbitoarch plugin config <name>bitoarch plugin upgrade <name>bitoarch plugin list # installed plugins and versions
bitoarch plugin status # health of all plugins
bitoarch plugin stop <name> # pause (keeps config + data)
bitoarch plugin start <name> # resume
bitoarch plugin uninstall <name> # remove the service, keep data + configfeature/QP-123-implement-user-authentication
bugfix/QP-456-fix-login-errorThis PR implements user authentication as specified in QP-123.
Related tickets: QP-123, QP-124This PR implements shopping cart functionality as specified in:
https://your-company.atlassian.net/browse/QP-3
https://your-company.atlassian.net/browse/QP-7QP-123: Implement user authentication feature
[QP-456] Fix login validation erroruncommittedchanges
path
Unsupported options will be hidden automatically.





Google Workspace
Okta
Azure Entra ID
Microsoft AD FS
PingFederate
PingOne
onelogin
Keycloak
JumpCloud
Auth0
ClassLink
Cyberark
Descope
Duo
LastPass
miniOrange
Salesforce
The setup process varies by provider but follows the same general pattern: you'll configure an application in your identity provider, exchange metadata or configuration details, and test the connection.
To enable SSO, you need:
Workspace admin access: You must be an admin in your Bito workspace. You can check your role in Bito by going to Manage Users dashboard.
Identity provider account: Access to configure your organization's IdP (Google Workspace, Okta, etc.). This is typically an IT admin or someone in your identity and access management team. You'll need to add AI Architect as an authorized application and provide configuration details.
AI Architect: Your workspace must have AI Architect enabled. Learn more
Log in to Bito Cloud.
Navigate to the Manage integrations dashboard.
In the Available integrations section, you will see Single Sign-On (SSO). Click Connect to proceed.
Click Connect via SSO. You will be redirected to Descope.
The SSO configuration uses Descope as the authentication platform, which .
In the Welcome page, click SSO Configuration.
Choose your identity provider from the . If you do not find the identity provider, use the generic configuration options such as SAML 2.0 or OpenID Connect (OIDC) at the bottom of the screen.
Once SSO is enabled for your workspace, you can easily connect to AI Architect MCP in your coding agents (Cursor, Windsurf, VS Code, etc.) using the following steps:
Connect Bito's AI Architect to your AI coding tools (Cursor, Windsurf, VS Code, etc.) in seconds with our automated installer.
Open your IDE's MCP settings.
In BitoAIArchitect MCP, remove the Bito MCP Access Token line.
Enable the BitoAIArchitect MCP.
Click the Connect button next to Bito's AI Architect MCP. The secure authentication link of your organization's identity provider will open in browser.
Sign in using your credentials.
After successful authentication, return to your IDE.
Bito's AI Architect MCP is now connected and ready to use.
In your IDE, when you click "Connect" for Bito's AI Architect MCP, the MCP client generates a secure authorization request. Your browser opens and redirects to your identity provider (like Google or Okta). You authenticate with your credentials. Your identity provider verifies your identity and confirms you're authorized to access the application. It sends a secure token back to Bito, which verifies it and creates a session for you. Your IDE receives confirmation and establishes the MCP connection.
This entire process takes about 30 seconds the first time. The IDE stores your session securely, so you won't need to authenticate again unless your session expires (typically after 1 hour of inactivity) or you explicitly disconnect.
If a workspace admin has enabled SSO but hasn't completed the configuration with an identity provider, you will see a different authentication flow. Instead of being redirected to your organization's identity provider login page, you'll be directed to Bito's standard authentication page at https://alpha.bito.ai/.
On this page, you need to enter your email address. Bito sends you a one-time code. You enter this code to verify your identity, then select which workspace you want to access. If you're a member of the workspace and have AI Architect enabled, you'll be authenticated successfully.
This fallback ensures your team can still work even if SSO configuration is in progress or experiencing issues. However, you lose the centralized access control benefits that SSO provides, so you should complete the full SSO configuration when possible.
Once SSO is configured, you can control team member access to AI Architect by managing workspace membership and seat assignments.
If a user already exists in your Bito workspace and has a seat assigned, they can authenticate with AI Architect MCP through SSO immediately. No additional steps required, they simply connect using the SSO flow.
To manually add a new team member:
Log in to Bito Cloud and navigate to Manage Users
Go to the IDE Code Review tab and click Add members
Enter their email address and click Add members
Assign them a seat
The team member can now authenticate with AI Architect MCP through SSO.
When the autoAddUser flag is enabled in XMCP configuration, team members are automatically added to your workspace (if they don't already exist) after their first successful SSO login. For this to work, your workspace settings must allow adding users with the same email domain.
You have two options for removing someone's access, and they work differently.
If you remove someone from your workspace in Bito, their access is revoked immediately for new authentication attempts. However, if they have an active session (they're already authenticated in their IDE), that session will continue to work until it expires. Sessions expire after 1 hour of inactivity by default.
If you need to revoke access immediately, including active sessions, you should remove or disable their account in your identity provider (Google Workspace, Okta, etc.). This prevents them from authenticating at all, and their existing sessions will fail the next time they try to use AI Architect.
For employees leaving the company, the standard practice is to disable their account in your identity provider as part of your offboarding process. This automatically revokes their access to AI Architect along with your other business applications. If you want to preserve their workspace membership for record-keeping but remove their AI Architect access, you can unassign their seat instead.
10 complimentary pull request analyses
Test Mode is designed for first-time evaluators. You can access it when:
Your Bito account is on a trial subscription (or eligible for a trial, meaning you haven't used any trials before)
Your workspace has a clean slate (no previous Git repository connections)
Log in to Bito Cloud with a fresh user account and create a new workspace
Pull request URL
Enter the complete URL of the pull request you want Bito to review.
Example: https://github.com/username/repository/pull/123
Click Do a test code review to start the AI code review.
After completing your first test review, you'll have access to a dashboard showing:
Number of test reviews remaining (out of 10 total)
History of analyzed pull requests
Quick-start button for new reviews
To analyze another pull request, click "New code review" button in the upper-right corner of your review history table.
Once you've used all 10 test reviews, you'll need to complete full Git integration to continue using Bito's AI Code Review Agent.
Full Git integration unlocks powerful features not available in Test Mode:
Advanced configuration:
Default branch settings: Customize which branch is used for code reviews
Custom guidelines: Define your own review rules and coding standards
Filters: Exclude draft PRs, files, or branches from review to focus on relevant code.
Tools: Enable additional checks, such as secret scanning.
Automation: Configure auto-reviews, batching, and summary settings
And much more.
Unlimited reviews:
No review limits — analyze every pull request
Automatic reviews on new PRs
Incremental reviews on PR updates
Complete team analytics and insights
From your Test Mode dashboard, click "Complete Git integration" and follow the setup wizard to connect your Git repositories.
For detailed setup instructions, see:
Q: Can I use Test Mode if I've previously used Bito? A: Test Mode is only available to users who haven't previously used a trial and haven't set up Git integration in their workspace.
Q: What happens after I use all 10 test reviews? A: You'll need to complete full Git integration to continue reviewing pull requests.
Q: Can I test on private repositories? A: Yes, as long as your personal access token has the correct permissions to access the repository.
Q: Does Test Mode work with self-hosted Git instances? A: Yes, Test Mode supports GitHub Enterprise, GitLab Self-Managed, and Bitbucket Server. You'll need to provide your Git domain URL and configure network access (whitelist Bito IP addresses) if needed.
Q: Will my code be stored or used for training? A: No. Bito does not store your code, and your code is never used for AI model training. Learn more about our privacy and security practices.
Q: What's the difference between Essential and Comprehensive review modes? A: Essential mode focuses on critical issues and completes faster, while Comprehensive mode provides deeper analysis with more detailed feedback. You can try both to see which fits your needs.
Sign up for Bito Cloud and create a workspace to get started.
You'll land on the Git integration screen, where you can connect your Git provider.
Choose between SaaS (your Git provider's cloud-hosted version) or Self-managed (an instance running behind your network), then select your Git provider: GitHub, GitLab, Bitbucket, or Azure DevOps.
Follow the on-screen instructions to authorize Bito on your Git organization. Grant access to all repositories or a subset.
Once your Git account is successfully connected, you'll be redirected back to Bito, where two product paths show up:
AI Architect — the system context layer for coding agents, Jira, Linear, Slack, and more.
Code Review Agent — for pull request reviews
They share the same knowledge graph.
Click Set up AI Architect and it'll take you to the AI Architect setup page.
IMPORTANT: Before you set up AI Architect, start your 14-day free trial by clicking Start 14-Day Free Trial in the left sidebar. No credit card required.
Then click Set up AI Architect on the page.
The repository selection screen loads. Select the repositories you want indexed and click Index selected repositories. Bito's indexing pipeline scans each repository and builds the underlying knowledge graph.
You'll land on the screen, where you can track indexing progress. Each repository's Index status column updates to Indexed once it's ready.
You can use the toggle next to each repository to enable or disable indexing. To update multiple repositories at once, select them using the checkboxes and use the bulk enable or disable action. Changes take effect during the next scheduled indexing run.
Once your repositories are indexed, you can connect AI Architect to the tools your engineering team already works in, so the same knowledge graph informs coding, planning, design, review, and incident discussions.
Each integration is configured from the Home screen.
Connect AI Architect to Cursor, Claude Code, Windsurf, GitHub Copilot, and other coding agents over MCP. Bito provides a quick installer that sets up the connection in a few steps. Once connected, your coding agent grounds its responses in system context from the knowledge graph and produces more accurate results on changes that span multiple files, services, or repositories.
See the Quick MCP integration guide.
Tag Bito on a ticket to get feasibility analysis, impact assessment, technical design, or an epic breakdown that reflects the services and repos the change touches, not just the ticket description.
See the setup guides for Jira and Linear.
Capture tribal knowledge from incident discussions, architecture debates, and undocumented context. Tag Bito inside a channel to query the knowledge graph directly from team conversations.
See the .
Index design documents, architecture decisions, and wiki pages into the knowledge graph so AI Architect reasons about new work with the business intent and prior decisions already captured by your team.
See the .
Bring AI Architect into Claude.ai, Claude Desktop, and ChatGPT so your engineering system context follows you into general-purpose chat.
See the .
Bito-hosted AI Architect includes smart code retrieval (getCode MCP tool) that works behind the scenes. When you ask questions about specific code — like "show me the authenticate method in the Auth class" — AI Architect automatically fetches the relevant code at runtime using your Git credentials.
This means you get detailed, accurate code references without storing any code on Bito's servers. Code is fetched on-demand and never persisted.
Bito offers two deployment options for AI Architect:
Bito-hosted (Fully managed by Bito — no infrastructure setup required)
Self-hosted (Run AI Architect on your own infrastructure for maximum control)
Infrastructure
Bito manages indexes and infrastructure on our secure servers
You host AI Architect in your own environment
Code storage
We don't store your code after indexing — only repository metadata is retained. Code is fetched at runtime as needed.
For information on self-hosted deployment, visit the self-hosted installation guide.
If you have questions about the setup process or need to modify your indexed repositories, reach out to the Bito team at support@bito.ai. We're here to help you get the most out of AI Architect.
GitHub
GitHub (Self-Managed)
GitLab
GitLab (Self-Managed)
Bitbucket
Bitbucket (Self-Managed)
Since we are setting up the Agent for GitHub, select GitHub to proceed.
This will redirect you to GitHub.
To enable pull request reviews, you need to install and authorize the Bito’s AI Code Review Agent app.
On GitHub, select where you want to install the app.
Grant Bito access to your repositories:
Choose All repositories to enable Bito for every repository in your account.
Or, select Only select repositories and pick specific repositories using the dropdown menu.
Click Install & Authorize to proceed. Once completed, you will be redirected to Bito.
After connecting Bito to your GitHub account, you'll see a list of repositories that Bito has access to.
Use the toggles in the Code Review Status column to enable or disable the Agent for each repository.
Once a repository is enabled, you can invoke the AI Code Review Agent in the following ways:
Automated code review: By default, the Agent automatically reviews all new pull requests and provides detailed feedback.
Manually trigger an incremental review: Type /review in the comment box on the pull request and submit it. This reviews only the changes made since the last review (such as new commits), keeping feedback focused on what's new.
Manually trigger a full review: Type /review full in the comment box and submit it to re-review the entire pull request from scratch, rather than only the latest changes.
The AI-generated code review feedback will be posted as comments directly within your pull request, making it seamless to view and address suggestions right where they matter most.
Bito also offers specialized commands that are designed to provide detailed insights into specific areas of your source code, including security, performance, scalability, code structure, and optimization.
/review security: Analyzes code to identify security vulnerabilities and ensure secure coding practices.
/review performance: Evaluates code for performance issues, identifying slow or resource-heavy areas.
/review scalability: Assesses the code's ability to handle increased usage and scale effectively.
/review codeorg: Scans for readability and maintainability, promoting clear and efficient code organization.
/review codeoptimize: Identifies optimization opportunities to enhance code efficiency and reduce resource usage.
By default, the /review command generates inline comments, meaning that code suggestions are inserted directly beneath the code diffs in each file. This approach provides a clearer view of the exact lines requiring improvement. However, if you prefer a code review in a single post rather than separate inline comments under the diffs, you can include the optional parameter: /review #inline_comment=False
For more details, refer to Available Commands.
Ask questions directly to the AI Code Review Agent regarding its code review feedback. You can inquire about highlighted issues, request alternative solutions, or seek clarifications on suggested fixes.
To start the conversation, type your question in the comment box within the inline suggestions on your pull request, and then submit it. Typically, Bito AI responses are delivered in about 10 seconds. On GitHub and Bitbucket, you need to manually refresh the page to see the responses, while GitLab updates automatically.
Bito supports over 20 languages—including English, Hindi, Chinese, and Spanish—so you can interact with the AI in the language you’re most comfortable with.
Agent settings let you control how reviews are performed, ensuring feedback is tailored to your team’s needs. By adjusting the options, you can:
Make reviews more focused and actionable.
Apply your own coding standards.
Reduce noise by excluding irrelevant files or branches.
Add extra checks to improve code quality and security.

AI Architect comes with a set of Agent Skills — each one built to handle a specific engineering task like feasibility analysis, epic planning, or production triage. You can trigger them in Jira before coding starts, inside your coding agent while you're building, or in Slack.
Agent skills are structured instruction files that enhance your AI coding assistant with specialized capabilities. In coding agents, skills are installed automatically by the and are discovered dynamically from a skills/manifest.json file. Whereas, in Jira, skills are available from Bito Cloud.
Every skill has full context of your codebase and your team's Jira history, so the output reflects how your system actually works.
Get in-depth insights into your code review process.
The user-friendly dashboards help you track key metrics such as pull requests reviewed, issues found, lines of code reviewed, and understand individual contributions.
This helps you identify trends and optimize your development workflow.
Bito provides four distinct analytical views to help you understand your code review performance from multiple perspectives:
: High-level workspace metrics and trends
Integrate the AI Code Review Agent into your Bitbucket workflow.
Speed up code reviews by configuring the with your Bitbucket repositories. In this guide, you'll learn how to set up the Agent to receive automated code reviews that trigger whenever you create a pull request, as well as how to manually initiate reviews using .
Follow the step-by-step instructions below to install the AI Code Review Agent using Bito Cloud:
and select a workspace to get started.
Click under the CODE REVIEW section in the sidebar.
Configure repository-specific Code Review Agent settings using the .bito.yaml file.
Repo-level Agent settings let you control how the behaves for each repository.
By placing a .bito.yaml file in the root of your repository, you can define custom review preferences that apply only to that repository.
Bito automatically detects the presence of a .bito.yaml file in a repository and applies its configuration to override the global Agent settings defined by admins in the Bito Cloud UI.
This gives developers fine-grained control while admins maintain global oversight and billing management.
Large organizations often have different review needs across projects.
Centralized (agent-level) settings don’t scale well — especially when each repo has its own coding standards, branch structure, or tooling.
Repo-level configuration helps by:
Full control over your data and indexes
Maintenance
Fully managed by Bito
Requires infrastructure setup and maintenance










For the sake of this documentation, we'll provide setup guide for Keycloak. For other identity providers, simply follow the step-by-step instructions provided by Descope in the setup wizard.
From the Identity Provider (IdP) Selection screen, click Keycloak.
Click SAML.
From the Service Provider Information screen, copy Client ID.
Log in to the Keycloak administration console and follow these steps:
In the left menu, select Clients, and click on Create client.
Select SAML as the Client type, name the client, and paste the Client ID you copied above in the Client ID field.
Click Next.

Generate a personal access token from your Git platform to authorize Bito to read the pull request:
For GitHub:
Create GitHub classic Token with repo access. Fine-grained tokens are not supported. Learn more
For GitLab:
Create GitLab token with api scope
For Bitbucket:
Depending on your Bitbucket setup, you may need one of the following:
For Bitbucket Cloud use API Token.
For Bitbucket Enterprise (Self-Hosted)
For Self-managed GitHub, GitLab, and Bitbucket:
If you're using self-managed Git instances (GitHub Enterprise, GitLab Self-Managed, or Bitbucket Server):
Select your Git provider
Enter your Git domain URL (e.g., https://bitbucket.example.com)
Validate your token
Click "Validate" to verify that your personal access token is working correctly. This ensures Bito can access the pull request before proceeding.
Choose your review depth
Select the level of analysis you want:
Essential: Focuses on the most critical issues (faster review)
Comprehensive: Provides deeper analysis with more detailed feedback (more thorough review)


18.188.201.104
3.23.173.30
18.216.64.170








bito-codebase-explorer
"explain this service", "how does X work", "what does Y depend on", "show me the architecture", "onboard me"
Explore and explain the codebase at any depth for any audience — executive summary to line-level traces
bito-build-plan
"plan this work", "break down this ticket", "create plan from story"
Convert any unit of work (story, ticket, feature brief, epic, PRD) into a sprint-ready implementation plan with effort estimates
bito-feasibility
"is this feasible", "go/no-go on", "what's the blast radius", "trade-off analysis"
Go/no-go feasibility and impact analysis — viability, blast radius, effort, dependencies, risks, alternatives
The bito-code-review skill is runtime-agnostic — it works in Slack, in your coding agent (Claude Code, Cursor, GitHub Copilot, Windsurf, Junie), and anywhere the Bito skill runtime has shell and git access. The same trigger phrases work everywhere.
What it can review
GitHub PR / GitLab MR / Bitbucket PR
Paste the URL
Branch
review the auth-refactor branch — repo is auto-resolved from the thread, a linked ticket, or AI Architect. If none resolve, Bito will ask. You can always specify repo + branch explicitly.
Single commit
Flags
--focus security|performance|correctness — narrow the review to a specific concern
--depth quick|standard|deep — trade depth for latency, or vice versa
Repository requirements
Any repository the skill can get code for works:
Local targets use your working directory — no indexing required.
Remote targets work with any repo Bito can clone via your git auth.
Agent skills can be triggered on demand on Epic or Story by commenting:
Agent skills are also available directly in Slack via the Bito AI Assistant app. Mention @Bito in any channel and describe what you need. It will activate the right skill automatically.
Once AI Architect is connected via MCP, skills are available in compatible coding agents. Describe what you need in natural language and the agent activates the right skill automatically — or invoke one directly by name. You can type / in the chatbox to see the list of available skills and select one interactively.
Claude Code
~/.claude/skills/bito-{name}/SKILL.md
Markdown with YAML frontmatter
Cursor
~/.cursor/rules/bito-{name}.mdc
@bito turn this epic into tasks
@bito technical plan for this PRD@Bito is this feasible
@Bito turn this plan into agent specs
@Bito execute this agent specRepository Analytics: Repository and language-specific insights
PR Analytics: Detailed pull request and issue tracking
The Overview dashboard provides a comprehensive high-level view of your workspace's code review performance, showing pull requests reviewed, issues found, and their categorization.
Code Requests Reviewed - This Month: Total number of code reviews completed by Bito, including both pull requests from git workflows and IDE-based reviews
Lines Reviewed - This Month: Total lines of code analyzed across all pull request diffs
Repositories Reviewed - This Month: Number of unique repositories that received code review coverage
Submitters - This Month: Count of unique developers (based on Git handles) whose pull requests were reviewed by Bito
Issues Found - This Month: Total number of issues identified across all reviewed code
Issues Categories - This Month: Visual breakdown of issues by primary categories (Security, Performance, Functionality, etc.)
Note: When issues span multiple categories, Bito assigns the most relevant primary category
Merged PRs - This Month: Number of Bito-reviewed pull requests that were subsequently merged or closed
Issues Evaluated for Acceptance Rate - This Month: Issues in merged pull requests evaluated for potential fixes
Acceptance Rate (Merged PRs) - This Month: Percentage of agent-identified issues that were potentially addressed
Calculated based on code changes detected in related hunks when pull requests were merged
Available for reviews conducted on or after August 8th, 2024
Note: This is an approximation based on code change detection
Pull Requests Skipped - This Month: Pull requests excluded from review due to:
Matching exclusion filters in agent configuration
Empty diffs
Invalid Bito plan status
Skip Reason - This Month: Breakdown of why specific pull requests were skipped
The Submitter Analytics dashboard helps you gain insights into individual contributor patterns and performance with user-level statistics and visualizations.
Pull Requests Reviewed - This Month: Number of pull requests reviewed for each developer. It helps you identify most active team members.
Shows top 30 contributors by pull request count
Remaining contributors aggregated under 'Other'
Lines of Code Reviewed - This Month: Lines of code reviewed by Bito per developer. It is useful for understanding workload distribution.
Displays contributors with minimum 100 lines reviewed
Top 30 contributors shown individually
Remaining contributors grouped under 'Other'
Issues Reported Per 1K Lines - This Month: Issue density normalized by code volume for developers with at least 1,000 lines of code, enabling fair comparison across different contribution levels. It helps identify patterns in code quality by developer
Issue Distribution by Category - This Month: Breakdown of issues by type for each developer, showing both total count and percentage. Categories with fewer than 5 issues are excluded, with bar height representing total issues and width showing percentage distribution. It helps identify individual strengths and areas for improvement.
The Repository Analytics dashboard helps you understand repository-level performance and language-specific trends across your codebase.
Pull Requests Reviewed - This Month: Review activity across repositories (top 30 shown, remainder grouped as 'Other'). It identifies which codebases receive most attention.
Lines of Code Reviewed (Repo) - This Month: Lines of code reviewed by Bito in each repository (top 30 displayed individually). It helps you understand where development effort is concentrated.
Lines of Code Reviewed (Language) - This Month: Breakdown of reviewed code by programming language. It is useful for resource allocation and expertise planning.
Issues Reported Per 1K Lines (Repo) - This Month: Issue density for repositories with at least 1,000 lines of changes. It identifies repositories that may need additional attention
Issues Reported Per 1K Lines (Language) - This Month: Issue rates across different programming languages (minimum 100 lines required). It helps you identify language-specific training needs.
Issue Distribution by Category × Language - This Month: Issues categorized by both type and programming language, with visualization showing total count (bar height) and percentage distribution (bar width). Categories with fewer than 5 issues excluded. It reveals language-specific issue patterns.
Issue Distribution by Category × Repo - This Month: Issues analyzed across category and repository dimensions, excluding categories with fewer than 5 issues. The visualization shows total issues (bar height) and percentage distribution (bar width). It identifies repository-specific issue trends.
The PR Analytics dashboard helps you dive deep into individual pull request performance with detailed pull request and issue-level analytics.
The dashboard organizes pull requests into three tabs:
Shows pull requests where Bito provided actionable feedback
These pull requests contain issues that require your attention
Click any pull request to access comprehensive details including every feedback item with its category (Security, Performance, Linter, Functionality, etc.), affected programming language, and direct links to the specific code location within the pull request for quick reference.
Useful for tracking reviews that generated value
Shows pull requests that Bito reviewed but found no actionable issues
Indicates clean code submissions
Shows pull requests that Bito didn't review due to configuration settings or other constraints
Includes skip reasons for transparency
The detailed code review analytics reports enables tech leads and reviewers to:
Trace patterns: Identify recurring issues across pull requests
Spot trends: Recognize systematic problems in code quality
Connect insights: Link high-level analytics to specific code examples
Targeted mentoring: Provide specific guidance based on actual code issues
Process improvement: Adjust development practices based on concrete data
Check Overview metrics for trend monitoring
Review Submitter Analytics for team performance discussions
Analyze Repository Analytics for strategic planning
Use PR Analytics for issue tracking and mentoring
Use date filters to compare time periods
Filter by specific teams or repositories during retrospectives
Focus on high-activity contributors or repositories for targeted improvements
Export monthly reports for stakeholder updates
Share repository-specific insights with relevant teams
Use PowerPoint exports for executive presentations
Archive PDF reports for compliance or historical analysis
Identify submitters who might benefit from additional code review training
Focus attention on repositories with high issue density
Address language-specific patterns through targeted workshops
Use acceptance rate trends to validate review effectiveness

GitHub
GitHub (Self-Managed)
GitLab
GitLab (Self-Managed)
Bitbucket
Bitbucket (Self-Managed)
Since we are setting up the Agent for Bitbucket, select Bitbucket to proceed.
To enable pull request reviews, you’ll need to connect your Bito workspace to your Bitbucket account.
Click Install Bito App for Bitbucket. This will redirect you to Bitbucket.
Now, authorize the Bito App to access your Bitbucket repositories.
Select your Bitbucket workspace from the Authorize for workspace dropdown menu and then click Grant access. Once completed, you will be redirected to Bito.
After connecting Bito to your Bitbucket account, you'll see a list of repositories that Bito has access to.
Use the toggles in the Code Review Status column to enable or disable the Agent for each repository.
Once a repository is enabled, you can invoke the AI Code Review Agent in the following ways:
Automated code review: By default, the Agent automatically reviews all new pull requests and provides detailed feedback.
Manually trigger code review: To initiate a manual review, simply type /review in the comment box on the pull request and click Add comment now to submit it. This action will start the code review process.
Manually trigger an incremental review: Type /review in the comment box on the pull request and click Add comment now to submit it. This reviews only the changes made since the last review (such as new commits), keeping feedback focused on what's new.
Manually trigger a full review: Type /review full in the comment box and click Add comment now to submit it to re-review the entire pull request from scratch, rather than only the latest changes.
The AI-generated code review feedback will be posted as comments directly within your pull request, making it seamless to view and address suggestions right where they matter most.
Bito also offers specialized commands that are designed to provide detailed insights into specific areas of your source code, including security, performance, scalability, code structure, and optimization.
/review security: Analyzes code to identify security vulnerabilities and ensure secure coding practices.
/review performance: Evaluates code for performance issues, identifying slow or resource-heavy areas.
/review scalability: Assesses the code's ability to handle increased usage and scale effectively.
/review codeorg: Scans for readability and maintainability, promoting clear and efficient code organization.
/review codeoptimize: Identifies optimization opportunities to enhance code efficiency and reduce resource usage.
By default, the /review command generates inline comments, meaning that code suggestions are inserted directly beneath the code diffs in each file. This approach provides a clearer view of the exact lines requiring improvement. However, if you prefer a code review in a single post rather than separate inline comments under the diffs, you can include the optional parameter: /review #inline_comment=False
For more details, refer to Available Commands.
Ask questions directly to the AI Code Review Agent regarding its code review feedback. You can inquire about highlighted issues, request alternative solutions, or seek clarifications on suggested fixes.
To start the conversation, type your question in the comment box within the inline suggestions on your pull request, and then submit it. Typically, Bito AI responses are delivered in about 10 seconds. On GitHub and Bitbucket, you need to manually refresh the page to see the responses, while GitLab updates automatically.
Bito supports over 20 languages—including English, Hindi, Chinese, and Spanish—so you can interact with the AI in the language you’re most comfortable with.
Agent settings let you control how reviews are performed, ensuring feedback is tailored to your team’s needs. By adjusting the options, you can:
Make reviews more focused and actionable.
Apply your own coding standards.
Reduce noise by excluding irrelevant files or branches.
Add extra checks to improve code quality and security.

Enabling custom review behavior per repository.
Allowing custom guidelines flexibility at the repo level.
Keeping settings version-controlled and transparent.
Add a .bito.yaml file to the root of your repository. To get started, download a sample .bito.yaml file.
Add the supported configuration fields (key-value pairs) to specify how the Code Review Agent should behave for that repository.
When the Code Review Agent runs, Bito automatically detects the file and applies those settings for that repository.
Admins can manage this from the Agent Settings panel.
Setting name: Allow config file settings
Description: Enabling this allows repositories to override Agent Settings by placing a .bito.yaml file in the repo root.
You can override the following Code Review Agent settings:
suggestion_mode
Controls how detailed the review comments are. Choose between Essential and Comprehensive review modes:
In Essential mode, only critical issues are posted as inline comments, and other issues appear in the main review summary under "Additional issues".
In Comprehensive mode, Bito also includes minor suggestion and potential nitpicks as inline comments.
Valid values: essential or comprehensive
post_description
Automatically create summary of changes and append to your existing pull request summary.
Valid values: true or false
post_changelist
Adds a walkthrough section to pull request comments.
Valid values: true or false
You can download a sample .bito.yaml configuration file directly from Bito’s official GitHub repository.
This file includes all supported configuration fields with example values to help you get started quickly.
Go to the Bito GitHub repository.
Open the .bito.yaml file.
Click the Download raw file button to download it.
You can also download the sample .bito.yaml configuration file from the Bito Cloud UI.
Go to Repositories dashboard.
Click the Download settings file button given in the Agent panel.
The .bito.yaml file is read from the source branch of the pull request.
If a repo defines custom guidelines, agent-level guidelines are ignored for that repository.
If any property in the .bito.yaml file contains an invalid value, the entire configuration file will be rejected and default Agent Settings will be used instead.
If a property is missing in the .bito.yaml file, the corresponding value from the global Agent Settings will be used instead.
suggestion_mode: comprehensive # 'essential' = only major issues, 'comprehensive' = everything
post_description: true # Include summary description in PR comment
post_changelist: true # Include walkthrough of changes
include_source_branches: feature/**,bugfix/**
include_target_branches: main,develop
exclude_files: docs/**,README.md
exclude_draft_pr: true # Don't review draft PRs
secret_scanner_feedback: true # Enable secret scanning feedback
linters_feedback: true # Enable linting / static analysis
custom_guidelines:
general:
- name: "Global Checks"
path: "./guidelines/global_checks.txt"
- name: "Security Rules"
path: "./guidelines/security.txt"
- name: "Legacy Style Guide"
path: "./guidelines/legacy.txt"
- name: "Performance Checks"
path: "./guidelines/perf.txt"
- name: "Code Style"
path: "./guidelines/style.txt"
per_language:
python:
name: "Python Best Practices"
path: "./guidelines/py.txt"
javascript:
name: "JS Style Guide"
path: "./guidelines/js.txt"
typescript:
name: "TS Checks"
path: "./guidelines/ts.txt"
java:
name: "Java Coding Standards"
Path: "./guidelines/java.txt"
Integrate the AI Code Review Agent into your self-hosted Bitbucket workflow.
Speed up code reviews by configuring the AI Code Review Agent with your Bitbucket (Self-Managed) server. In this guide, you'll learn how to set up the Agent to receive automated code reviews that trigger whenever you create a pull request, as well as how to manually initiate reviews using available commands.
Before proceeding, ensure you've completed all necessary prerequisites.
For Bitbucket pull request code reviews, a token with Project Admin permission is required. Make sure that the token is created by a Bitbucket user who has the Admin privileges.
You can use the Create Token button that appears once you provide the Hosted Bitbucket URL and your Bitbucket username.
Or directly visit the URL of your self-hosted Bitbucket.
To create a token for your user account:
Go to Profile picture > Manage account > HTTP access tokens.
Select Create token.
Set the token name, permissions, and expiry.
If your Bitbucket organization enforces SAML Single Sign-On (SSO), you must authorize your Personal Access Token through your Identity Provider (IdP); otherwise, Bito's AI Code Review Agent won't function properly.
For more information, please refer to .
Follow the step-by-step instructions below to install the AI Code Review Agent using Bito Cloud:
and select a workspace to get started.
Click under the CODE REVIEW section in the sidebar.
Bito supports integration with the following Git providers:
GitHub
GitHub (Self-Managed)
GitLab
GitLab (Self-Managed)
Since we are setting up the Agent for Bitbucket (Self-Managed) server, select Bitbucket (Self-Managed) to proceed.
To enable pull request reviews, you’ll need to connect your Bito workspace to your Bitbucket (Self-Managed) server.
You need to enter the details for the below mentioned input fields:
Hosted Bitbucket URL: This is the domain portion of the URL where your Bitbucket Enterprise server is hosted (e.g., https://bitbucket.mycompany.com). Please check with your Bitbucket administrator for the correct URL.
Bitbucket username: This is your Bitbucket username used for login. Please check it from your user profile page or ask your Admin.
Personal Access Token: Generate a Bitbucket Personal Access Token with Project Admin permission in your Bitbucket (Self-Managed) account. Ensure you have Bitbucket
Click Validate to ensure the token is functioning properly.
If the token is successfully validated, click Connect Bito to Bitbucket to proceed.
After connecting Bito to your Bitbucket self-managed server, you'll see a list of repositories that Bito has access to.
Use the toggles in the Code Review Status column to enable or disable the Agent for each repository.
Once a repository is enabled, you can invoke the AI Code Review Agent in the following ways:
Automated code review: By default, the Agent automatically reviews all new pull requests and provides detailed feedback.
Manually trigger an incremental review: Type /review in the comment box on the pull request and click Add comment now to submit it. This reviews only the changes made since the last review (such as new commits), keeping feedback focused on what's new.
Manually trigger a full review: Type /review full in the comment box and click
The AI-generated code review feedback will be posted as comments directly within your pull request, making it seamless to view and address suggestions right where they matter most.
Bito also offers specialized commands that are designed to provide detailed insights into specific areas of your source code, including security, performance, scalability, code structure, and optimization.
/review security: Analyzes code to identify security vulnerabilities and ensure secure coding practices.
/review performance: Evaluates code for performance issues, identifying slow or resource-heavy areas.
/review scalability: Assesses the code's ability to handle increased usage and scale effectively.
By default, the /review command generates inline comments, meaning that code suggestions are inserted directly beneath the code diffs in each file. This approach provides a clearer view of the exact lines requiring improvement. However, if you prefer a code review in a single post rather than separate inline comments under the diffs, you can include the optional parameter: /review #inline_comment=False
For more details, refer to .
Ask questions directly to the AI Code Review Agent regarding its code review feedback. You can inquire about highlighted issues, request alternative solutions, or seek clarifications on suggested fixes.
To start the conversation, type your question in the comment box within the inline suggestions on your pull request, and then submit it. Typically, Bito AI responses are delivered in about 10 seconds. On GitHub and Bitbucket, you need to manually refresh the page to see the responses, while GitLab updates automatically.
Bito supports over 20 languages—including English, Hindi, Chinese, and Spanish—so you can interact with the AI in the language you’re most comfortable with.
let you control how reviews are performed, ensuring feedback is tailored to your team’s needs. By adjusting the options, you can:
Make reviews more focused and actionable.
Apply your own coding standards.
Reduce noise by excluding irrelevant files or branches.
Add extra checks to improve code quality and security.
Explore the powerful capabilities of the AI Code Review Agent.
Get a 14-day FREE trial of Bito's AI Code Review Agent.
A quick look at powerful features of Bito's AI Code Review Agent—click to jump to details.
The understand code changes in pull requests. It analyzes relevant context from your entire repository, resulting in more accurate and helpful code reviews.
To comprehend your code and its dependencies, it uses Symbol Indexing, Abstract Syntax Trees (AST), and Embeddings.
offers a one-click solution for using the , eliminating the need for any downloads on your machine.
Bito supports integration with the following Git providers:
By default, the AI Code Review Agent automatically reviews all new pull requests and provides detailed feedback.
To initiate a manual review, simply type /review in the comment box on the pull request and submit it. This action will start the code review process.
Get a concise overview of your pull request (PR) directly in the description section, making it easier to understand the code changes at a glance.
Each pull request includes an automatically generated summary that explains the intent and scope of the changes in a clear, easy-to-read format.
The summary highlights the main objective of the update, outlines the most important modifications, and provides a high-level view of their impact on the codebase. This allows reviewers to quickly understand what the pull request is about before diving into the detailed code changes.
A tabular view that displays key changes in a pull request, making it easy to spot important updates at a glance without reviewing every detail. Changelist categorizes modifications and highlights impacted files, giving you a quick, comprehensive summary of what has changed.
The AI-generated code review feedback is posted as comments directly within your pull request, making it seamless to view and address suggestions right where they matter most.
You can accept the suggestions with a single click, and the changes will be added as a new commit to the pull request.
Ask questions directly to the AI Code Review Agent regarding its code review feedback. You can inquire about highlighted issues, request alternative solutions, or seek clarifications on suggested fixes.
Real-time collaboration with the AI Code Review Agent accelerates your development cycle. By delivering immediate, actionable insights, it eliminates the delays typically experienced with human reviews. Developers can engage directly with the Agent to clarify recommendations on the spot, ensuring that any issues are addressed swiftly and accurately.
Bito supports over 20 languages—including English, Hindi, Chinese, and Spanish—so you can interact with the AI in the language you’re most comfortable with.
AI Code Review Agent automatically reviews only the recent changes each time you push new commits to a pull request. This saves time and reduces costs by avoiding unnecessary re-reviews of all files.
You can enable or disable incremental reviews using the .
Get in-depth insights into your org’s code reviews with user-friendly dashboard. Track key metrics such as pull requests reviewed, issues found, lines of code reviewed, and understand individual contributions.
The AI Code Review Agent offers a flexible solution for teams looking to enforce custom code review rules, standards, and guidelines tailored to their unique development practices. Whether your team follows specific coding conventions or industry best practices, you can customize the Agent to suite your needs.
We support two ways to customize AI Code Review Agent’s suggestions:
, and the AI Code Review Agent automatically adapts by creating code review rules to prevent similar suggestions in the future.
. Define rules through the dashboard in Bito Cloud and apply them to agent instances in your workspace.
The AI Code Review Agent acts as a team of specialized engineers, each analyzing different aspects of your pull request. You'll get specific advice for improving your code, right down to the exact line in each file.
The areas of analysis include:
Security
Performance
Scalability
Optimization
This multifaceted analysis results in more detailed and accurate code reviews, saving you time and improving code quality.
Elevate your code reviews by harnessing the power of the development tools you already trust. Bito's AI Code Review Agent seamlessly integrates feedback from essential tools including:
Static code analysis
Open source security vulnerabilities check
Linter integrations
Secrets scanning (e.g., passwords, API keys, sensitive information)
Static code analysis
Using tools like Facebook’s open-source fbinfer (available out of the box), the Agent dives deep into your code—tailored to each language—and suggests actionable fixes. You can also configure additional tools you use for a more customized analysis experience.
Open source security vulnerabilities check
The AI Code Review Agent checks real-time for the latest high severity security vulnerabilities in your code, using (available out of the box). Additional tools such as , or can also be configured.
Linter integrations
Our integrated linter support reviews your code for consistency and adherence to best practices. By catching common errors early, it ensures your code stays clean, maintainable, and aligned with modern development standards.
Secrets scanning
Safeguard your sensitive data effortlessly. With built-in scanning capabilities, the Agent checks your code for exposed passwords, API keys, and other confidential information—helping to secure your codebase throughout the development lifecycle.
Seamlessly connect Bito with Jira to automatically validate pull request code changes against linked Jira tickets. This ensures your implementations meet specified requirements through real-time, structured validation feedback directly in your pull requests.
Support for Jira Cloud and Jira Data Center setups enables flexible integrations, while multiple ticket-linking methods ensure accurate requirement tracking.
Boost your team's code quality, collaboration, and traceability with automated Jira ticket validation.
No matter if you're coding in Python, JavaScript, Java, C++, or beyond, our AI Code Review Agent has you covered. It understands the unique syntax and best practices of every popular language, delivering tailored insights that help you write cleaner, more efficient code—every time.
Bito and third-party LLM providers never store or use your code, prompts, or any other data for model training or any other purpose.
Bito is SOC 2 Type II compliant. This certification reinforces our commitment to safeguarding user data by adhering to strict security, availability, and confidentiality standards. SOC 2 Type II compliance is an independent, rigorous audit that evaluates how well an organization implements and follows these security practices over time.
Customize the AI Code Review Agent to match your workflow needs.
Connecting your Bito workspace to GitHub, GitLab, or Bitbucket provides immediate access to the AI Code Review Agent. To get you started quickly, Bito offers a Default Agent instance—pre-configured and ready to deliver AI-powered code reviews for pull requests and code changes within supported IDEs such as VS Code and JetBrains.
While the Default Agent is ready for use right away, Bito also gives you the option to create new Agent instances or customize existing ones to suit your specific requirements. This flexibility ensures that the Agent can adapt to a range of workflows and project needs.
For example, you might configure one Agent to disable automatic code reviews for certain repositories, another to exclude specific Git branches from review, and yet another to filter out particular files or folders.
This guide will walk you through how to create or customize an Agent instance, unlocking its full potential to streamline your code reviews.
Once Bito is connected to your GitHub/GitLab/Bitbucket account, you can easily create a new Agent or customize an existing one to suit your workflow.
To create a new Agent, navigate to the dashboard and click the New Agent button to open the Agent configuration form.
If you’d like to customize an existing agent, simply go to the same dashboard and click the Settings button next to the Agent instance you wish to modify.
Once you have selected an Agent to customize, you can modify its settings in the following areas:
Assign a unique alphanumeric name to your Agent. This name acts as an identifier and allows you to invoke the Agent in supported clients using the @<agent_name> command.
Bito provides six tabs for in-depth Agent customization.
These include:
Review
Custom Guidelines
Filters
Tools
Let's have a look at each tab in detail.
In this tab, you can configure how and when the Agent performs reviews:
Review language: Select the output language for code review feedback. Bito supports over 20 languages, including English, Hindi, Chinese, and Spanish. The AI code review feedback will be posted on the pull requests in the selected language.
Review feedback mode: Choose between Essential and Comprehensive review modes and tailor review request settings to fit your team's unique workflow requirements.
In Essential mode, only critical issues are posted as inline comments, and other issues appear in the main review summary under "Additional issues".
Create, apply, and manage custom code review guidelines to align the AI agent’s reviews with your team’s specific coding standards.
The agent will follow your guidelines when reviewing pull requests.
Use filters to customize which files, folders, and Git branches are reviewed when the Agent triggers automatically on pull requests:
Exclude Files and Folders: A list of files/folders that the AI Code Review Agent will not review if they are present in the diff. You can specify the files/folders to exclude from the review by name or glob/regex pattern. The Agent will automatically skip any files or folders that match the exclusion list. This filter applies to both manual reviews initiated through the /review command and automated reviews.
Include Source/Target Branches: This filter defines which pull requests trigger automated reviews based on their source or target branch, allowing you to focus on critical code and avoid unnecessary reviews or AI usage. By default, pull requests merging into the repository’s default branch are subject to review. To review additional branches, you can use the . Bito will review pull requests when the source or target branch matches the list. This filter applies only to automatically triggered reviews. Users should still be able to trigger reviews manually via the /review command.
Enhance the Agent’s reviews by enabling additional tools for static analysis, security checks, and secret detection:
Secret Scanner: Enable this tool to detect and report secrets left in code changes.
You can chat with the to ask follow-up questions, request alternative solutions, or get clarification on review comments. From this tab, you can manage how the agent responds to these interactions.
Auto reply: Enable Bito to automatically reply to user questions posted as comments on its code review suggestions—no need to tag @bitoagent or @askbito.
Automatically validate pull requests against Jira tickets. Ticket references are detected in the PR description, title, or branch name.
If you are editing an existing agent, click Save to apply the changes.
If you are creating a new agent instance, click Select repositories after configuration to choose the Git repositories the agent will review.
To enable code review for a specific repository, simply select its corresponding checkbox. You can also enable repositories later, after the Agent has been created. Once done, click Save and continue to save the new Agent configuration.
When you save the configuration, your new Agent instance will be added and available on the page.
Connect Bito's AI Architect with Linear for feasibility analysis, technical design, and cross-repo impact assessment.
Planning is where engineering teams lose the most time. This is where starts.
Senior engineers and tech leads spend hours on work that should take minutes — reading through old issues to understand what went wrong before, figuring out what a one-line ticket actually requires, mapping out which services will be affected and which ones have been fragile in the past.
AI Architect automates this work inside Linear. When an issue is created, AI Architect posts a detailed implementation plan directly as a comment on the ticket. Feasibility analysis, story breakdown, risk warnings, historical patterns from your team's own issues — all generated in minutes, right where your team plans.
When AI Architect analyzes a Linear issue, it produces a structured Markdown implementation plan that covers:
Feasibility assessment — Is this viable given your current architecture? Which services are involved, and how stable are they? What's the blast radius if something goes wrong?
Setting up your agent: understanding the bito-cra.properties file
The bito-cra.properties file offers a comprehensive range of options for configuring the , enhancing its flexibility and adaptability to various workflow requirements.
Customize which files, folders, and Git branches are reviewed when the Agent triggers automatically on pull requests.
The offers powerful filters to exclude specific files and folders from code reviews and gives you precise control over which Git branches are included in automated reviews.
These filters can be configured at the Agent instance level, overriding the default behavior.
A list of files/folders that the AI Code Review Agent will not review if they are present in the diff. You can specify the files/folders to exclude from the review by name or glob/regex pattern. The Agent will automatically skip any files or folders that match the exclusion list.
This filter applies to both manual reviews initiated through the /review command and automated reviews triggered via webhook.
By default, these files are excluded: *.xml, *.json, *.properties
Use Google documents (Docs, Sheets, Slides, and Drive) as context for AI Architect's analysis
Your team's documented intent lives in Google Docs, Sheets, and Slides — design decisions, edge cases, test scenarios, requirement docs, and specs. reads that documentation and uses it as context whenever it analyzes Jira tickets, answers questions in Slack, or generates implementation plans. It can also create and update Google Docs for you — writing back plans, summaries, and decisions directly from Jira or Slack, without ever switching tabs.
Once you connect Google Docs, AI Architect treats your Google documents as a first-class context source alongside your code, Jira/Linear tickets, Confluence docs, and team conversations in Slack.
Automatic context on Jira plans — When AI Architect generates an implementation plan for a Jira Epic or Story, any Google Docs referenced in that ticket are pulled in automatically. It fetches the relevant details — edge cases, design decisions, and test scenarios — so recommendations, risk assessments, and effort estimates reflect what your team has already documented.
Seamlessly integrate automated code reviews into your GitHub Actions workflows.
Bito Access Key: Obtain your Bito Access Key.
GitHub Personal Access Token (Classic): For GitHub PR code reviews, ensure you have a CLASSIC personal access token with repo access. We do not support fine-grained tokens currently.
Integrate the AI Code Review Agent into your self-hosted GitHub Enterprise workflow.
Speed up code reviews by configuring the with your self-managed GitHub Enterprise server. In this guide, you'll learn how to set up the Agent to receive automated code reviews that trigger whenever you create a pull request, as well as how to manually initiate reviews using .
coming soon...
Before proceeding, ensure you've completed all necessary prerequisites.
For GitHub pull request code reviews, ensure you have a CLASSIC personal access token with repo scope. We do not support fine-grained tokens currently.
From the Service Provider Information screen of the Descope setup wizard, copy SP ACS URL.
Now in Keycloak administration console, paste the SP ACS URL to the Valid redirect URIs and the Master SAML Processing URL fields.
Click Save.
Scroll down, enable the Sign assertions toggle and click Save.
In the top menu, select Keys and disable the Client signature required toggle.
In the top menu, select Client scopes, and click on the newly created client.
Select Add predefined mapper.
Select x500 email, x500 givenName and x500 surname, and click Add.
In the left menu, select Realm settings.
Copy the SAML 2.0 Identity Provider Metadata link address.
Now in Descope setup wizard, open Identity Provider Information screen.
Paste the SAML 2.0 Identity Provider Metadata link address you copied from Keycloak administration console in the SAML 2.0 Identity Provider Metadata field.
Click Continue.
In the SSO Domains screen, click Continue.
In the Testing screen, click Save & Test.
If the configuration is done correctly, you will see SSO test completed successfully.
Click Done, and you will be redirected back to Bito.
In Bito Cloud, Manage integrations dashboard, you will see Setup completed for Single Sign-On (SSO) integration.
Code structure and formatting (e.g., tab, spaces)
Basic coding standards including variable names (e.g., ijk)







Functional Validation
In Comprehensive mode, Bito also includes minor suggestion and potential nitpicks as inline comments.
Automatic review: Toggle to enable or disable automatic reviews when a pull request is created and ready for review.
Automatic incremental review: Toggle to enable or disable reviews for new commits added to a pull request. Only changes since the last review are assessed.
Batch time: Specifies how long the AI Code Review Agent waits before running an incremental review after new commits are pushed. The value can range from 0m (review immediately) to 24h (review after 24 hours). Lower values result in more frequent incremental reviews.
Examples:
10s → waits 10 seconds before running the review
12m → waits 12 minutes before running the review
1h10m → waits 1 hour and 10 minutes before running the review
Request changes comments: Enable this option to get Bito feedback as "Request changes" review comments. Depending on your organization's Git settings, you may need to resolve all comments before merging.
Draft pull requests: By default, the Agent excludes draft pull requests from automated reviews. Disable this toggle to include drafts.
Automatic summary: Toggle to enable automatic generation of AI summaries for changes, which are appended to the pull request description.
Change Walkthrough: Enable this option to generate a table of changes and associated files, posted as a comment on the pull request.
Allow config file settings: Enabling this setting will allow Agent Settings to be overridden at a repository level by placing a .bito.yaml file in the root folder of that repository. Learn more
Auto-apply agent rules: Automatically detect and apply best-practice guidelines from agent configuration files like CLAUDE.md, AGENTS.md, .cursor/rules, .windsurf/rules, or GEMINI.md. When enabled, Bito uses these files to guide its code review. Learn more
Generate interaction diagrams: When enabled, Bito will post interaction diagrams during code reviews to visualize architecture and impacted changes.
Adaptive learning: When enabled, Bito prioritizes future suggestions based on how developers responded to past Bito reviews.
Filter unaddressed suggestions: When enabled, Bito will reduce recommending suggestions that are consistently unaddressed. Critical suggestions may still be made.
Exclude Labels: Specify pull request (PR) labels to exclude from review by name or glob/regex pattern. The agent will skip any PRs tagged with these labels in GitHub or GitLab.


















bito-commit-review is a pre-commit gate on your local changes. It blocks the commit if there are blocking issues, and creates the commit on pass.
In short: bito-code-review reviews anything, anywhere. bito-commit-review gates right before committing.
bito-spike
"spike on", "investigate whether", "explore options for", "proof of concept for"
Time-boxed technical investigation — delivers findings and recommendations, not a plan
bito-feature-plan
"plan a feature", "design implementation for"
Detailed org-specific implementation plan for a complex feature using cross-repo context
bito-prd
"write a PRD", "product requirements for"
Comprehensive Product Requirements Document grounded in real system context
bito-trd
"write a TRD", "technical requirements for"
Technical Requirements Document analyzing existing architecture, dependencies, and patterns
bito-production-triage
"production issue", "incident triage", "debug outage"
Diagnose production incidents — cross-repo context, blast radius mapping, structured remediation plan
bito-code-review
"review this PR", "review this MR", "review this branch", "review commit abc123", "review my staged changes"
Read-only code review on any target — PR/MR URL, branch, commit or commit range, local changes (staged / unstaged / all), specific files, or a diff/patch file. Returns severity-rated findings with file:line evidence and cross-repo impact. Never commits.
bito-commit-review
"review my changes", "pre-commit review", "check my changes"
Pre-commit code review analyzing all changes (staged and unstaged) for issues and cross-repo impact. It's like a pre-commit gate on your local changes — blocks the commit if there are blocking issues, asks before proceeding, and creates the commit on pass.
bito-plan-to-coding-tasks
"turn this plan into coding tasks", "make this implementable by an agent"
Transform an implementation plan into self-contained workstream coding tasks
bito-coding-task-executor
"execute this coding task", "implement this workstream coding task"
Execute a workstream coding task with verification gates + two-stage review
review commit abc123
Commit range
review commits abc123..def456
Local changes
review my staged changes / review unstaged changes / review all my local changes
Specific files
review src/auth/service.ts and src/auth/middleware.ts
Diff or patch file
Attach the file and ask Bito to review it
Re-review
verify again after applying fixes
.mdc with alwaysApply: false
Windsurf
~/.codeium/windsurf/memories/bito-{name}.md
Plain markdown
VS Code (GitHub Copilot)
{User}/prompts/bito-{name}.prompt.md
.prompt.md with applyTo
Junie
~/.junie/skills/bito-{name}/SKILL.md












Required scopes:
read:pullrequest:bitbucket
write:pullrequest:bitbucket
read:workspace:bitbucket
read:repository:bitbucket
read:user:bitbucket
Enter both your Bitbucket email address and the personal access token in Bito
If your network restricts external services from accessing your Git server, add these Bito IP addresses to your allowed IP list:
macOS: Press Command + Shift + . in Finder.
Linux: Run ls -a in your terminal.
include_source_branches
Source branches defined using comma-separated GLOB or regex patterns for which Bito automatically reviews pull requests.
Example: "feature/*, release/*, main"
include_target_branches
Target branches defined using comma-separated GLOB or regex patterns for which Bito automatically reviews pull requests.
Example: "feature/*, release/*, main"
exclude_files
Comma-separated file path GLOB patterns to exclude from code reviews.
Example: "*.md, *.yaml, config/*"
exclude_draft_pr
Excludes draft pull requests from automatic reviews.
Valid values: true or false
secret_scanner_feedback
Enables or disables secret scanning feedback. Bito detects and reports secrets left in code changes.
Valid values: true or false
linters_feedback
Run Linting tools during code reviews.
Valid values: true or false
custom_guidelines
Adds repo-defined coding guidelines, supporting both general and language-specific configurations. Provide the name and path to review guidelines that you want bito to follow. These files must exist in your source branch at review time. We accept up to 3 general guidelines and 1 language specific guideline per language. Example:
dependency_check.enabled
Run Dependency Check analysis during code reviews.
Valid values: true or false
repo_level_guidelines_enabled
When enabled, Bito will automatically detect and use best-practice guidelines from agent configuration files such as CLAUDE.md, AGENTS.md, GEMINI.md, .cursor/rules, or .windsurf/rules during code reviews.
Valid values: true or false
sequence_diagram_enabled
When enabled, Bito will generate interaction diagrams during code reviews to visualize the architecture and impacted components in the submitted changes.
Currently, it is supported for GitHub and GitLab.
Valid values: true or false
static_analysis.fb_infer.enabled
Run Static Analysis tools during code reviews for providing better feedback.
Valid values: true or false
labels_excluded
Comma-separated list of labels that, if present on a pull request or merge request, skip automatic review.
This is case-sensitive by default. For example, if we mention "Bug" in the repo-level .bito.yaml file and the tagged label is "bug", we won't match it. Users can use regex to make it case-insensitive, e.g., (?i)^bug$ or (?i)bug.
Example: "wip, do-not-review, chore, size/*"
post_as_request_changes
Enable this option to get Bito feedback as "Request changes" review comments. Depending on your Git provider settings, you may need to resolve all comments before merging.
For GitHub, this will automatically enable auto-approve for resolved PRs.
Valid values: true or false
functional_validation_enabled
Enable this option to automatically validate pull requests against Jira ticket referenced in PR description, title, or branch name.
Jira Integration must be completed from Bito dashboard for this to work.
Valid values: true or false
custom_guidelines:
general:
- name: "Global Checks"
path: "./guidelines/global_checks.txt"
- name: "Security Rules"
path: "./guidelines/security.txt"
- name: "Legacy Style Guide"
path: "./guidelines/legacy.txt"
- name: "Performance Checks"
path: "./guidelines/perf.txt"
- name: "Code Style"
path: "./guidelines/style.txt"
per_language:
python:
name: "Python Best Practices"
path: "./guidelines/py.txt"
javascript:
name: "JS Style Guide"
path: "./guidelines/js.txt"
typescript:
name: "TS Checks"
path: "./guidelines/ts.txt"
java:
name: "Java Coding Standards"
Path: "./guidelines/java.txt"Bitbucket (Self-Managed)
For guidance, refer to the instructions in the Prerequisites section.
/review codeorg: Scans for readability and maintainability, promoting clear and efficient code organization.
/review codeoptimize: Identifies optimization opportunities to enhance code efficiency and reduce resource usage.









3.23.173.30
18.216.64.170
See the Bitbucket documentation for more information.









Story breakdown — A full decomposition into actionable tasks with acceptance criteria, dependencies, and recommended execution order.
Effort estimates — Both traditional and agentic estimates, with a breakdown of where AI tooling saves the most time and where it doesn't.
Proactive risk detection — Race conditions in concurrent flows, memory leak patterns, regression-prone areas, API rate-limiting gaps, security concerns. Each risk comes with a suggested mitigation drawn from your team's actual history.
Historical pattern insights — AI Architect references past issues to flag problems your team has already encountered.
Open questions — Technical decisions that need to be made before implementation begins, so they don't surface mid-sprint.
The plan is in Markdown. Engineers can paste it directly into Cursor, Claude Code, or any other coding agent to start implementation with full architectural context already loaded.
Before setting up the Linear integration, make sure the following are in place for your workspace:
The AI Architect feature is enabled.
Linear analysis is enabled.
If either of these isn't active yet, contact the Bito team at support@bito.ai to enable them.
AI Architect can be set up using one of the following deployment options:
AI Architect is managed and maintained by Bito.
Follow the Bito-hosted installation guide to get started.
If AI Architect isn't already active for your workspace, contact the Bito team at support@bito.ai to enable it.
AI Architect is deployed and managed within your own infrastructure.
Follow the to set up and configure AI Architect for your workspace.
Navigate to the page in your Bito dashboard.
In the Available integrations section, locate Linear and click Connect.
After connecting, Bito will display a list of teams from your Linear site that Bito has access to.
To enable or disable teams, go to page and select your deployment type.
For example, if you have selected Self-hosted AI Architect, then on the next screen click Configure AI Architect.
A settings screen will appear. From there, open the Linear
Two flags control how AI Architect behaves on your Linear issues. Contact the Bito team at to enable them.
When enabled, AI Architect listens for new or updated issues in your selected teams and posts an implementation plan automatically — no action needed from the issue creator.
Trigger analysis manually on any issue by adding one of the following in a Linear comment:
Or by adding one of these labels to the issue:
By default, when auto-analysis is enabled, AI Architect generates a plan for every new or updated issue in your selected Linear teams. Auto triage adds a layer of intelligence before that happens: it evaluates whether an issue actually needs a detailed implementation plan, and skips generating one if it doesn't.
This keeps your issues clean and avoids generating plans for work that is already well-defined or straightforward enough to implement without one.
When an issue is created or updated, AI Architect reads the full ticket — title, description, and comments — and assigns a complexity score from 1 to 10.
Below threshold (default: 7)
Plan is skipped. An optional comment is posted on the issue.
At or above threshold
Implementation plan is generated as usual.
When an issue is below the threshold, AI Architect posts the following comment:
AI Architect — This issue doesn't appear to need a detailed implementation plan based on its scope and complexity. If you'd like one anyway, type @Bito with what you want (example:
@Bito technical plan)
When evaluating a ticket, AI Architect can read attachments in the following formats:
.pdf
.docx
.xlsx
.csv
.json
.yaml
.zip
The following settings control how auto triage behaves for your workspace. Contact the Bito team at support@bito.ai to configure these.
Complexity threshold
Default: 7
Minimum score required for a plan to be generated.
Auto analysis type
plan / comment
AI Architect draws on multiple sources when it analyzes an issue:
Your codebase — All your repositories, services, API endpoints, modules, and design patterns are indexed into a knowledge graph. AI Architect understands how your system fits together, not just what individual files contain.
Your Linear history — AI Architect analyzes your team's past issues and categorizes recurring patterns: race conditions across subsystems, services with instability histories, security and credential issues, error handling gaps, API rate-limiting problems. This context is applied to every new issue so your team doesn't repeat what's already been learned.
Other context sources — AI Architect also incorporates insights from Jira tickets, Confluence documents, observability data, and any custom instructions you provide.
AI Architect works through purpose-built agentic skills. The same skills that run on Jira issues are used for Linear, delivering full feature parity. The important agent skill that run in Linear is:
bito-build-plan — Convert any unit of work (story, ticket, feature brief, epic, PRD) into a sprint-ready implementation plan with effort estimates
To disconnect, navigate to the Manage integrations page and disconnect Linear from there. Bito will automatically clean up the integration — removing the webhook from your Linear workspace, clearing your team selection, and revoking stored credentials.
The following messages may appear if something goes wrong with your Linear integration.
Integration is no longer valid (token revoked or expired)
"Your Linear integration is no longer valid. To continue, please disconnect and reconnect your Linear workspace."
Bito's access in Linear was revoked by an admin
"Access for the Bito Linear app was revoked. Please disconnect and reconnect the integration to avoid disruptions."
Connecting user wasn't a Linear workspace admin
@bito
/bito
#bitobito
bito-analyse
bito-analyzeSVG files are supported as images only. Binary image attachments (.png, .jpg, .gif, .webp) are not yet supported, full image support is coming soon.
mode
cli
server
Yes
Whether to run the Docker container in CLI mode for a one-time code review or as a webhooks service to continuously monitor for code review requests.
pr_url
Pull request URL in GitLab, GitHub and Bitbucket
Yes, if the mode is CLI.
The pull request provides files with changes and the actual code modifications.
When the mode is set to server, the pr_url is received either through a webhook call or via a REST API call.
This release only supports webhook calls; other REST API calls are not yet supported.
code_feedback
.gitignore*.yml*.mdExclude all properties files in all folders and subfolders
*.properties
resource/config.properties, resource/server/server.properties
resource/config.yaml, resource/config.json
This filter defines which pull requests trigger automated reviews based on their source or target branch, allowing you to focus on critical code and avoid unnecessary reviews or AI usage.
By default, pull requests merging into the repository’s default branch are subject to review. To extend review coverage, additional branches may be specified using explicit branch names or valid glob/regex patterns. When the source or target branch of a pull request matches one of the patterns on your inclusion list, Bito’s AI Code Review Agent will trigger an automated review.
This filter applies only to automatically triggered reviews. Users should still be able to trigger reviews manually via the /review command.
Watch video tutorial:
Include any branch that starts with name BITO-
BITO-*
BITO-feature, BITO-123
feature-BITO, development
A binary setting that enables/disables automated review of pull requests (PR) based on the draft status. Enter True to disable automated review for draft pull requests, or False to enable it.
The default value is True which skips automated review of draft PR.
You can configure filters using the Agent configuration page. For detailed instructions, please refer to the Install/run Using Bito Cloud documentation page.
You can configure filters using the bito-cra.properties file. Check the options exclude_branches, exclude_files, and exclude_draft_pr for more details.
You can configure filters using the GitHub Actions repository variables: EXCLUDE_BRANCHES, EXCLUDE_FILES, and EXCLUDE_DRAFT_PR. For detailed instructions, please refer to the Install/Run via GitHub Actions documentation page.
Reads across Docs, Sheets, Slides, and Drive — AI Architect can browse Drive folders and search for files by name or content, then read the Google Docs, Sheets, and Slides it finds. Supporting material spread across your documents factors into the plan.
Surfaces information in Slack — When you paste a Google Docs link into a Slack thread, the Bito AI Assistant for Slack reads the linked document and uses it to answer questions, summarize, or compare against the discussion.
You can ask AI Architect — through Jira comments or Slack — to create and update Google Docs for you.
Supported operations:
Browse Drive
Browse folders in Google Drive to locate documents
Drive
Search files
Search Docs, Sheets, and Slides by name or content
AI Architect can be set up using one of the following deployment options:
AI Architect is managed and maintained by Bito.
Follow the Bito-hosted AI Architect installation guide to get started.
If AI Architect isn't already active for your workspace, contact the Bito team at support@bito.ai to enable it.
AI Architect is deployed and managed within your own infrastructure.
Follow the to set up and configure AI Architect for your workspace.
In your Bito dashboard, go to the page.
Under Available integrations, find Google Docs and click Connect.
If you've already referenced a Google Doc in a Jira ticket — for example, a design doc, test plan, or requirements brief — there's nothing more to do. When AI Architect generates a plan for that ticket, it reads the referenced documents and folds them into the analysis.
Example: A Story references a Google Doc that documents the edge cases for a payments flow. AI Architect's plan will account for those edge cases directly, instead of assuming a generic happy path.
Paste a Google Docs link into a Slack thread and ask AI Architect about it.
Examples:
The Bito AI Assistant reads the document, factors it into the thread context, and responds with answers grounded in your documentation.
Ask AI Architect to write to Google Docs directly from a Jira ticket comment.
Examples:
The same operations work from Slack threads.
Examples:
Once Google Docs is connected, it becomes one of several context sources AI Architect uses:
Your codebase — All your repositories, services, API endpoints, modules, and design patterns are indexed into a knowledge graph.
Your Jira/Linear history — Recurring patterns from past tickets: race conditions, fragile services, security gaps, error-handling issues.
Your Google documentation — Design docs, requirement briefs, test plans, and specs stored in Google Docs, Sheets, and Slides.
Other context sources — Confluence pages, Slack threads, observability data, and custom instructions you provide.
When you connect Google Docs, Bito requests access to your Google account via OAuth. AI Architect needs to read your Google Docs, Sheets, and Slides, browse Drive, and write to Google Docs, so it requests the following access.
Summary of access
Google Docs
Read and write
Read document content; create and update documents
Google Sheets
Read-only
Check:
Is Google Docs connected in Manage integrations?
Is the Google Doc actually referenced in the Jira ticket — via a link in the ticket description or comments?
Does the Google account used to connect the integration have access to the document? Bito sees only what that account can see.
Check:
Is the file a Google Doc, Sheet, or Slide deck? These are the supported Google file types.
Is the document shared with the Google account used to connect the integration?
Check:
Is the file a Google Doc? Write access applies to Google Docs only — Sheets and Slides are read-only.
Does the connected Google account have edit permission on that document?
If Bito reports that it can't access Google Docs:
Go to Manage integrations and reconnect Google Docs.
Confirm the Google account used has access to the documents you expect AI Architect to read or write to.
No. AI Architect reads documents on demand:
Documents referenced in a Jira ticket it's analyzing
Documents referenced by URL in a Slack thread where it's mentioned
Documents you explicitly ask it to browse, search, read, create, or update
It does not crawl or index your entire Google Drive.
No. AI Architect has read-only access to Google Sheets and Google Slides. It can read their content for context, but it can only create and update Google Docs.
Yes — at the Google account level. The Google account used to connect the integration determines what AI Architect can see. Share only the documents and folders you want AI Architect to reach with that account.
No. Create and update operations happen only when you explicitly request them through a Jira comment or Slack message.
Connect Google Docs to your Bito workspace via Manage integrations.
Reference your design docs and test plans in the Jira tickets that relate to them — AI Architect will pick them up automatically when you ask it to generate an implementation plan.
Try writing back from Slack or Jira — ask AI Architect to create a Google Doc summarizing a thread or ticket, and see how it reads.
Combine with and integrations for the full workflow: plan in Jira, discuss in Slack, document in Google Docs — all driven by AI Architect.
@Bito summarize this design doc and tell me what's missing
[Google Docs link]@Bito do the test scenarios in this doc cover PROJ-456?
[Google Docs link]@bito create a Google Doc summarizing the implementation plan above@bito update the linked Google Doc with the decisions made on this ticket@Bito create a Google Doc documenting the conclusions from this thread@Bito update this Google Doc with the API contract we just agreed on: [Google Docs link]Login to your GitHub account.
Open your repository and click on the "Settings" tab.
Select "Actions" from the left sidebar, then click on "General".
Under "Actions permissions", choose "Allow all actions and reusable workflows" and click "Save".
Set Up Environment Variables:
Still in the "Settings" tab, navigate to "Secrets and variables" > "Actions" from the left sidebar.
Configure the following under the "Secrets" tab:
For each secret, click the New repository secret button, then enter the exact name and value of the secret in the form. Finally, click Add secret to save it.
Name: BITO_ACCESS_KEY
Secret: Enter your Bito Access Key here. Refer to the .
Name: GIT_ACCESS_TOKEN
Configure the following under the "Variables" tab:
For each variable, click the New repository variable button, then enter the exact name and value of the variable in the form. Finally, click Add variable to save it.
Name: STATIC_ANALYSIS_TOOL
Value: Enter the following text string as value: fb_infer,astral_ruff,mypy
Name: GIT_DOMAIN
Value: Enter the domain name of your Enterprise or self-hosted GitHub deployment or skip this if you are not using Enterprise or self-hosted GitHub deployment.
Example of domain name: https://your.company.git.com
Name: EXCLUDE_BRANCHES
Value: Specify branches to exclude from the review by name or valid glob/regex patterns. The agent will skip the pull request review if the source or target branch matches the exclusion list.
Note: For more information, see .
Name: EXCLUDE_FILES
Value: Specify files/folders to exclude from the review by name or glob/regex pattern. The agent will skip files/folders that match the exclusion list.
Note: For more information, see .
Name: EXCLUDE_DRAFT_PR
Value: Enter True to disable automated review for draft pull requests, or False to enable it.
Note: For more information, see .
Create the Workflow Directory:
In your repository, create a new directory path: .github/workflows.
Add the Workflow File:
from AI Code Review Agent's GitHub repo.
In your repository, upload this test_cra.yml file inside the .github/workflows directory either in your source branch of each PR or in a branch (e.g. main) from which all the source branches for PRs will be created.
Create a self-hosted Runner using Linux image and x64 architecture as described in the GitHub documentation.
Create a copy of Bito's repository gitbito/codereviewagent main branch into your self-hosted GitHub organization e.g. "myorg" under the required name e.g. "gitbito-bitocodereview". In this example, now this repository will be accessible as "myorg/gitbito-bitocodereview".
Update test_cra.ymlas below:
Change line from:
runs-on: ubuntu-latest
to:
runs-on: <label of the self-hosted GitHub Runner> e.g. self-hosted, linux etc.
Update test_cra.ymlas below:
Replace all lines having below text:
uses: gitbito/codereviewagent@main
Commit and push your changes in test_cra.yml .
After configuring the GitHub Actions, you can invoke the AI Code Review Agent in the following ways:
Automated Code Review: The agent will automatically review new pull requests as soon as they are created and post the review feedback as a comment within your PR.
Manually trigger an incremental review: Type /review in the comment box on the pull request and submit it. This reviews only the changes made since the last review (such as new commits), keeping feedback focused on what's new.
Manually trigger a full review: Type /review full in the comment box and submit it to re-review the entire pull request from scratch, rather than only the latest changes.
Bito also offers specialized commands that are designed to provide detailed insights into specific areas of your source code, including security, performance, scalability, code structure, and optimization.
/review security: Analyzes code to identify security vulnerabilities and ensure secure coding practices.
/review performance: Evaluates code for performance issues, identifying slow or resource-heavy areas.
/review scalability:
By default, the /review command generates inline comments, meaning that code suggestions are inserted directly beneath the code diffs in each file. This approach provides a clearer view of the exact lines requiring improvement. However, if you prefer a code review in a single post rather than separate inline comments under the diffs, you can include the optional parameter: /review #inline_comment=False
For more details, refer to .

If your GitHub organization enforces SAML Single Sign-On (SSO), you must authorize your Personal Access Token (classic) through your Identity Provider (IdP); otherwise, Bito's AI Code Review Agent won't function properly.
For detailed instructions, please refer to the GitHub documentation.
Follow the step-by-step instructions below to install the AI Code Review Agent using Bito Cloud:
Log in to Bito Cloud and select a workspace to get started.
Click Repositories under the CODE REVIEW section in the sidebar.
Bito supports integration with the following Git providers:
GitHub
GitHub (Self-Managed)
GitLab
GitLab (Self-Managed)
Bitbucket
Bitbucket (Self-Managed)
Since we are setting up the Agent for self-managed GitHub Enterprise server, select GitHub (Self-Managed) to proceed.
To enable pull request reviews, you need to register and install the Bito’s AI Code Review Agent app on your self-managed GitHub Enterprise server.
You need to enter the details for the below mentioned input fields:
Hosted GitHub URL: This is the domain portion of the URL where you GitHub Enterprise Server is hosted (e.g., https://yourcompany.github.com). Please check with your GitHub administrator for the correct URL.
Personal Access Token: Generate a Personal Access Token (classic) with “repo” scope in your GitHub (Self-Managed) account and enter it into the Personal Access Token input field. We do not support fine-grained tokens currently. For guidance, refer to the instructions in the Prerequisites section.
Click Validate to ensure the login credentials are working correctly. If the credentials are successfully validated, click the Install Bito App for GitHub button. This will redirect you to your GitHub (Self-Managed) server.
Before proceeding, you’ll be asked to enter your GitHub App name — this is the name that will appear in your GitHub Apps list and during installations. Choose a clear, recognizable name (for example, “Bito Code Reviewer”).
Now select where you want to install the app:
Choose All repositories to enable Bito for every repository in your account.
Or, select Only select repositories and pick specific repositories using the dropdown menu.
Click Install & Authorize to proceed. Once completed, you will be redirected to Bito.
After connecting Bito to your self-managed GitHub Enterprise server, you'll see a list of repositories that Bito has access to.
Use the toggles in the Code Review Status column to enable or disable the Agent for each repository.
Once a repository is enabled, you can invoke the AI Code Review Agent in the following ways:
Automated code review: By default, the Agent automatically reviews all new pull requests and provides detailed feedback.
Manually trigger an incremental review: Type /review in the comment box on the pull request and submit it. This reviews only the changes made since the last review (such as new commits), keeping feedback focused on what's new.
Manually trigger a full review: Type /review full in the comment box and submit it to re-review the entire pull request from scratch, rather than only the latest changes.
The AI-generated code review feedback will be posted as comments directly within your pull request, making it seamless to view and address suggestions right where they matter most.
Bito also offers specialized commands that are designed to provide detailed insights into specific areas of your source code, including security, performance, scalability, code structure, and optimization.
/review security: Analyzes code to identify security vulnerabilities and ensure secure coding practices.
/review performance: Evaluates code for performance issues, identifying slow or resource-heavy areas.
/review scalability: Assesses the code's ability to handle increased usage and scale effectively.
/review codeorg: Scans for readability and maintainability, promoting clear and efficient code organization.
/review codeoptimize: Identifies optimization opportunities to enhance code efficiency and reduce resource usage.
By default, the /review command generates inline comments, meaning that code suggestions are inserted directly beneath the code diffs in each file. This approach provides a clearer view of the exact lines requiring improvement. However, if you prefer a code review in a single post rather than separate inline comments under the diffs, you can include the optional parameter: /review #inline_comment=False
For more details, refer to Available Commands.
Ask questions directly to the AI Code Review Agent regarding its code review feedback. You can inquire about highlighted issues, request alternative solutions, or seek clarifications on suggested fixes.
To start the conversation, type your question in the comment box within the inline suggestions on your pull request, and then submit it. Typically, Bito AI responses are delivered in about 10 seconds. On GitHub and Bitbucket, you need to manually refresh the page to see the responses, while GitLab updates automatically.
Bito supports over 20 languages—including English, Hindi, Chinese, and Spanish—so you can interact with the AI in the language you’re most comfortable with.
Agent settings let you control how reviews are performed, ensuring feedback is tailored to your team’s needs. By adjusting the options, you can:
Make reviews more focused and actionable.
Apply your own coding standards.
Reduce noise by excluding irrelevant files or branches.
Add extra checks to improve code quality and security.

Integrate the AI Code Review Agent into your GitLab workflow.
Speed up code reviews by configuring the AI Code Review Agent with your GitLab repositories. In this guide, you'll learn how to set up the Agent to receive automated code reviews that trigger whenever you create a pull request, as well as how to manually initiate reviews using available commands.
Before proceeding, ensure you've completed all necessary prerequisites.
For GitLab merge request code reviews, a token with api scope is required. Make sure that the token is created by a GitLab user who has the Maintainer access role.
If your GitLab organization enforces SAML Single Sign-On (SSO), you must authorize your Personal Access Token through your Identity Provider (IdP); otherwise, Bito's AI Code Review Agent won't function properly.
For more information, please refer to these GitLab documentation:
Follow the step-by-step instructions below to install the AI Code Review Agent using Bito Cloud:
and select a workspace to get started.
Click under the CODE REVIEW section in the sidebar.
Bito supports integration with the following Git providers:
GitHub
GitHub (Self-Managed)
GitLab
GitLab (Self-Managed)
Since we are setting up the Agent for GitLab, select GitLab to proceed.
To enable merge request reviews, you’ll need to connect your Bito workspace to your GitLab account.
You can either connect using OAuth (recommended) for a seamless, one-click setup or manually enter your Personal Access Token.
To connect via OAuth, simply click the Connect with OAuth (Recommended) button. This will redirect you to the GitLab website, where you'll need to log in. Once authenticated, you'll be redirected back to Bito, confirming a successful connection.
If you prefer not to use OAuth, you can connect manually using a Personal Access Token.
Start by with api scope in your GitLab account. For guidance, refer to the instructions in the section.
Once generated, click the Alternatively, use Personal or Group Access Token button.
Now, enter the token into the Personal Access Token input field in Bito.
Click Validate to ensure the token is functioning properly.
If you've successfully connected via OAuth or manually validated your token, you can select your GitLab Group from the dropdown menu.
Click Connect Bito to GitLab to proceed.
After connecting Bito to your GitLab account, you'll see a list of repositories that Bito has access to.
Use the toggles in the Code Review Status column to enable or disable the Agent for each repository.
Once a repository is enabled, you can invoke the AI Code Review Agent in the following ways:
Automated code review: By default, the Agent automatically reviews all new merge requests and provides detailed feedback.
Manually trigger an incremental review: Type /review in the comment box on the merge request and submit it. This reviews only the changes made since the last review (such as new commits), keeping feedback focused on what's new.
Manually trigger a full review: Type /review full in the comment box and submit it to re-review the entire merge request from scratch, rather than only the latest changes.
The AI-generated code review feedback will be posted as comments directly within your merge request, making it seamless to view and address suggestions right where they matter most.
Bito also offers specialized commands that are designed to provide detailed insights into specific areas of your source code, including security, performance, scalability, code structure, and optimization.
/review security: Analyzes code to identify security vulnerabilities and ensure secure coding practices.
/review performance: Evaluates code for performance issues, identifying slow or resource-heavy areas.
/review scalability: Assesses the code's ability to handle increased usage and scale effectively.
By default, the /review command generates inline comments, meaning that code suggestions are inserted directly beneath the code diffs in each file. This approach provides a clearer view of the exact lines requiring improvement. However, if you prefer a code review in a single post rather than separate inline comments under the diffs, you can include the optional parameter: /review #inline_comment=False
For more details, refer to .
Ask questions directly to the AI Code Review Agent regarding its code review feedback. You can inquire about highlighted issues, request alternative solutions, or seek clarifications on suggested fixes.
To start the conversation, type your question in the comment box within the inline suggestions on your merge request, and then submit it. Typically, Bito AI responses are delivered in about 10 seconds. On GitHub and Bitbucket, you need to manually refresh the page to see the responses, while GitLab updates automatically.
Bito supports over 20 languages—including English, Hindi, Chinese, and Spanish—so you can interact with the AI in the language you’re most comfortable with.
let you control how reviews are performed, ensuring feedback is tailored to your team’s needs. By adjusting the options, you can:
Make reviews more focused and actionable.
Apply your own coding standards.
Reduce noise by excluding irrelevant files or branches.
Add extra checks to improve code quality and security.
Connect Bito's AI Architect to your AI coding tools (Cursor, Claude Code, Windsurf, etc.) in seconds with our automated installer
Before running the installer, have these ready:
Set up AI Architect — AI Architect can be set up using one of the following deployment options:
(Fully managed by Bito — no infrastructure setup required)
Connect Bito's AI Architect with Jira for feasibility analysis, technical design, and cross-repo impact assessment.
Planning is where engineering teams lose the most time. This is where starts.
Senior engineers and tech leads spend hours on work that should take minutes, reading through old tickets to understand what went wrong before, figuring out what a one-line Epic description actually requires, mapping out which services will be affected and which ones have been fragile in the past.
AI Architect automates this work inside Jira. When an Epic or Story is created, AI Architect posts a detailed implementation plan directly as a comment on the ticket. Feasibility analysis, story breakdown, risk warnings, historical patterns from your team's own tickets — all generated in minutes, right where your team plans.
When AI Architect analyzes an Epic or Story, it produces a structured Markdown implementation plan that covers:
Feasibility assessment — Is this viable given your current architecture? Which services are involved, and how stable are they? What's the blast radius if something goes wrong?
Quick reference for every Bito Governor command, for both the Docker and the Kubernetes self-hosted deployments.
This page is a quick reference for the commands that run and operate a self-hosted Bito Governor, whether you run it with Docker on a single machine or with Kubernetes in a cluster.
Each deployment uses a different set of commands, so go to the section that matches yours:
, for an install on a single machine, using bito-gateway-ctl.
, for an install in a cluster, using helm and
Integrate the AI Code Review Agent into your self-hosted GitLab workflow.
Speed up code reviews by configuring the with your GitLab (Self-Managed) server. In this guide, you'll learn how to set up the Agent to receive automated code reviews that trigger whenever you create a merge request, as well as how to manually initiate reviews using .
coming soon...
Before proceeding, ensure you've completed all necessary prerequisites.
For GitLab merge request code reviews, a token with api scope is required. Make sure that the token is created by a GitLab user who has the Maintainer access role.
True
False
No
Setting it to True activates general code review comments to identify functional issues. If set to False, general code review will not be conducted.
bito_cli.bito.access_key
Yes
Bito Access Key is an alternative to standard email and OTP authentication.
git.provider
GITLAB
GITHUB
BITBUCKET
Yes, if the mode is CLI.
The name of git repository provider.
git.access_token
A valid Git access token provided by GITLAB or GITHUB or BITBUCKET
Yes
You can use a personal access token in place of a password when authenticating to GitHub/GitLab/BitBucket in the command line or with the API.
git.domain
A URL where Git is hosted.
No
It is used to enter the custom URL of self-hosted GitHub/GitLab Enterprise.
static_analysis
True
False
No
Enable or disable static code analysis, which is used to uncover functional issues in the code.
static_analysis_tool
fb_infer
astral_ruff
mypy
No
Comma-separated list of static analysis tools to run (e.g., fb_infer,astral_ruff,mypy).
linters_feedback
True
False
No
Enables feedback from linters like ESLint, golangci-lint, and Astral Ruff.
secret_scanner_feedback
True
False
No
Enables detection of secrets in code. For example, passwords, API keys, sensitive information, etc.
dependency_check
True
False
No
This feature is designed to identify security vulnerabilities in open-source dependency packages, specifically for JS/TS/Node.JS and GoLang. Without this input, reviews for security vulnerabilities will not be conducted.
dependency_check.snyk_auth_token
A valid authentication token for accessing Snyk's cloud-based security database.
No
If not provided, access to Snyk's cloud-based security database for checking security vulnerabilities in open-source dependency packages will not be available.
code_context
True
False
No
Enables enhanced code context awareness.
server_port
A valid and available TCP port number.
No
This is applicable when the mode is set to server. If not specified, the default value is 10051.
review_comments
1
2
No
Set the value to 1 to display the code review in a single post, or 2 to show code review as inline comments, placing suggestions directly beneath the corresponding lines in each file for clearer guidance on improvements.
The default value is 2.
review_scope
security
performance
scalability
codeorg
codeoptimize
No
Specialized commands to perform detailed analyses on specific aspects of your code. You can provide comma-separated values to perform multiple types of code analysis simultaneously. Learn more
include_source_branches
Glob/regex pattern.
No
Comma-separated list of branch patterns (glob/regex) to allow as pull request sources.
include_target_branches
Glob/regex pattern.
No
Comma-separated list of branch patterns (glob/regex) to allow as pull request targets.
exclude_files
Glob/regex pattern.
No
A list of files/folders that the AI Code Review Agent will not review if they are present in the diff.
By default, these files are excluded: *.xml, *.json, *.properties, .gitignore, *.yml, *.md
Learn more
exclude_draft_pr
True
False
No
A binary setting that enables/disables automated review of pull requests (PR) based on the draft status.
The default value is True which skips automated review of draft PR.
Learn more
cra_version
latest
Any specific version tag
No
Sets the agent version to run (latest or a specific version tag).
post_as_request_changes
True
False
No
Posts feedback as 'Request changes' review comments. Depending on your organization's Git settings, you may need to resolve all comments before merging.
support_email
Email address
No
Contact email shown in error messages.
suggestion_mode
essential
comprehensive
No
Controls AI suggestion verbosity. Available options are essential and comprehensive.
In Essential mode, only critical issues are posted as inline comments, and other issues appear in the main review summary under "Additional issues".
In Comprehensive mode, Bito also includes minor suggestion and potential nitpicks as inline comments.
3.23.173.30
18.216.64.170











From next screen, click Authorize with your Linear account. This allows you to securely connect Bito to your Linear workspace using OAuth.
You will be redirected to Linear's authorization page. Sign in to Linear if prompted, then grant Bito access to your Linear workspace. Click Authorize to continue. Once authorized, Bito completes the connection automatically and redirects you back to the Bito dashboard.
Only issues and comments from selected Linear teams will trigger AI Architect analysis, events from unselected teams are ignored.
You can update your team selection at any time.
Saving an empty selection effectively pauses Bito for that workspace without fully disconnecting.
Automatically triggers analysis when a Linear issue is created or updated.
Linear Analysis Enabled
Trigger on-demand analysis using @bito, /bito, or #bito in comments. Alternatively, add the labels bito, bito-analyse, or bito-analyze to the issue.
Whether to generate a full plan or post a guidance comment when an issue is created or updated.
"Insufficient permissions. Creating webhooks in Linear requires the 'admin' OAuth scope, which is granted only when a Linear workspace admin completes the connection. Ensure the connecting user is a workspace admin and try again."
Generic / unknown failure
"Something went wrong. Please try again later. If the issue persists, check your Linear settings or contact support."
@bito analyze technical feasibility



Linear Auto Analysis Enabled
Click Authorize with your Google account. You will be redirected to Google's site to grant Bito access to your documents (Google Docs, Sheets, Slides, and Drive). This uses OAuth to securely link your documents.
Review the requested permissions, click the Select all checkbox to grant all permissions, and then click Continue.
After successful authorization, you will be redirected to Bito, where a success message confirms the connection.
Docs, Sheets, Slides
Read a document
Read the contents of a Doc, Sheet, or Slide deck
Docs, Sheets, Slides
Create a Doc
Create a new Google Doc (for example, a plan or summary)
Docs only
Update a Doc
Edit the contents of an existing Google Doc
Docs only
Read spreadsheet content
Google Slides
Read-only
Read presentation content
Google Drive
Browse and search
Browse folders and search files by name or content

Secret: Enter your GitHub Personal Access Token (Classic) with repo access. We do not support fine-grained tokens currently. For more information, see the Prerequisites section.
Commit your changes.
uses: myorg/gitbito-bitocodereview@main
/review codeorg: Scans for readability and maintainability, promoting clear and efficient code organization.
/review codeoptimize: Identifies optimization opportunities to enhance code efficiency and reduce resource usage.
















Bitbucket (Self-Managed)
/review codeorg: Scans for readability and maintainability, promoting clear and efficient code organization.
/review codeoptimize: Identifies optimization opportunities to enhance code efficiency and reduce resource usage.













Exclude all files, folders and subfolders in folder starting with resources
resources/
resources/application.properties, resources/config/config.yaml
app/resources/file.txt, config/resources/service.properties
Exclude all files, folders and subfolders in folder src/com/resources
src/com/resources/
resources/application.properties, resources/config/config.yaml
app/resources/file.txt, config/resources/service.properties
Exclude all files, folders and subfolders in subfolder resource and in parent folder src
src/*/resource/*
src/com/resource/main.html,
src/com/resource/script/file.css, src/com/resource/app/script.js
src/resource/file.txt, src/com/config/file.txt, app/com/config/file.txt
Exclude non-css files from folder src/com/resource/ and subfolders
^src\/com\/resource\\/(?!.*\\.css$).*$
src/com/resource/main.html, src/com/resource/app/script.js,
src/com/config/file.txt
src/com/resource/script/file.css
Exclude specific file controller/webhook_controller.go
controller/webhook_controller.go
controller/webhook_controller.go
controller/controller.go, controller/webhook_service.go
Exclude non-css files from folder starting with config and its subfolders
^config\\/(?!.*\\.css$).*$
config/server.yml, config/util/conf.properties
config/profile.css, config/styles/main.css
Exclude all files & folders
*
resource/file.txt, config/file.properties, app/folder/
-
Exclude all files & folders starting with name bito in module folder
module/bito*
module/bito123, module/bitofile.js, module/bito/file.js
module/filebito.js, module/file2.txt, module/util/file.txt
Exclude single-character folder names
*/?/*
src/a/file.txt, app/b/folder/file.yaml
folder/file.txt, ab/folder/file.txt
Exclude all folders, subfolders and files in those folders except folder starting with service folder
^(?!service\\/).*$
config/file.txt, resources/file.yaml
service/file.txt, service/config/file.yaml
Exclude all files in all folders except .py, .go, and .java files
^(?!.*\\.(py|go|java)$).*$
config/file.txt, app/main.js
main.py, module/service.go, test/Example.java
Exclude non-css files from folder src/com/config and its subfolders
^config\\/(?!.*\\.css$).*$
config/server.yml, config/util/conf.properties
config/profile.css, config/styles/main.css
Include any branch that does not start with BITO-
^(?!BITO-).*
feature-123, release-v1.0
BITO-feature, BITO-123
Include any branch which is not BITO
^(?!BITO$).*
feature-BITO, development
BITO
Include branches like release/v1.0 and release/v1.0.1
release/v\\d+\\.\\d+(\\.\\d+)?
release/v1.0, release/v1.0.1
release/v1, release/v1.0.x
Include any branch ending with -test
*-test
feature-test, release-test
test-feature, release-testing
Include the branch that has keyword main
main
main, main-feature, mainline
master, development
Include the branch named main
^main$
main
main-feature, mainline, master, development
Include any branch name that does not start with feature- or release-
^(?!release-|feature-).*$
hotfix-123, development
feature-123, release-v1.0
Include branches with names containing digits
.*\\d+.*
feature-123, release-v1.0
feature-abc, main
Include branches with names ending with test or testing
.*(test|testing)$
feature-test, bugfix-testing
testing-feature, test-branch
Include branches with names containing a specific substring test
*test*
feature-test, test-branch, testing
feature, release
Include branches with names containing exactly three characters
^.{3}$
abc, 123
abcd, ab
Include branch names starting with release, hotfix, or development but not starting with Bito or feature
^(?!Bito|feature)(release|hotfix|development).*$
release-v1.0, hotfix-123, development-xyz
Bito-release, feature-hotfix, main-release
Include all branches where name do not contains version like 1.0, 1.0.1, etc.
^(?!.\\b\\d+\\.\\d+(\\.\\d+)?\\b).*
feature-xyz, main
release-v1.0, hotfix-1.0.1
Include all branches which are not alphanumeric
^.[^a-zA-Z0-9].$
feature-!abc, release-@123
feature-123, release-v1.0
Include all branches which contains space
.*\\s.*
feature 123, release v1.0
feature-123, release-v1.0



Your Bito Workspace ID or full Bito MCP URL
You can find your Bito MCP URL on the AI Architect settings > MCP settings page.
You can find your Bito Workspace ID on the Workspace settings page.
Your Bito MCP Access Token — optional. If omitted, the installer configures the MCP client to complete SSO/OAuth against the server on first use. Most modern IDE MCP clients (Claude Code, Cursor, Windsurf, VS Code, Junie, JetBrains via mcp-remote) support this. Bito MCP advertises OAuth 2.1 discovery (PKCE, Dynamic Client Registration) at https://mcp.bito.ai/{workspace}/.well-known/oauth-authorization-server.
Your email ID (for tracking/identification)
At least one supported tool installed:
Claude Code
Cursor
Windsurf
VS Code (GitHub Copilot)
GitHub Copilot CLI
Junie
Google Antigravity (IDE + agy CLI)
JetBrains AI Assistant
OpenAI Codex CLI
Our automated installer will prompt you for credentials and automatically configure all supported AI tools available on your system.
Open your terminal and run:
Run in PowerShell (not Command Prompt).
1. One-time PowerShell setup (first time only):
By default, PowerShell blocks scripts from running. Run this once to allow signed scripts to execute:
Per-user, no admin required.
2. Run the installer:
The script will prompt you for credentials and automatically configure all detected IDEs.
The installer downloads the necessary files and checks for compatible tools
You'll be prompted to enter your credentials
Refer to the Prerequisites section for more details.
Automatic configuration - All detected tools are configured
Agent skills installed - are downloaded and installed for your configured tools
Guidelines configured - Bito's AI Architect guidelines file is automatically configured globally on Claude Code and Windsurf. To apply guidelines at the project level, see the Add guidelines section below.
Confirmation - You'll see which tools were successfully set up
Check that AI Architect appears in your tool's MCP server list:
Claude Code: Run claude mcp list
GitHub Copilot CLI: Run copilot mcp list (or /mcp in a copilot session)
OpenAI Codex CLI: Run codex mcp list (or /mcp in a codex session)
Cursor: Settings → MCP → Check server list
Windsurf: Settings → Cascade → MCP Servers
VS Code: Copilot Chat → Tools icon
Junie: Settings → Tools → Junie → MCP Settings
Antigravity (IDE + agy CLI): Click "..." menu > MCP Servers > View raw config, or run /mcp in agy
JetBrains AI Assistant: Settings → Tools → AI Assistant → Model Context Protocol
The contains best practices, usage instructions, and prompting guidelines for the Bito's AI Architect MCP server. Adding it to your project helps your AI coding agent interact with Bito's AI Architect more effectively and get better results out of every query.
If you are on Claude Code or Windsurf, the installer automatically adds the guidelines file globally, covering all your projects. If you'd also like to apply guidelines at the project level for a specific project, run the relevant command below inside that project directory.
If you are on Cursor, VS Code (GitHub Copilot), Junie, or JetBrains AI Assistant, guidelines are not configured automatically by the installer. Run the relevant command below manually inside each project directory where you want the guidelines to apply. This is a per-project step, so repeat it whenever you start working in a new project.
To add Bito's AI Architect guidelines to your project, run the following commands based on your coding agent:
Claude Code:
Cursor:
Open a chat or conversation in your AI tool and try a test query to confirm AI Architect is working:
"What repositories are available in my organization?"
"Show me all Python repositories"
To remove Bito AI Architect from all tools:
Open your terminal and run:
Run in PowerShell (not Command Prompt).
If you haven't already done so during install, run this once to allow signed scripts:
After that run the following command:
If you prefer to configure tools individually or need to set up web-based tools (Claude.ai, ChatGPT), refer to our detailed integration guides:
"Command not found" or similar errors:
Verify you're using the correct shell (bash for macOS/Linux, PowerShell for Windows)
Check your internet connection
Try running the command again
No tools detected:
Ensure your AI tools are installed before running the installer
The installer only configures tools it can detect on your system
You can run the installer again after installing new tools
Verify Bito MCP URL and Bito MCP Access Token are correct.
Test endpoint with MCP protocol:
Server not appearing after install:
Completely restart your AI tool (don't just reload)
Verify your credentials were entered correctly
Check that you have the minimum required versions (see below)
Some tools require specific versions:
Node.js 20.18.1+ for Claude Desktop, VS Code, and JetBrains
VS Code 1.99+ with Agent Mode enabled
JetBrains 2025.1+ with AI Assistant plugin 251.26094.80.5+
Check Node.js version:
If you need to install or update Node.js, visit nodejs.org
If skills are not visible in your IDE after installation:
Verify files exist: ls ~/.claude/skills/bito-*/SKILL.md (Claude) or ls ~/.cursor/rules/bito-*.mdc (Cursor)
Restart your IDE completely
Check that jq is installed (required for manifest parsing): jq --version
Re-run the install script — skills installation is idempotent
If hooks are not triggering:
Verify your IDE version supports hooks (Cursor hooks are in beta, VS Code hooks are preview)
Check that the hook configuration wasn't overwritten by another tool
Re-run the install script to restore hook configuration
curl -fsSL https://mcp-setup.bito.ai/install.sh | bashSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserirm https://mcp-setup.bito.ai/install.ps1 | iexcurl -fsSL https://mcp-setup.bito.ai/uninstall.sh | bashSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserirm https://mcp-setup.bito.ai/uninstall.ps1 | iexcurl -s -X POST \
-H "Authorization: Bearer <Your-Bito-MCP-Access-Token>" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{},"id":1}' \
<Your-Bito-MCP-URL>
# Should return HTTP 200 with JSON response for valid credentials
# HTTP 401: Invalid Bito MCP Access Token
# HTTP 404: Invalid Bito MCP URLnode --versionStory breakdown — For Epics, a full decomposition into Stories with acceptance criteria, dependencies, and recommended execution order across sprints.
Effort estimates — Both traditional and agentic estimates, with a breakdown of where AI tooling saves the most time and where it doesn't.
Proactive risk detection — Race conditions in concurrent flows, memory leak patterns, regression-prone areas, API rate-limiting gaps, security concerns. Each risk comes with a suggested mitigation drawn from your team's actual history.
Historical pattern insights — AI Architect references past tickets to flag issues your team has already encountered. For example: "A similar concurrency issue took 3 sprints to resolve in PROJ-456 — consider redesigning the locking strategy before implementing this."
Open questions — Technical decisions that need to be made before implementation begins, so they don't surface mid-sprint.
The plan is in Markdown. Engineers can paste it directly into Cursor, Claude Code, or any other coding agent to start implementation with full architectural context already loaded.
AI Architect can be set up using one of the following deployment options:
AI Architect is managed and maintained by Bito.
Follow the Bito-hosted installation guide to get started.
If AI Architect isn't already active for your workspace, contact the Bito team at support@bito.ai to enable it.
AI Architect is deployed and managed within your own infrastructure.
Follow the to set up and configure AI Architect for your workspace.
Bito supports two ways to connect with Jira, depending on where your Jira instance is hosted:
Jira Cloud: for Jira sites hosted by Atlassian (e.g., https://mycompany.atlassian.net).
Jira Data Center: for Jira instances hosted on your own company domain or servers (e.g., https://jira.mycompany.com).
After connecting, Bito will display a list of projects from your Jira site that Bito has access to.
To enable or disable projects, go to the page and open the Jira tab, where you can select the Jira projects you want Bito to listen to and enable them using the toggle switch.
Only Epics, Stories, and comments from selected Jira projects will trigger AI Architect analysis — events from unselected projects are ignored.
Two flags control how AI Architect behaves on your tickets. Contact the Bito team at to enable them — a self-serve UI toggle is coming soon.
When enabled, AI Architect listens for new or updated Epics and Stories and posts the implementation plan automatically, no action needed from the ticket creator.
Trigger analysis manually on any ticket by using any of the following in a Jira comment:
Or by adding one of these labels to the ticket:
By default, when auto-analysis is enabled, AI Architect generates a plan for every new or updated Epic or Story. Auto triage adds a layer of intelligence before that happens: it evaluates whether a ticket actually needs a detailed implementation plan, and skips generating one if it doesn't.
This keeps your tickets clean and avoids generating plans for work that is already well-defined or straightforward enough to implement without one.
When a Story or Epic is created or updated, AI Architect reads the full ticket — title, description, comments, attachments, linked issues, and any associated Confluence pages — and assigns a complexity score from 1 to 10.
Below threshold (default: 7)
Plan is skipped. An optional comment is posted on the ticket.
At or above threshold
Implementation plan is generated as usual.
When a ticket is below the threshold, AI Architect posts the following comment:
AI Architect — This ticket doesn't appear to need a detailed implementation plan based on its scope and complexity. If you'd like one anyway, type @Bito with what you want (example:
@Bito technical plan)
When evaluating a ticket, AI Architect can read attachments in the following formats:
.pdf
.docx
.xlsx
.csv
.json
.yaml
.zip
The following settings control how auto triage behaves for your workspace. Contact the Bito team at support@bito.ai to configure these.
Complexity threshold
Default: 7
Minimum score required for a plan to be generated.
Auto analysis type
plan
comment
When Bito's plan misses something, or you want to correct an assumption, you can teach it directly in a Jira ticket comment. That feedback is added to your team's knowledge graph, so future plans — on this ticket or any other — reflect what you taught it.
Examples:
AI Architect draws on multiple sources when it analyzes a ticket:
Your codebase — All your repositories, services, API endpoints, modules, and design patterns are indexed into a knowledge graph. AI Architect understands how your system fits together, not just what individual files contain.
Your Jira history — AI Architect analyzes your team's Jira tickets and categorizes recurring patterns: race conditions across subsystems, services with instability histories, security and credential issues, error handling gaps, API rate-limiting problems. This context is applied to every new ticket so your team doesn't repeat what's already been learned.
Other context sources — AI Architect also incorporates insights from Confluence documents, Linear, observability data, Slack messages, and any custom instructions you provide.
AI Architect works through purpose-built agentic skills. The important agent skill that run in Jira is:
bito-build-plan — Convert any unit of work (story, ticket, feature brief, epic, PRD) into a sprint-ready implementation plan with effort estimates
AI Architect uses different skill selection logic depending on the Jira issue type.
Story
Always uses bito-build-plan
Epic
Always uses bito-build-plan
All other types (Bug, Task, Sub-task, etc.)
For Bugs, Tasks, and other issue types, AI Architect reads the intent of your latest comment and automatically picks the most appropriate skill from its full library. For example, a comment like "is this feasible?" triggers bito-feasibility, while "spike on this approach" triggers bito-spike. If the intent is ambiguous, AI Architect falls back to bito-build-plan.
@bito
/bito
#bitobito
bito-analyse
bito-analyze@bito remember that "Cerberus" refers to our internal auth service, not the open-source library
@bito FYI — staging deploys go through the deploy-staging job, not deploy-stg
@bito that's not right, our retry budget is 3 attempts, not 5SVG files are supported as images only. Binary image attachments (.png, .jpg, .gif, .webp) are not yet supported, full image support is coming soon.
kubectlBoth self-hosted deployments run the same gwctl command inside the gateway, so each section repeats it with the prefix that deployment needs.
The examples use bito-gateway as the namespace and gw as the Helm release name, matching the setup guides. Substitute your own where they differ.
For the full setup procedures, see Set up Bito Governor (self-hosted with Docker) and Set up Bito Governor (self-hosted with Kubernetes).
curl -fsSL https://gwinstall.bito.ai/latest/install-standalone.sh | bash
Installs Governor on Linux or macOS.
irm https://gwinstall.bito.ai/latest/install-standalone.ps1 | iex
Installs Governor on Windows, in PowerShell.
Everything installs under ~/.bito-gateway, or %USERPROFILE%\.bito-gateway on Windows. Set BITO_GW_HOME to install elsewhere, and PORT to serve on a port other than 8788.
bito-gateway-ctl is installed on your PATH, including on Windows through a .cmd shim, and runs from any directory.
bito-gateway-ctl status
Reports whether Governor is running.
bito-gateway-ctl health
Runs the /healthz check and a deep self-check.
bito-gateway-ctl logs
gwctl lives inside the gateway container, and bito-gateway-ctl forwards to it.
bito-gateway-ctl gwctl quickstart
Walks through creating a workspace, key, provider account, and route.
bito-gateway-ctl gwctl connect <tool>
Prints the setup for a coding tool. Accepts claude, cursor, codex, copilot, cline, continue, and aider.
bito-gateway-ctl gwctl doctor
bito-gateway-ctl gwctl admin create --role global
Creates an admin with full access. Prints the token once.
bito-gateway-ctl gwctl admin create --role workspace --workspace <id>
Creates an admin scoped to one workspace.
bito-gateway-ctl gwctl admin list
mysqldump bito_gateway > backup.sql
Backs up every workspace, key, account, route, and your encrypted provider credentials.
Back up CRYPTO_ENV_KEK_KEY from ~/.bito-gateway/.env alongside the dump. Without it, the credentials in the dump cannot be decrypted.
bito-gateway-ctl uninstall
Removes the containers and keeps your database volume and secrets.
bito-gateway-ctl uninstall --purge
Also deletes the database volume and the key encryption key. This is irreversible.
On a native systemd install rather than Docker, manage the service directly. gwctl is on your PATH, so call it without the wrapper.
sudo systemctl start bito-gateway
Starts Governor. Also accepts stop, restart, and status.
journalctl -u bito-gateway -f
Follows the logs.
kubectl config current-context
Shows which cluster your commands will apply to. Check this before installing.
kubectl config get-contexts
Lists every cluster you can reach.
helm install gw oci://registry-1.docker.io/bitoai/bito-gateway-helm --namespace bito-gateway -f my-values.yaml
Installs with your own values file.
helm show chart oci://registry-1.docker.io/bitoai/bito-gateway-helm
Shows what a chart version contains, without installing it.
helm pull oci://registry-1.docker.io/bitoai/bito-gateway-helm --untar
Add --version X.Y.Z to any of these to pin a chart version.
kubectl -n bito-gateway rollout status deploy/gw-bito-gateway --timeout=5m
Waits for the gateway to finish rolling out.
kubectl -n bito-gateway get pods
Lists every pod and its status.
kubectl -n bito-gateway get svc
kubectl -n bito-gateway port-forward svc/gw-bito-gateway 8788:8788
Makes Governor available on your own machine at http://localhost:8788, while the command runs.
kubectl -n bito-gateway get secret bito-gateway-secrets -o jsonpath='{.data.ADMIN_TOKEN}' | base64 -d
Prints your admin token. Kubernetes stores Secret values base64 encoded, so base64 -d decodes it.
gwctl ships inside the gateway image and reads the database settings the pod already has. Substitute the workspace ID that workspace create prints.
kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl workspace create --name demo
Creates a workspace and prints its ID.
kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl key create --workspace <ID> --name demo
Creates a gateway key. Prints the gw_sk_ key once.
kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl account add --workspace <ID> --provider anthropic --key <YOUR PROVIDER KEY>
kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl admin create --role global
Creates an admin with full access. Prints the token once.
kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl admin create --role workspace --workspace <id>
Creates an admin scoped to one workspace.
kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl admin list
kubectl -n bito-gateway rollout restart deploy/gw-bito-gateway
Rolls the pods. Run this after rotating a value in a Secret you own, because the chart cannot see that change.
helm rollback gw <revision> -n bito-gateway
Returns the pods to a previous revision. The database keeps the newer schema.
helm history gw -n bito-gateway
helm uninstall gw -n bito-gateway
Removes the release and keeps your data. The PersistentVolumeClaims are annotated to be kept.
kubectl -n bito-gateway delete pvc gw-bito-gateway-mysql
Deletes the database volume. This is irreversible.
kubectl -n bito-gateway delete pvc gw-bito-gateway-redis
Contact for deployment assistance
kubectl create namespace bito-gatewaykubectl create secret generic bito-gateway-secrets \
--namespace bito-gateway \
--from-literal=DB_PASSWORD="$(openssl rand -base64 24 | tr -d '/+=')" \
--from-literal=CRYPTO_ENV_KEK_KEY="$(openssl rand -base64 32)" \
--from-literal=MYSQL_ROOT_PASSWORD="$(openssl rand -base64 24 | tr -d '/+=')" \
--from-literal=ADMIN_TOKEN="$(openssl rand -base64 32 | tr -d '/+=')"helm install gw oci://registry-1.docker.io/bitoai/bito-gateway-helm \
--namespace bito-gateway \
--set secrets.existingSecret=bito-gateway-secretshelm upgrade gw oci://registry-1.docker.io/bitoai/bito-gateway-helm \
--namespace bito-gateway -f my-values.yaml --timeout 1800sIf your GitLab organization enforces SAML Single Sign-On (SSO), you must authorize your Personal Access Token through your Identity Provider (IdP); otherwise, Bito's AI Code Review Agent won't function properly.
For more information, please refer to the following GitLab documentation:
Follow the step-by-step instructions below to install the AI Code Review Agent using Bito Cloud:
Log in to Bito Cloud and select a workspace to get started.
Click Repositories under the CODE REVIEW section in the sidebar.
Bito supports integration with the following Git providers:
GitHub
GitHub (Self-Managed)
GitLab
GitLab (Self-Managed)
Bitbucket
Bitbucket (Self-Managed)
Since we are setting up the Agent for GitLab (Self-Managed) server, select GitLab (Self-Managed) to proceed.
To enable merge request reviews, you’ll need to connect your Bito workspace to your GitLab (Self-Managed) server.
You need to enter the details for the below mentioned input fields:
Hosted GitLab URL: This is the domain portion of the URL where you GitLab Enterprise Server is hosted (e.g., https://yourcompany.gitlab.com). Please check with your GitLab administrator for the correct URL.
Personal Access Token: Generate a GitLab Personal Access Token with api scope in your GitLab (Self-Managed) account and enter it into the Personal Access Token input field. For guidance, refer to the instructions in the Prerequisites section.
Click Validate to ensure the token is functioning properly.
If the token is successfully validated, you can select your GitLab Group from the dropdown menu.
Note: You can select multiple groups after the setup is complete.
Click Connect Bito to GitLab to proceed.
After connecting Bito to your GitLab self-managed server, you'll see a list of repositories that Bito has access to.
Use the toggles in the Code Review Status column to enable or disable the Agent for each repository.
Once a repository is enabled, you can invoke the AI Code Review Agent in the following ways:
Automated code review: By default, the Agent automatically reviews all new merge requests and provides detailed feedback.
Manually trigger an incremental review: Type /review in the comment box on the merge request and submit it. This reviews only the changes made since the last review (such as new commits), keeping feedback focused on what's new.
Manually trigger a full review: Type /review full in the comment box and submit it to re-review the entire merge request from scratch, rather than only the latest changes.
The AI-generated code review feedback will be posted as comments directly within your merge request, making it seamless to view and address suggestions right where they matter most.
Bito also offers specialized commands that are designed to provide detailed insights into specific areas of your source code, including security, performance, scalability, code structure, and optimization.
/review security: Analyzes code to identify security vulnerabilities and ensure secure coding practices.
/review performance: Evaluates code for performance issues, identifying slow or resource-heavy areas.
/review scalability: Assesses the code's ability to handle increased usage and scale effectively.
/review codeorg: Scans for readability and maintainability, promoting clear and efficient code organization.
/review codeoptimize: Identifies optimization opportunities to enhance code efficiency and reduce resource usage.
By default, the /review command generates inline comments, meaning that code suggestions are inserted directly beneath the code diffs in each file. This approach provides a clearer view of the exact lines requiring improvement. However, if you prefer a code review in a single post rather than separate inline comments under the diffs, you can include the optional parameter: /review #inline_comment=False
For more details, refer to Available Commands.
Ask questions directly to the AI Code Review Agent regarding its code review feedback. You can inquire about highlighted issues, request alternative solutions, or seek clarifications on suggested fixes.
To start the conversation, type your question in the comment box within the inline suggestions on your merge request, and then submit it. Typically, Bito AI responses are delivered in about 10 seconds. On GitHub and Bitbucket, you need to manually refresh the page to see the responses, while GitLab updates automatically.
Bito supports over 20 languages—including English, Hindi, Chinese, and Spanish—so you can interact with the AI in the language you’re most comfortable with.
Agent settings let you control how reviews are performed, ensuring feedback is tailored to your team’s needs. By adjusting the options, you can:
Make reviews more focused and actionable.
Apply your own coding standards.
Reduce noise by excluding irrelevant files or branches.
Add extra checks to improve code quality and security.
Bito Cloud allows you to connect and manage multiple GitLab groups for GitLab (Self-Managed) integrations. Use the instructions below to add or remove GitLab groups for AI code reviews.
You can connect more than one GitLab group to Bito for AI code reviews.
Follow these steps to add additional groups:
Go to the Repositories page.
At the top-center of the page, click the “+” (plus) icon next to the currently selected GitLab group name, then select Add group from the dropdown menu.
A popup will appear. Use the dropdown menu to select a GitLab group you want to add.
Click the Add group button.
Once added, all repositories from that group will be listed and available for AI code reviews under the default agent.
To disconnect a GitLab group from Bito Cloud:
Go to the Repositories page.
At the top-center of the page, click the three dots icon next to the currently selected GitLab group name, then select Manage groups from the dropdown menu.
A popup will appear showing a list of connected groups. Click the “✕” (cross) icon next to the group you want to remove.
Confirm the removal in the prompt.
Once removed, the repositories from that group will no longer appear in Bito or be included in AI code reviews.
When you have multiple GitLab groups connected in Bito Cloud, the group name at the top-center of the Repositories page becomes a dropdown menu.
From this dropdown, you can:
Select a single group
Select multiple groups as needed
Select All groups
The list of repositories displayed below will update automatically based on your selection—showing only the repositories from the selected groups.
Follows the gateway logs. Press Ctrl+C to stop.
bito-gateway-ctl start
Starts Governor, and applies any changes to the .env file.
bito-gateway-ctl stop
Stops Governor and keeps your data.
bito-gateway-ctl restart
Restarts Governor.
bito-gateway-ctl update
Pulls a newer image and restarts.
Validates the database, schema, and key encryption key.
bito-gateway-ctl gwctl <command> -h
Shows help for any command.
Lists existing admins.
bito-gateway-ctl gwctl admin revoke <id>
Revokes an admin.
Downloads and unpacks the chart, including the example values files.
ls bito-gateway-helm/values-*.yaml
Lists the example values files after unpacking.
Lists the services and their cluster IPs.
kubectl -n bito-gateway logs deploy/gw-bito-gateway
Shows the gateway logs.
kubectl -n bito-gateway logs deploy/gw-bito-gateway-mysql
Shows the database logs.
helm list -n bito-gateway
Lists the Helm releases in the namespace, with their status and chart version.
Adds a provider account.
kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl route add --workspace <ID> --alias '*' --provider anthropic
Adds a route.
kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl connect <tool>
Prints the setup for a coding tool.
kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl doctor
Validates the database, schema, and key encryption key.
Lists existing admins.
kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl admin revoke <id>
Revokes an admin.
Lists the revisions you can roll back to.
Deletes the counter store volume.
kubectl -n bito-gateway delete job,configmap,serviceaccount,secret gw-bito-gateway-migrate --ignore-not-found
Removes the migration objects, which Helm leaves behind.











3.23.173.30
18.216.64.170




















VS Code (GitHub Copilot):
Junie:
JetBrains AI Assistant:
"List the available tools"
"What are the dependencies of [repo-name]?"
"Find all microservices using Redis"
"Show me repository clusters in our organization"
"Plan a new feature for [component]"
(uses bito-feature-plan skill)
"Write a PRD for [feature]"
(uses bito-prd skill)
"Help me triage this production issue"
(uses bito-production-triage skill)
If you receive accurate responses about your codebase, the setup is complete!
Replace <Your-Bito-Workspace-ID> with your actual Bito workspace ID, which you can find after logging into your Bito account at alpha.bito.ai
Replace <Your-Bito-MCP-Access-Token> with the Bito MCP Access Token you received after completing the AI Architect setup.
cd /path/to/your/project
curl -sSL "https://mcp-setup.bito.ai/BitoAIArchitectGuidelines.md" -o CLAUDE.mdcd /path/to/your/project
curl -sfL "https://mcp-setup.bito.ai/BitoAIArchitectGuidelines.md" -o .cursorrulescd /path/to/your/project
mkdir -p .windsurf/rules
curl -sfL "https://mcp-setup.bito.ai/BitoAIArchitectGuidelines.md" -o .windsurf/rules/bitoai-architect.mdcd /path/to/your/project
mkdir -p .github
curl -sfL "https://mcp-setup.bito.ai/BitoAIArchitectGuidelines.md" -o .github/copilot-instructions.mdcd /path/to/your/project
mkdir -p .junie
curl -sfL "https://mcp-setup.bito.ai/BitoAIArchitectGuidelines.md" -o .junie/guidelines.mdcd /path/to/your/project
mkdir -p .aiassistant/rules
curl -sfL "https://mcp-setup.bito.ai/BitoAIArchitectGuidelines.md" -o .aiassistant/rules/bitoai-architect.mdNavigate to the Manage integrations page in your Bito dashboard
In the Available integrations section, you will see Jira. Click Connect to proceed.
Select the option Jira Cloud. You will be redirected to the official Jira website, where you need to grant Bito access to your Atlassian account.
Click Accept to continue. If the integration is successful, you will be redirected back to Bito.
Navigate to the Manage integrations page in your Bito dashboard
In the Available integrations section, you will see Jira. Click Connect to proceed.
Select the option Jira Data Center (self-managed).
Provide connection details:
Domain URL: Enter the base URL for your Jira instance (e.g. https://jira.mycompany.com).
Personal Access Token: Enter a valid Personal Access Token with admin permissions. Read the official Jira documentation to learn how to create a Personal Access Token.
Click Connect to Jira. You will be redirected to your self-hosted Jira website, where you need to grant Bito access to your Jira account.
Click Allow to continue. If the integration is successful, you will be redirected back to Bito.
Saving an empty selection effectively pauses Bito for that Jira site without fully disconnecting.
Automatically triggers analysis when an Epic or Story is created or updated.
Jira Analysis Enabled
Trigger on-demand analysis using @bito, /bito, or #bito in comments.
Alternatively, add the labels bito, bito-analyse, or bito-analyze to the ticket.
Whether to generate a full plan or post a guidance comment when a ticket is created or updated.
Dynamically selected based on your comment
@bito analyze technical feasibility

Jira Auto Analysis Enabled
Use Confluence as context for AI Architect's analysis, and create, update, and manage pages from Jira or Slack — without leaving your workflow.
Your team's documentation lives in Confluence — design decisions, RFCs, runbooks, acceptance criteria, architecture notes. Bito's AI Architect reads that documentation and uses it as context whenever it analyzes Jira tickets, answers questions in Slack, or generates implementation plans. And it can write back to Confluence too — creating pages, updating content, adding labels, leaving comments, and managing attachments — all from inside Jira or Slack, without ever switching tabs.
Once you connect Confluence, AI Architect treats it as a first-class context source alongside your code, Jira tickets, and team conversations in Slack.
Automatic context on Jira plans — When AI Architect generates an implementation plan for a Jira Epic or Story, any Confluence pages linked to that ticket are pulled in automatically. Recommendations, risk assessments, and effort estimates reflect what's already documented.
Reads page attachments — Attachments on Confluence pages are read along with the page content, so design specs, requirement docs, and reference data attached to a page all factor into the plan.
Surfaces information in Slack — When you paste a Confluence link into a Slack thread, the reads the linked page and uses it to answer questions, summarize, or compare against the discussion.
You can ask AI Architect — through Jira comments or Slack — to create and maintain Confluence content for you.
Supported operations:
No browser tab required — the same Jira ticket or Slack thread where you're already working can drive your wiki.
When AI Architect reads attachments from Confluence pages (whether for context or when you ask about a specific file), the following formats are supported:
.pdf
.docx
.xlsx
…and other common document formats.
AI Architect can be set up using one of the following deployment options:
AI Architect is managed and maintained by Bito.
Follow the to get started.
If AI Architect isn't already active for your workspace, contact the Bito team at to enable it.
AI Architect is deployed and managed within your own infrastructure.
If you've already linked a Confluence page to a Jira ticket — for example, an RFC, design doc, or product brief — there's nothing more to do. When AI Architect generates a plan for that ticket, it reads the linked Confluence pages (and their attachments) and folds them into the analysis.
Example: A Story links to a Confluence page that documents the team's preferred retry strategy. AI Architect's plan will reference that strategy directly, instead of suggesting a generic approach.
Paste a Confluence URL into a Slack thread and ask AI Architect about it.
Examples:
The Bito AI Assistant reads the page, factors it into the thread context, and responds with answers grounded in your documentation.
Ask AI Architect to write to Confluence directly from a Jira ticket comment.
Examples:
The same operations work from Slack threads.
Examples:
Once Confluence is connected, it becomes one of several context sources AI Architect uses:
Your codebase — All your repositories, services, API endpoints, modules, and design patterns are indexed into a knowledge graph.
Your Jira/Linear history — Recurring patterns from past tickets: race conditions, fragile services, security gaps, error-handling issues.
Your Confluence documentation — RFCs, design docs, runbooks, acceptance criteria, and any attached specifications.
When you connect Confluence, Bito requests access to your Atlassian account via OAuth. The integration requests read, write, and delete permissions across Confluence content so AI Architect can both pull pages into analysis and act on them when you ask it to.
Delete
Delete comments on content.
Delete custom content.
Delete pages.
Delete attachments.
View
View comments on pages or blogposts.
View custom content.
View page content.
Read connect app properties data
Update
Create and update comments on content.
Create and update custom content.
Create and update pages.
create, modify and delete app properties data
Check:
Is Confluence connected in ?
Is the Confluence page actually linked to the Jira ticket — either via a link in the ticket description/comments, or via the Jira Issue macro on the Confluence page?
Does the OAuth user used to connect Confluence have access to the page in question? Bito sees only what that user can see.
Check:
Is the attachment in a supported format (.pdf, .docx, .xlsx, .csv, .json, .yaml, .zip, or similar)?
Is the attachment under your Confluence instance's size limits?
If Bito reports that it can't access Confluence:
Go to and reconnect Confluence.
Confirm the Atlassian account used has access to the spaces and pages you expect AI Architect to read or write to.
Confluence Data Center is not yet supported. Support for self-hosted Confluence is coming soon for both Bito-hosted and Self-hosted AI Architect. In the meantime, contact to be notified when it's available.
No. AI Architect reads Confluence pages on demand:
Pages linked to a Jira ticket it's analyzing
Pages referenced by URL in a Slack thread where it's mentioned
Pages you explicitly ask it to read, create, update, or delete
It does not crawl or index your full Confluence instance.
Yes — at the Atlassian/Confluence level. The OAuth user used to connect Confluence to Bito determines what AI Architect can see. Restrict that user's space access in Confluence to control what's reachable.
No. Write and delete operations happen only when you explicitly request them through a Jira comment or Slack message.
Connect Confluence to your Bito workspace via .
Link your design docs and RFCs to the Jira tickets that reference them — AI Architect will pick them up automatically when you ask it to generate implementation plan.
Try writing back from Slack or Jira — ask AI Architect to create a Confluence page summarizing a thread or ticket, and see how it reads.
Combine with
Read comments
Read both footer and inline comments on a page
Add comment
Add a footer comment to any page
Upload attachment
Attach a file (design mock, spec, CSV, etc.) to a page
Delete page
Delete a page programmatically
.csv.json
.yaml
.zip
Follow the self-hosted installation guide to set up and configure AI Architect for your workspace.
In your Bito dashboard, go to the Manage integrations page.
Under Available integrations, find Confluence and click Connect.
Click Authorize with your Confluence account. You will be redirected to Atlassian's site to grant Bito access to your Confluence workspace. This uses OAuth to securely link your Confluence content.
Review the requested permissions and click Accept.
After successful authorization, Bito will display a list of spaces from your Confluence site that Bito has access to.
Delete databases.
Delete Smart Links.
Delete folders.
Delete whiteboards.
View blogpost content.
View information about the content. Note that this does not provide access to the content itself.
View properties associated with a content.
View email addresses of all users regardless of the user's profile visibility settings.
View Smart Link data, such as its content id and title
View details about groups including its members.
View children or descendants for hierarchical content, including pages, whiteboards, databases, folders and smart links
Search and view inline tasks.
View labels associated with the content or space.
View content restrictions and space permissions. Note that is only used for V2 APIs
View space permissions.
View properties associated with the space.
View space settings and themes.
View space details
View Confluence tasks. Note that is only used for V2 APIs
View content templates.
View properties associated with the user.
View user details.
View the watchers associated with the contents, spaces or labels.
View whiteboard data, such as its content id and title
View database data, such as its content id and title
View folder data, such as its content id and title
View the restrictions on the content.
Create and update attachments.
Add and remove labels associated with the content or space.
Create and update spaces.
Create, update and delete content templates.
Add and remove the watchers associated with content, spaces, or labels.
Create and update blogposts.
Create, update and delete properties associated with a content.
Update the restrictions on the content.
Create and update databases.
Create and update Smart Links.
Create and update folders.
Mark inline tasks as complete or incomplete.
Create and update whiteboards.
Create page
Create a new Confluence page in a given space
Update page
Edit the body or title of an existing page
Add labels
@Bito summarize this Confluence page and tell me what's missing
[Confluence link]
@Bito does the approach in this design doc conflict with PROJ-456?
[Confluence link]@bito create a Confluence page in the "Engineering" space summarizing the implementation plan above
@bito update the linked Confluence page with the decisions made on this ticket
@bito add the label "post-mortem" to the linked Confluence page@Bito create a Confluence page in the "Platform" space documenting the conclusions from this thread
@Bito leave a comment on this Confluence page noting that the API contract changed: [Confluence link]
@Bito attach this file to the linked Confluence page
@Bito delete the stale Confluence page at [Confluence link]Delete
Comments, Custom content, Page, Content attachments, Blogposts, Database, Smart Link, Folder, Whiteboard
View
Comments, Custom content, Page, App Properties, Content attachments, Blogpost, Content metadata, Content Property, email-address, Smart Link, Groups, Contents, Inline tasks, Labels, Task, Space permissions, Space properties, Space settings, Space details, Task, Content templates, User properties, User details, Content watchers, Whiteboard, Database, Folder, Content restrictions
Update
Add labels to a page for findability and categorization
Comments, Custom content, Page, App Properties, Content attachments, Labels, Space details, Content templates, Content watchers, Blogpost, Content Property, Content restrictions, Database, Smart Link, Folder, Inline tasks, Whiteboard
Get context-aware AI assistance in your team's Slack conversations
Bito AI Assistant brings powerful AI capabilities directly into your Slack workspace. Instead of switching between apps or losing context, you get instant AI assistance right where your team collaborates.
Ask Bito to help with planning, provide technical guidance, analyze code snippets, summarize lengthy threads, run a full code review on a PR or branch, or open merge requests. Bito reads the full thread context, understands shared files, and automatically pulls in information from Jira tickets and Confluence pages when you reference them.
With Bito in your Slack channels, you save time catching up on discussions, make faster technical decisions, and keep your team's knowledge accessible.
Click the button to add the Bito AI Assistant to your Slack.
Before you install Bito AI Assistant, ensure you have:
A Bito account with an active paid plan that includes Bito AI Assistant for Slack
AI Architect set up for your Bito account:
(Fully managed by Bito — no infrastructure setup required)
(Run AI Architect on your own infrastructure for maximum control)
Slack admin permissions to install apps in your workspace
Installation takes less than 2 minutes. Once complete, every team member in invited channels can interact with Bito.
Go to
Select your Slack workspace, review the requested permissions, and click Allow
Connect your Bito account when prompted
Mention @Bito in any message to get AI assistance. Bito reads the entire conversation thread, not just your message, so it understands the full context.
Example:
Bito analyzes the thread and generates a structured, actionable plan based on the discussion.
You can ask Bito questions in natural language. Be specific about what you need:
Good questions:
@Bito PROJ-456 is causing errors in production — here are the logs. Identify the root cause?
@Bito help us break this feature into smaller tasks
@Bito explain the difference between these two approaches
Tips for better responses:
Ask specific questions rather than general ones
Reference what you're asking about if the thread contains multiple topics
Use follow-up questions to dive deeper into a response
When you share files in a Slack thread, Bito automatically processes them and incorporates their content into its responses.
Supported file types:
Code files (.py, .js, .java, etc.)
Configuration files (.yaml, .json, .xml)
Unsupported file types:
Bito skips the following file types during processing. If any of these are attached to a Slack conversation, Bito will ignore them and continue processing the rest of the thread.
Executables & binaries: .exe, .dll, .so, .dylib, .a, .lib, .bin, .o, .obj, .sys,
Example workflow:
Upload a config file to the channel
Ask: @Bito review this configuration and suggest improvements
Bito reads the file and provides specific recommendations
Bito automatically detects and incorporates information from:
Jira tickets
Mention a ticket ID like PROJ-123 in your conversation
Bito recognizes the reference and pulls in context from that ticket
Confluence pages
Paste a Confluence link in your discussion
Bito reads the linked page and factors it into its response
You don't need to do anything special — just mention or paste the link as you normally would.
You can chat with Bito AI Assistant privately, just like you would with any teammate. In a 1:1 DM, you do not need to mention @Bito — every message you send is automatically processed by the bot.
In Slack, click Apps in the left sidebar
Select Bito AI Assistant
Start typing your message and press Enter
Ask questions directly: what does this function do?
Share files for analysis: attach a file and ask can you review this code?
Have a conversation: follow-up messages maintain context from the thread
Example:
You can also include Bito AI Assistant in a group chat with other teammates. This is useful when collaborating on a discussion where you want Bito's input along side human participants.
In Slack, click the "New Message" or pencil icon at the top of the left sidebar
In the "To:" field, add the teammates you want to include
In the same "To:" field, add Bito AI Assistant (start typing "Bito" and select it from the dropdown)
Send your first message to create the group
Unlike 1:1 DMs, in a group DM you must explicitly mention @Bito when you want Bito to respond. Messages without a mention are treated as normal conversation between humans and Bito will not respond.
Example:
Bito learns from your team. Anyone in the workspace can teach Bito a fact, a piece of internal terminology, or a correction — and Bito applies that knowledge automatically in future answers, across channels, threads, and DMs.
How it works
When you correct Bito or share a workspace-specific fact, Bito captures that input and feeds it into the . The next time anyone on the team asks a related question or Bito generates a plan, it applies what it learned.
Examples:
Your team needs to implement a new feature but isn't sure where to start.
What to do:
What you get:
Suggested task breakdown
Logical sequencing
Considerations from your team's discussion
Your team has discussed and finalized an implementation plan in a thread and wants to move straight to coding.
What to do:
What you get:
A new branch created from your default branch
Code changes implemented following the agreed plan
Changes aligned with your existing codebase patterns and conventions
Your team discusses two different architectural approaches.
What to do:
Share code snippets for both approaches
Ask: @Bito compare these two approaches and explain the trade-offs
What you get:
Analysis of each approach
Pros and cons
Recommendations based on the discussion context
You're discussing a bug that relates to an existing Jira ticket.
What to do:
Mention the ticket: "This might be related to PROJ-456"
Ask: @Bito what's the background on PROJ-456 and how does it relate to this issue?
What you get:
Summary of the referenced ticket
Connection to current discussion
Relevant history or context
After a long planning discussion, you need to know what comes next.
What to do:
What you get:
Organized list of tasks
Assignments (when mentioned in the thread)
Priorities or deadlines discussed
You return from vacation to find 100+ messages in a project channel.
What to do:
What you get:
Key points from the conversation
Decisions already made
Open questions requiring your attention
You want a real code review on a pull request, branch, commit, or local changes — without leaving Slack.
What to do:
Paste a link of pull request or describe what to review:
You can narrow the review with flags:
What you get:
Severity-rated findings covering correctness, security, and performance
Evidence quoted from the code with exact file:line references
Cross-repo impact analysis when AI Architect is set up for your repo
Actionable suggestions, not generic advice
After Bito makes code changes — or on any existing branch — you can open a merge request or pull request without switching tools.
What to do:
What you get:
A new MR or PR opened on GitHub, GitLab, or Bitbucket (cloud or self-hosted)
Title, description, and ticket references filled in automatically
Smart template detection — your repo's PR/MR template is used when present
Duplicate-MR guards so you don't accidentally open the same MR twice
Do:
✅ Ask specific, focused questions
✅ Use Bito in threads where team discussions happen
✅ Reference files and tickets to give Bito more context
✅ Ask follow-up questions to clarify responses
Don't:
❌ Ask multiple unrelated questions in one message
❌ Expect Bito to make decisions for you — use it to inform your decisions
❌ Share sensitive credentials or secrets in threads (Bito reads all messages)
What Bito can see:
All messages in the current thread
Files shared in the thread
Content from referenced Jira/Confluence links (if connected)
What Bito cannot see:
Messages in channels where it hasn't been invited
Direct messages between users
Private channels where it's not a member
Always invite Bito only to channels where AI assistance is appropriate for your team's privacy requirements.
Check:
Did you invite Bito to this channel? If not, invite Bito's AI Assistant to a channel by typing @Bito followed by your query. Slack will automatically prompt you to add Bito to the channel if it isn't already there, click Yes to add it and get your answer, or dismiss the prompt to skip.
Did you mention @Bito at the start of your message?
Is your Bito subscription active and does it include Bito AI Assistant for Slack?
Solution: Verify Bito is in the channel members list. If not, invite it again.
Possible reasons:
The thread context is very long
Multiple topics are discussed simultaneously
Solution:
Ask more specific questions that focus on one aspect
Reference the specific part of the conversation you're asking about
Break complex questions into smaller parts
Check:
Is your Bito account connected to Jira?
Did you mention the exact ticket ID (e.g., PROJ-123)?
Do you have access to that ticket in Jira?
Solution: Verify integrations are configured in your Bito account settings.
Steps:
Open the channel
Click the channel name to view details
Go to the Integrations tab
Find Bito and click Remove
Bito will no longer see messages or respond in that channel.
Bito only reads messages in threads where someone mentions @Bito. It doesn't process or store messages from conversations where it's not mentioned.
Yes. Invite Bito to private channels the same way you would invite any team member. Only people in that private channel can interact with Bito there.
Bito AI Assistant is included in Bito's paid plans. Check for current plan details and features.
Bito uses conversation context to provide better responses during that discussion. Your team's specific conversations are used to improve responses within your Bito account but are not used to train public AI models.
Bito will notify you when you approach plan limits. Responses may be rate-limited if you exceed usage caps. Upgrade your plan to increase limits.
Yes, but consider privacy implications. Bito reads all messages in threads where it's mentioned. Only use it in channels where AI assistance is appropriate.
Now that you understand how Bito AI Assistant works:
Invite Bito to your most active project channels
Try common use cases like summarizing threads or extracting action items
Share with your team so everyone knows how to use @Bito
Experiment
Welcome to faster, smarter team collaboration with AI assistance right in Slack.
🔒 — retention, deletion, LLM info, security
🛡️ — overall security posture, SOC 2, sub-processors
💬 — contact our team
📜 — full legal privacy policy











Open any Slack channel where you want AI assistance
Invite Bito's AI Assistant to a channel by typing @Bito followed by your query. Slack will automatically prompt you to add Bito to the channel if it isn't already there, click Add Them to add it and get your answer, or dismiss the prompt to skip.
Repeat for each channel (both public and private channels work)
@Bito what are the action items from this thread?
@Bito review the code changes in this thread and suggest improvements
Documents (.txt, .md, .pdf)
Log files
.app.deb.rpm.apk.msi.elf.machImages & graphics: .jpg, .jpeg, .png, .gif, .bmp, .ico, .tiff, .webp, .heic, .psd, .eps
Media files: .mp4, .avi, .mov, .mkv, .flv, .wmv, .mp3, .wav, .flac, .aac, .m4a, .ogg, .m3u, .m3u8, .pls
Draft MR/PR support when you want to share work-in-progress
✅ Use Bito to document decisions by asking for summaries
@Bito Based on the above discussion create a planYou: Can you help me understand what this code does?
[uploaded: authentication.py]
Bito: This file implements JWT-based authentication with three key functions...You: Hey team, quick question about the new API design?
[Bito does not respond — no mention]
Alice: I think we should use REST for consistency.
You: @Bito AI Assistant what are the tradeoffs between REST and GraphQL
for our use case?
Bito: Great question. Here's a breakdown of the tradeoffs...@Bito remember that "Cerberus" refers to our internal auth service, not the open-source library
@Bito FYI — staging deploys go through the deploy-staging job, not deploy-stg
@Bito that's not right, our retry budget is 3 attempts, not 5@Bito help us break down this feature into implementable tasks@Bito based on the implementation plan above, create a new branch and make the code changes@Bito list all action items from this thread with who's responsible@Bito summarize the last 3 days of discussion and highlight any decisions that need my input@Bito review https://github.com/your-org/repo/pull/1234
@Bito review the auth-refactor branch
@Bito review commit a1b2c3d
@Bito review my staged changes@Bito review pull/1234 --focus security --depth deep@Bito create an MR for the auth-refactor branch
@Bito open a draft PR with these changes
The webhooks service is best suited for continuous, automated reviews.
A machine with the following minimum specifications is recommended for Docker image deployment and for obtaining optimal performance of the AI Code Review Agent.
CPU Cores
4
Windows
Linux
macOS
Bito Access Key: Obtain your Bito Access Key.
GitHub Personal Access Token (Classic): For GitHub PR code reviews, ensure you have a CLASSIC personal access token with repo access. We do not support fine-grained tokens currently.
GitLab Personal Access Token: For GitLab PR code reviews, a token with API access is required.
Snyk API Token (Auth Token): For Snyk vulnerability reports, obtain a Snyk API Token.
Prerequisites: Before proceeding, ensure you've completed all necessary AI Code Review Agent.
Server Requirement: Ensure you have a server with a domain name or IP address.
Start Docker: Initialize Docker on your server.
Clone the repository:
Note the full path to the “cra-scripts” folder for later use.
Open Command Line:
Use Bash for Linux and macOS.
Use PowerShell for Windows.
Set Directory:
Configure Properties:
Open the bito-cra.properties file in a text editor from the “cra-scripts” folder. Detailed information for each property is provided on page.
Set mandatory properties:
Run the Agent:
On Linux/macOS in Bash:
Run ./bito-cra.sh service start bito-cra.properties
Provide Missing Property Values: The script may prompt for values of mandatory/optional properties if they are not preconfigured.
Copy Webhook Secret: During the script execution, a webhook secret is generated and displayed in the shell. Copy the secret displayed under "Use below as Gitlab and Github Webhook secret:" for use in GitHub or GitLab when setting up the webhook.
:
Login to your account.
Navigate to the main page of the repository. Under your repository name, click Settings.
In the left sidebar, click Webhooks.
:
Login to your account.
Select the repository where the webhook needs to be configured.
On the left sidebar, select Settings > Webhooks.
Select Add new webhook
:
Login to your account.
Navigate to the main page of the repository. Under your repository name, click Repository Settings.
In the left sidebar, click Webhooks.
Click Add webhook.
After configuring the webhook, you can invoke the AI Code Review Agent in the following ways:
Automated Code Review: If the webhook is configured to be triggered on the Pull requests event (for GitHub) or Merge request event (for GitLab), the agent will automatically review new pull requests as soon as they are created and post the review feedback as a comment within your PR.
Manually trigger an incremental review: Type /review in the comment box on the pull request and submit it. If the webhook is configured to be triggered on the Issue comments event (for GitHub) or Comments event (for GitLab), this action will initiate the code review process. This reviews only the changes made since the last review (such as new commits), keeping feedback focused on what's new.
Please follow these steps:
Update the Agent's repository:
Pull the latest changes from the repository by running the following command in your terminal, ensuring you are inside the repository folder:
git pull origin main
To stop the Docker container running as a service, use the below command.
On Linux/macOS in Bash: Run ./bito-cra.sh service stop
On Windows in PowerShell: Run ./bito-cra.ps1 service stop
To check the status of Docker container running as a service, use the below command.
On Linux/macOS in Bash: Run ./bito-cra.sh service status
On Windows in PowerShell: Run ./bito-cra.ps1 service status
CLI commands for installing, operating, and maintaining Bito's AI Architect.
Quick reference for bitoarch CLI commands used to configure and manage Bito's AI Architect.
Commands used to control the lifecycle of AI Architect.
bitoarch start
For recovery if AI Architect services stopped/killed due to system issues
bitoarch stop
Examples:
Use these bitoarch commands to manage AI Architect.
Examples:
Examples:
Examples:
Config file types:
Examples:
Examples:
SSO is optional and disabled by default (bearer-token auth). When enabled, bitoarch mcp-info reflects the active auth mode.
Auth modes:
Flags:
Examples:
Add these flags to any command:
Examples:
Configuration is loaded from .env-bitoarch file. (path: bitoarch config path env)
Key variables:
Check CLI version:
Supports key languages & tools, including fbInfer, Dependency Check, and Snyk.
The AI Code Review Agent understands code changes in pull requests by analyzing relevant context from your entire repository, resulting in more accurate and helpful code reviews. The agent provides either Basic Code Understanding or Advanced Code Understanding based on the programming languages used in the code diff. Learn more about all the supported languages in the table below.
Basic Code Understanding is providing the surrounding code for the diff to help AI better understand the context of the diff.
Advanced Code Understanding is providing detailed information holistically to the LLM about the changes the diff is making—from things such as global variables, libraries, and frameworks (e.g., Lombok in Java, React for JS/TS, or Angular for TS) being used, the specific functions/methods and classes the diff is part of, to the upstream and downstream impact of a change being made. Using advanced code traversal and understanding techniques, such as symbol indexes, embeddings, and abstract syntax trees, Bito deeply tries to understand what your changes are about and the impact and relevance to the greater codebase, like a senior engineer does when doing code review. Read more here about our approach.
For custom SAST tools configuration to support specific languages in the , please reach out to us at
Bito supports posting code review feedback in over 20 languages. You can choose your preferred language in the . Supported languages include the following:
Arabic (عربي)
Bulgarian (български)
Chinese (Simplified) (简体中文)
Chinese (Traditional) (繁體中文)
Set up AI Architect on your local machine (e.g. Laptop) for quick evaluation
can be self-hosted in two ways depending on your use case.
Enterprise mode — (for teams to share the same indexed codebase, or you require Kubernetes, SSO, or dedicated server infrastructure. See the .)
Standalone mode — (for individuals to quickly try out AI Architect on your own machine)
This guide covers Standalone mode — a lightweight, single-machine install for individual developers who want to get up and running quickly, without provisioning shared infrastructure or coordinating with a DevOps team. It runs entirely in Docker on your local machine and automatically registers itself with your coding agents.
YES
YES
C
YES
YES
YES
C++
YES
YES
YES
C#
YES
YES
YES
Dart
YES
YES
YES
Delphi
YES
YES
YES
Go
YES
YES
YES
Groovy
YES
YES
YES
HTML/CSS
YES
YES
YES
Java
YES
YES
YES
JavaScript
YES
YES
YES
JavaScript Framework
YES
YES
YES
Kotlin
YES
YES
YES
Lua
YES
YES
YES
Objective-C
YES
YES
YES
PHP
YES
YES
YES
PowerShell
YES
YES
YES
Python
YES
YES
YES
R
YES
YES
YES
Ruby
YES
YES
YES
Rust
YES
YES
YES
Scala
YES
YES
YES
SCSS
YES
YES
YES
SQL
YES
YES
YES
Swift
YES
YES
YES
Terraform
YES
YES
YES
TypeScript
YES
YES
YES
TypeScript Framework
YES
YES
YES
Vue.js
YES
YES
YES
Visual Basic .NET
YES
YES
YES
Others
YES
YES
YES
Bash/Shell
NO
NO
C
YES (using Facebook Infer)
NO
C++
YES (using Facebook Infer)
NO
C#
NO
NO
Dart
NO
NO
Delphi
NO
NO
Go
YES (using golangci-lint)
YES
Groovy
NO
NO
HTML/CSS
NO
NO
Java
YES (using Facebook Infer)
NO
JavaScript
YES (using ESLint)
YES
Kotlin
NO
NO
Lua
NO
NO
Objective-C
YES (using Facebook Infer)
NO
PHP
NO
NO
PowerShell
NO
NO
Python
YES (using Astral Ruff and Mypy)
NO
R
NO
NO
Ruby
NO
NO
Rust
NO
NO
Scala
NO
NO
SCSS
NO
NO
SQL
NO
NO
Swift
NO
NO
Terraform
NO
NO
TypeScript
YES (using ESLint)
YES
Vue.js
NO
NO
Visual Basic .NET
NO
NO
Others
NO
NO
Code Repository
Coming soon
Bitbucket
Code Repository
YES
detect-secrets
Secrets scanner (e.g., passwords, API keys, sensitive information)
YES
ESLint
Linter for JavaScript and TypeScript
YES
Facebook Infer
Static Code Analysis for Java, C, C++, and Objective-C
YES
GitHub cloud
Code Repository
YES
GitHub (Self-Managed)
Code Repository
YES, supports version 3.0 and above.
GitLab cloud
Code Repository
YES
GitLab (Self-Managed)
Code Repository
YES, supports version 15.5 and above.
golangci-lint
Linter for Go
YES
Mypy
Static Type Checker for Python
YES
OWASP dependency Check
Security
YES
Snyk
Security
YES
Whispers
Secrets scanner (e.g., passwords, API keys, sensitive information)
YES
Dutch (Nederlands)
English (English)
French (français)
German (Deutsch)
Hebrew (עִברִית)
Hindi (हिंदी)
Hungarian (magyar)
Italian (italiano)
Japanese (日本語)
Korean (한국어)
Malay (Melayu)
Polish (polski)
Portuguese (português)
Russian (русский)
Spanish (español)
Turkish (Türkçe)
Vietnamese (Tiếng Việt)
Assembly
YES
YES
YES
Bash/Shell
Assembly
NO
Astral Ruff
Linter for Python
YES
YES
NO
Azure DevOps
bitoarch pause-indexing
Pause ongoing indexing process
bitoarch pause-indexing
bitoarch resume-indexing
Resume paused indexing process
bitoarch resume-indexing
bitoarch stop-indexing
Stop indexing completely
bitoarch stop-indexing
bitoarch index-repo-list [--status <active\|all>] [--limit <N>]
List indexed repositories
bitoarch index-repo-list --status active
bitoarch show-config
Show current indexing configuration
bitoarch show-config --raw
bitoarch create-index-scheduler
Create scheduled indexing tasks
bitoarch update-index-scheduler
Update existing scheduled indexing tasks
bitoarch add-repos [file]
Load repos from YAML. Uses .bitoarch-config.yaml if file omitted
bitoarch add-repos
bitoarch update-repos [file]
Update repos from YAML. Uses .bitoarch-config.yaml if file omitted
bitoarch update-repos
bitoarch repo-info <name> [--dependencies]
Show repository details (add --dependencies to include incoming/outgoing deps)
bitoarch repo-info myrepo --dependencies
bitoarch fetch-repo-list [--force-load]
Sync repo list from your git provider. --force-load ignores local cache
bitoarch fetch-repo-list
bitoarch info
Get platform information
Version, ports, resources
bitoarch update-llm-keys
Update LLM API keys
Interactive prompt
bitoarch rotate-mcp-token [<new-token>]
Rotate MCP access token. Omit <new-token> to auto-generate
bitoarch rotate-mcp-token <new-token>
bitoarch config path [env\|repos\|llm]
Print the absolute path of a config file (default: env)
bitoarch config edit [env\|repos\|llm]
Open a config file in $EDITOR (default: env)
bitoarch mcp-capabilities [--output <file>]
Show MCP server capabilities
bitoarch mcp-capabilities --output caps.json
bitoarch mcp-info
Show MCP configuration
Show MCP URL, access token, and active auth mode
bitoarch mcp-tool-info <name>
Show details for one MCP tool
bitoarch mcp-tool-info search_code
bitoarch sso disable
You can disable SSO either temporarily or permanently. Choose temporary to turn off SSO authentication but preserve IdP configuration (can re-enable with bitoarch sso enable), or permanent to remove IdP configuration entirely (requires bitoarch sso setup to reconfigure)
bitoarch sso rotate-key
Rotate SSO management key for security purposes. Important: After rotating the key, SSO services will restart automatically. Active sessions may need to re-authenticate
--output json
Filtered JSON output
For index-status
--help
Show command help
Get usage information
BITO_MCP_ACCESS_TOKEN
MCP server access token
CIS_PROVIDER_EXTERNAL_PORT
MCP server port (default 8080 for k8s)
CIS_MANAGER_EXTERNAL_PORT
Manager API port
CIS_CONFIG_EXTERNAL_PORT
Config API port
CIS_TRACKER_EXTERNAL_PORT
Tracker API port
MYSQL_EXTERNAL_PORT
MySQL external port
Stop all services (keeps data)
bitoarch restart [--force]
Restart services. --force reloads env and recreates containers
bitoarch logs [service]
Tail service logs (-f). All services if service omitted
bitoarch update
Refresh service images per versions/service-versions.json
bitoarch reset
Remove services, volumes, and config. Keeps install directory
bitoarch uninstall
Full removal (services + install directory)
bitoarch index-repos [--only-new-repos]
Trigger workspace repository indexing. Use --only-new-repos to index only newly added repositories
bitoarch index-repos --only-new-repos
bitoarch index-status [--raw] [--output json]
Check indexing status. --raw dumps the full API response; --output json emits machine-readable JSON
bitoarch add-repo <namespace>
Add single repository
bitoarch add-repo myorg/myrepo
bitoarch remove-repo <namespace>
Remove repository
bitoarch status
View all services status
Docker ps-like output
bitoarch health
Check health of all services
bitoarch update-api-key
Update Bito API key
Interactive or with --api-key [--restart] flag
bitoarch update-git-creds
Update Git provider credentials
env
.env-bitoarch
Main environment config (ports, credentials, secrets)
repos
.bitoarch-config.yaml
Repository list
llm
.env-llm-bitoarch
bitoarch mcp-test
End-to-end MCP connectivity check
Verify server connectivity
bitoarch mcp-tools [--details] [--summary] [--output <file>]
List available MCP tools
bitoarch sso setup
This command will guide you through the SSO configuration process, including choosing between Enterprise IdP and Bito authentication
bitoarch sso status
Displays the current SSO configuration and IdP connection status
bitoarch sso enable
Bearer Token
Default — static MCP access token (SSO disabled)
Bito
SSO via Bito — no external IdP required
Enterprise IdP
SSO via your SAML/OIDC provider (Okta, Azure AD, etc.)
bitoarch diagnose
Run a live health sweep across all services
bitoarch diagnose --verbose
bitoarch diagnose --bundle
Collect a full diagnostics bundle into a .tar.gz to share with support
--verbose, -v
Show URLs, ports, and detail on failures (live sweep only)
--section <name>
Run one section only: prereqs, install, filesystem, config, services, connectivity, cert
--bundle
--format json
JSON output
For automation/scripts
--raw
Show full API response
bitoarch --help | -h
Top-level help with all commands
bitoarch <command> --help
Command-specific usage and flags
BITO_API_KEY
Bito authentication key
GIT_PROVIDER
Git provider (github, gitlab, bitbucket)
GIT_ACCESS_TOKEN
View progress and state
bitoarch remove-repo myorg/myrepo
bitoarch health --verbose
Interactive or with --provider <p> --token <t> [--restart] flags
Custom LLM provider configuration
bitoarch mcp-tools --details
Re-enable SSO after it has been temporarily disabled
bitoarch diagnose --bundle
Produce a shareable .tar.gz support bundle
For debugging
Git personal access token
bitoarch restart --force # reload env + recreate containers
bitoarch logs cis-provider # tail one service# Trigger repository indexing
bitoarch index-repos
# Check indexing status (default summary)
bitoarch index-status
# Full API response for debugging
bitoarch index-status --raw
# Machine-readable filtered JSON
bitoarch index-status --output json
# List all repositories
bitoarch index-repo-list --status active --limit 50# Add a single repository
bitoarch add-repo myorg/myrepo
# Remove a repository
bitoarch remove-repo myorg/myrepo
# Load multiple repositories from default config file
bitoarch add-repos
# Load multiple repositories from a custom config file
bitoarch add-repos ./custom-repos.yaml
# Update configuration
bitoarch update-repos
# Get repository details
bitoarch repo-info myrepo# Check service status (docker ps-like)
bitoarch status
# Health check
bitoarch health
# Detailed health information
bitoarch health --verbose
# Platform information
bitoarch info# Update API key (interactive)
bitoarch update-api-key
# Update API key with flag
bitoarch update-api-key --api-key <key> --restart
# Update Git credentials (interactive)
bitoarch update-git-creds
# Update Git credentials with flags
bitoarch update-git-creds --provider github --token <token> --restart
# Update LLM API keys
bitoarch update-llm-keys
# Rotate MCP token - auto-generates a new MCP token
bitoarch rotate-mcp-token
# Rotate MCP token - set a specific MCP token manually
bitoarch rotate-mcp-token <new-token>
# prints path to .bitoarch-config.yaml
bitoarch config path repos
# edit .env-bitoarch
bitoarch config edit env# Test MCP connection
bitoarch mcp-test
# List MCP tools
bitoarch mcp-tools
# Show detailed tool information
bitoarch mcp-tools --details
# Get server capabilities
bitoarch mcp-capabilities
# Save capabilities to file
bitoarch mcp-capabilities --output capabilities.json
# Show MCP configuration
bitoarch mcp-info
# Show details for one MCP tool (e.g. search_code)
bitoarch mcp-tool-info search_code# Live health sweep
bitoarch diagnose
# Show additional detail (URLs, ports, failure info)
bitoarch diagnose --verbose
# Check one section only
bitoarch diagnose --section services
# Generate a support bundle
bitoarch diagnose --bundle# 1. Check services are running
bitoarch status
# 2. Add repositories - load repos from .bitoarch-config.yaml file
bitoarch add-repos
# 3. Trigger indexing
bitoarch index-repos
# 4. Monitor progress
bitoarch index-status
# 5. Grab MCP URL + token for your client
bitoarch mcp-info# Check health
bitoarch health
# View repositories
bitoarch index-repo-list
# Check index status
bitoarch index-status# Single repository
bitoarch add-repo myorg/newrepo
# Multiple repositories from config file
bitoarch add-repos
# Trigger re-indexing
bitoarch index-repos --only-new-repos# Update Bito API key
bitoarch update-api-key
# Update Git provider credentials
bitoarch update-git-creds
# Rotate MCP access token
bitoarch rotate-mcp-token
# Rotate SSO management key for security purposes.
# only if SSO is enabled
bitoarch sso rotate-key# pause services
bitoarch stop
# remove services + volumes + config (keeps install dir)
bitoarch reset
# full removal
bitoarch uninstall# Check all services
bitoarch status
bitoarch health --verbose
# View full configuration
bitoarch show-config --raw
# Test MCP connection
bitoarch mcp-test
# Check indexing status with details
bitoarch index-status --raw
# Check logs of all services
bitoarch logs
# Check logs of one service
bitoarch logs cis-manager
# Generate a full diagnostics bundle to share with support
bitoarch diagnose --bundle# Main help
bitoarch --help
# Command help
bitoarch index-repos --help
bitoarch add-repo --help
bitoarch mcp-tools --helpbitoarch --versionYou will need:
PowerShell (minimum version 5.x)
Note: In PowerShell version 7.x, run Set-ExecutionPolicy Unrestricted command. It allows the execution of scripts without any constraints, which is essential for running scripts that are otherwise blocked by default security settings.
git clone https://github.com/gitbito/CodeReviewAgent.git
Note: It is recommended to clone the repository instead of downloading the .zip file. This approach allows you to easily update the Agent later using the git pull command.
Open the repository folder:
Navigate to the repository folder and then to the “cra-scripts” subfolder.
Change the current directory in Bash/PowerShell to the “cra-scripts” folder.
Example command: cd [Path to cra-scripts folder]
Note: Adjust the path based on where you cloned the repository on your system.
mode = server
bito_cli.bito.access_key
git.access_token
Optional properties (can be skipped or set as needed):
git.provider
git.domain
code_feedback
static_analysis
dependency_check
dependency_check.snyk_auth_token
server_port
review_scope
exclude_branches
exclude_files
exclude_draft_pr
On Windows in PowerShell:
Install OpenSSL
Reference-1: https://wiki.openssl.org/index.php/Binaries
Reference-2: https://slproweb.com/products/Win32OpenSSL.html
Run ./bito-cra.ps1 service start bito-cra.properties
Note: It will provide the Git Webhook secret in encrypted format.
Under Payload URL, enter the URL of the webhook endpoint. This is the server's URL to receive webhook payloads.
Note: The GitHub Payload URL should follow this format: https://<domain name/ip-address>/api/v1/github_webhooks, where https://<domain name/ip-address> should be mapped to Bito's AI Code Review Agent container, which runs as a service on a configured TCP port such as 10051. Essentially, you need to append the string "/api/v1/github_webhooks" (without quotes) to the URL where the AI Code Review Agent is running.
For example, a typical webhook URL would be https://cra.example.com/api/v1/github_webhooks
Select the Content type “application/json” for JSON payloads.
In Secret token, enter the webhook secret token that you copied above. It is used to validate payloads.
Click on Let me select individual events to select the events that you want to trigger the webhook. For code review select these:
Issue comments - To enable Code Review on-demand by issuing a command in the PR comment.
Pull requests - To auto-trigger Code Review when a pull request is created.
Pull request review comments - So, you can share feedback on the review quality by answering the feedback question in the code review comment.
To make the webhook active immediately after adding the configuration, select Active.
Click Add webhook.
In URL, enter the URL of the webhook endpoint. This is the server's URL to receive webhook payloads.
Note: The GitLab webhook URL should follow this format: https://<domain name/ip-address>/api/v1/gitlab_webhooks, where https://<domain name/ip-address> should be mapped to Bito's AI Code Review Agent container, which runs as a service on a configured TCP port such as 10051. Essentially, you need to append the string "/api/v1/gitlab_webhooks" (without quotes) to the URL where the AI Code Review Agent is running.
For example, a typical webhook URL would be https://cra.example.com/api/v1/gitlab_webhooks
In Secret token, enter the webhook secret token that you copied above. It is used to validate payloads.
In the Trigger section, select the events to trigger the webhook. For code review select these:
Comments - for on-demand code review.
Merge request events - for automatic code review when a merge request is created.
Emoji events - So, you can share feedback on the review quality using emoji reactions.
Select Add webhook.
Under URL, enter the URL of the webhook endpoint. This is the server's URL to receive webhook payloads.
Note: The BitBucket Payload URL should follow this format: https://<domain name/ip-address>/api/v1/bitbucket_webhooks, where https://<domain name/ip-address> should be mapped to Bito's AI Code Review Agent container, which runs as a service on a configured TCP port such as 10051. Essentially, you need to append the string "/api/v1/bitbucket_webhooks" (without quotes) to the URL where the AI Code Review Agent is running.
For example, a typical webhook URL would be https://cra.example.com/api/v1/bitbucket_webhooks
In Secret token, enter the webhook secret token that you copied above. It is used to validate payloads.
In the Triggers section, select the events to trigger the webhook. For code review select these:
Pull Request > Comment created - for on-demand code review.
Pull Request > Created - for automatic code review when a merge request is created.
Select Save.
/review full in the comment box and submit it to re-review the entire pull request from scratch, rather than only the latest changes.Bito also offers specialized commands that are designed to provide detailed insights into specific areas of your source code, including security, performance, scalability, code structure, and optimization.
/review security: Analyzes code to identify security vulnerabilities and ensure secure coding practices.
/review performance: Evaluates code for performance issues, identifying slow or resource-heavy areas.
/review scalability: Assesses the code's ability to handle increased usage and scale effectively.
/review codeorg: Scans for readability and maintainability, promoting clear and efficient code organization.
/review codeoptimize: Identifies optimization opportunities to enhance code efficiency and reduce resource usage.
By default, the /review command generates inline comments, meaning that code suggestions are inserted directly beneath the code diffs in each file. This approach provides a clearer view of the exact lines requiring improvement. However, if you prefer a code review in a single post rather than separate inline comments under the diffs, you can include the optional parameter: /review #inline_comment=False
For more details, refer to Available Commands.
To restart the Docker container running as a service, use the below command.
On Linux/macOS in Bash: Run ./bito-cra.sh service restart bito-cra.properties
On Windows in PowerShell: Run ./bito-cra.ps1 service restart bito-cra.properties
RAM
8 GB
Hard Disk Drive
80 GB
Linux
You will need:
Bash (minimum version 4.x)
For Debian and Ubuntu systems
sudo apt-get install bash
For CentOS and other RPM-based systems
sudo yum install bash
Docker (minimum version 20.x)
macOS
You will need:
Bash (minimum version 4.x)
brew install bash
Docker (minimum version 20.x)








Windows
What you'll accomplish: By the end of this guide, you'll have AI Architect running on your local machine, connected to your Git repositories, and ready to integrate with AI coding tools like Claude Code, Cursor, Windsurf, GitHub Copilot, etc. through the Model Context Protocol (MCP).
You'll need a Bito account and a Bito Access Key to authenticate AI Architect. You can sign up for a Bito account at https://alpha.bito.ai, and create an access key from Settings -> Advanced Settings
A personal access token from your chosen Git provider is required. You'll use this token to allow AI Architect to read and index your repositories.
GitHub: To connect your GitHub repositories to AI Architect, choose one of the following authentication methods:
GitHub App: Install and authorize the Bito GitHub App, then select the repositories you want AI Architect to index.
Bito's AI Architect uses Large Language Models (LLMs) to build a knowledge graph of your codebase.
LLM API keys are required for self-managed AI Architect deployments. Provide an API key for the LLM provider you plan to use, such as:
Anthropic (Claude)
OpenAI (GPT)
The AI Architect standalone mode requires the following specs:
Operating System
macOS 12+, Ubuntu 20.04+
Same
AI Architect automatically detects available system resources during setup and configures optimal resource allocation for its Docker containers. For most deployments, the automatic configuration provides good performance. However, you can manually adjust these settings to fine-tune performance or accommodate specific workload requirements.
You can customize resource limits by editing the .env-bitoarch file and run the command bitoarch restart --force to update the allocation. The following environment variables can be manually configured to control resource allocation.
Docker Compose is required to run AI Architect.
The easiest and recommended way to get Docker Compose is to install Docker Desktop.
Docker Desktop includes Docker Compose along with Docker Engine and Docker CLI which are Docker Compose prerequisites.
Download the install.default.yaml file, then rename it to install.yaml and place it at ~/.bitoarch/install.yaml on your machine.
Open the file and update the configuration with your details by following the inline instructions.
Providing your Bito API key and Git credentials is required for the setup to work.
Before proceeding with the installation, ensure Docker Desktop / Docker Service is running on your system. If it's not already running, launch it and wait for it to fully start before continuing.
Open your terminal:
Linux/macOS: Use your standard terminal application
Execute the installation command:
The installation script will:
Download the latest Bito AI Architect package
Extract it to your system
Initialize the setup process
Once your Git account is connected successfully, Bito automatically detects your repositories and populates the /usr/local/etc/bitoarch/.bitoarch-config.yaml file with an initial list. Review this file to confirm which repositories you want to index — feel free to remove any that should be excluded or add others as needed. Once the list looks correct, save the file, and continue with the steps below.
Below is an example of how the .bitoarch-config.yaml file is structured:
After updating the .bitoarch-config.yaml file, you have two options to proceed with adding your repositories for indexing:
Once your repositories are configured, AI Architect needs to analyze and index them to build the knowledge graph. This process scans your codebase structure, dependencies, and relationships to enable context-aware AI assistance.
Start the indexing process by running:
Once the indexing is complete, you can configure AI Architect MCP server in any coding or chat agent that supports MCP.
Run this command to check the status of your indexing:
To manually check the MCP server details (e.g. Bito MCP URL and Bito MCP Access Token), use the following command:
If you need to update your Bito MCP Access Token, use the following command:
Standalone mode runs MCP over HTTPS at https://localhost:5001/mcp with a local mkcert-signed leaf cert. The cert is per-host (issued at install time, never reused across machines); mkcert is auto-downloaded if not on PATH.
The install bootstrap auto-registers the local MCP into every detected coding agent (Claude Code, Cursor, Windsurf, VS Code, Junie, JetBrains AI Assistant) and prints a one-time IDE-restart prompt for each. After restart, your IDE connects without further config.
Manual config fallback (if your IDE isn't auto-detected, or for the Claude Desktop main chat which doesn't read ~/.claude.json):
Edit /usr/local/etc/bitoarch/.bitoarch-config.yaml file to add/remove repositories.
To apply the changes, run this command:
Start the re-indexing process using this command:
Now that you have AI Architect set up, you can take your code quality to the next level by integrating it with Bito's AI Code Review Agent. This powerful combination delivers significantly more accurate and context-aware code reviews by leveraging the deep codebase knowledge graph that AI Architect has built.
Why integrate AI Architect with AI Code Review Agent?
When the AI Code Review Agent has access to AI Architect's knowledge graph, it gains a comprehensive understanding of your entire codebase architecture — including microservices, modules, APIs, dependencies, and design patterns.
This enables the AI Code Review Agent to:
Provide system-aware code reviews - Understand how changes in one service or module impact other parts of your system
Catch architectural inconsistencies - Identify when new code doesn't align with your established patterns and conventions
Detect cross-repository issues - Spot problems that span multiple repositories or services
Deliver more accurate suggestions - Generate fixes that are grounded in your actual codebase structure and usage patterns
Reduce false positives - Better understand context to avoid flagging valid code as problematic
Log in to Bito Cloud
Open the AI Architect Settings dashboard.
In the Server URL field, enter your Bito MCP URL
In the Auth token field, enter your Bito MCP Access Token
Need help getting started? Contact our team at support@bito.ai to request a trial. We'll help you configure the integration and get your team up and running quickly.
Upgrade your AI Architect installation to the latest version while preserving your data and configuration. The upgrade process:
Automatically detects your current version
Downloads and extracts the new version
Migrates your configuration and data
Seamlessly transitions to the new version
Preserves all indexed repositories and settings
If you're running version 1.1.0 or higher, navigate to your current installation directory and run:
If you need to run the upgrade from outside your installation directory (useful for version 1.0.0), use the --old-path parameter:
The upgrade script supports the following parameters:
If you're experiencing issues and need help from the Bito support team, use the built-in diagnostic tool to capture a full snapshot of your deployment in one step.
Live health sweep — runs a pass/warn/fail check across all services and prints results to your terminal:
The --section flag accepts the following values:
prereqs
System prerequisites (Docker/Kubernetes, required tools)
install
Installation state and file integrity
filesystem
Support bundle — collects logs, service status, configuration (with secrets redacted), database health, and indexing state into a single shareable archive:
The command auto-detects whether you're running Docker Compose or Kubernetes. On completion it prints:
The resulting .tar.gz file is saved to ~/.bitoarch/diagnostics/ by default.
To save the bundle to a different location, use the --output parameter:
Example:
For complete reference of AI Architect CLI commands, refer to Available commands.
These exist only when MCP_AUTO_INSTALL=true in .env-bitoarch (set automatically by the Standalone install bootstrap). On Enterprise installs they are hidden from bitoarch --help and refuse to run.
Command
Description
bitoarch mcp-install [--email <addr>]
Re-register the local MCP with detected coding agents (Claude Code, Cursor, Windsurf, VS Code, Junie, JetBrains AI Assistant). Run after installing a new IDE.
bitoarch mcp-cert status
Cert verdict (✓/⚠/✗), days remaining, paths, scheduler state.
bitoarch mcp-cert renew
The cert auto-renews daily via an OS-native scheduler (launchd on macOS, systemd-user timer on Linux/WSL, crontab fallback). To opt out, add BITOARCH_CERT_AUTO_RENEW=false to .env-bitoarch and re-run bitoarch install.
vim /usr/local/etc/bitoarch/.bitoarch-config.yamlbitoarch update-reposbitoarch index-repos --only-new-reposcd /path/to/bito-ai-architect./scripts/upgrade.sh --version=latest# Download the standalone upgrade script
curl -O https://github.com/gitbito/ai-architect/blob/main/upgrade.sh
chmod +x upgrade.sh
# Run upgrade with explicit path
./upgrade.sh --old-path=/path/to/bito-ai-architect --version=latest# Description
--version=VERSION
# Upgrade to specific version
--version=latest
# Upgrade from custom URL or file
--url=file:///path/to/package.tar.gz
# Specify installation path (required if running outside installation directory)
--old-path=/opt/bito-ai-architect
# Show help message
--helpbitoarch reset # wipe containers/volumes/config; keep install dir
bitoarch uninstall # full removal (+ install dir + ~/.bitoarch/install.yaml)bitoarch diagnose
bitoarch diagnose --verbose # show URLs, ports, and detail on failures
bitoarch diagnose --section services # run one section onlybitoarch diagnose --bundleShare this file with Bito support: support@bito.aibitoarch diagnose --bundle --output <dir name># "Docker has only X GB RAM allocated (6 GB recommended)"
# → Docker Desktop → Settings → Resources → Memory → 6 GB+ → Apply & Restart
# "Port 5001 is in use" — edit ~/.bitoarch/install.yaml BEFORE install:
# ports: { cis_provider: 6001, cis_manager: 6002, cis_config: 6003, mysql: 6004, cis_tracker: 6005 }
# "bitoarch: command not found" right after install
source ~/.zshrc # or ~/.bashrc
# AI Architect not responding after a system restart
# If AI Architect stops responding after your machine has been restarted or shut down, the underlying Docker containers may have stopped. To restore:
# 1. Start Docker : Make sure Docker Desktop (or your Docker service) is running before doing anything else.
# 2. Start the AI Architect services.
bitoarch start
# Indexing stuck
bitoarch index-status
bitoarch logs cis-manager
bitoarch stop-indexing && bitoarch index-repos
# Corporate proxy — before install
export HTTP_PROXY=http://proxy:8080 HTTPS_PROXY=http://proxy:8080
export NO_PROXY=localhost,127.0.0.1,ai-architect-config,ai-architect-manager,ai-architect-provider
curl -fsSL https://aiarchitect.bito.ai/standalone/install.sh | bash
# Defensive uninstall (CLI broken)
curl -fsSL https://aiarchitect.bito.ai/standalone/uninstall.sh | bashbitoarch status # service health
bitoarch logs # tail logs (append a service name to filter)
bitoarch mcp-info # URL + token + auth mode
bitoarch mcp-test # end-to-end MCP check
bitoarch mcp-install # re-register MCP with installed coding agents (Standalone-only)
bitoarch mcp-cert --help # cert lifecycle: status / renew / schedule (Standalone-only)
bitoarch stop
bitoarch start
bitoarch restart
bitoarch restart --force # reload env + recreate containers
bitoarch update # refresh images per versions/service-versions.json
bitoarch config edit
bitoarch config edit repos
bitoarch config path
bitoarch reset # wipe state; keep install dir
bitoarch uninstall # full removalSupercharging development with AI
Bito AI Assistance can help with generating new content or help with your existing code.
Click on each use case for an example instruction and response.
Instruction
Response
Instruction
Response
Instruction
Response
Instruction
Response
Instruction
Response
Instruction
Response
Instruction
Response
Instruction
Response
Instruction
Response
Instruction
Response
Instruction
Response

Docker (minimum version 20.x)

Checkout the branch you want to rebase:
$ git checkout
Rebase your branch against the upstream branch:
$ git rebase upstream/
Resolve any conflicts that arise.
Once all conflicts are resolved, do a git status to verify that all files have been updated correctly.
Finally, push the rebased branch to the remote repository:
$ git push origin --force
A B+ tree is a self-balancing tree data structure used in databases to store and retrieve data efficiently. It is a variation of the B-tree and is designed to minimize the number of disk accesses required for insertion, deletion, and retrieval operations. B+ trees are characterized by the number of keys stored per node, the order of the nodes, and the number of children per node.
For example, a B+ tree of order 5 would have 5 keys per node and 5 children per node. When a node becomes full, it will split into two nodes, each containing half of the keys and half of the children. This means that all the nodes at the same level will have the same number of keys, making retrieval operations more efficient.
Here is an example in Python
Test Case 1: Input: newLabelArray = [ 'Apple', 'Banana', 'Mango', 'Apple' ] oldLabelArray = [ 'Banana', 'Mango', 'Orange' ] Expected Output: ['Apple:2', 'Orange:-1']
Test Case 2: Input: newLabelArray = [ 'Apple', 'Banana', 'Apple', 'Orange' ] oldLabelArray = [ 'Banana', 'Mango', 'Orange' ] Expected Output: ['Apple:2', 'Mango:-1']
This code takes two arrays, newLabelArray and oldLabelArray, and generates a new array that contains the difference between the two arrays. It does this by first creating three empty arrays, new_, old_, and merged_. It then iterates through the newLabelArray and adds each label to the new_ array, as well as the merged_ array. It then iterates through the oldLabelArray and does the same for the old_ array, but also subtracts it from the merged_ array. Finally, it iterates through the merged_ array and checks for any values that are not equal to 0 and adds them to the final array. It then returns this final array.
/* This method takes two arrays, newLabelArray and oldLabelArray. It uses the elements of both arrays to generate a merged array, merged_, where it counts the occurrences of each element in both arrays. It then creates a third array, final, containing the elements of merged_ where the difference is not 0. The output is the final array. */
Use ES6 syntax to simplify the code.
Use a hashmap instead of looping through the arrays.
Use a single loop to build the final array instead of two loops.
Use array methods instead of for-each loops.
Use optimized data structures like Set and Map.
A lack of input validation: the user-supplied search term is not being validated to ensure it is safe to use in a database query. This could leave the system open to SQL injection attacks.
A lack of output encoding: the results from the database are not being encoded before they are printed. This could leave the system open to cross-site scripting attacks.
//ESLint would find the following issues:
Missing semicolons (potential syntax errors)
Missing spacing after 'forEach' statements
Unused variables (e.g. 'old_')
Missing spacing between operators (e.g. '++new_[lbl]')
package main
import (
"encoding/json" "fmt" "net/http" )
type user struct { Name string json:"name" Age int json:"age" }
func main()
{http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
// Create user
u := user{ Name: "John Doe", Age: 25, }
// Encode user
uj, err := json.Marshal(u)
if err != nil {
fmt.Fprintf(w, err.Error())
}
// Return user
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
fmt.Fprintf(w, "%s\n", uj)
})
http.ListenAndServe(":3000", nil)
}class Node:
def __init__(self, order):
self.order = order
self.keys = []
self.children = [None] * (order + 1)
class BPlusTree:
def __init__(self, order):
self.root = Node(order)
def insert(self, key):
if not self.root.keys:
self.root.keys.append(key)
else:
pass # traverse the tree and insert the key
def delete(self, key):
pass # traverse the tree and delete the key
def search(self, key):
pass # traverse the tree and search for the key
# Create a B+ tree of order 5
bplus_tree = BPlusTree(5)
# Insert a key
bplus_tree.insert(10)
# Delete a key
bplus_tree.delete(10)
# Search for a key
bplus_tree.search(10)genrateLabelDiffArray(newLabelArray,oldLabelArray=[])
{
let new_ =[],old_=[],merged_=[];
newLabelArray.forEach((lbl)=>{
if(new_[lbl] === undefined){ new_[lbl] =0;merged_[lbl]=0; }
++new_[lbl];
++merged_[lbl];
});
oldLabelArray.forEach((lbl)=>{
if(old_[lbl] === undefined){ old_[lbl] =0; }
if(merged_[lbl] === undefined){ merged_[lbl] =0; }
++old_[lbl];
--merged_[lbl]
});
let final = [];
merged_.forEach((value,key)=>{
if(value!=0){
// final[key.toString()] = value;
final.push(key+":"+value);
}
})
return final;
}genrateLabelDiffArray(newLabelArray,oldLabelArray=[])
{
let new_ =[],old_=[],merged_=[];
newLabelArray.forEach((lbl)=>{
if(new_[lbl] === undefined){ new_[lbl] =0;merged_[lbl]=0; }
++new_[lbl];
++merged_[lbl];
});
oldLabelArray.forEach((lbl)=>{
if(old_[lbl] === undefined){ old_[lbl] =0; }
if(merged_[lbl] === undefined){ merged_[lbl] =0; }
++old_[lbl];
--merged_[lbl]
});
let final = [];
merged_.forEach((value,key)=>{
if(value!=0){
// final[key.toString()] = value;
final.push(key+":"+value);
}
})
return final;
}genrateLabelDiffArray(newLabelArray,oldLabelArray=[])
{
let new_ =[],old_=[],merged_=[];
newLabelArray.forEach((lbl)=>{
if(new_[lbl] === undefined){ new_[lbl] =0;merged_[lbl]=0; }
++new_[lbl];
++merged_[lbl];
});
oldLabelArray.forEach((lbl)=>{
if(old_[lbl] === undefined){ old_[lbl] =0; }
if(merged_[lbl] === undefined){ merged_[lbl] =0; }
++old_[lbl];
--merged_[lbl]
});
let final = [];
merged_.forEach((value,key)=>{
if(value!=0){
// final[key.toString()] = value;
final.push(key+":"+value);
}
})
return final;
}genrateLabelDiffArray(newLabelArray,oldLabelArray=[])
{
let new_ =[],old_=[],merged_=[];
newLabelArray.forEach((lbl)=>{
if(new_[lbl] === undefined){ new_[lbl] =0;merged_[lbl]=0; }
++new_[lbl];
++merged_[lbl];
});
oldLabelArray.forEach((lbl)=>{
if(old_[lbl] === undefined){ old_[lbl] =0; }
if(merged_[lbl] === undefined){ merged_[lbl] =0; }
++old_[lbl];
--merged_[lbl]
});
let final = [];
merged_.forEach((value,key)=>{
if(value!=0){
// final[key.toString()] = value;
final.push(key+":"+value);
}
})
return final;
}genrateLabelDiffArray(newLabelArray,oldLabelArray=[])
{
let new_ =[],old_=[],merged_=[];
newLabelArray.forEach((lbl)=>{
if(new_[lbl] === undefined){ new_[lbl] =0;merged_[lbl]=0; }
++new_[lbl];
++merged_[lbl];
});
oldLabelArray.forEach((lbl)=>{
if(old_[lbl] === undefined){ old_[lbl] =0; }
if(merged_[lbl] === undefined){ merged_[lbl] =0; }
++old_[lbl];
--merged_[lbl]
});
let final = [];
merged_.forEach((value,key)=>{
if(value!=0){
// final[key.toString()] = value;
final.push(key+":"+value);
}
})
return final;
}// Rewritten Code
function genrateLabelDiffArray(newLabelArray, oldLabelArray = []) {
let new_ = {},
old_ = {},
merged_ = {},
final = [];
newLabelArray.forEach((lbl) => {
new_[lbl] = new_[lbl] ? new_[lbl] + 1 : 1;
merged_[lbl] = merged_[lbl] ? merged_[lbl] + 1 : 1;
});
oldLabelArray.forEach((lbl) => {
old_[lbl] = old_[lbl] ? old_[lbl] + 1 : 1;
merged_[lbl] = merged_[lbl] ? merged_[lbl] - 1 : -1;
});
Object.entries(merged_).forEach(([key, value]) => {
if (value !== 0) {
final.push(key + ":" + value);
}
});
return final;
}import database
search_term = input("Enter a search term: ")
query = "SELECT * FROM users WHERE name = '" + search_term + "'"
results = database.query(query)
print(results)import database
search_term = input("Enter a search term: ")
query = "SELECT * FROM users WHERE name = '" + search_term + "'"
results = database.query(query)
print(results)import database
# Get the user-supplied search term
search_term = input("Enter a search term: ")
# Use the user-supplied search term to query the database
query = "SELECT * FROM users WHERE name = %s"
results = database.query(query, (search_term,))
# Print the results
print(results)genrateLabelDiffArray(newLabelArray,oldLabelArray=[])
{
let new_ =[],old_=[],merged_=[];
newLabelArray.forEach((lbl)=>{
if(new_[lbl] === undefined){ new_[lbl] =0;merged_[lbl]=0; }
++new_[lbl];
++merged_[lbl];
});
oldLabelArray.forEach((lbl)=>{
if(old_[lbl] === undefined){ old_[lbl] =0; }
if(merged_[lbl] === undefined){ merged_[lbl] =0; }
++old_[lbl];
--merged_[lbl]
});
let final = [];
merged_.forEach((value,key)=>{
if(value!=0){
// final[key.toString()] = value;
final.push(key+":"+value);
}
})
return final;
}Personal Access Token (Classic): Create a classic personal access token with repo access and provide it during setup. Fine-grained personal access tokens are not currently supported.
GitLab Personal Access Token: To use GitLab repositories with AI Architect, a token with API access is required.
Bitbucket Access Token: To use Bitbucket repositories with AI Architect, you need API Token or HTTP Access Token depending on your Bitbucket setup.
Bitbucket Cloud (API Token): You must provide both your token and email address.
Bitbucket Self-Hosted (HTTP Access Token): You must provide both your token and username.
Azure DevOps (cloud) Personal Access Token with Full access: The token must be created for the Azure DevOps organization whose repositories you want to index.
Google Vertex AI
Azure AI
Novita
AWS Bedrock
Google Gemini
Local OpenAI-compatible (bring your own server)
With an Anthropic API key, indexing costs are typically $0.15 - $0.30 per MB of indexable code (source files only; binaries, archives, and images are skipped).
Teams of up to five members can use AI Architect for free with their preferred coding agents by using their own LLM API keys. Larger teams require Bito Enterprise Plan, which includes bundled LLM tokens. Further, if you want to power Bito Code Review Agent with AI Architect, you will need Bito Enterprise Plan regardless of the size of the team.
Overview. The Copilot Bridge extension exposes GitHub Copilot’s models inside VS Code as an OpenAI-compatible /v1 endpoint. Register it as the Local OpenAI-compatible provider above to test AI Architect against Copilot’s models without a separate LLM API key.
1. Install the extension. Install thinkability.copilot-bridge (repo: larsbaunwall/vscode-copilot-bridge). Ensure GitHub Copilot and Copilot Chat are installed and signed in — the bridge proxies the VS Code Language Model API and needs an active Copilot seat.
2. Configure (open Settings with Cmd+, on macOS or Ctrl+, on Windows/Linux, then search “bridge” — or edit settings.json directly):
"bridge.enabled": true
"bridge.port": 8000 — pin it (default 0 = random port, which breaks a stable baseURL)
"bridge.token": "<your-token>" — REQUIRED; an empty token blocks all API access
"bridge.maxConcurrent": 4 — default 1 serializes AI Architect’s calls
3. Start it. Command Palette → Copilot Bridge: Enable (and Copilot Bridge: Status to confirm the port). After changing settings, re-run Enable or Developer: Reload Window.
4. Verify the bridge directly:
Note an exact model id from /v1/models (e.g. claude-sonnet-4.6, gpt-5.4).
Automatically saves the repositories and starts indexing
If needed, edit the repo list before selecting this option
Manual Setup
You have to manually update the configuration file and then start the indexing. Below we have provided complete details of the manual process.
Once you select an option, your Bito MCP URL and Bito MCP Access Token will be displayed. Make sure to store them in a safe place, you'll need them later when configuring MCP server in your AI coding agent (e.g., Claude Code, Cursor, Windsurf, GitHub Copilot (VS Code), etc.).
To manually apply the configuration, run this command:
Docker
Desktop 20.10+ with Compose v2
Docker Desktop 4.x+
Docker RAM
6 GB
8 GB+
Docker CPUs
3
4+
Disk
10 GB
50 GB+
Ports
5001–5005 free on localhost
Same
CIS_PROVIDER_MEMORY_LIMIT=1g
CIS_MANAGER_MEMORY_LIMIT=2g
CIS_CONFIG_MEMORY_LIMIT=512m
MYSQL_MEMORY_LIMIT=2g
CIS_TRACKER_MEMORY_LIMIT=512m
CIS_PROVIDER_CPU_LIMIT=1.0
CIS_MANAGER_CPU_LIMIT=2.0
CIS_CONFIG_CPU_LIMIT=0.5
MYSQL_CPU_LIMIT=1.0
CIS_TRACKER_CPU_LIMIT=0.5curl -fsSL https://aiarchitect.bito.ai/standalone/install.sh | bashrepository:
configured_repos:
- namespace: your-org/repo-name-1
- namespace: your-org/repo-name-2
- namespace: your-org/repo-name-3bitoarch index-reposbitoarch index-statusbitoarch mcp-infobitoarch rotate-mcp-token <new-token>bitoarch mcp-info # URL + token + auth mode
bitoarch mcp-install # re-run agent registration (e.g., after installing a new IDE)
bitoarch mcp-cert status # cert verdict, days remaining, scheduler state{
"mcpServers": {
"BitoAIArchitect": {
"url": "https://localhost:5001/mcp",
"headers": { "Authorization": "Bearer <Your-Bito-MCP-Access-Token>" }
}
}
}Disk space, volume mounts, log directories
config
Configuration files and environment variables
services
Container/pod status, health, and resource usage
connectivity
Service-to-service and network reachability
cert
TLS/SSL certificate validity
Force re-issue cert and restart cis-provider.
bitoarch mcp-cert renew --check
Renew only if expiring within 60 days (this is the cron entry point — not normally run by hand).
bitoarch mcp-cert paths
Print cert path.
bitoarch mcp-cert schedule
Show current renew time + scheduler state.
bitoarch mcp-cert schedule HH:MM
Set the daily auto-renew time (24h). Persists to .env-bitoarch as BITOARCH_CERT_RENEW_TIME.
curl -fsSL https://aiarchitect.bito.ai/standalone/uninstall.sh | bashcurl http://127.0.0.1:8000/health
curl -H "Authorization: Bearer <token>" http://127.0.0.1:8000/v1/modelsbitoarch add-reposus-central1)What you need to configure Azure AI:
The Azure AI API key
The endpoint URL (e.g. https://<resource>.openai.azure.com)
What you need to configure Local OpenAI-compatible:
The base URL of your OpenAI-compatible /v1 endpoint (for example https://llm.internal:8000/v1)
The exact model name served by your endpoint (recommended: claude-haiku-4.5)
An API token — optional; sent as a Bearer token if provided, and can be left blank for keyless local servers
The endpoint must be reachable from inside the AI Architect containers: for a server running on the same host, use http://ai-architect-local:<port>/v1 instead of localhost, 127.0.0.1, or 0.0.0.0; for remote servers, use a private-network or VPN-resolvable hostname. Supported servers include vLLM, Ollama, LM Studio, LocalAI, TGI, and llama.cpp.
Testing with GitHub Copilot as your local endpoint? See below.
Get your team running on Bito-hosted Governor. Connect your LLM providers, set up routing and gateway keys, enable AI Architect, and point your coding tools at it.
Bito Governor runs either on Bito's infrastructure or inside your own network. This page covers the Bito-hosted deployment. To run Governor inside your own network, see Set up Bito Governor (self-hosted).
With Bito-hosted Governor, Bito operates the infrastructure and there is nothing for you to install. You configure your workspace in the Bito Governor admin UI at https://gateway.bito.ai/admin/, then point your AI coding tools at it.
Setup has four parts:
You need the following:
Admin Token. Contact to set up Governor for the first time. Bito creates your account and sends you an Admin Token.
An API key for each LLM provider you use, such as Anthropic, OpenAI, Groq, or Google. Governor sends requests to your own provider accounts.
The model names your coding tools request, such as claude-opus-4-8. Model names are case sensitive.
Go to .
Enter your Admin Token.
The workspace opens on the Dashboard. The left sidebar contains the following pages: Dashboard, Documentation, Reports, Keys, Members, Accounts, Routes, Features, Limits, Prices, Test, and Audit.
Your Admin Token grants access to your own workspace only.
Most configuration pages contain a form at the top and a table of existing entries below it.
A provider account stores one API key. Add an account for every provider you use, such as Anthropic, OpenAI, Groq, Fireworks, OpenRouter, Together, or Google. Add more than one account for the same provider when you hold several keys, for example one per team or environment.
In the left sidebar, click Accounts.
In the Add account form, complete the following fields:
Click Add.
The account appears in the Accounts table with the actions edit, test, reveal, and remove.
Click test on the new account. test checks the connection to the provider to verify the key and endpoint.
A route maps a model alias your coding tool requests to a provider account and an upstream model.
In the left sidebar, click Routes.
In the Add route form, complete the following fields:
Click Add route.
Routes are grouped by alias in the table below the form. Each group lists its targets with provider, model, account, priority, weight, retries, an enable toggle, and a health state. Priority, weight, and retries are editable inline.
A target marked cooling is in a cooldown period after repeated failures. Governor sends its traffic to the next available target until it recovers.
An alias can be an exact model name such as claude-opus-4-8, or a wildcard such as claude-sonnet-* or *.
A route with * as both the alias and the upstream model passes every request through to the selected account unchanged.
Exact aliases take precedence over wildcards. A route for claude-opus-4-8 is used instead of a claude-* route, and a claude-* route is used instead of *. This lets you run one catch-all route so that every model reaches a provider, then override selectively for the models you care about.
Add the same alias again with a different provider account.
Governor uses the lowest priority tier first.
Within a tier, traffic is distributed by weight.
Targets with the same priority receive requests in turn.
If a provider returns errors, Governor sends the request to the next available target.
A gateway key authenticates a coding tool to Governor. Provider keys stay in the Bito UI.
In the left sidebar, click Keys.
In the Create key form, enter a name that identifies the team or tool that will use the key.
Click Create.
Copy the key.
The key starts with gw_sk_ and is displayed once. Governor stores keys hashed and cannot display them again.
The Keys table lists each key by ID, prefix, name, enabled status, and a revoke action.
Features are server-side capabilities that Governor runs inside a request. Two features are available, and both are optional.
The Features table lists each enabled feature with its alias, state, whether a token is stored, and its MCP URL, with edit, test connection, and disable actions. Enabled features also appear as badges against each alias on the Routes page.
AI Architect serves system context from a live knowledge graph of your engineering system, covering code, business context, and tribal knowledge. Governor applies it inside each request, so your coding tools receive that context as they work.
In the left sidebar, click Features.
In the Configure feature form, select ai_architect from the feature list.
Complete the following fields:
Task guidance
Task guidance adds what only your indexed codebase can supply to three kinds of request. Each setting is off by default and applies only to the request type named.
Click Enable.
Changes apply to the next request. Users take no action.
Some questions require several passes to answer. A question about how your repositories connect requires Governor to retrieve the repository list, then look up the dependencies of each repository. Each pass is a hop.
Two settings cap this work, and both apply at the same time.
A single request can trigger more than one lookup, so Max hops per request is what stops a complex request from running up cost through repeated lookups that each stay within their own limit.
Governor stops as soon as it has an answer, so both values are ceilings rather than fixed costs.
Raise Max hops if answers come back incomplete. Leave Max hops per request blank to use the gateway default, and set it when you want a firm ceiling on how much AI Architect work a single request can do. Each hop consumes tokens.
reasoning_downgrade lowers the reasoning effort of a request by exactly one level. Reasoning tokens bill at the output rate, so a lower level reduces the cost of the request.
In the left sidebar, click Features.
In the Configure feature form, select reasoning_downgrade from the feature list.
Leave alias blank to apply the feature across the workspace, or enter a route alias such as claude-* to scope it to that alias.
Apart from alias, the reasoning_downgrade feature has no settings.
Governor leaves a request unchanged when it already uses the lowest or second-lowest reasoning level, or when it sends no reasoning at all.
In the left sidebar, click Documentation. Your base URL is displayed at the top of the page, and the links below it jump to the four sections on the page.
To connect a coding tool:
In the Get started section, paste a gateway key into the key field. Every example on the page fills in with your base URL and key. To generate a key here, click + Create test key.
In the Connect a tool section, select your tool.
Setup is provided for Claude Code, Cursor, Cline (VS Code), Continue (VS Code / JetBrains), Aider, Codex CLI, GitHub Copilot CLI, Windsurf, Zed, and any OpenAI-compatible or Anthropic-compatible tool.
For Claude Code, set two environment variables and start the tool:
To configure a team, distribute these two variables using your existing developer environment tooling. If your traffic already passes through a central gateway, set them there instead.
Governor accepts requests on three endpoints:
Authenticate with Authorization: Bearer <GATEWAY_KEY> or X-Api-Key: <GATEWAY_KEY>. The same gateway key works for all three dialects.
Check route selection. In the left sidebar, click Test. Enter a model alias and click Test. Governor returns the route, provider, account, and lane it would use. No request is sent, so this costs nothing.
Send a request. In the left sidebar, click Documentation. In the Use it section, go to Try it. Paste a gateway key, select a model, type a prompt in the message box, and click Run. This sends a real, billable request to your provider.
Query your own system. From your coding tool, ask a question that requires knowledge of your repositories. A response naming your own services confirms AI Architect is active.
Token prices produce the cost figures on the Dashboard and in Reports. Prices are expressed in $/Mtok, meaning US dollars per million tokens.
Global defaults are maintained by your gateway operator. Set a price here to override the default for your workspace, or to record a negotiated rate for one account. Governor resolves prices in this order: account, then workspace, then global.
In the left sidebar, click Prices.
In the Set price form, select the vendor.
Select an account to apply the price to that account only, or leave it on all accounts to apply the vendor rate across your workspace.
Enter the
The Prices table lists each price with its scope, vendor, model, rates, and source.
A model with no price reports token counts and a cost of zero. The Dashboard shows the number of unpriced requests per model in the UNPRICED column.
Limits are applied per gateway key.
In the left sidebar, click Limits.
In the Set limits form, select a key.
Complete any of the following fields:
Click Set.
Leave a field blank to leave it unchanged. Enter 0 to remove a cap, which makes that limit unlimited.
The Dashboard shows spend and request volume for the last 30 days, with totals for requests, input tokens, output tokens, and cost. Use Group by to break the numbers down by model, alias, key, provider, account, detail, or feature.
The table below the chart lists requests, token counts, cost, and unpriced request count per model.
Reports is the raw event log, with one row per request, updated in near real time. Filter the log and export it with Download CSV.
Token counts are split into four buckets:
The full prompt your tool sent is in + cached + cache_w. The buckets do not overlap, so nothing is counted twice.
Features make hidden calls inside a request and are reported separately. The base columns show the answer the caller received, and the feature columns show the feature's own usage. A request's total is base plus feature. Expand a row to see the split.
Governor does not currently report savings against a baseline. To measure the effect:
Select a set of tasks your team runs regularly.
Disable AI Architect, run the tasks, and record cost per task from Reports.
Enable AI Architect and run the same tasks with the same tool and model.
Compare cost per task and confirm the tasks still complete correctly.
In the left sidebar, click Members.
In the Add team member form, enter a name and select a role.
Click Create.
Each member signs in to the Bito UI with the token generated for them.
You can disable a member from the Team table. To change or disable a workspace admin, contact .
Audit records every configuration change and every secret reveal in your workspace, with the admin who performed it and a timestamp. The log is read only.
Give each person their own member token, so that the log identifies who made each change.
Contact for configuration assistance.
Run Bito Governor inside your own network. Install it on a single host with Docker, configure your workspace, and point your coding tools at it, with all traffic staying local.
Install Bito Governor on one machine, sign in, connect your AI coding tools, and operate it. This is the self-hosted, single-node path (gateway + database on one box, via Docker). No source code or build tools needed — just Docker.
You need the following:
Docker — Docker Desktop (macOS/Windows) or Docker Engine + Compose (Linux). That's the only prerequisite; the gateway and its database run as containers.
A free port — the gateway serves on 8788 by default (set PORT
AI Architect MCP URL and access token, if you enable AI Architect. Both are available in your Bito account.
base url
The provider endpoint. The default is filled in for each provider. Override it for a proxy, a regional endpoint, or a self-hosted model server.
model (or *)
The upstream model sent to the provider. Enter * to forward the model name the tool requested.
api
The API dialect. Leave it on auto to follow the caller.
priority
The failover tier. Lower numbers are used first. Default 0.
weight
The share of traffic within a tier. Default 1.
retries
Retry attempts for this target. Leave blank to use the gateway default.
Tool allowlist
Restricts which AI Architect tools the model may call, one tool name per line. Leave empty to allow all.
Max hops
The hop budget for a single AI Architect lookup. Default 16. See below for more details.
Max hops per request
The combined hop budget across every AI Architect lookup in one request. Leave blank to use the gateway default.
Prompt-cache injection
Caches what Governor sends with AI Architect on Anthropic, so repeat hops bill at the cache-read rate. Leave on Use default to follow the gateway-wide setting.
Architect model (sub-agent)
Runs the AI Architect lookups on a cost-efficient sub-agent while the route model writes the answer, for example GPT-5.6 Luna or Gemini Flash Lite 3.5. Leave blank to run them on the request's own route model. You must configure a sub-agent to capture most of the cost savings.
Run Architect in-loop (legacy)
Runs the AI Architect tools inline on the route model instead of the default sub-agent mode. Ignored when an Architect model is set.
Delegation pressure
How hard the assistant is pushed to consult AI Architect.
Balanced consults it when the assistant judges research worthwhile, which suits coding tools whose own file search competes for the same job.
Aggressive tells the assistant to consult AI Architect first, before searching files itself, which suits chat-style products.
Left unset it follows the Architect model setting above — Balanced with none pinned, Aggressive with one, because a pinned model makes research cheap enough to lean on; the unset option names whichever applies right now. Choosing a value explicitly overrides that link and holds even if the Architect model changes later.
Evidence format
What a finished research call hands back.
Prose returns a written answer with citations.
Structured returns the same research as separate findings, each carrying a verbatim code excerpt with its file and line.
Prose is recommended, and matched or beat Structured on accuracy in five test setups out of six while costing less in five out of six, because excerpts add to the size of every request. Choose Structured when you parse the findings yourself.
Default: Prose
Quality mode
Sets how deeply AI Architect researches a question. Choose one of the following:
Use default: follows the gateway-wide setting.
Normal: uses the standard prompts and hop budget. This is the default.
High quality: researches deeper and more thoroughly, at roughly twice the AI Architect cost.
Codebase context
Codebase context tells the assistant about your own codebase before it starts work.
This is the highest-impact setting on this form, and it is off by default.
Conventions sends a short summary of the repository the person is working in, covering how you handle errors and logging, how you name things, how you test, and your security and module boundaries. The summary is the same for every request, so it is inexpensive to send repeatedly, and in testing it roughly halved the cost of a coding session.
Conventions + task research also reads the request, works out what kind of work it is, and looks that up before answering, covering where the change belongs, what it would break, which pattern to follow, and what is already underway.
Include risk areas and in-flight work
Also tells the assistant about known risk areas, technical debt, and work currently underway in the part of the codebase the caller is working in. Carries no contributor names.
Available only when Codebase context is on.
MCP token
Your AI Architect access token. Leave blank to keep the token already stored.
Click Enable.
Reference
Endpoints, your route aliases, and how usage and cost are reported.
/v1/responses
OpenAI Responses
OpenAI Responses API clients
Check the report. In the left sidebar, click Reports and confirm the requests appear.
Enter in, out, and optionally cache-read and cache-write prices, all in $/Mtok.
Click Set.
max_concurrency
Maximum concurrent requests.
out
All generated tokens, including reasoning tokens.
Requests reach an unexpected model
An exact alias takes precedence over the * route.
Open Routes. Exact aliases override wildcards.
A route shows cooling
The target failed repeatedly and is in a cooldown.
Check the provider account with test on the Accounts page. Traffic uses the next target until it recovers.
Cost column shows zero, or UNPRICED is high
The model has no price set.
Add prices for that model on Prices.
Budget limit has no effect
The model has no price set, or the limit is 0.
Set prices, then set a positive budget. 0 means unlimited.
A key still works after setting limits to 0
0 removes the cap rather than blocking the key.
Disable the key on Keys.
AI Architect responses lack system context
The feature is disabled, scoped to a different alias, or the MCP URL is empty.
Open Features and check the alias, MCP URL, and token. An empty MCP URL falls back to a built-in stub.
Broad questions return incomplete answers
Governor reached the max hops budget.
Increase Max hops and repeat the question.
Repeated 429 or 5xx
One provider account is rate limited or unavailable.
Add a second target on the same alias to enable failover.
Provider account
Stores an API key for an LLM provider. Add an account for every provider you use.
Route
Which provider and model serve each request.
Maps a model alias your tools request to a provider account and an upstream model.
Gateway key
Authenticates a coding tool to Governor.
Feature
A server-side capability that runs inside a request, such as Bito's AI Architect. Optional.
provider
The provider you are connecting.
name
A name for this account, for example prod or my-vllm. The name appears in routes, reports, and prices.
key
alias
The model name your coding tool requests, for example claude-opus-4-8 or claude-*. Enter * to match any model.
provider
The provider that serves the request.
account
alias
Leave blank to enable the feature across the workspace, or enter a route alias such as claude-* to scope it to that alias.
MCP URL
Your AI Architect MCP endpoint. If left empty, Governor falls back to a built-in stub.
Steering text
Guide what plans cover
When someone asks the assistant to plan or scope a change, it also covers what else the change would affect across your repositories, the patterns your code already follows, the business rules that constrain it, and the parts of the code that are risky to touch.
This makes plans more complete rather than more accurate, so it ensures the important ground is covered without making individual details more likely to be right.
In testing, plans that addressed those areas rose from about half to roughly four in five, with no slowdown.
Applies to planning, design, and implementation requests. Questions and troubleshooting are unaffected.
Guide what reviews cover
When someone asks what the codebase requires of a change they are about to make, the assistant also establishes which other repositories and services call the code being changed and would have to move with it, the convention the affected code is meant to follow, and the invariants the change could break.
The cross-repository part is the point, because call sites and conventions inside one repository are already searchable while a consumer in another service is not.
Applies to review requests only.
Guide what triage covers
Max hops
One AI Architect lookup.
Max hops per request
Every AI Architect lookup in one request, combined.
16
Default. Suitable for most workspaces.
30 or higher
Workspaces with several hundred repositories, or teams that ask broad cross-repository questions.
Get started
Your base URL, a field for your gateway key, and how to authenticate.
Use it
Ready-made curl, Python, and JavaScript requests, and Try it for sending a live request.
Connect a tool
export ANTHROPIC_BASE_URL="https://gateway.bito.ai"
export ANTHROPIC_AUTH_TOKEN="gw_sk_..."
claude/v1/messages
Anthropic Messages
Claude Code, Anthropic SDKs
/v1/chat/completions
OpenAI Chat Completions
rpm
Maximum requests per minute.
tpm
Maximum tokens per minute.
budget ($/month)
in
Fresh prompt tokens, excluding anything served from cache.
cached
Prompt tokens read from cache, billed at a lower rate.
cache_w
Member
Manages their own gateway keys and views their own usage.
Workspace admin
Full configuration access to the workspace, including routes, accounts, features, and limits.
401 from Governor
The gateway key is invalid or revoked.
Create a new key on Keys and update the tool configuration.
404 for a model
No route matches the requested alias.
Your provider API key. Governor stores it envelope encrypted.
The provider account used.
Overrides the default instructions Governor sends with AI Architect. Leave blank to use the default.
When someone brings a bug or an outage, the assistant first checks what its local view cannot show, including whether an incident or alert is already firing for the services involved, what recently deployed in that area, and any issue already recorded against it.
Tracing the code is something the assistant can already do from the repository, while knowing that an alert has been firing since this morning is not.
Applies to bug reports and troubleshooting only.
Copy-paste setup for each supported coding tool.
Codex, most OpenAI-compatible tools
Monthly spend cap. Requires prices to be set.
Tokens written to the cache. On Anthropic this carries a small premium.
Add a route for the exact model name, or add a * route.
An API key for each LLM provider you use, such as Anthropic, OpenAI, Groq, or Google. Governor sends requests to your own provider accounts.
The model names your coding tools request, such as claude-opus-4-8. Model names are case sensitive.
AI Architect MCP URL and access token, if you enable AI Architect. Both are available in your Bito account.
Run the one-liner for your OS. It pulls the Bito Governor image, brings up the stack, generates its secrets, signs you in, and prints everything you need.
Linux / macOS
Windows (PowerShell)
Everything installs under a home directory — ~/.bito-gateway (Windows: %USERPROFILE%\.bito-gateway). Set BITO_GW_HOME to install elsewhere.
When it finishes you'll see a "ready" block like this — save what it tells you to:
The admin token (gw_admin_…) is your Admin UI login — copy it now (it's shown once).
The KEK (CRYPTO_ENV_KEK_KEY) is the most important secret to back up: it encrypts every provider key you'll add. Losing it means the stored provider keys can't be decrypted. Copy it to your password manager.
Go to http://<host>:8788/admin, replacing <host> with the address of the machine running Governor.
Enter the admin token you recorded in Step 2.
Create a workspace and open it — your tenant (like a team/project).
The workspace opens on the Dashboard. The left sidebar contains the following pages: Dashboard, Documentation, Reports, Keys, Members, Accounts, Routes, Features, Limits, Prices, Test, and Audit.
Most configuration pages contain a form at the top and a table of existing entries below it. Complete Steps 4 to 9 in the admin UI.
A provider account stores one LLM API key. Add an account for every LLM provider you use, such as Anthropic, OpenAI, Groq, Fireworks, OpenRouter, Together, Google, etc. Add more than one account for the same provider when you hold several keys, for example one per team or environment.
In the left sidebar, click Accounts.
In the Add account form, complete the following fields:
provider
The provider you are connecting.
name
A name for this account, for example prod or my-vllm. The name appears in routes, reports, and prices.
key
Click Add.
The account appears in the Accounts table with the actions edit, test, reveal, and remove, and a toggle to enable or disable it.
Click test on the new account.
test checks the connection to the provider to verify the key and endpoint.
A route maps a model alias your coding tool requests to a provider account and an upstream model.
In the left sidebar, click Routes.
In the Add route form, complete the following fields:
alias
The model name your coding tool requests, for example claude-opus-4-8 or claude-*. Enter * to match any model.
provider
The provider that serves the request.
account
Click Add route.
Routes are grouped by alias in the table below the form. Each group lists its targets with provider, model, account, priority, weight, retries, an enable toggle, and a health state. Priority, weight, and retries are editable inline.
A target marked cooling is in a cooldown period after repeated failures. Governor sends its traffic to the next available target until it recovers.
An alias can be an exact model name such as claude-opus-4-8, or a wildcard such as claude-sonnet-* or *.
A route with * as both the alias and the upstream model passes every request through to the selected account unchanged.
Exact aliases take precedence over wildcards. A route for claude-opus-4-8 is used instead of a claude-* route, and a claude-* route is used instead of *. This lets you run one catch-all route so that every model reaches a provider, then override selectively for the models you care about.
Add the same alias again with a different provider account.
Governor uses the lowest priority tier first.
Within a tier, traffic is distributed by weight.
Targets with the same priority receive requests in turn.
If a provider returns errors, Governor sends the request to the next available target.
A gateway key authenticates a coding tool to Governor. Provider keys stay in the Bito UI.
In the left sidebar, click Keys.
In the Create key form, enter a name that identifies the team or tool that will use the key.
Click Create.
Copy the key.
The key starts with gw_sk_ and is displayed once. Governor stores keys hashed and cannot display them again.
The Keys table lists each key by ID, prefix, and name, with an enable toggle and a revoke action. Create one key per team or tool so that you can revoke one without affecting the others.
Features are server-side capabilities that Governor runs inside a request. Two features are available, and both are optional.
The Features table lists each enabled feature with its alias, state, whether a token is stored, and its MCP URL, with edit, test connection, and disable actions. Enabled features also appear as badges against each alias on the Routes page.
AI Architect serves system context from a live knowledge graph of your engineering system, covering code, business context, and tribal knowledge. Governor applies it inside each request, so your coding tools receive that context as they work.
In the left sidebar, click Features.
In the Configure feature form, select ai_architect from the feature list.
Complete the following fields:
alias
Leave blank to enable the feature across the workspace, or enter a route alias such as claude-* to scope it to that alias.
MCP URL
Your AI Architect MCP endpoint. If left empty, Governor falls back to a built-in stub.
Steering text
Task guidance
Task guidance adds what only your indexed codebase can supply to three kinds of request. Each setting is off by default and applies only to the request type named.
Guide what plans cover
When someone asks the assistant to plan or scope a change, it also covers what else the change would affect across your repositories, the patterns your code already follows, the business rules that constrain it, and the parts of the code that are risky to touch.
This makes plans more complete rather than more accurate, so it ensures the important ground is covered without making individual details more likely to be right.
In testing, plans that addressed those areas rose from about half to roughly four in five, with no slowdown.
Applies to planning, design, and implementation requests. Questions and troubleshooting are unaffected.
Guide what reviews cover
When someone asks what the codebase requires of a change they are about to make, the assistant also establishes which other repositories and services call the code being changed and would have to move with it, the convention the affected code is meant to follow, and the invariants the change could break.
The cross-repository part is the point, because call sites and conventions inside one repository are already searchable while a consumer in another service is not.
Applies to review requests only.
Guide what triage covers
Click Enable.
Changes apply to the next request. Users take no action.
Some questions require several passes to answer. A question about how your repositories connect requires Governor to retrieve the repository list, then look up the dependencies of each repository. Each pass is a hop.
Two settings cap this work, and both apply at the same time.
Max hops
One AI Architect lookup.
Max hops per request
Every AI Architect lookup in one request, combined.
A single request can trigger more than one lookup, so Max hops per request is what stops a complex request from running up cost through repeated lookups that each stay within their own limit.
Governor stops as soon as it has an answer, so both values are ceilings rather than fixed costs.
16
Default. Suitable for most workspaces.
30 or higher
Workspaces with several hundred repositories, or teams that ask broad cross-repository questions.
Raise Max hops if answers come back incomplete. Leave Max hops per request blank to use the gateway default, and set it when you want a firm ceiling on how much AI Architect work a single request can do. Each hop consumes tokens.
reasoning_downgrade lowers the reasoning effort of a request by exactly one level. Reasoning tokens bill at the output rate, so a lower level reduces the cost of the request.
In the left sidebar, click Features.
In the Configure feature form, select reasoning_downgrade from the feature list.
Leave alias blank to apply the feature across the workspace, or enter a route alias such as claude-* to scope it to that alias.
Click Enable.
Apart from alias, the feature has no settings.
Governor leaves a request unchanged when it already uses the lowest or second-lowest reasoning level, or when it sends no reasoning at all.
In the left sidebar, click Documentation. Your own base URL is displayed at the top of the page, and the links below it jump to the four sections on the page.
Get started
Your base URL, a field for your gateway key, and how to authenticate.
Use it
Ready-made curl, Python, and JavaScript requests, and Try it for sending a live request.
Connect a tool
To connect a coding tool:
In the Get started section, paste a gateway key into the key field. Every example on the page fills in with your base URL and key. To generate a key here, click + Create test key.
In the Connect a tool section, select your tool.
Setup is provided for Claude Code, Cursor, Cline (VS Code), Continue (VS Code / JetBrains), Aider, Codex CLI, GitHub Copilot CLI, Windsurf, Zed, and any OpenAI-compatible or Anthropic-compatible tool.
To print the same setup from a terminal, run bito-gateway-ctl gwctl connect with your tool name. The command outputs configuration values and changes no state.
The output contains your data-plane URL and the required environment variables, with a <YOUR_GATEWAY_KEY> placeholder. Replace it with the key you created in Step 6.
For Claude Code, set two environment variables and start the tool:
Replace HOST with the hostname or address of the machine running Governor. To configure a team, distribute these two variables using your existing developer environment tooling. If your traffic already passes through a central gateway, set them there instead.
Governor accepts requests on three endpoints:
/v1/messages
Anthropic Messages
Claude Code, Anthropic SDKs
/v1/chat/completions
OpenAI Chat Completions
Authenticate with Authorization: Bearer <GATEWAY_KEY> or X-Api-Key: <GATEWAY_KEY>. The same gateway key works for all three dialects.
Day-to-day, use the bito-gateway-ctl command (installed on your PATH — Windows too, via a .cmd shim). It works from any directory:
Run gwctl from the command line (it lives inside the gateway container — this wrapper forwards to it):
Uninstall:
Check route selection. In the left sidebar, click Test. Enter a model alias and click Test. Governor returns the route, provider, account, and lane it would use. No request is sent, so this costs nothing.
Send a request. In the left sidebar, click Documentation. In the Use it section, go to Try it. Paste a gateway key, select a model, type a prompt in the message box, and click Run. This sends a real, billable request to your provider.
Query your own system. From your coding tool, ask a question that requires knowledge of your repositories. A response naming your own services confirms AI Architect is active.
Check the report. In the left sidebar, click Reports and confirm the requests appear.
Token prices produce the cost figures on the Dashboard and in Reports. Prices are expressed in $/Mtok, meaning US dollars per million tokens.
Global defaults are maintained by your gateway operator. Set a price here to override the default for your workspace, or to record a negotiated rate for one account. Governor resolves prices in this order: account, then workspace, then global.
In the left sidebar, click Prices.
In the Set price form, select the vendor.
Select an account to apply the price to that account only, or leave it on all accounts to apply the vendor rate across your workspace.
Enter the model name.
Enter in, out, and optionally cache-read and cache-write prices, all in $/Mtok.
Click Set.
The Prices table lists each price with its scope, vendor, model, rates, and source.
A model with no price reports token counts and a cost of zero. The Dashboard shows the number of unpriced requests per model in the UNPRICED column.
Limits are applied per gateway key.
In the left sidebar, click Limits.
In the Set limits form, select a key.
Complete any of the following fields:
rpm
Maximum requests per minute.
tpm
Maximum tokens per minute.
budget ($/month)
Click Set.
Leave a field blank to leave it unchanged. Enter 0 to remove a cap, which makes that limit unlimited.
The Dashboard shows spend and request volume for the last 30 days, with totals for requests, input tokens, output tokens, and cost. Use Group by to break the numbers down by model, alias, key, provider, account, detail, or feature.
The table below the chart lists requests, token counts, cost, and unpriced request count per model.
Reports is the raw event log, with one row per request, updated in near real time. Filter the log and export it with Download CSV.
Token counts are split into four buckets:
in
Fresh prompt tokens, excluding anything served from cache.
cached
Prompt tokens read from cache, billed at a lower rate.
cache_w
The full prompt your tool sent is in + cached + cache_w. The buckets do not overlap, so nothing is counted twice.
Features make hidden calls inside a request and are reported separately. The base columns show the answer the caller received, and the feature columns show the feature's own usage. A request's total is base plus feature. Expand a row to see the split.
Governor does not currently report savings against a baseline. To measure the effect:
Select a set of tasks your team runs regularly.
Disable AI Architect, run the tasks, and record cost per task from Reports.
Enable AI Architect and run the same tasks with the same tool and model.
Compare cost per task and confirm the tasks still complete correctly.
In the left sidebar, click Members.
In the Add team member form, enter a name and select a role.
Click Create.
Each member signs in to the admin UI with the token generated for them.
Member
Manages their own gateway keys and views their own usage.
Workspace admin
Full configuration access to the workspace, including routes, accounts, features, and limits.
You can disable a member from the Team table.
Audit records every configuration change and every secret reveal in your workspace, with the admin who performed it and a timestamp. The log is read only.
Give each person their own member token, so that the log identifies who made each change.
Two things, together, are your whole Bito Governor:
The database — mysqldump bito_gateway on a schedule (it holds every workspace, key, account, route, and your encrypted provider secrets).
The KEK (CRYPTO_ENV_KEK_KEY, in ~/.bito-gateway/.env) — in your secrets manager. A database dump alone can't be decrypted without it.
The Admin UI Documentation tab — connection snippets for every tool, filled with your live URL/key, plus the API reference.
bito-gateway-ctl gwctl <command> -h — help for any CLI command.
curl -fsSL https://gwinstall.bito.ai/latest/install-standalone.sh | bashirm https://gwinstall.bito.ai/latest/install-standalone.ps1 | iex════════════════════════════════════════════════════════════════
✓ bito-gateway is ready
════════════════════════════════════════════════════════════════
Data-plane URL: http://<host>:8788 ← your tools connect here
Admin UI: http://<host>:8788/admin ← sign in here
🔑 KEEP SAFE — lose these and you can be permanently locked out of your data:
• CRYPTO_ENV_KEK_KEY the KEK — encrypts every provider key you store
• admin token gw_admin_… ← your Admin UI login
• DB password stored in the config
• the gateway key (gw_sk_…) is minted later in the Admin UI / quickstartbito-gateway-ctl gwctl connect claude
# Supported values: claude | cursor | cline | continue | aider | codex | copilot | windsurf | zed | openai | anthropicexport ANTHROPIC_BASE_URL="https://HOST:8788"
export ANTHROPIC_AUTH_TOKEN="gw_sk_..."
claudebito-gateway-ctl status # is it up?
bito-gateway-ctl health # /healthz + a deep self-check (gwctl doctor)
bito-gateway-ctl logs # follow the gateway logs (Ctrl-C to stop)
bito-gateway-ctl restart
bito-gateway-ctl stop # stop, keep your data
bito-gateway-ctl start # start again (also applies .env changes)
bito-gateway-ctl update # pull a newer image and restartbito-gateway-ctl gwctl quickstart # interactive: workspace + key + account + route (the CLI version of §4)
bito-gateway-ctl gwctl connect claude # print a tool's setup
bito-gateway-ctl gwctl admin create --role global # add another admin
bito-gateway-ctl gwctl doctor # validate DB/schema/KEKbito-gateway-ctl uninstall # remove the containers, KEEP your data (the DB volume + secrets)
bito-gateway-ctl uninstall --purge # ALSO delete the DB volume + secrets (the KEK) — irreversibleBito provides the context layer you need for autonomous development. It works across the entire software development lifecycle, from planning in Jira to generating code in your coding agent, and across your Git provider for codebase-aware code reviews.
Bito's AI Architect builds a knowledge graph of your codebase (from repos to modules to APIs) and operational history from Jira/Linear (capturing past decisions, incident patterns, and system behavior). This gives your team a shared, always-current understanding of the system, and makes that understanding available wherever engineering decisions are made:
In coding agents (Claude Code, Cursor, Windsurf, GitHub Copilot, and more) for grounded code generation, accelerated onboarding, and production issue triage.
(GitHub, GitLab, Bitbucket) for codebase-aware AI code reviews.
for on-demand architecture questions, incident triage, and team-wide access to codebase knowledge.
for pulling design docs, RFCs, and runbooks into ticket analysis — and creating, updating, and commenting on pages from Jira or Slack.
(Claude.ai, Claude Desktop, ChatGPT) for conversational access to your codebase knowledge, system context, and architectural insights.
Choose what you'd like to set up:
(Fully managed by Bito — no infrastructure setup required)
(Run AI Architect on your own infrastructure for maximum control)
(Claude Code, Cursor, etc.)
Technical design and planning — AI Architect analyzes your Jira tickets and posts a complete implementation plan directly in comments section: feasibility assessment, story breakdown, effort estimates, risk flags, and dependency mapping.
Grounded 1-shot production-ready code — The AI Architect learns all your services, endpoints, code usage examples, and architectural patterns. The agent automatically feeds those to your coding agent (Claude Code, Cursor, Codex, any MCP client) to provide it the necessary information to quickly and efficiently create production ready code.
If you have any questions, feel free to email us at
staging-anthropic
your staging key
leave the prefilled value
claude-opus-5
azure
azure-prod
claude-opus-5
1
0
3
claude-opus-5
azure
azure-prod
claude-opus-5
0
1
Default: Off
anthropic
prod-anthropic
your Anthropic API key
leave the prefilled value
anthropic
prod-anthropic
your production key
leave the prefilled value
openai
my-vllm
your server's key, or leave empty if it needs none
your inference server address
openai
passthrough-openai
leave empty
leave the prefilled value
*
anthropic
prod-anthropic
*
0
claude-sonnet-*
azure
azure-prod
*
claude-opus-5
anthropic
prod-anthropic
claude-opus-5
claude-opus-5
anthropic
prod-anthropic
claude-opus-5
anthropic
prod-anthropic
claude-sonnet-5
anthropic
0
0
claude-opus-5
0
Chat agents (Claude.ai, Claude Desktop, ChatGPT)
Use in Git (GitHub, GitLab, Bitbucket)
Use in IDE (VS Code, Cursor, Windsurf, JetBrains)
Use in CLI (integrates seamlessly with AI coding agents like Cursor, Claude Code, Windsurf, and others.)
Consistent design adherence — Code generated aligns with your architecture patterns and coding conventions.
Spec-driven development — Automatically generate highly detailed, implementation-ready technical requirement documents (TRDs) and low-level designs (LLDs) with a deep, context-aware understanding of your codebase, services, and design patterns, ensuring architectural integrity and consistency at a granular level.
Triaging production issues — Easily and quickly find root causes to production issues based on errors/logs/etc.
Faster onboarding — New engineers or AI agents can quickly understand how a system or component system structure.
Enhanced documentation and diagramming — Through its internal understanding of interconnections between modules and APIs.
Smarter code reviews — Reviews with system-wide awareness of dependencies and impacts.


Agent settings
anthropic
prod-anthropic
your Anthropic API key
leave the prefilled value
Governor fills in base url when you select a provider. Change it only for a proxy, a regional endpoint, or a server you host yourself.
Bill staging traffic to a different key from production.
anthropic
prod-anthropic
your production key
leave the prefilled value
Add the provider twice under different names. Routes select an account by name, and reports show which account served each request, so spend separates cleanly.
Send requests to a model running on your own inference server.
openai
my-vllm
your server's key, or leave empty if it needs none
your inference server address
Any server that implements the OpenAI API works here.
Apply routing and reporting to traffic without storing provider keys centrally.
openai
passthrough-openai
leave empty
leave the prefilled value
An account with no key runs in passthrough mode, where Governor forwards the credential the caller supplied.
*
anthropic
prod-anthropic
*
0
Type the asterisk in both fields. * in the alias matches any model, and * in the model field forwards the model name your tool sent. Add this route first, so that every request reaches a provider while you configure the rest.
Send every version of Sonnet to an Azure account.
claude-sonnet-*
azure
azure-prod
*
The wildcard matches claude-sonnet-5, claude-sonnet-4-5, and later versions, so new releases need no new route. This alias is more specific than *, so it overrides the catch-all.
Serve Opus 5 from Anthropic, and switch to Azure while Anthropic is unavailable.
claude-opus-5
anthropic
prod-anthropic
claude-opus-5
Add the alias once per account. Priority 0 takes all traffic. When those requests fail, Governor moves them to priority 1 until the primary account recovers.
Spread Opus 5 traffic so that neither account reaches its rate limit.
claude-opus-5
anthropic
prod-anthropic
Equal priorities put both targets in the same tier, and the weights send three requests to Anthropic for every one to Azure. Set both weights to 1 for an even split.
Serve Opus 5 requests with a lower-cost model, with no change on any developer machine.
claude-opus-5
anthropic
prod-anthropic
claude-sonnet-5
The alias is the model your tool requests. The model is what serves the request. Your tools continue to request Opus 5, and Governor serves those requests with Sonnet 5. Edit the route to reverse it.
Your provider API key. Governor stores it envelope encrypted under the key encryption key on your host.
base url
The provider endpoint. The default is filled in for each provider. Override it for a proxy, a regional endpoint, or a self-hosted model server.
The provider account used.
model (or *)
The upstream model sent to the provider. Enter * to forward the model name the tool requested.
api
The API dialect. Leave it on auto to follow the caller.
priority
The failover tier. Lower numbers are used first. Default 0.
weight
The share of traffic within a tier. Default 1.
retries
Retry attempts for this target. Leave blank to use the gateway default.
Overrides the default instructions Governor sends with AI Architect. Leave blank to use the default.
Tool allowlist
Restricts which AI Architect tools the model may call, one tool name per line. Leave empty to allow all.
Max hops
The hop budget for a single AI Architect lookup. Default 16. See Max hops below.
Max hops per request
The combined hop budget across every AI Architect lookup in one request. Leave blank to use the gateway default.
Prompt-cache injection
Caches what Governor sends with AI Architect on Anthropic, so repeat hops bill at the cache-read rate. Leave on Use default to follow the gateway-wide setting.
Architect model (sub-agent)
Runs the AI Architect lookups on a cost-efficient sub-agent while the route model writes the answer, for example GPT-5.6 Luna or Gemini Flash Lite 3.5. Leave blank to run them on the request's own route model. You must configure a sub-agent to capture most of the cost savings.
Run Architect in-loop (legacy)
Runs the AI Architect tools inline on the route model instead of the default sub-agent mode. Ignored when an Architect model is set.
Delegation pressure
How hard the assistant is pushed to consult AI Architect.
Balanced consults it when the assistant judges research worthwhile, which suits coding tools whose own file search competes for the same job.
Aggressive tells the assistant to consult AI Architect first, before searching files itself, which suits chat-style products.
Left unset it follows the Architect model setting above — Balanced with none pinned, Aggressive with one, because a pinned model makes research cheap enough to lean on; the unset option names whichever applies right now. Choosing a value explicitly overrides that link and holds even if the Architect model changes later.
Evidence format
What a finished research call hands back.
Prose returns a written answer with citations.
Structured returns the same research as separate findings, each carrying a verbatim code excerpt with its file and line.
Prose is recommended, and matched or beat Structured on accuracy in five test setups out of six while costing less in five out of six, because excerpts add to the size of every request. Choose Structured when you parse the findings yourself.
Default: Prose
Quality mode
Sets how deeply AI Architect researches a question. Choose one of the following:
Use default: follows the gateway-wide setting.
Normal: uses the standard prompts and hop budget. This is the default.
High quality: researches deeper and more thoroughly, at roughly twice the AI Architect cost.
Codebase context
Codebase context tells the assistant about your own codebase before it starts work.
This is the highest-impact setting on this form, and it is off by default.
Conventions sends a short summary of the repository the person is working in, covering how you handle errors and logging, how you name things, how you test, and your security and module boundaries. The summary is the same for every request, so it is inexpensive to send repeatedly, and in testing it roughly halved the cost of a coding session.
Conventions + task research also reads the request, works out what kind of work it is, and looks that up before answering, covering where the change belongs, what it would break, which pattern to follow, and what is already underway.
Default: Off
Include risk areas and in-flight work
Also tells the assistant about known risk areas, technical debt, and work currently underway in the part of the codebase the caller is working in. Carries no contributor names.
Available only when Codebase context is on.
MCP token
Your AI Architect access token. Leave blank to keep the token already stored.
When someone brings a bug or an outage, the assistant first checks what its local view cannot show, including whether an incident or alert is already firing for the services involved, what recently deployed in that area, and any issue already recorded against it.
Tracing the code is something the assistant can already do from the repository, while knowing that an alert has been firing since this morning is not.
Applies to bug reports and troubleshooting only.
Copy-paste setup for each supported coding tool.
Reference
Endpoints, your route aliases, and how usage and cost are reported.
Codex, most OpenAI-compatible tools
/v1/responses
OpenAI Responses
OpenAI Responses API clients
Monthly spend cap. Requires prices to be set.
max_concurrency
Maximum concurrent requests.
Tokens written to the cache. On Anthropic this carries a small premium.
out
All generated tokens, including reasoning tokens.


anthropic
staging-anthropic
your staging key
leave the prefilled value
0
0
claude-opus-5
azure
azure-prod
claude-opus-5
1
claude-opus-5
0
3
claude-opus-5
azure
azure-prod
claude-opus-5
0
1
0
Customize Bito’s AI Code Review Agent to enforce your coding practices.
Bito’s AI Code Review Agent offers a flexible solution for teams looking to enforce custom code review rules, standards, and guidelines tailored to their unique development practices. Whether your team follows specific coding conventions or industry best practices, you can customize the Agent to suite your needs.
We support three ways to customize AI Code Review Agent’s suggestions:
Provide feedback on Bito-reported issues in pull requests, and the AI Code Review Agent automatically adapts by creating code review rules to prevent similar suggestions in the future.
Create custom code review guidelines. Define rules through the Custom Guidelines dashboard in Bito Cloud and apply them to agent instances in your workspace, or add them directly to your repository using a .bito.yaml file.
. Add guideline files (like .cursor/rules/*.mdc, .windsurf/rules/*.md, CLAUDE.md, GEMINI.md, or AGENTS.md) to your repository, and the AI Code Review Agent automatically uses them during pull request reviews to provide feedback aligned with your project's standards.
AI Code Review Agent refines its suggestions based on your feedback. When you provide negative feedback on Bito-reported issues in pull requests, the Agent automatically adapts by creating custom code review rules to prevent similar suggestions in the future.
Depending on your Git platform, you can provide negative feedback in the following ways:
GitHub: Select the checkbox given in feedback question at the end of each Bito suggestion or leave a negative comment explaining the issue with the suggestion.
GitLab: React with negative emojis (e.g., thumbs down) or leave a negative comment explaining the issue with the suggestion.
Bitbucket: Provide manual review feedback by leaving a negative comment explaining the issue with the suggestion.
The custom code review rules are displayed on the dashboard in Bito Cloud.
These rules are applied at the repository level for the specific programming language.
By default, newly generated custom code review rules are disabled. Once negative feedback for a specific rule reaches a threshold of 3, the rule is automatically enabled. You can also manually enable or disable these rules at any time using the toggle button in the Status column.
After you provide negative feedback, Bito generates a new code review rule in your workspace. The next time the AI Code Review Agent reviews your pull requests, it will automatically filter out the unwanted suggestions.
We understand that different development teams have unique needs. To accommodate these needs, we offer the ability to implement custom code review guidelines in Bito’s .
Once you add guidelines, the agent will follow them when reviewing pull requests.
You can manage guidelines in two ways:
- Create, apply, and edit guidelines entirely in the web interface
- Add custom guidelines directly to your repository for version-controlled, repository-specific configuration
By enabling custom code review guidelines, Bito helps your team maintain consistency and improve code quality.
Sign in to .
Click in the sidebar.
A. Manual setup
Click Add guidelines button from the top right.
Fill out:
Guideline name
Language (select a specific programming language or select General if the guideline applies to all languages)
B. Use a Template
Click Add guidelines button from the top right.
Choose a template from the Use template dropdown menu.
Review/edit fields as needed.
Click Create guideline.
After creating a guideline, you’ll see an Apply review guideline dropdown.
Select the Agent instance, then click Manage review guidelines to open its settings.
On the Agent settings page, hit Save (top-right) to apply guideline changes.
Efficiently control which custom guidelines apply to your AI Code Review Agent through the Agent settings interface.
Go to dashboard from the Bito Cloud sidebar.
Click Settings next to the target agent instance.
Navigate to the Custom Guidelines section. Here you can either create a new guideline or select from existing guidelines.
Create a new guideline
If you click Create a new guideline button, you will see the same form as mentioned earlier where you can enter the details to create a review guideline.
Or select an existing guideline
If you click Select from existing guidelines button, you will get a popup screen from where you can select from a list review guidelines you already created. Use checkboxes to enable or disable each guideline for the selected agent and then click Add selected.
Once you’ve applied or adjusted guidelines, click the Save button in the top-right corner to confirm changes.
You can implement a wide range of custom code review guidelines, including:
Style and formatting guidelines
Security best practices
Performance optimization checks
Code complexity and maintainability standards
No, this feature is available on the . Enabling the "custom code review guidelines" feature also upgrades your workspace to the Professional Plan.
For more details on Professional Plan, visit our .
The AI Code Review Agent can read guideline files directly from your repository and use them during code reviews. These are the same guideline files that AI coding assistants (like Cursor, Windsurf, and Claude Code) use to help developers write code.
By adding these files to your repository, the agent automatically follows your project's specific coding standards, architecture patterns, and best practices when reviewing pull requests.
The AI Code Review Agent currently supports analyzing the following guideline files that are commonly used by different AI coding agents:
CRA currently supports analyzing the following guideline files that are commonly used by different AI coding agents:
Multiple files in one directory
You can split your guidelines across multiple files:
For Windsurf, use the .md extension:
Module-specific guidelines:
Place guideline files in subdirectories to create rules for specific parts of your codebase:
The agent finds all relevant guideline files based on which files changed in your pull request.
Every relevant Bito comment includes a Citations section that links to the specific guideline that triggered the comment. The link takes you directly to the relevant line in your guideline file, making it easy to verify the feedback and understand why it was given.
Let's say you're building an application that integrates multiple LLM providers. Your guideline file specifies:
All providers must extend the BaseLLMProvider class
All providers must implement standard methods like generateResponse() and streamResponse()
New providers must be registered in the config/providers.json file
When someone submits a pull request to add a new provider, the agent can catch issues like:
The new provider doesn't extend the base class
Required methods are missing
The provider wasn't added to the configuration file
Each comment links back to the specific guideline, so the developer knows exactly what needs to be fixed.
Here's an example AGENT.md file to help you get started:
Custom Guidelines and Rules (enter your guidelines here)
Click Create guideline.
etc.
AGENTS.md
OpenAI CodeX, Cursor IDE
.cursor/rules/*.mdc
Cursor IDE
.windsurf/rules/*.md
Windsurf IDE
CLAUDE.md
Claude Code
GEMINI.md














Gemini CLI
.cursor/rules/project-overview.mdc
.cursor/rules/architecture-principles.mdc
.cursor/rules/security-standards.mdc.windsurf/rules/coding-standards.md
.windsurf/rules/api-patterns.md.cursor/rules/global-standards.mdc
providers/.cursor/rules/provider-implementation.mdc
auth/.cursor/rules/authentication-rules.mdc# LLM Proxy Architecture & Design Document
## Document Overview
### Purpose
This document serves as a coding guideline and technical reference for AI agents working with this codebase. It provides comprehensive information about the current architecture, design patterns, implementation details, and the rationale behind design decisions. AI agents should use this document to understand the existing code structure, maintain consistency when making modifications, and follow established patterns when extending functionality.
### What This Document Covers
- **System Architecture**: High-level overview of components and their interactions
- **Design Patterns**: Detailed explanation of the Factory Pattern implementation
- **Component Design**: In-depth analysis of each system component
- **Data Flow**: Request/response lifecycle through the system
- **Design Decisions**: Rationale behind current architectural choices
- **Implementation Details**: Code structure, conventions, and patterns in use
---
## Table of Contents
1. [System Architecture](#system-architecture)
2. [Design Patterns](#design-patterns)
3. [Component Design](#component-design)
4. [Data Flow](#data-flow)
5. [Design Decisions](#design-decisions)
6. [Error Handling Strategy](#error-handling-strategy)
7. [Security Considerations](#security-considerations)
8. [Coding Conventions](#coding-conventions)
---
## System Architecture
### High-Level Overview
The LLM Proxy application follows a layered architecture with clear separation between the presentation layer (FastAPI), business logic layer (Provider implementations), and integration layer (external LLM APIs).
```
┌─────────────────────────────────────────────┐
│ FastAPI Application │
│ (Presentation Layer) │
│ - Request validation (Pydantic) │
│ - Route handling (/chat endpoint) │
│ - Response formatting │
└────────────────┬────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Provider Factory │
│ (Abstraction Layer) │
│ - Provider selection logic │
│ - Instance creation │
└────────────────┬────────────────────────────┘
│
┌────────┴────────┐
▼ ▼
┌──────────────┐ ┌──────────────┐
│ OpenAI │ │ Anthropic │
│ Provider │ │ Provider │
│ │ │ │
│ (Concrete │ │ (Concrete │
│ Impl.) │ │ Impl.) │
└──────┬───────┘ └──────┬───────┘
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│ OpenAI API │ │ Anthropic API│
└──────────────┘ └──────────────┘
```
### Component Layers
1. **Presentation Layer** (`main.py`)
- Handles HTTP requests/responses
- Validates input using Pydantic models
- Manages API endpoints
2. **Abstraction Layer** (`providers/factory.py`)
- Implements Factory Pattern
- Routes requests to appropriate providers
- Decouples client code from concrete implementations
3. **Business Logic Layer** (`providers/*.py`)
- Abstract base class defines contract
- Concrete providers implement LLM-specific logic
- Handles API communication and response parsing
4. **Integration Layer**
- External API calls via httpx
- Authentication management
- Network error handling
---
## Design Patterns
### Factory Design Pattern
The application implements the **Factory Design Pattern** to create provider instances without exposing creation logic to the client.
#### Pattern Components
1. **Abstract Product** (`LLMProvider`)
```python
class LLMProvider(ABC):
def __init__(self, model: str):
self.model = model
@abstractmethod
def generate_response(self, prompt: str) -> str:
pass
```
**Purpose**: Defines the contract that all concrete providers must implement.
2. **Concrete Products** (`OpenAIProvider`, `AnthropicProvider`)
```python
class OpenAIProvider(LLMProvider):
def generate_response(self, prompt: str) -> str:
# OpenAI-specific implementation
pass
```
**Purpose**: Implement provider-specific logic while adhering to the base contract.
3. **Factory** (`ProviderFactory`)
```python
class ProviderFactory:
@staticmethod
def get_provider(provider_name: str, model: str) -> LLMProvider:
providers = {
"openai": OpenAIProvider,
"anthropic": AnthropicProvider
}
return providers[provider_name.lower()](model)
```
**Purpose**: Encapsulates provider instantiation logic.
#### Benefits of This Pattern
- **Loose Coupling**: Client code depends on abstractions, not concrete classes
- **Open/Closed Principle**: Open for extension (new providers), closed for modification
- **Single Responsibility**: Each provider handles only its specific implementation
- **Testability**: Easy to mock providers for testing
- **Scalability**: Adding new providers requires minimal changes
---
## Component Design
### 1. Base Provider (`providers/base.py`)
**Responsibility**: Define the contract for all LLM providers
**Key Design Decisions**:
- Uses ABC (Abstract Base Class) to enforce implementation
- Stores model name as instance variable for reuse
- Single abstract method keeps interface simple
**Design Rationale**:
- Python's ABC ensures compile-time checking of implementations
- Simple interface reduces cognitive load for implementers
- Storing model allows for provider-specific model validation in future
### 2. OpenAI Provider (`providers/openai_provider.py`)
**Responsibility**: Implement OpenAI Chat Completions API integration
**Key Features**:
- Environment-based API key management
- Message format conversion (user prompt → OpenAI format)
- Response parsing (extract content from choices)
- Timeout handling (30 seconds)
**API Contract**:
```
POST https://api.openai.com/v1/chat/completions
Headers: Authorization: Bearer <key>
Body: {
"model": "gpt-4",
"messages": [{"role": "user", "content": "prompt"}]
}
```
**Error Handling**:
- Validates API key presence on initialization
- Catches HTTP errors and wraps with descriptive messages
- Re-raises exceptions for upstream handling
### 3. Anthropic Provider (`providers/anthropic_provider.py`)
**Responsibility**: Implement Anthropic Messages API integration
**Key Features**:
- Custom header format (x-api-key, anthropic-version)
- Max tokens configuration (1024)
- Content array response parsing
**API Contract**:
```
POST https://api.anthropic.com/v1/messages
Headers:
x-api-key: <key>
anthropic-version: 2023-06-01
Body: {
"model": "claude-3-sonnet",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "prompt"}]
}
```
**Design Choices**:
- Hard-coded max_tokens provides consistent behavior
- Version header ensures API stability
- Array access for content assumes single response
### 4. Provider Factory (`providers/factory.py`)
**Responsibility**: Create provider instances based on string identifiers
**Implementation Strategy**:
- Dictionary-based mapping for O(1) lookup
- Case-insensitive provider names
- Descriptive error messages for invalid providers
**Extensibility**:
```python
# Adding new provider:
providers = {
"openai": OpenAIProvider,
"anthropic": AnthropicProvider,
"deepseek": DeepseekProvider, # Just add here
}
```
### 5. FastAPI Application (`main.py`)
**Responsibility**: HTTP interface and request orchestration
**Key Components**:
1. **Request Model**:
```python
class ChatRequest(BaseModel):
provider: str
model: str
prompt: str
```
- Leverages Pydantic for automatic validation
- Clear field names match user expectations
2. **Response Model**:
```python
class ChatResponse(BaseModel):
provider: str
model: str
response: str
```
- Echoes input parameters for traceability
- Returns plain text response
3. **Endpoint Handler**:
```python
@app.post("/chat", response_model=ChatResponse)
async def chat(request: ChatRequest):
provider = ProviderFactory.get_provider(request.provider, request.model)
response_text = provider.generate_response(request.prompt)
return ChatResponse(...)
```
**Error Mapping**:
- `ValueError` (invalid provider) → HTTP 400
- Generic `Exception` (API errors) → HTTP 500
---
## Data Flow
### Request Lifecycle
```
1. Client sends POST /chat
↓
2. FastAPI receives request
↓
3. Pydantic validates request body
↓
4. ProviderFactory.get_provider() called
↓
5. Factory returns concrete provider instance
↓
6. provider.generate_response() called
↓
7. Provider makes HTTP call to LLM API
↓
8. Provider parses response
↓
9. Response wrapped in ChatResponse model
↓
10. JSON response sent to client
```
### Detailed Flow Example (OpenAI)
```python
# Client Request
POST /chat
{
"provider": "openai",
"model": "gpt-4",
"prompt": "Tell me a joke"
}
# Internal Processing
1. Pydantic validates: ChatRequest object created
2. Factory called: ProviderFactory.get_provider("openai", "gpt-4")
3. OpenAIProvider instantiated with model="gpt-4"
4. generate_response("Tell me a joke") called
5. HTTP POST to OpenAI API:
{
"model": "gpt-4",
"messages": [{"role": "user", "content": "Tell me a joke"}]
}
6. OpenAI responds with completion
7. Extract: data["choices"][0]["message"]["content"]
8. Return text to endpoint
9. Wrap in ChatResponse
# Client Response
{
"provider": "openai",
"model": "gpt-4",
"response": "Why did the chicken cross the road?..."
}
```
---
## Design Decisions
### 1. Why Factory Pattern?
**Decision**: Use Factory Pattern instead of simple if/else logic
**Rationale**:
- **Scalability**: Adding providers doesn't require modifying existing code
- **Testability**: Easy to mock factory for unit tests
- **Maintainability**: Provider logic isolated in separate classes
- **Professional Standard**: Industry-recognized pattern for this use case
**Alternative Considered**: Direct instantiation with if/else
```python
# Rejected approach
if provider == "openai":
result = OpenAIProvider(model).generate_response(prompt)
elif provider == "anthropic":
result = AnthropicProvider(model).generate_response(prompt)
```
**Why Rejected**: Violates Open/Closed Principle, harder to extend
### 2. Why httpx Over Official SDKs?
**Decision**: Use httpx for HTTP calls instead of official provider SDKs
**Rationale**:
- **Minimal Dependencies**: Keeps requirements.txt small
- **Unified Interface**: Single HTTP client for all providers
- **Transparency**: Direct API calls are easier to debug
- **Control**: Full control over request/response handling
**Trade-offs**:
- Less abstraction (must handle response parsing)
- No built-in retry logic
- Manual API version management
### 3. Synchronous vs Asynchronous
**Decision**: Use synchronous HTTP calls with httpx.Client
**Rationale**:
- **Simplicity**: Easier to understand and debug
- **Current Scale**: Single request doesn't benefit from async
- **API Constraints**: LLM APIs are inherently blocking
**Future Consideration**: Switch to async if supporting streaming responses
### 4. Error Handling Strategy
**Decision**: Simple try/except with HTTP status code mapping
**Rationale**:
- **Simplicity**: Requirements specified basic error handling
- **Client Clarity**: HTTP status codes are standard
- **Debugging**: Error messages preserved in exceptions
**Not Included** (but recommended for production):
- Structured logging
- Retry logic
- Rate limiting
- Circuit breakers
### 5. Environment Variables for API Keys
**Decision**: Use environment variables instead of configuration files
**Rationale**:
- **Security**: Prevents accidental commit of credentials
- **12-Factor App**: Follows best practices for configuration
- **Flexibility**: Easy to change without code modification
- **Cloud-Ready**: Works seamlessly with container orchestration
---
## Error Handling Strategy
### Current Implementation
```python
try:
provider = ProviderFactory.get_provider(request.provider, request.model)
response_text = provider.generate_response(request.prompt)
return ChatResponse(...)
except ValueError as e:
# Invalid provider name
raise HTTPException(status_code=400, detail=str(e))
except Exception as e:
# API errors, network issues, etc.
raise HTTPException(status_code=500, detail=str(e))
```
### Error Categories
1. **Client Errors (400)**:
- Invalid provider name
- Unsupported model
- Malformed request
2. **Server Errors (500)**:
- Missing API keys
- Network timeouts
- API errors (rate limits, service unavailable)
- Response parsing failures
---
## Security Considerations
### Current Implementation
1. **API Key Management**:
- Stored in environment variables
- Never logged or returned in responses
- Validated on provider initialization
2. **Request Validation**:
- Pydantic models enforce type safety
- No SQL injection risk (no database)
- No command injection (no shell execution)
### Current Limitations
1. **No Rate Limiting**: The application does not implement rate limiting
2. **No Authentication**: Endpoints are publicly accessible
3. **No Input Sanitization**: Prompt length and content are not validated beyond Pydantic type checking
4. **No Retry Logic**: Failed API calls are not automatically retried
---
## Coding Conventions
### File Organization
**Current Structure**:
```
llm-proxy/
├── main.py # FastAPI application entry point
├── providers/ # Provider package
│ ├── __init__.py # Package exports
│ ├── base.py # Abstract base class
│ ├── openai_provider.py # OpenAI implementation
│ ├── anthropic_provider.py # Anthropic implementation
│ └── factory.py # Factory implementation
├── requirements.txt # Python dependencies
├── .env.example # Environment variable template
└── README.md # User documentation
```
### Naming Conventions
1. **Classes**: PascalCase (e.g., `LLMProvider`, `OpenAIProvider`)
2. **Functions/Methods**: snake_case (e.g., `generate_response`, `get_provider`)
3. **Constants**: UPPER_SNAKE_CASE (e.g., `OPENAI_API_KEY`)
4. **Files**: snake_case (e.g., `openai_provider.py`)
### Code Patterns
1. **Provider Implementation**:
- Inherit from `LLMProvider`
- Validate API key in `__init__`
- Implement `generate_response(prompt: str) -> str`
- Use httpx.Client with 30-second timeout
- Wrap errors with descriptive messages
2. **Error Handling**:
- Use `try/except` blocks in provider implementations
- Raise `ValueError` for missing API keys
- Raise generic `Exception` with descriptive messages for API errors
- Let FastAPI endpoint handle HTTP status code mapping
3. **Environment Variables**:
- Load with `os.getenv()`
- Validate presence in provider `__init__`
- Use pattern: `{PROVIDER}_API_KEY`
4. **Type Hints**:
- All methods should include type hints
- Use Pydantic models for request/response validation
- Return type explicitly stated
### Documentation Standards
1. **Docstrings**: All classes and methods include docstrings
2. **Comments**: Inline comments explain non-obvious logic
3. **README**: User-facing documentation with examples
### Dependencies
**Current Dependencies**:
- `fastapi==0.109.0`: Web framework
- `uvicorn[standard]==0.27.0`: ASGI server
- `pydantic==2.5.3`: Data validation
- `httpx==0.26.0`: HTTP client
- `python-dotenv==1.0.0`: Environment variable management
**Rationale**: Minimal, well-maintained dependencies that serve specific purposes.
---
## Summary
This document captures the current state of the LLM Proxy application. When working with this codebase, AI agents should:
1. **Follow the Factory Pattern**: All new providers must inherit from `LLMProvider` and be registered in `ProviderFactory`
2. **Maintain Consistency**: Use the same error handling, timeout values, and code structure as existing providers
3. **Respect Abstractions**: Keep provider-specific logic within provider classes
4. **Update Documentation**: Any changes to architecture should be reflected in this document
5. **Preserve Simplicity**: The design prioritizes simplicity and clarity over advanced features
The architecture demonstrates clean separation of concerns through the Factory Design Pattern, making the codebase maintainable and understandable for both human developers and AI agents.
Run Bito Governor in your own Kubernetes cluster. Install it with the Bito Gateway Helm chart, expose it through your ingress controller, and point your coding tools at it.
Governor runs either on Bito's infrastructure or inside your own network. To have Bito run it for you, see Set up Bito Governor (Bito-hosted). To run it on a single host with Docker rather than Kubernetes, see Set up Bito Governor (self-hosted with Docker).
With Kubernetes, you install Governor from the Bito Gateway Helm chart. The chart defaults bring up the gateway, a MySQL database, and a valkey counter store, all on persistent volumes, so nothing outside your cluster is required.
Setup has four parts:
Create a Secret. Four credentials that the gateway reads at startup, including the key that encrypts your provider credentials.
Install the chart. One Helm command renders and applies every Kubernetes resource.
Expose the gateway. The install gives you a running gateway rather than a reachable one.
Configure your workspace. Add a provider account, a route, a gateway key, and any features you want, then connect your coding tools.
The steps below follow that order.
Docker is not required on your own machine. Kubernetes runs the container images for you.
The chart reads its credentials from a Kubernetes Secret that must already exist in the release namespace. The chart does not create it, so this comes first.
Run the command as written. The openssl calls generate each value for you, so nothing in it needs replacing.
gw is the release name. Choose any name you like. It prefixes every resource the chart creates, so a release named gw produces a deployment named gw-bito-gateway.
The command installs the newest published chart version. To pin a version for reproducible deployments, add --version X.Y.Z. Available versions are listed under the . To see what a version contains before installing it, run helm show chart oci://registry-1.docker.io/bitoai/bito-gateway-helm.
The install renders three Deployments, three Services, two PersistentVolumeClaims, and a provisioning Job.
The chart ships example values files, each a complete starting point you copy and edit. Installing with no values file gives you the same result as values-selfhosted.yaml.
Unpack the chart to get them:
Pass your file with -f:
Put your settings in a file of your own rather than editing values.yaml, which ships inside the chart so that you can read what each setting does.
Every pod reaches Running, apart from the provisioning Job, which reaches Completed.
Output:
The install gives you a running gateway rather than a reachable one. Port forwarding is enough for a first look, and an Ingress is what your team connects to.
The gateway is then available at http://localhost:8788, and the admin UI at http://localhost:8788/admin/. This reaches only your own machine, and only while the command runs.
values-selfhosted.yaml carries four ready-to-uncomment Ingress presets, for nginx, AWS ALB, GKE, and Azure AGIC. Uncomment the one matching your ingress controller, set your host, and apply it with helm upgrade.
Point a DNS record at the load balancer address your controller provisions, and your team reaches Governor at that hostname.
Read your admin token back from the Secret. Kubernetes stores Secret values base64 encoded, so the base64 -d step decodes it.
Open the admin UI at your Ingress hostname, or at http://localhost:8788/admin/ while port forwarding, and sign in with that token.
Create a workspace and open it — your tenant (like a team/project).
The workspace opens on the Dashboard. The left sidebar contains the following pages: Dashboard, Documentation, Reports, Keys, Members, Accounts, Routes, Features, Limits, Prices, Test, and Audit.
Most configuration pages contain a form at the top and a table of existing entries below it. Complete Steps 6 to 11 in the admin UI.
gwctl command ships inside the gateway image and reads the database settings the pod already has. Substitute the workspace ID that the first command prints.
ADMIN_TOKEN exists as a bootstrap credential for the case where the database has no rows yet. To avoid storing an admin credential in a Kubernetes Secret, leave it out of the Secret and mint an admin against the database instead.
The command prints the token once. Governor stores only a SHA-256 hash of it, so the raw value never reaches disk or cluster state.
Leaving ADMIN_TOKEN unset is a supported configuration. The gateway boots normally and serves traffic, and only the bootstrap admin is disabled.
A provider account stores one LLM API key. Add an account for every LLM provider you use, such as Anthropic, OpenAI, Groq, Fireworks, OpenRouter, Together, Google, etc. Add more than one account for the same provider when you hold several keys, for example one per team or environment.
In the left sidebar, click Accounts.
In the Add account form, complete the following fields:
Click Add.
The account appears in the Accounts table with the actions edit, test, reveal, and remove, and a toggle to enable or disable it.
Click test on the new account.
test checks the connection to the provider to verify the key and endpoint.
A route maps a model alias your coding tool requests to a provider account and an upstream model.
In the left sidebar, click Routes.
In the Add route form, complete the following fields:
Click Add route.
Routes are grouped by alias in the table below the form. Each group lists its targets with provider, model, account, priority, weight, retries, an enable toggle, and a health state. Priority, weight, and retries are editable inline.
A target marked cooling is in a cooldown period after repeated failures. Governor sends its traffic to the next available target until it recovers.
An alias can be an exact model name such as claude-opus-4-8, or a wildcard such as claude-sonnet-* or *.
A route with * as both the alias and the upstream model passes every request through to the selected account unchanged.
Exact aliases take precedence over wildcards. A route for claude-opus-4-8 is used instead of a claude-* route, and a claude-* route is used instead of *. This lets you run one catch-all route so that every model reaches a provider, then override selectively for the models you care about.
Add the same alias again with a different provider account.
Governor uses the lowest priority tier first.
Within a tier, traffic is distributed by weight.
Targets with the same priority receive requests in turn.
If a provider returns errors, Governor sends the request to the next available target.
A gateway key authenticates a coding tool to Governor. Provider keys stay in the Bito UI.
In the left sidebar, click Keys.
In the Create key form, enter a name that identifies the team or tool that will use the key.
Click Create.
Copy the key.
The key starts with gw_sk_ and is displayed once. Governor stores keys hashed and cannot display them again.
The Keys table lists each key by ID, prefix, and name, with an enable toggle and a revoke action. Create one key per team or tool so that you can revoke one without affecting the others.
Features are server-side capabilities that Governor runs inside a request. Two features are available, and both are optional.
The Features table lists each enabled feature with its alias, state, whether a token is stored, and its MCP URL, with edit, test connection, and disable actions. Enabled features also appear as badges against each alias on the Routes page.
AI Architect serves system context from a live knowledge graph of your engineering system, covering code, business context, and tribal knowledge. Governor applies it inside each request, so your coding tools receive that context as they work.
In the left sidebar, click Features.
In the Configure feature form, select ai_architect from the feature list.
Complete the following fields:
Task guidance
Task guidance adds what only your indexed codebase can supply to three kinds of request. Each setting is off by default and applies only to the request type named.
Click Enable.
Changes apply to the next request. Users take no action.
Some questions require several passes to answer. A question about how your repositories connect requires Governor to retrieve the repository list, then look up the dependencies of each repository. Each pass is a hop.
Two settings cap this work, and both apply at the same time.
A single request can trigger more than one lookup, so Max hops per request is what stops a complex request from running up cost through repeated lookups that each stay within their own limit.
Governor stops as soon as it has an answer, so both values are ceilings rather than fixed costs.
Raise Max hops if answers come back incomplete. Leave Max hops per request blank to use the gateway default, and set it when you want a firm ceiling on how much AI Architect work a single request can do. Each hop consumes tokens.
reasoning_downgrade lowers the reasoning effort of a request by exactly one level. Reasoning tokens bill at the output rate, so a lower level reduces the cost of the request.
In the left sidebar, click Features.
In the Configure feature form, select reasoning_downgrade from the feature list.
Leave alias blank to apply the feature across the workspace, or enter a route alias such as claude-* to scope it to that alias.
Apart from alias, the feature has no settings.
Governor leaves a request unchanged when it already uses the lowest or second-lowest reasoning level, or when it sends no reasoning at all.
In the left sidebar, click Documentation. Your own base URL is displayed at the top of the page, and the links below it jump to the four sections on the page.
To connect a coding tool:
In the Get started section, paste a gateway key into the key field. Every example on the page fills in with your base URL and key. To generate a key here, click + Create test key.
In the Connect a tool section, select your tool.
Setup is provided for Claude Code, Cursor, Cline, Continue, Aider, Codex CLI, GitHub Copilot CLI, Windsurf, Zed, and any OpenAI-compatible or Anthropic-compatible tool.
To print the same setup from a terminal, run gwctl connect inside the gateway pod. The command outputs configuration values and changes no state.
The output contains your data-plane URL and the required environment variables, with a <YOUR_GATEWAY_KEY> placeholder. Replace it with the key you created in Step 8.
For Claude Code, set two environment variables and start the tool:
Replace GATEWAY_HOST with your Ingress hostname, or use http://localhost:8788 while port forwarding. To configure a team, distribute these two variables using your existing developer environment tooling. If your traffic already passes through a central gateway, set them there instead.
Governor accepts requests on three endpoints:
Authenticate with Authorization: Bearer <GATEWAY_KEY> or X-Api-Key: <GATEWAY_KEY>. The same gateway key works for all three dialects.
Check route selection. In the left sidebar, click Test. Enter a model alias and click Test. Governor returns the route, provider, account, and lane it would use. No request is sent, so this costs nothing.
Send a request. In the left sidebar, click Documentation. In the Use it section, go to Try it. Paste a gateway key, select a model, type a prompt in the message box, and click Run. This sends a real, billable request to your provider.
Query your own system. From your coding tool, ask a question that requires knowledge of your repositories. A response naming your own services confirms AI Architect is active.
Token prices produce the cost figures on the Dashboard and in Reports. Prices are expressed in $/Mtok, meaning US dollars per million tokens.
Global defaults are maintained by your gateway operator. Set a price here to override the default for your workspace, or to record a negotiated rate for one account. Governor resolves prices in this order: account, then workspace, then global.
In the left sidebar, click Prices.
In the Set price form, select the vendor.
Select an account to apply the price to that account only, or leave it on all accounts to apply the vendor rate across your workspace.
Enter the
The Prices table lists each price with its scope, vendor, model, rates, and source.
A model with no price reports token counts and a cost of zero. The Dashboard shows the number of unpriced requests per model in the UNPRICED column.
Limits are applied per gateway key.
In the left sidebar, click Limits.
In the Set limits form, select a key.
Complete any of the following fields:
Click Set.
Leave a field blank to leave it unchanged. Enter 0 to remove a cap, which makes that limit unlimited.
The Dashboard shows spend and request volume for the last 30 days, with totals for requests, input tokens, output tokens, and cost. Use Group by to break the numbers down by model, alias, key, provider, account, detail, or feature.
The table below the chart lists requests, token counts, cost, and unpriced request count per model.
Reports is the raw event log, with one row per request, updated in near real time. Filter the log and export it with Download CSV.
Token counts are split into four buckets:
The full prompt your tool sent is in + cached + cache_w. The buckets do not overlap, so nothing is counted twice.
Features make hidden calls inside a request and are reported separately. The base columns show the answer the caller received, and the feature columns show the feature's own usage. A request's total is base plus feature. Expand a row to see the split.
Governor does not currently report savings against a baseline. To measure the effect:
Select a set of tasks your team runs regularly.
Disable AI Architect, run the tasks, and record cost per task from Reports.
Enable AI Architect and run the same tasks with the same tool and model.
Compare cost per task and confirm the tasks still complete correctly.
In the left sidebar, click Members.
In the Add team member form, enter a name and select a role.
Click Create.
Each member signs in to the admin UI with the token generated for them.
You can disable a member from the Team table.
Audit records every configuration change and every secret reveal in your workspace, with the admin who performed it and a timestamp. The log is read only.
Give each person their own member token, so that the log identifies who made each change.
The chart brings up both by default. Turn off either one independently and point the gateway at your own.
For an external database, create the database and a user that may run DDL on the first install. The gateway creates its own tables.
Deliver REDIS_PASSWORD through your Secret rather than through config, in the same way as every other credential.
Governor holds one piece of shared mutable state, the counter store behind your rate limits, budgets, and route health. In-memory counters are per-pod, so running several replicas without a shared store multiplies every limit by the number of pods.
Before raising replicaCount above 1 or enabling autoscaling, set config.STORE_BACKEND to redis, valkey, or aerospike, and set config.REDIS_ADDR to a single host:port for the Redis and valkey backends. The chart refuses to install a multi-replica release without one.
Sentinel and Cluster are unsupported. Use a single endpoint.
Pass no new secret values on upgrade. The Secret is yours rather than the chart's, and both DB_PASSWORD and CRYPTO_ENV_KEK_KEY are fixed after the first install.
A change to the chart's configuration rolls the pods for you. A change to a Secret you own does not, because the chart cannot read it, so roll the pods yourself after rotating one:
A rollback returns the pods to the previous image while the database keeps the newer schema. Bito keeps migrations backward compatible with the previous release for this reason. A schema rollback is a separate, deliberate operation.
Your data survives. The PersistentVolumeClaims are annotated to be kept, so helm uninstall leaves them behind and a reinstall under the same release name adopts them.
Remove them deliberately when you want the data gone:
Helm also leaves the migration objects behind:
Start with the pod status, which names most problems on its own:
to run Governor on a single host with Docker
Contact for deployment assistance
Deploy AI Architect in your own infrastructure for complete data control and enhanced security
This guide walks you through installing Bito's AI Architect as a self-hosted service in your own infrastructure. Self-hosting gives you complete control over where your code knowledge graph resides and how AI Architect accesses your repositories.
Why choose self-hosted deployment? Organizations with strict data governance requirements, air-gapped environments, or specific compliance needs benefit from running AI Architect within their own infrastructure. Your codebase analysis and knowledge graph stay entirely within your control, while still providing the same powerful context-aware capabilities to your AI coding tools.
What you'll accomplish: By the end of this guide, you'll have AI Architect running on your infrastructure, connected to your Git repositories, and ready to integrate with AI coding tools like Claude Code, Cursor, Windsurf, and GitHub Copilot through the Model Context Protocol (MCP).
AI Architect can be deployed in three different configurations depending on your team size, infrastructure, and security requirements:
Set up AI Architect on your local machine for individual development work. You'll provide your own LLM API keys for indexing, giving you complete control over the AI models used and associated costs.
Best for: Individual developers who want codebase understanding on their personal machine.
Deploy AI Architect on a shared server within your infrastructure, allowing multiple team members to connect their AI coding tools to the same MCP server. Each team member can configure AI Architect with their preferred AI coding agent while sharing the same indexed codebase knowledge graph.
Best for: Development teams that want to share codebase intelligence across the team while managing their own LLM costs.
Deploy AI Architect on your infrastructure (local machine or shared server) with indexing managed by Bito. Instead of providing your own LLM keys, Bito handles the repository indexing process, simplifying setup and cost management.
Best for: Organizations that prefer managed indexing without handling individual LLM API keys and costs.
You'll need a Bito account and a Bito Access Key to authenticate AI Architect. You can sign up for a Bito account at , and create an access key from
We support the following Git providers:
AI Architect can be installed on your local machine for individual use, or on a shared server that your entire team can connect to. When installed on a server, multiple developers can configure their AI coding tools (such as Claude Code, Cursor, Windsurf, etc.) to use the same MCP server, sharing access to the indexed codebase.
The AI Architect supports the following operating systems:
macOS
Unix-based systems (Ubuntu, Debian, RHEL, or similar distributions)
Windows (via WSL2)
On-premise physical servers - Bare metal Linux servers in your data center
On-premise virtual machines - VMware, Hyper-V, Proxmox, KVM, or other virtualization platforms
Cloud virtual machines - AWS EC2, Google Cloud Compute Engine, Azure VMs, DigitalOcean Droplets, or similar cloud instances
Before proceeding with the installation, ensure Docker Desktop / Docker Service or Kubernetes cluster is running on your system. If it's not already running, launch it and wait for it to fully start before continuing.
Open your terminal:
Linux/macOS: Use your standard terminal application
Windows (WSL2): Launch the Ubuntu application from the Start menu
Edit /usr/local/etc/bitoarch/.bitoarch-config.yaml file to add/remove repositories.
To apply the changes, run this command:
Start the re-indexing process using this command:
AI Architect supports Single Sign-On (SSO) authentication for secure, multi-user access to the MCP server. SSO runs entirely on-prem — no authentication traffic leaves your environment except for identity provider federation (if Enterprise IdP is configured) and Bito API calls for SSO configurations.
AI Architect supports three authentication modes:
SSO is configured during the setup process. When prompted with "Configure SSO?", you can choose one of the following options:
Enterprise IdP (SAML/OIDC)
The setup process generates a configuration URL for your identity provider
Open the URL in your browser and configure your IdP (e.g., Okta, Azure AD, Google Workspace) with the provided details.
Return to the setup and verify the connection
If you skipped SSO during initial setup or want to change your SSO configuration, you can use the following CLI commands:
Set up or reconfigure SSO:
This command will guide you through the SSO configuration process, including choosing between Enterprise IdP and Bito authentication.
Check SSO status:
Displays the current SSO configuration and IdP connection status.
Enable SSO
Re-enable SSO after it has been temporarily disabled:
Disable SSO
You can disable SSO either temporarily or permanently:
You will be prompted to choose:
Temporary disable — Turns off SSO authentication but preserves your IdP configuration. You can re-enable it later with bitoarch sso enable.
Permanent disable — Removes the IdP configuration entirely and resets SSO settings. You will need to run bitoarch sso setup again to reconfigure.
Rotate SSO management key
Rotate the SSO tenant management key for security purposes:
SSO sessions are configurable with the following defaults:
Port-forwards are exposed on all network interfaces (0.0.0.0) and are accessible from any machine on the network.
Get the host machine's IP address:
From another machine on the network:
Important security notes:
Port-forwards use HTTP (not HTTPS) - traffic is unencrypted
Services are accessible from any machine that can reach the host
For production internet-facing deployments:
Use firewall rules to restrict access to trusted IPs
For production deployments, configure a Kubernetes Ingress Controller with TLS/SSL instead of using port-forwards. This provides secure HTTPS access with proper certificate management.
Now that AI Architect is installed and your repositories are indexed, the next step is to connect it to your AI coding tools (such as Claude Code, Cursor, Windsurf, GitHub Copilot, etc.) through the Model Context Protocol (MCP).
Save time with our automated installer! We provide a one-command setup that automatically configures AI Architect for all compatible AI coding tools on your system.
The automated installer will:
Detect all supported AI tools installed on your system
Configure them automatically with your MCP credentials
Get you up and running in seconds instead of manually configuring each tool
👉 for automated setup across all your tools.
If you prefer hands-on control over your configuration or encounter issues with automated setup, we provide detailed step-by-step guides for each supported AI coding tool:
Each guide walks you through the complete manual configuration process for that specific tool.
Plugins add optional capabilities — like answering questions in Slack or analyzing Jira tickets — on top of your self-hosted AI Architect installation. Each plugin is a self-contained service you install, configure, and remove with a single command. Installing, updating, or removing a plugin never affects the base platform, its databases, or your indexed repositories.
Available plugins
Plugins are offered during installation once the base platform is healthy, and you can manage them any time with the bitoarch plugin commands:
Full setup, configuration, and troubleshooting steps for each plugin are in the .
Now that you have AI Architect set up, you can take your code quality to the next level by integrating it with . This powerful combination delivers significantly more accurate and context-aware code reviews by leveraging the deep codebase knowledge graph that AI Architect has built.
Why integrate AI Architect with AI Code Review Agent?
When the AI Code Review Agent has access to AI Architect's knowledge graph, it gains a comprehensive understanding of your entire codebase architecture — including microservices, modules, APIs, dependencies, and design patterns.
This enables the AI Code Review Agent to:
Provide system-aware code reviews - Understand how changes in one service or module impact other parts of your system
Catch architectural inconsistencies - Identify when new code doesn't align with your established patterns and conventions
Detect cross-repository issues - Spot problems that span multiple repositories or services
Deliver more accurate suggestions
Log in to
Open the dashboard.
In the Server URL field, enter your Bito MCP URL
In the Auth token field, enter your Bito MCP Access Token
Need help getting started? Contact our team at to request a trial. We'll help you configure the integration and get your team up and running quickly.
Insights features analyze commit history, Jira tickets, and Confluence docs to surface engineering activity metrics. They run independently of code indexing and are optional.
Insights provides deep visibility into your engineering organization by analyzing three data sources.
Git insights analyze commit history to identify code health risks, knowledge concentration, development patterns, and team velocity.
Ticket tracker insights analyze Jira tickets to understand strategic direction, feature intent, code stability risks, and architectural design issues.
Docs insights analyze Confluence documentation to correlate design decisions with implementation.
Together, these insights help engineering leaders identify risks like bus factor vulnerabilities, quality concerns, delivery bottlenecks, and strategic alignment gaps.
Health score
The health score is an overall repository health metric ranging from 0 to 100, based on five weighted factors. A score of 90-100 indicates strong health across all dimensions with minimal risks. Scores between 70-89 suggest some concerns requiring attention, such as low test investment or moderate bus factor. Scores of 50-69 represent significant risks requiring immediate action, like a bus factor of 1 or zero test coverage. Below 50 indicates critical vulnerabilities threatening project continuity.
The five factors that contribute to the health score are:
Bus factor (30% weight): This measures knowledge concentration risk. A bus factor of 1 means a single contributor owns more than 50% of commits or code, creating a single-point-of-failure risk. A bus factor of 2-3 indicates moderate concentration that is manageable but fragile, while a bus factor of 4 or higher shows healthy distribution with well-distributed knowledge. When you encounter a bus factor of 1, implement pair programming, knowledge transfer sessions, and distribute code reviews to mitigate the risk.
Velocity trend (20% weight): This tracks development momentum based on commit frequency over time. An increasing trend indicates healthy engagement and momentum. While velocity should be monitored, small sample sizes can skew results, so track trends over time rather than relying on single data points.
Bugfix ratio (20% weight): This represents the percentage of commits that are bug fixes. Lower ratios between 0-15% indicate higher quality, while higher ratios may signal quality concerns. This metric helps you understand whether your team is spending too much time fixing bugs versus building new features.
Hotspots
Hotspots identify files with high churn rates that may indicate instability or areas needing refactoring. Each hotspot shows the change count, unique authors, churn score, line ownership percentages, and rename history count. Hotspots are categorized by severity: critical (top 5%), high (top 15%), medium (top 40%), and low (bottom 60%). Critical hotspots are files in the highest churn percentile and should be prioritized for refactoring or test coverage. High hotspots have elevated churn and should be monitored closely. Medium hotspots represent moderate churn, which is normal for active development areas. Low hotspots are stable files with low risk.
Themes
Themes are thematic groupings of related work across directories. Each theme includes the commit count, impact level, tech stack identification, representative commits, dark work analysis, and intent breakdown. Themes help you understand what types of work are happening in your repository and how they relate to each other. For example, a theme like "Notification Delivery Hardening" might represent a coordinated effort to enhance reliability and observability. The dark work component of themes identifies commits not linked to Jira tickets, which may represent untracked feature work, legitimate infrastructure changes, or work requiring investigation.
Dark work analysis
Dark work identifies commits not linked to Jira tickets. A high dark work percentage above 30% indicates significant work not tracked in tickets, which may suggest process gaps. A medium percentage of 10-30% shows some untracked work that should be reviewed to determine if it represents legitimate infrastructure changes. A low dark work percentage below 10% indicates good tracking discipline where most work is ticket-linked. Understanding dark work helps you improve ticket tracking discipline and ensure all important work is properly tracked and planned.
Contributor analysis
Contributor analysis provides per-author breakdowns including commit count and percentage, archetype classification (builder, maintainer, etc.), top files worked on, intent mix (feature vs. docs vs. refactor), and active period. This helps you understand who is doing what in your repository and identify knowledge concentration risks. For example, if one contributor has 75% of commits and is classified as the primary builder, this represents a significant bus factor risk that should be addressed through knowledge transfer and ownership distribution.
Feature intent reports
When you enable ticket tracker insights, you receive feature intent reports that provide strategic analysis including product direction, investment portfolio by cluster and category, top strategic initiatives with detailed context, cross-initiative dependency mapping, epic health dashboard with completion percentages, and requirements quality scoring. These reports help you understand strategic alignment, identify critical path blockers, and assess the quality of your requirements. Each initiative includes context on WHY it matters, WHAT it involves, WHERE it's being implemented, current STATUS, associated RISKS, DEPENDENCIES, key quotes from stakeholders, customer impact, success metrics, and confidence levels.
Code stability risk reports
Code stability risk reports provide technical risk analysis including a risk matrix by severity (CRITICAL, HIGH, MEDIUM, LOW), recurring bug patterns with confidence scores and root cause attribution, per-repository incident analysis with learnings, silent failure inventory, regression-prone areas, and per-repository risk profiles with 6-dimensional health scoring. These reports help you identify recurring bug patterns like self-hosted deployment fragility, concurrency bottlenecks, LLM provider fallback issues, code quality gaps, and security vulnerabilities. The reports also include failure cascade diagrams showing how failures propagate through the system, which is valuable for understanding systemic risks.
Architecture & design risk audits
Architecture and design risk audits provide structural analysis including repository risk maps with bug counts, bug density by cluster, per-repository risk profiles with health scores, dimensions, dependencies, known issues, architectural patterns, and bottlenecks. The audits also include failure cascade diagrams, design debt inventory with effort sizing, and customer impact mapping. These audits help you understand which repositories have the highest risk, identify design debt that needs to be addressed, and understand how architectural decisions impact system reliability.
The installer prompts for each insights feature. You can pre-seed configuration via ~/.bitoarch/install.yaml to skip prompts by uncommenting the insights: section and filling in values.
Enable all three insight sources (Git, Jira, Confluence) for comprehensive visibility.
Review health scores weekly to catch emerging risks early. Address bus factor risks through knowledge transfer before they become critical. Use dark work analysis to improve ticket tracking discipline.
Correlate Git insights with Jira insights to understand implementation versus planning alignment.
Track trends over time—velocity trends, bug ratios, and health scores are more valuable as time-series data than as single snapshots. Use insights for planning—feature intent reports and dependency mapping inform roadmap decisions. Prioritize based on severity, focusing on CRITICAL and HIGH severity findings first.
Upgrade your AI Architect installation to the latest version while preserving your data and configuration. The upgrade process:
Automatically detects your current version
Downloads and extracts the new version
Migrates your configuration and data
Seamlessly transitions to the new version
If you're running version 1.1.0 or higher, navigate to your current installation directory and run:
If you need to run the upgrade from outside your installation directory (useful for version 1.0.0), use the --old-path parameter:
The upgrade script supports the following parameters:
If you're experiencing issues and need help from the Bito support team, use the built-in diagnostic tool to capture a full snapshot of your deployment in one step.
Live health sweep — runs a pass/warn/fail check across all services and prints results to your terminal:
The --section flag accepts the following values:
Support bundle — collects logs, service status, configuration (with secrets redacted), database health, and indexing state into a single shareable archive:
The command auto-detects whether you're running Docker Compose or Kubernetes. On completion it prints:
The resulting .tar.gz file is saved to ~/.bitoarch/diagnostics/ by default.
To save the bundle to a different location, use the --output parameter:
Example:
For complete reference of AI Architect CLI commands, refer to .
Cluster context
Run kubectl config current-context and confirm it names the target cluster. Every command below applies to whichever cluster your context selects.
Outbound access
Your cluster needs to reach two destinations:
registry-1.docker.io, to pull the . Needed when you install and when you upgrade.
The endpoint of every LLM provider you configure. Needed whenever Governor serves traffic.
ADMIN_TOKEN
The bootstrap admin credential, used to sign in to the admin UI the first time.
values-single-node.yaml
Small or non-production, with your database already in the cluster.
values-demo.yaml
Evaluating — in-cluster stores with no persistent volume; every restart loses all data
Revoking
Edit the Secret and restart
gwctl admin revoke <id>
Audit trail
One shared identity
One row per admin
Scope
Always global
Global, or scoped to one workspace
base url
The provider endpoint. The default is filled in for each provider. Override it for a proxy, a regional endpoint, or a self-hosted model server.
model (or *)
The upstream model sent to the provider. Enter * to forward the model name the tool requested.
api
The API dialect. Leave it on auto to follow the caller.
priority
The failover tier. Lower numbers are used first. Default 0.
weight
The share of traffic within a tier. Default 1.
retries
Retry attempts for this target. Leave blank to use the gateway default.
Tool allowlist
Restricts which AI Architect tools the model may call, one tool name per line. Leave empty to allow all.
Max hops
The hop budget for a single AI Architect lookup. Default 16. See below.
Max hops per request
The combined hop budget across every AI Architect lookup in one request. Leave blank to use the gateway default.
Prompt-cache injection
Caches what Governor sends with AI Architect on Anthropic, so repeat hops bill at the cache-read rate. Leave on Use default to follow the gateway-wide setting.
Architect model (sub-agent)
Runs the AI Architect lookups on a cost-efficient sub-agent while the route model writes the answer, for example GPT-5.6 Luna or Gemini Flash Lite 3.5. Leave blank to run them on the request's own route model. You must configure a sub-agent to capture most of the cost savings.
Run Architect in-loop (legacy)
Runs the AI Architect tools inline on the route model instead of the default sub-agent mode. Ignored when an Architect model is set.
Delegation pressure
How hard the assistant is pushed to consult AI Architect.
Balanced consults it when the assistant judges research worthwhile, which suits coding tools whose own file search competes for the same job.
Aggressive tells the assistant to consult AI Architect first, before searching files itself, which suits chat-style products.
Left unset it follows the Architect model setting above — Balanced with none pinned, Aggressive with one, because a pinned model makes research cheap enough to lean on; the unset option names whichever applies right now. Choosing a value explicitly overrides that link and holds even if the Architect model changes later.
Evidence format
What a finished research call hands back.
Prose returns a written answer with citations.
Structured returns the same research as separate findings, each carrying a verbatim code excerpt with its file and line.
Prose is recommended, and matched or beat Structured on accuracy in five test setups out of six while costing less in five out of six, because excerpts add to the size of every request. Choose Structured when you parse the findings yourself.
Default: Prose
Quality mode
Sets how deeply AI Architect researches a question.
Choose one of the following:
Use default: follows the gateway-wide setting.
Normal: uses the standard prompts and hop budget. This is the default.
High quality: researches deeper and more thoroughly, at roughly twice the AI Architect cost.
Codebase context
Codebase context tells the assistant about your own codebase before it starts work.
This is the highest-impact setting on this form, and it is off by default.
Conventions sends a short summary of the repository the person is working in, covering how you handle errors and logging, how you name things, how you test, and your security and module boundaries. The summary is the same for every request, so it is inexpensive to send repeatedly, and in testing it roughly halved the cost of a coding session.
Conventions + task research also reads the request, works out what kind of work it is, and looks that up before answering, covering where the change belongs, what it would break, which pattern to follow, and what is already underway.
Include risk areas and in-flight work
Also tells the assistant about known risk areas, technical debt, and work currently underway in the part of the codebase the caller is working in. Carries no contributor names.
Available only when Codebase context is on.
MCP token
Your AI Architect access token. Leave blank to keep the token already stored.
Click Enable.
Reference
Endpoints, your route aliases, and how usage and cost are reported.
/v1/responses
OpenAI Responses
OpenAI Responses API clients
Check the report. In the left sidebar, click Reports and confirm the requests appear.
Enter in, out, and optionally cache-read and cache-write prices, all in $/Mtok.
Click Set.
max_concurrency
Maximum concurrent requests.
out
All generated tokens, including reasoning tokens.
Both
Both false
Use values-external-db.yaml
Set config.DB_USER. The binary defaults to root, and the in-chart MySQL root password is random.
The database pod exits during startup
An init step failed.
Read its logs with kubectl -n bito-gateway logs deploy/gw-bito-gateway-mysql.
CreateContainerConfigError on the database pod
The Secret named by secrets.existingSecret is missing, or has no DB_PASSWORD key.
Create the Secret in the release namespace, then roll the pods.
Every pod is Ready, /healthz returns 200, every call returns 401
The database has no workspace or gateway key yet.
Create them, as in Step 5.
/admin/api returns 401 with the token you read back
ADMIN_TOKEN was absent from the Secret when the pod started.
Add it, then run kubectl -n bito-gateway rollout restart deploy/gw-bito-gateway. An existing Secret carries no checksum, so nothing rolls the pods for you.
The gateway is Ready but every request fails
The database pod restarted and re-ran its init, so the schema is fresh and holds no tenants.
Recreate your workspace and keys, and check that persistence is enabled.
Answers are truncated mid-sentence
Your ingress controller timed the response out.
Raise the response timeout, as in Step 4.
401 from Governor with a gateway key
The key is invalid or revoked.
Create a new key on the Keys page and update the tool configuration.
404 for a model
No route matches the requested alias.
Add a route for the exact model name, or add a * route.
Requests reach an unexpected model
An exact alias takes precedence over the * route.
Check the Routes page. Exact aliases override wildcards.
A route shows cooling
The target failed repeatedly and is in a cooldown.
Check the provider account with test on the Accounts page. Traffic uses the next target until it recovers.
Cost column shows zero, or UNPRICED is high
The model has no price set.
Add prices for that model on the Prices page.
AI Architect responses lack system context
The feature is disabled, scoped to a different alias, or the MCP URL is empty.
Check the alias, MCP URL, and token on the Features page, then click test connection. An empty MCP URL falls back to a built-in stub.
Broad questions return incomplete answers
Governor reached a hop budget.
Increase Max hops, and check Max hops per request if the request makes several AI Architect lookups.
Kubernetes cluster
Version 1.23 or later, running in your own environment
kubectl
Installed, and pointed at the cluster you intend to install into.
Helm
kubectl create namespace bito-gatewaykubectl create secret generic bito-gateway-secrets \
--namespace bito-gateway \
--from-literal=DB_PASSWORD="$(openssl rand -base64 24 | tr -d '/+=')" \
--from-literal=CRYPTO_ENV_KEK_KEY="$(openssl rand -base64 32)" \
--from-literal=MYSQL_ROOT_PASSWORD="$(openssl rand -base64 24 | tr -d '/+=')" \
--from-literal=ADMIN_TOKEN="$(openssl rand -base64 32 | tr -d '/+=')"DB_PASSWORD
The password the gateway uses to reach its database.
CRYPTO_ENV_KEK_KEY
The key encryption key. It encrypts every provider credential Governor stores, and must be base64 of exactly 32 bytes.
MYSQL_ROOT_PASSWORD
helm install gw oci://registry-1.docker.io/bitoai/bito-gateway-helm \
--namespace bito-gateway \
--set secrets.existingSecret=bito-gateway-secretsvalues-selfhosted.yaml
Start here. The defaults written out and explained, with the gateway, MySQL, and valkey all in-cluster on persistent volumes.
values-external-db.yaml
You have a managed database such as RDS, Cloud SQL, or Azure Database, with TLS and credentials from a Secret you already own.
values-production-ha.yaml
helm pull oci://registry-1.docker.io/bitoai/bito-gateway-helm --untarls bito-gateway-helm/values-*.yamlhelm install gw oci://registry-1.docker.io/bitoai/bito-gateway-helm \
--namespace bito-gateway -f my-values.yamlkubectl -n bito-gateway rollout status deploy/gw-bito-gateway --timeout=5mkubectl -n bito-gateway get podsNAME READY STATUS RESTARTS AGE
gw-bito-gateway-75f659b99c-chksx 1/1 Running 0 6m51s
gw-bito-gateway-mysql-586665659d-gvjhr 1/1 Running 0 6m51s
gw-bito-gateway-mysql-provision-vl7vg 0/1 Completed 0 6m51s
gw-bito-gateway-redis-6df545479b-8zpff 1/1 Running 0 6m51skubectl -n bito-gateway port-forward svc/gw-bito-gateway 8788:8788kubectl -n bito-gateway get secret bito-gateway-secrets \
-o jsonpath='{.data.ADMIN_TOKEN}' | base64 -dkubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl workspace create --name demokubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl key create --workspace <ID> --name demokubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl account add --workspace <ID> --provider anthropic --key <YOUR PROVIDER KEY>kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl route add --workspace <ID> --alias '*' --provider anthropickubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl admin create --role globalCredential at rest
In your Secret
A hash in the database
Takes effect
After a pod restart
provider
The provider you are connecting.
name
A name for this account, for example prod or my-vllm. The name appears in routes, reports, and prices.
key
alias
The model name your coding tool requests, for example claude-opus-4-8 or claude-*. Enter * to match any model.
provider
The provider that serves the request.
account
alias
Leave blank to enable the feature across the workspace, or enter a route alias such as claude-* to scope it to that alias.
MCP URL
Your AI Architect MCP endpoint. If left empty, Governor falls back to a built-in stub.
Steering text
Guide what plans cover
When someone asks the assistant to plan or scope a change, it also covers what else the change would affect across your repositories, the patterns your code already follows, the business rules that constrain it, and the parts of the code that are risky to touch.
This makes plans more complete rather than more accurate, so it ensures the important ground is covered without making individual details more likely to be right.
In testing, plans that addressed those areas rose from about half to roughly four in five, with no slowdown.
Applies to planning, design, and implementation requests. Questions and troubleshooting are unaffected.
Guide what reviews cover
When someone asks what the codebase requires of a change they are about to make, the assistant also establishes which other repositories and services call the code being changed and would have to move with it, the convention the affected code is meant to follow, and the invariants the change could break.
The cross-repository part is the point, because call sites and conventions inside one repository are already searchable while a consumer in another service is not.
Applies to review requests only.
Guide what triage covers
Max hops
One AI Architect lookup.
Max hops per request
Every AI Architect lookup in one request, combined.
16
Default. Suitable for most workspaces.
30 or higher
Workspaces with several hundred repositories, or teams that ask broad cross-repository questions.
Get started
Your base URL, a field for your gateway key, and how to authenticate.
Use it
Ready-made curl, Python, and JavaScript requests, and Try it for sending a live request.
Connect a tool
kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl connect claude
# Supported values: claude | cursor | codex | copilot | cline | continue | aiderexport ANTHROPIC_BASE_URL="https://GATEWAY_HOST"
export ANTHROPIC_AUTH_TOKEN="gw_sk_..."
claude/v1/messages
Anthropic Messages
Claude Code, Anthropic SDKs
/v1/chat/completions
OpenAI Chat Completions
rpm
Maximum requests per minute.
tpm
Maximum tokens per minute.
budget ($/month)
in
Fresh prompt tokens, excluding anything served from cache.
cached
Prompt tokens read from cache, billed at a lower rate.
cache_w
Member
Manages their own gateway keys and views their own usage.
Workspace admin
Full configuration access to the workspace, including routes, accounts, features, and limits.
MySQL
mysql.enabled: false
config.DB_HOST, config.DB_PORT, config.DB_NAME, config.DB_USER, and config.DB_TLS
Redis or valkey
redis.enabled: false
helm upgrade gw oci://registry-1.docker.io/bitoai/bito-gateway-helm \
--namespace bito-gateway -f my-values.yaml --timeout 1800skubectl -n bito-gateway rollout restart deploy/gw-bito-gatewayhelm rollback gw <revision> -n bito-gatewayhelm uninstall gw -n bito-gatewaykubectl -n bito-gateway delete pvc gw-bito-gateway-mysql
kubectl -n bito-gateway delete pvc gw-bito-gateway-rediskubectl -n bito-gateway delete job,configmap,serviceaccount,secret \
gw-bito-gateway-migrate --ignore-not-foundkubectl -n bito-gateway get pods
kubectl -n bito-gateway logs deploy/gw-bito-gatewayImagePullBackOff on any pod
Docker Hub is rate limiting anonymous pulls, or your registry needs credentials.
Set imagePullSecrets, which every pod in the chart renders.
The gateway pod crash loops with an access-denied error


Version 3.14 or later. Helm 4 is also supported.
The root password for the in-cluster MySQL database.
You want multiple replicas with a shared counter store.
Immediately
Your provider API key. Governor stores it envelope encrypted under the key encryption key in your cluster.
The provider account used.
Overrides the default instructions Governor sends with AI Architect. Leave blank to use the default.
When someone brings a bug or an outage, the assistant first checks what its local view cannot show, including whether an incident or alert is already firing for the services involved, what recently deployed in that area, and any issue already recorded against it.
Tracing the code is something the assistant can already do from the repository, while knowing that an alert has been firing since this morning is not.
Applies to bug reports and troubleshooting only.
Copy-paste setup for each supported coding tool.
Codex, most OpenAI-compatible tools
Monthly spend cap. Requires prices to be set.
Tokens written to the cache. On Anthropic this carries a small premium.
config.REDIS_ADDR, plus REDIS_TLS and REDIS_PASSWORD
config.DB_USER does not match the database user.
GitHub
GitLab
Bitbucket
Azure DevOps
So, you'll need an account on one of these Git providers to index your repositories with AI Architect.
A personal access token from your chosen Git provider is required. You'll use this token to allow AI Architect to read and index your repositories.
GitHub: To connect your GitHub repositories to AI Architect, choose one of the following authentication methods:
GitHub App: Install and authorize the Bito GitHub App, then select the repositories you want AI Architect to index.
Personal Access Token (Classic): Create a classic personal access token with repo access and provide it during setup. Fine-grained personal access tokens are not currently supported.
GitLab Personal Access Token: To use GitLab repositories with AI Architect, a token with API access is required.
Bitbucket Access Token: To use Bitbucket repositories with AI Architect, you need API Token or HTTP Access Token depending on your Bitbucket setup.
Bitbucket Cloud (API Token): You must provide both your token and email address.
Azure DevOps (cloud) Personal Access Token with Full access: The token must be created for the Azure DevOps organization whose repositories you want to index.
Bito's AI Architect uses Large Language Models (LLMs) to build a knowledge graph of your codebase.
LLM API keys are required for self-managed AI Architect deployments. Provide an API key for the LLM provider you plan to use, such as:
Anthropic (Claude)
OpenAI (GPT)
Portkey
Google Vertex AI
Azure AI
Novita
AWS Bedrock
Google Gemini
Local OpenAI-compatible (bring your own server)
With an Anthropic API key, indexing costs are typically $0.15 - $0.30 per MB of indexable code (source files only; binaries, archives, and images are skipped).
Teams of up to five members can use AI Architect for free with their preferred coding agents by using their own LLM API keys. Larger teams require , which includes bundled LLM tokens. Further, if you want to power Bito Code Review Agent with AI Architect, you will need Bito Enterprise Plan regardless of the size of the team.
Overview. The Copilot Bridge extension exposes GitHub Copilot’s models inside VS Code as an OpenAI-compatible /v1 endpoint. Register it as the Local OpenAI-compatible provider above to test AI Architect against Copilot’s models without a separate LLM API key.
1. Install the extension. Install thinkability.copilot-bridge (repo: ). Ensure GitHub Copilot and Copilot Chat are installed and signed in — the bridge proxies the VS Code Language Model API and needs an active Copilot seat.
2. Configure (open Settings with Cmd+, on macOS or Ctrl+, on Windows/Linux, then search “bridge” — or edit settings.json directly):
"bridge.enabled": true
"bridge.port": 8000 — pin it (default 0 = random port, which breaks a stable baseURL)
"bridge.token": "<your-token>" — REQUIRED; an empty token blocks all API access
3. Start it. Command Palette → Copilot Bridge: Enable (and Copilot Bridge: Status to confirm the port). After changing settings, re-run Enable or Developer: Reload Window.
4. Verify the bridge directly:
Note an exact model id from /v1/models (e.g. claude-sonnet-4.6, gpt-5.4).
12 cores
24 GB
500 GB
Ideal
25 – 100
16 cores
48 GB
1.5 TB
Enterprise
100+
32+ cores
128+ GB
2 – 4 TB+
AI Architect automatically detects available system resources during setup and configures optimal resource allocation for its Docker containers. For most deployments, the automatic configuration provides good performance. However, you can manually adjust these settings to fine-tune performance or accommodate specific workload requirements.
To view the active values:
To change a limit, edit the corresponding line in .env-bitoarch and apply:
Keep total allocated memory under ~75% of host memory to leave room for indexing bursts and the OS page cache.
Docker Compose is required to run AI Architect.
The easiest and recommended way to get Docker Compose is to install Docker Desktop.
Docker Desktop includes Docker Compose along with Docker Engine and Docker CLI which are Docker Compose prerequisites.
Configuration for Windows (WSL2):
If you're using Windows with WSL2, you need to enable Docker integration with your WSL distribution:
Open Docker Desktop
Go to Settings > Resources > WSL Integration
Enable integration for your WSL distribution (e.g., Ubuntu)
Click Apply
During the setup process given below, if you choose Kubernetes as your deployment method, you must have an existing Kubernetes cluster set up and running.
Ensure your Kubernetes cluster have the following required tools:
kubectl (Kubernetes command-line tool)
helm (Kubernetes package manager)
For testing purposes, you can create a local Kubernetes cluster using KIND (Kubernetes in Docker). KIND allows you to run Kubernetes clusters in Docker containers.
Install KIND:
macOS:
Linux:
Create a KIND cluster with proper port mappings for service access:
Execute the installation command:
The installation script will:
Download the latest Bito AI Architect package
Extract it to your system
Initialize the setup process
Download the install.default.yaml file, then rename it to install.yaml and place it at ~/.bitoarch/install.yaml on your machine.
Open the file and update the configuration with your details by following the inline instructions.
Providing your Bito API key and Git credentials is required for the setup to work.
Alternatively, follow the on-screen prompts to configure your deployment. You'll provide the following information:
Choose how you want to deploy Bito's AI Architect. We support two deployment methods:
Docker Compose: Deploys AI Architect using Docker Compose.
Kubernetes: Deploys AI Architect to an existing Kubernetes cluster. Choose this option if you have an existing Kubernetes cluster running and want to leverage Kubernetes for orchestration, scaling, and management.
Note: The setup script will automatically deploy AI Architect services to your Kubernetes cluster in the bito-ai-architect namespace.
Bito API Key (required) - Enter your Bito Access key and press Enter.
Git provider (required):
You'll be prompted to choose your Git provider:
GitLab
Once your Git account is connected successfully, Bito automatically detects your repositories and populates the /usr/local/etc/bitoarch/.bitoarch-config.yaml file with an initial list. Review this file to confirm which repositories you want to index — feel free to remove any that should be excluded or add others as needed. Once the list looks correct, save the file, and continue with the steps below.
Below is an example of how the .bitoarch-config.yaml file is structured:
repository:
configured_repos:
- namespace: your-org/repo-name-1
- namespace: your-org/repo-name-2
- namespace: your-org/repo-name-3After updating the .bitoarch-config.yaml file, you have two options to proceed with adding your repositories for indexing:
Auto Configure (recommended)
Automatically saves the repositories and starts indexing
If needed, edit the repo list before selecting this option
Manual Setup
You have to manually update the configuration file and then start the indexing. Below we have provided complete details of the manual process.
Once you select an option, your Bito MCP URL and Bito MCP Access Token will be displayed. Make sure to store them in a safe place, you'll need them later when configuring MCP server in your AI coding agent (e.g., Claude Code, Cursor, Windsurf, GitHub Copilot (VS Code), etc.).
To manually apply the configuration, run this command:
Once your repositories are configured, AI Architect needs to analyze and index them to build the knowledge graph. This process scans your codebase structure, dependencies, and relationships to enable context-aware AI assistance.
Start the indexing process by running:
bitoarch index-reposOnce the indexing is complete, you can configure AI Architect MCP server in any coding or chat agent that supports MCP.
Enterprise IdP
Enterprise IdP
OAuth flow federated to your corporate SAML/OIDC identity provider (e.g., Okta, Azure AD, Google Workspace).
Bito Authentication
Enables OAuth authentication using your Bito workspace credentials
No additional IdP configuration is required
Max concurrent sessions
2
Maximum number of concurrent sessions per user
Consider using Kubernetes Ingress with TLS/SSL
Implement VPN for remote access
Use network policies to limit pod-to-pod traffic
Reduce false positives - Better understand context to avoid flagging valid code as problematic
Author diversity (15% weight): This measures the number of unique contributors to the repository. Higher diversity reduces knowledge concentration risk and indicates a healthier, more resilient team. Low diversity combined with a low bus factor is a warning sign that knowledge is too concentrated.
Test investment (15% weight): This tracks the percentage of commits dedicated to testing. Industry best practice is 15-20%. Zero test investment, as seen in some sample data, indicates unquantified risk and reliance on manual verification. Prioritize test coverage, especially for high-churn files, to improve this metric.
Preserves all indexed repositories and settings
config
Configuration files and environment variables
services
Container/pod status, health, and resource usage
connectivity
Service-to-service and network reachability
cert
TLS/SSL certificate validity
Minimum
vim /usr/local/etc/bitoarch/.bitoarch-config.yamlbitoarch update-reposbitoarch index-repos --only-new-reposBearer Token
None (SSO disabled)
Static MCP access token passed in the request header. This is the default mode.
Bito Authentication
Bito
bitoarch sso setupbitoarch sso statusbitoarch sso enablebitoarch sso disablebitoarch sso rotate-keySession duration
360 minutes (6 hours)
How long a session remains valid
Refresh token TTL
300 minutes (5 hours)
curl http://localhost:5001/health # Provider
curl http://localhost:5002/health # Manager
curl http://localhost:5003/health # Configkubectl get nodes -o wide
# Or: hostname -I (Linux) / ifconfig (macOS)curl http://<host-ip>:5001/health # Provider
curl http://<host-ip>:5002/health # Manager
curl http://<host-ip>:5003/health # Config
curl http://<host-ip>:5005/health # TrackerSlack AI Assistant (ai-assistant)
Ask AI Architect about your codebase, architecture, and repositories and get grounded answers directly in your Slack channels.
Slack
Bito Task Analyzer (task-analyzer)
Analyzes new and updated Jira tickets and posts its findings back as comments — either on every change or on @bito mention.
# List available and installed plugins
bitoarch plugin list
# Install, configure, and check a plugin
bitoarch plugin install ai-assistant
bitoarch plugin config ai-assistant
bitoarch plugin statusbitoarch insights enable git # Enable commit-history insights (reuses git credentials)
bitoarch insights enable ticket-tracker # Enable Jira insights (prompts for Jira base URL + email + API token)
bitoarch insights enable docs # Enable Confluence insights (prompts for Confluence URL + email + API token)
bitoarch insights run # Trigger analysis
bitoarch insights status # Check what's enabledbitoarch insights discover-tracker-projects # Interactive selection from accessible projects
bitoarch insights tracker-projects list # Show current project keys
bitoarch insights tracker-projects add PROJ # Add a project key
bitoarch insights tracker-projects remove PROJbitoarch update-ticket-tracker # Re-enter Jira credentials (validates before saving)
bitoarch update-docs # Re-enter Confluence credentialscd /path/to/bito-ai-architect./scripts/upgrade.sh --version=latest# Download the standalone upgrade script
curl -O https://github.com/gitbito/ai-architect/blob/main/upgrade.sh
chmod +x upgrade.sh
# Run upgrade with explicit path
./upgrade.sh --old-path=/path/to/bito-ai-architect --version=latest# Description
--version=VERSION
# Upgrade to specific version
--version=latest
# Upgrade from custom URL or file
--url=file:///path/to/package.tar.gz
# Specify installation path (required if running outside installation directory)
--old-path=/opt/bito-ai-architect
# Show help message
--helpbitoarch reset # wipe containers/volumes/config; keep install dir
bitoarch uninstall # full removal (+ install dir + ~/.bitoarch/install.yaml)bitoarch diagnose
bitoarch diagnose --verbose # show URLs, ports, and detail on failures
bitoarch diagnose --section services # run one section onlyprereqs
System prerequisites (Docker/Kubernetes, required tools)
install
Installation state and file integrity
filesystem
bitoarch diagnose --bundleShare this file with Bito support: support@bito.aibitoarch diagnose --bundle --output <dir name># Check all services
bitoarch status
bitoarch health --verbose
# View full configuration
bitoarch show-config --raw
# Test MCP connection
bitoarch mcp-test
# Check indexing status with details
bitoarch index-status --raw
# Check setup log
tail -f setup.log
# Local log files
tail -f var/logs/cis-provider/provider.log
tail -f var/logs/cis-manager/manager.log
# Services stopped after reboot
bitoarch start
# Complete logs
bitoarch logs
# Reset installation (removes all data and configuration)
bitoarch reset
# To stop all the services
bitoarch stop
# Restart service (for env based config updates)
bitoarch restart --force
# Force pull latest images based on service-versions.json and restart services
bitoarch update# Check Kubernetes pod status
# All pods should show "Running" status.
kubectl get pods -n bito-ai-architect
# Check detailed information about a specific Kubernetes pod
kubectl describe pod <pod-name> -n bito-ai-architect
# Access Kubernetes pod shell
kubectl exec -it -n bito-ai-architect \
$(kubectl get pod -n bito-ai-architect -l app.kubernetes.io/component=provider -o jsonpath='{.items[0].metadata.name}') \
-- /bin/sh
# Stop KIND cluster (preserves data)
docker stop bito-ai-architect-control-plane
# Start KIND cluster again
docker start bito-ai-architect-control-plane
# Delete KIND cluster completely
kind delete cluster --name bito-ai-architect
# View Provider service logs:
kubectl logs -n bito-ai-architect -l app.kubernetes.io/component=provider --tail=100 -f
# View Manager service logs:
kubectl logs -n bito-ai-architect -l app.kubernetes.io/component=manager --tail=100 -fup to 25
grep -E '_(MEMORY|CPU)_LIMIT=' .env-bitoarchbitoarch restart --forcecurl -fsSL https://aiarchitect.bito.ai/install.sh | bashOAuth flow validated via your Bito workspace. Ideal for teams already using Bito.
How long a refresh token remains valid
Jira
Disk space, volume mounts, log directories
staging-anthropic
your staging key
leave the prefilled value
claude-opus-5
azure
azure-prod
claude-opus-5
1
0
3
claude-opus-5
azure
azure-prod
claude-opus-5
0
1
Default: Off
anthropic
prod-anthropic
your Anthropic API key
leave the prefilled value
anthropic
prod-anthropic
your production key
leave the prefilled value
openai
my-vllm
your server's key, or leave empty if it needs none
your inference server address
openai
passthrough-openai
leave empty
leave the prefilled value
*
anthropic
prod-anthropic
*
0
claude-sonnet-*
azure
azure-prod
*
claude-opus-5
anthropic
prod-anthropic
claude-opus-5
claude-opus-5
anthropic
prod-anthropic
claude-opus-5
anthropic
prod-anthropic
claude-sonnet-5
anthropic
0
0
claude-opus-5
0
Bitbucket Self-Hosted (HTTP Access Token): You must provide both your token and username.
"bridge.maxConcurrent": 4 — default 1 serializes AI Architect’s calls
Bitbucket
Azure DevOps
Enter the number corresponding to your Git provider and press Enter.
Is your Git provider self-hosted or cloud-based?
Type y for enterprise/self-hosted instances (like https://github.company.com) and enter your custom domain URL
Type n for standard cloud providers (github.com, gitlab.com, bitbucket.org)
Press Enter to continue.
Git Access Token (required) - Enter personal access token for your Git provider and press Enter.
Enable Git Insights? (optional) - Bito analyzes commit history to surface engineering activity insights. Learn more
Type y to enable Git insights.
Type n to skip it.
Press Enter to continue.
Enable Ticket Tracker Insights? (optional) - Links Jira ticket activity to engineering work for richer insights. Learn more
Type y to enable ticket tracker insights.
Type n to skip it.
Press Enter to continue.
If you have enabled ticket tracker insights, you need to provide the following details:
Atlassian site URL — the URL you visit in the browser
(e.g. https://acme.atlassian.net — NOT the api.atlassian.com/ex/jira/... form)
Email for Jira API
Jira API token
Your Jira credentials will be validated. Upon successful validation, available Jira projects will be fetched that are accessible with your Jira credentials. Enter projects which you want to index (comma/space separated, e.g. 1,3,5 or 1-4 or 'all'). Press Enter to keep current selection (or skip if none configured).
Enable Confluence integration? (optional) - Adds Confluence as docs source for richer ticket-link context. Learn more
Type y to enable Confluence integration.
Type n to skip it.
Press Enter to continue.
If you have enabled Confluence integration, you need to provide the following details:
Confluence URL (e.g. https://acme.atlassian.net):
Configure Insights Lookback Period - Number of days of history to analyze.
By default, the lookback days for Git and Jira are 180 days. You can also set your own number of days based on your team's requirements.
Configure LLM API keys (required) - Choose which AI model provider(s) to configure:
Anthropic
OpenAI
Portkey
Google Vertex AI
Azure AI
Novita
AWS Bedrock
Enter the number corresponding to your AI model provider, then provide your API key when prompted.
After adding a provider, you'll be asked: "Do you want to configure another provider?"
Type y to add additional providers (recommended for better coverage and fallback options).
Type n when you're done adding LLM providers.
Press Enter to continue.
Generate a secure MCP access token? - You'll be asked if you want Bito to create a secure token to prevent unauthorized access to your MCP server:
Type y to generate a secure access token (recommended)
Type n to skip token generation
Press Enter to continue.
Configure SSO? - Optionally enable Single Sign-On (SSO) authentication. Choose between Bito authentication (OAuth via your Bito workspace) or Enterprise IdP (SAML/OIDC via your corporate identity provider). See SSO Authentication for more details.
Persistent storage: Automatically configured during installation using Docker volumes or Kubernetes PersistentVolumeClaims.
Production security: Restrict access via firewall rules and front the deployment with a reverse proxy (e.g., Nginx) with HTTPS enabled.
Workspace Index Progress: Shows the status of indexes that combine and process information across multiple repositories.
Overall Status: Provides a single summary indicating whether indexing is still running, completed successfully, or failed.
curl http://127.0.0.1:8000/health
curl -H "Authorization: Bearer <token>" http://127.0.0.1:8000/v1/modelsDocker Engine and Docker Compose. Install Docker Desktop — includes both.
Kubernetes (Helm)
Production deployments requiring high availability and horizontal scaling
A pre-configured Kubernetes cluster on your infrastructure. For testing in a single laptop or local machine, create a local cluster using KIND (Kubernetes in Docker) — see the Kubernetes Deployment Guide.
brew install kind kubectl helm# KIND
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
# kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
# Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bashkind create cluster --name bito-ai-architect --config - <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
extraPortMappings:
- containerPort: 80
hostPort: 80
- containerPort: 443
hostPort: 443
EOFkubectl cluster-info --context kind-bito-ai-architect
kubectl get nodesbitoarch add-reposConfigured Repositories:
Total: 3
Repository Index Status:
State: ⏳ running
Progress: 0 / 1 completed
In Progress: 1
Workspace Index Progress:
State: ⏳ running
Progress: 1 / 2 completed
In Progress: 1
Overall Status: in-progressSelect host type
(1) cloud
(2) self