Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 160 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

BITO

Loading...

Loading...

Loading...

Loading...

Governor

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

AI Architect

Loading...

Loading...

Installation

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Integrating AI Architect with your tools

Loading...

Loading...

Loading...

Loading...

Loading...

Integrating with chat agents

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

AI Code Reviews in Git

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...

AI Code Reviews in IDE

Loading...

Installation guide

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Privacy and security

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/.

Bito AI

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):

  1. OpenAI: https://openai.com/enterprise-privacy/

  2. Anthropic: https://www.anthropic.com/uk-government-internal-ai-safety-policy-response/data-input-controls-and-audit

  3. Google Cloud: https://cloud.google.com/blog/products/ai-machine-learning/google-cloud-unveils-ai-and-ml-privacy-commitment (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.

SOC 2 Type II Compliance

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 support@bito.ai

Code Flow through Bito’s System

AI Code Review Agent

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.

AI Chat and Code Completions

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.

Data and Business Privacy Policy

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 https://bito.ai/terms-of-use/, with our principal licensing information detailed at https://bito.ai/terms-of-service/.

Data Retention Policy

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:

  1. 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.

  2. Bito Business Data: Includes customer-created templates and settings. This data is terminated 90 days after the end of the business relationship with Bito.

  3. 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.

  4. 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.

Sub-processor

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.

Personal Data

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.

Slack Integration

The Bito Slack app has its own dedicated data handling page covering retention, deletion, LLM details, and uninstall procedures specific to Slack data.

→ Slack App – Data Handling


If you have any questions about our security and privacy, please email support@bito.ai

Slack App – Data Handling

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.

Data Retention Policy

  • 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 general Privacy and Security page.

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.

Data Archival / Removal Policy

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.

Data Storage Policy

  • 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

  • Audit logs: retained for 15 days

  • Third-party sharing: Bito does not sell, rent, or share customer data for marketing.

How to Request Data Deletion

  1. Email support@bito.ai with subject "Slack Data Deletion Request"

  2. Include workspace name, workspace ID, and admin verification

  3. Bito verifies within 2 business days

  4. Deletion is completed within 2 weeks of verification

  5. Written confirmation is emailed on completion

Deletion covers all conversational data and workspace metadata in production systems. Backup purging follows the next rotation cycle.

LLM (Large Language Model) Information

Which LLMs are used

Bito for Slack uses third-party LLMs selected by task and plan:

  • OpenAI

  • Anthropic

What data is sent to the LLM

  • 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.

Training policy

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.

Data residency

LLM API calls are routed to US endpoints by default. Enterprise customers may request EU-only processing via support@bito.ai.

AI safeguards

  • Visible AI disclaimer on responses

  • Rate limiting and abuse detection

  • LLM-vendor content moderation

  • Feedback / human escalation via support@bito.ai

AI Disclaimer

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 support@bito.ai.

Uninstalling the Bito Slack App

  1. In Slack, go to Settings → Manage Apps → Bito → Remove

  2. 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.

  3. To confirm or expedite deletion, email support@bito.ai

Related

  • Bito Privacy and Security

  • Slack Integration Setup Guide

  • Get Support

Installing on Windsurf

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 AI Chat, and more.

Install on Windsurf

Installation Steps

Step 1: Open Windsurf IDE

Launch Windsurf IDE on your computer.

Note: Bito’s IDE plugin supports Windsurf version 1.11.0 and later. Please ensure your Windsurf installation is updated to this version or newer before installing the plugin.

Step 2: Access the extensions marketplace

From the top menu, click View -> Extensions to open the Extensions marketplace.

You can also use keyboard shortcut to open the Extensions view:

  • Windows/Linux: Press Ctrl+Shift+X

  • Mac: Press Cmd+Shift+X

Step 3: Search for Bito and install the extension

  1. In the Extensions search bar at the top, type "Bito"

  2. Look for the official Bito extension in the search results. The extension should be published by "Bito"

  3. Click the Install button and wait for the installation to complete (this usually takes just a few seconds).

Step 4: Sign in to Bito

Once installed, you'll need to authenticate:

  1. Click "Sign up or Sign-in"

  2. Bito authentication screen will display.

  3. Log in with your Bito account credentials (or create a new account)

Step 6: Verify installation

To confirm Bito is working correctly:

  1. You should see the Bito icon in your Windsurf IDE sidebar

  2. Click on it to open the Bito panel

  3. You should now have access to all Bito features

  4. Try asking Bito a simple question to test the connection

Integrating with Bito's AI Code Review Agent

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.

What this integration provides

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

Setup instructions

Follow these steps to connect AI Architect with AI Code Review Agent:

  1. Log in to Bito Cloud

  2. Open the AI Architect Settings dashboard.

  3. In the Server URL field, enter your Bito MCP URL

  4. In the Auth token field, enter your Bito MCP Access Token

Need help?

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.

AI that Understands Your Code

Work on your code with AI that knows your code!

Overview

AI that Understands Your Code

How it Works?

Bito indexes your code locally using AI

Available Keywords

Keywords to invoke AI that understands your code

Example Questions

What type of questions can be asked?

How does Bito Understand My Code?

Sneak peek into the inner workings of Bito

Using in Visual Studio Code

AI that understands your code in VS Code

Using in JetBrains IDEs

AI that understands your code in JetBrains IDEs (e.g., PyCharm)

Managing Index Size

Exclude unnecessary files and folders from repo to index faster!

FAQs

Answers to popular questions

Install/run using Bito Cloud

Deploy the AI Code Review Agent in Bito Cloud.

Bito Cloud offers a single-click solution for using the AI Code Review Agent, 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).

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.

Get a 14-day FREE trial of Bito's AI Code Review Agent.

Connect Bito to your Git provider

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.

Guide for GitHub

Guide for GitHub (Self-Managed)

Guide for GitLab

Guide for GitLab (Self-Managed)

Guide for Bitbucket

Guide for Bitbucket (Self-Managed)

Appearance settings

The IDE customization settings are accessible through the new toolbar dropdown menu titled "Extension Settings".

Light and Dark Themes

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 Screenshots

“Always Light” Theme

“Always Dark” Theme

“Light” or “Dark” Theme - Matching IDE

“Adaptive” Theme

Theme adapted from “Noctis Lux”:

Theme adapted from “Noctis Lux”

Theme adapted from “Solarized Light”:

Theme adapted from “Solarized Light”

Theme adapted from “Tomorrow Night Blue”:

Theme adapted from “Tomorrow Night Blue”

Theme adapted from “barn-cat”:

Theme adapted from “barn-cat”

Font Size Control

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.

Clone an Agent instance

Easily duplicate Agent configurations for faster setup.

Save time and effort by quickly creating a new AI Code Review Agent 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:

  1. Log in to Bito Cloud and select a workspace to get started.

  2. From the left sidebar, select Code Review Agents.

  1. 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.

  1. An Agent configuration form will open, pre-populated with the input field values. You can edit these values as needed.

  1. Click Select repositories to choose Git repositories for the new Agent.

  1. 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.

  1. When you save the configuration, your new Agent instance will be added and available on the Code Review Agents page.

Overview

Governor cuts your agent bill in half by sending fewer tokens to cost-efficient AI models, while maintaining quality.

Governor is a context-driven model router 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 Bito's AI Architect with a smart model router:

  • Bito's AI Architect cuts the token count. It serves system context from a live knowledge graph 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 cost-efficient LLM that can handle it, because most requests do not need a frontier model.

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.

How Governor works

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:

  1. Authenticate. Governor verifies the gateway key your tool sent.

  2. Add context. AI Architect answers system questions inside the request, so the tool starts the task already knowing your architecture.

  3. Pick the model. The router judges how complex the request is and selects a cost-efficient model that can handle it, within the policy you set.

  4. Call the provider. Governor forwards the request to your own LLM provider account using your own credential.

  5. Record it. Governor returns the response and logs the model used, tokens consumed, status, and cost.

Deployment options

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.

  1. 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.

  2. 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.

Bito-hosted
Self-hosted

Infrastructure

Managed by Bito

Your own host, running Docker

Setup

Nothing to install, configure in the Bito UI

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

FAQs

Answers to popular questions about the AI Code Review Agent.

How do I whitelist Bito's gateway IP address for my on-premise Git platform?

To ensure the AI Code Review Agent 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

  • 3.23.173.30

  • 18.216.64.170

The agent response can come from any of these IPs.

How can I prevent the AI Code Review Agent from stopping due to token expiry?

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

Why does Bito need access to my Git account?

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.

What permissions does Bito need?

Bito requires:

  1. Read access to code and metadata: To analyze PRs and suggest improvements

  2. Read and write access to issues and pull requests: To post AI-generated review comments

  3. Read access to organization members: To provide better review context

I don’t have admin permissions. Can I still use Bito?

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.

Does Bito store my code?

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.

Can I choose which repositories Bito has access to?

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.

What happens after I install the Bito App?

Once installed, you’ll be redirected to Bito, where you can:

  1. Select repositories for AI-powered reviews

  2. Customize review settings to fit your workflow

  3. Open a pull request to start receiving AI-driven suggestions

Where can I get help if I have issues installing Bito?

Contact support@bito.ai for any assistance.

Privacy and security in AI Architect

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.

Code storage: Bito-hosted vs. Self-hosted

The way AI Architect handles your code depends on your deployment choice:

Bito-hosted AI Architect

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

  • The code is not retained after the request

Code caching

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.

Self-hosted AI Architect

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.

Performance considerations

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.

Code security and encryption

  • 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

No AI model training

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.

Privacy and third parties

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.

Metadata and usage analytics

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.

Compliance and certifications

Bito maintains SOC 2 Type II compliance and follows industry-leading security practices. For detailed information about our security posture and certifications, visit our Trust Center.

For our full privacy practices, see our Privacy Policy.

Questions?

If you have questions about how AI Architect handles your code or data, contact the Bito team at support@bito.ai. We're committed to transparency about security and privacy practices.

CLI vs webhooks service

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.

Difference Between CLI and webhooks service

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.

When to Use CLI and When to Use webhooks service

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: Ideal for Specific, One-Time Reviews

CLI mode is best suited for scenarios requiring immediate, one-time code reviews. It's particularly effective for:

  • Conducting quick assessments of specific pull requests.

  • 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: For Continuous, Automated Reviews

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.

Getting started

Deploy the AI Code Review Agent in Bito Cloud or opt for self-hosted service.

The AI Code Review Agent supports two deployment options:

  • Bito Cloud (fully managed)

  • Self-hosted service (run on your own infrastructure)

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.

Bito Cloud

Bito Cloud 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.

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.

Install/run using Bito Cloud


Self-hosted service

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.

Install/run as a self-hosted service

Welcome to Bito

Bito's Governor cuts your coding agent bill in half while task quality holds.

Governor is a context-driven model router that sits between your AI coding tools (Claude Code, Cursor, Codex, etc.) and your LLM providers (Anthropic, OpenAI, Groq, etc.). It reduces the tokens each task consumes and the price you pay for every token.

Your developers keep their tools and their workflow. You point those tools at Governor with one base URL and one key, and every request after that costs less.

Get accessLearn more

How Governor cuts agent spend

Agent spend equals the number of tokens multiplied by the price of each token. Governor reduces both numbers in one layer, so the savings multiply rather than add.

  • Fewer tokens, through the code context engine. A coding agent spends most of its tokens searching your codebase for where a change belongs, and every file it reads gets billed again on each later step of the session. Bito's context engine serves system context from a live knowledge graph of your code, business context, and tribal knowledge, so your tools start each task already knowing your architecture and skip the discovery work.

  • Lower price per token, through the model router. Governor scores how complex each request is and sends it to the best model for that work, reserving frontier models for the requests that need them. You define the routing tiers in your own words, set the routing direction and a price ceiling, and review every decision in shadow mode before it touches live traffic.

Getting started

Get your team running on Bito Governor. Connect your LLM providers, set up routing and gateway keys, enable AI Architect, and point your coding tools at it.

1

Choose where Governor runs

Governor runs either on Bito's infrastructure or inside your own network.

Deployment
Best for
Guide

Bito-hosted

The fastest start, with no infrastructure to maintain. Most teams start here.

2

Add a provider account for each LLM provider you use, then add routes that map the model names your tools request to a provider account and model. Create one gateway key per team or tool, so you can revoke one without affecting the others.

3

Enable the AI Architect feature to serve system context inside every request, and set an Architect model to a cost-efficient model, since that sub-agent captures most of the cost savings.

Then hand an alias to the auto-router. A new router starts in shadow mode, so you can review what it would have done across a day of real traffic before you switch it on.

4

For Claude Code, set two environment variables and start the tool.

The Documentation page in the Governor admin UI gives copy-paste setup for Claude Code, Cursor, Cline, Continue, Aider, Codex CLI, GitHub Copilot CLI, Windsurf, Zed, and any OpenAI-compatible or Anthropic-compatible tool. To roll Governor out to a team, distribute the two variables through your existing developer environment tooling.

The context engine behind Governor

Governor draws its context from Bito's code context engine, a living knowledge graph of your repositories, modules, and APIs, combined with the tribal knowledge in your issue trackers and docs. Your team gets a shared, always-current understanding of the system, and makes that understanding available wherever engineering decisions are made:

  • In Jira and Linear, for feasibility analysis, technical design and scoping, and cross-repo impact assessment.

  • In coding agents via MCP, such as Claude Code, Cursor, and Codex, for grounded code generation, accelerated onboarding, and production issue triage.

  • In pull requests (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.

To set up AI Architect (code context engine) on its own, see:

  • Install AI Architect (Bito-hosted) (Fully managed by Bito — no infrastructure setup required)

  • Install AI Architect (self-hosted) (Run AI Architect on your own infrastructure for maximum control)

AI Code Review Agent

Bito's AI Code Review Agent runs system-aware code reviews on pull requests in GitHub, GitLab, and Bitbucket. You can also run it in your IDE and CLI.

  • 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.)

Security

Bito does not store your code or use it to train AI models. Bito is SOC 2 Type II certified, and Governor stores every LLM provider key envelope encrypted. On a self-hosted deployment, the key that encrypts your provider credentials stays on your own host or cluster.

Helpful resources

Governor

Code context engine

AI Code Review Agent

Video library

Need help?

If you have any questions, feel free to email us at support@bito.ai

Overview

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.

  • In pull requests (GitHub, GitLab, Bitbucket) for codebase-aware AI code reviews

This fundamentally changes the game for enterprises with many microservices or large, complex codebases.

Bito provides the AI Architect in a completely secure fashion, with the AI Architect available on-prem if you desire with no code ever being sent to Bito. No AI is trained on your code and your code is not stored.

Key capabilities of the AI Architect include:

  • 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.

    • Watch demo video

  • 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.

  • 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.

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.

How you can use AI Architect

AI Architect is designed to be flexible and can power multiple use cases across different AI coding tools and workflows.

1

Installation

  • Bito-hosted (Fully managed by Bito — no infrastructure setup required)

  • Self-hosted (Run AI Architect on your own infrastructure for maximum control)

2

Integrate with your tools

Why use the AI Architect?

Most AI coding tools struggle with accuracy in real-world codebases because they

  1. 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.

  2. 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.

How AI Architect differs from Embeddings?

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.

Getting started

  1. Try Bito's AI Architect

  2. Get a demo with our team.

  3. Lastly, email support@bito.ai if you have any additional questions.

Demos of different ways to use AI Architect

Standalone mode vs Enterprise mode

Deploy AI Architect in your own infrastructure for complete data control and enhanced security

Bito's AI Architect can be self-hosted in two ways depending on your use case. Pick the one that matches how you plan to use it:

1. Standalone mode (for individuals)

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.

👉 Go to Standalone mode setup guide

2. Enterprise mode (for teams)

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.

👉 Go to Enterprise mode setup guide

Note: Both modes are fully self-hosted on your infrastructure — your code and knowledge graph remain entirely under your control in either case.

Quick comparison

Standalone mode

Enterprise mode

Best for

Individual developers

Teams & organizations

Deployment target

Single machine (laptop/desktop)

Shared server (on-prem or cloud)

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 or manual config

Common prerequisites

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.

Not sure which mode to pick?

  • 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.

You can always start with Standalone mode to evaluate AI Architect on your own machine, and move to Enterprise mode later when you're ready to roll it out to your team.

Next steps

  • Standalone mode setup guide

  • Enterprise mode setup guide

  • Available CLI commands

Delete unused Agent instances

Easily delete Agent instances you no longer need.

If you no longer need an AI Code Review Agent instance, you can delete it to keep your workspace organized. Follow the steps below to quickly remove any unused Agents.

  1. Log in to Bito Cloud and select a workspace to get started.

  2. From the left sidebar, select Code Review Agents.

    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.

  1. Before deleting an Agent, ensure that any repositories currently using it are reassigned to another Agent otherwise a warning popup will appear.

  1. Locate the Agent you wish to delete and click the Delete button given in front of it.

Note: The Default Agent (provided by Bito) cannot be deleted.

Chat with AI Code Review Agent

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.

How to chat?

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.

Note: The AI Code Review Agent will only respond to questions posted as a reply to its own comments. It will not reply to questions added on threads that it didn’t start.

What you can ask about

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.

  • Request for examples Ask the AI to provide an example snippet showing the corrected or improved code.

  • 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.

Tip: Feel free to ask your question in your preferred language! Bito supports over 20 languages, including English, Hindi, Chinese, and Spanish.

What you cannot ask about

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.

Confluence integration

Make sure every code change follows the requirements and guidance recorded in your Confluence pages.

Note: The Confluence integration is available only on the Enterprise Plan.

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.

How it works

When a pull request is opened, Bito automatically:

  1. Detects Confluence references. Bito looks for Confluence page links in the pull request description or in any linked Jira issues.

Note: If Jira integration is enabled, Bito finds the Confluence pages associated with the linked Jira tickets.

  1. Fetches documentation. Bito retrieves the content of those Confluence pages and extracts key information (requirements, design decisions, acceptance criteria, etc.).

  2. Validates code against the docs. It compares your code changes to the enriched context and generates structured validation feedback.

  3. 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.

Integration steps

1

Connect Bito with Confluence

  1. In your Bito dashboard, go to the Manage integrations page.

  2. Under Available integrations, find Confluence and click Connect.

  3. 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.

  4. Sign in to your Atlassian account if prompted, then click Accept. After successful authorization, you will be returned to Bito.

2

After completing the initial setup, you can control Confluence integration on a per-agent basis:

  1. Go to the page in your Bito dashboard.

  2. Find the Agent instance you want to connect with Confluence and open its settings.

  3. Within the Agent settings screen, click on the

Note: The Functional validation feature must be enabled in your Bito agent settings for the integration to work.

Linking Confluence pages to pull requests

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.

Note: Bito supports both full Confluence page URLs (with page ID) and short Confluence URLs.

Supported examples:

  • https://yourcompany.atlassian.net/wiki/spaces/SPACEKEY/pages/123456789/Page-Title

Understanding the validation results

When Bito completes its analysis, it adds a "Functional Validation by Bito" table to your pull request comments. This table contains four columns:

Source

Displays the Jira issue key (e.g., "QP-11", "QP-123") that references the specific Jira ticket being validated.

Requirement / Code Area

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.

Status

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).

Notes

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.

Example validation output

Here's what a typical validation table looks like:

Benefits

  • 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.

Troubleshooting

  • 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.

Agent settings

Learn how to customize the AI Code Review Agent.

Bito's AI Code Review Agent supports different configuration methods depending on the deployment environment:

  1. Bito-hosted – The agent runs on Bito's infrastructure and is configured through the Bito web UI.

  2. Self-hosted – The agent runs on user-managed infrastructure and is configured by editing the bito-cra.properties file.

The sections below provide configuration guidance for each setup.

Bito-hosted agent configuration

In Bito-hosted AI Code Review Agent, you can configure the agent through the Bito web UI.

To customize an existing agent, open the Code Review > Repositories page and click the Settings button next to the Agent instance to be modified.

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.

Learn more

Self-hosted agent configuration

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.

    • dependency_check.snyk_auth_token: Required when using Snyk for vulnerability detection.

  • 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.

    • exclude_draft_pr: Skips draft pull requests when enabled (default: True).

Each property is documented in detail on the bito-cra.properties file documentation page.

Learn more

Installing on JetBrain IDEs

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.

Install on JetBrains

Video guide

Watch the video below to learn how to download the Bito extension on JetBrains IDEs.

Step-by-step instructions

  1. 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.

Settings in IntelliJ IDE

2. Click "Install" to install the Bito extension. We recommend you restart the IDE after the installation is complete.

Starting with Bito version 1.3.4, the extension is only supported on JetBrains versions 2021.2.4 and higher. JetBrains version 2021.1.3 is no longer supported from Bito version 1.3.4 onward.

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 Managing workspace members

Bito in IntelliJ right-hand side bar

The menu to invoke the settings dialog may differ for different IDEs of the JetBrains family. The screenshots highlighted above are for the IntelliJ IDEA. You can access the Bito extension directly from the JetBrains marketplace at https://plugins.jetbrains.com/plugin/18289-bito.

Installing on Cursor

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 AI Chat, and more.

Install on Cursor

Installation Steps

Step 1: Open Cursor IDE

Launch Cursor IDE on your computer.

Note: Bito’s IDE plugin supports Cursor version 2.0.77 and later. Please ensure your Cursor installation is updated to this version or newer before installing the plugin.

Step 2: Access the extensions marketplace

From the top menu, click View -> Extensions to open the Extensions marketplace.

You can also use keyboard shortcut to open the Extensions view:

  • Windows/Linux: Press Ctrl+Shift+X

  • Mac: Press Cmd+Shift+X

Step 3: Search for Bito and install the extension

  1. In the Extensions search bar at the top, type "Bito"

  2. Look for the official Bito extension in the search results. The extension should be published by "Bito".

  3. Click the Install button

  4. Wait for the installation to complete (this usually takes just a few seconds)

Step 4: Sign in to Bito

Once installed, you'll need to authenticate:

  1. Click "Sign up or Sign-in"

  2. Bito authentication screen will display.

  3. Log in with your Bito account credentials (or create a new account)

Step 5: Verify installation

To confirm Bito is working correctly:

  1. You should see the Bito icon in your Cursor IDE sidebar

  2. Click on it to open the Bito panel

  3. You should now have access to all Bito features

Upgrading Bito plugin

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

  1. Open your VS Code IDE

  2. Navigate to the Extensions view by clicking on the square icon in the left sidebar

  3. In the search bar, type "Bito" to locate the Bito plugin

  4. 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

  1. Open your JetBrains IDE (e.g., IntelliJ IDEA, PyCharm, etc.)

  2. Go to Settings by clicking on "File" in the menu bar (Windows/Linux) or by clicking on "IntelliJ IDEA" in the menu bar (macOS).

  3. In the Settings window, navigate to the "Plugins" section

  4. Switch to the "Installed" tab to view the list of installed plugins

  5. Locate the Bito plugin in the list and click on the update button to initiate the update

AI Chat in Bito

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 Use cases and examples 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.

Note: Team Plan users receive 50 AI Chat requests per user per day in the Bito IDE extension, while Free Trial users are limited to 20 AI Chat requests per day.

Bito makes it super easy to use the answer generated by AI, and take a number of actions.

Copy Answer

Copy the answer to the clipboard.

Regenerate Answer

AI may not give the best answer on the first attempt every time. You can ask Bito AI to regenerate the answer by clicking "Regenerate" button next to the answer.

Rate Response

Vote response "Up" or "Down". This feedback Bito improve the prompt handling.

Modify Last Prompt

Many of these commands can be executed with keyboard shortcuts documented here: Keyboard shortcuts

Chat session history

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.

Open Bito in a new tab or window

Learn how to customize Bito’s view by switching from a side panel to a new tab or a separate window.

Overview

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 index and feeds them to the Large Language Models (LLMs) for accurate answers. But if it's unsure, Bito will ask you to confirm before proceeding.

To specifically ask questions related to your codebase, add the keyword "my code" in English, Cantonese, Japanese, Mandarin, Spanish, or Portuguese (more languages coming soon) to your questions in the Bito chatbox.

Example: in my code explain the file apiUser.js

Additional keywords for various languages are listed on the Available Keywords page.

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 Generative AI and Large Language Models (LLMs) 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.

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.

How it Works?

Bito indexes your code locally using AI

When you open a project in Visual Studio Code or JetBrains IDEs, Bito lets you enable the indexing of code files from that project’s folder. Basically, this indexing mechanism leverages our new AI Stack 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.

It takes 12 minutes per each 10MB of code to understand your repo, as the index is being built locally.

How to Ask Questions?

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 index and feeds them to the Large Language Models (LLMs) 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.

The complete list of these keywords is given on our Available Keywords page.

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.

Security of your code

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.

Plugins

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).

Available plugins

Plugin
What it does
Integrates with

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:

  1. A running self-hosted AI Architect deployment. Check with bitoarch status.

  2. 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.

  3. 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:

  1. Public URL. Enter the public HTTPS address where the bot is reachable.

  2. 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.

  3. 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:

  1. Public URL. Enter the public HTTPS address where the webhook receiver is reachable.

  2. 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).

  3. 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.

Symptom
What to check
Command
Description

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.

Templates

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.

Available templates

  1. Performance Check: Optimize code performance and efficiency

  2. Security Check: Identify and fix security vulnerabilities

  3. Style Check: Apply coding style and formatting standards

  4. Improve Readability: Enhance code clarity and organization

  5. Clean Code: Remove debugging and logging statements

Select the code you want to analyze in your editor before using any template.

  1. Select code in your editor

  2. Click the Templates button at the bottom of the Bito extension panel

  1. Choose the desired template from the dropdown menu

  1. Select code in your editor

  2. Right-click in the editor window

  3. Hover over "Bito AI" in the context menu

  4. Select the desired template from the submenu

  1. Select code in your editor

  2. Type / at the start of the Bito chat box

  3. Choose the desired template from the dropdown menu

  1. Type some text after the slash / to filter templates by name

  1. Select code in your editor

  2. Go to View → Command Palette (or press Ctrl+Shift+P / Cmd+Shift+P)

  3. Type "bito" to see available templates

  4. Select the desired template from the list

When templates provide code improvements, you'll see an Apply button above the suggested code snippet.

  1. Click the Apply button to open the diff view

  1. Review the changes highlighted in the diff:

    • Red lines show code to be removed

    • Green lines show code to be added

  2. 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

Install AI Architect (Bito-hosted)

Deploy AI Architect on Bito's managed infrastructure for instant setup and effortless maintenance.

Bito-hosted AI Architect runs on managed infrastructure and unifies your codebase, tickets, design docs, and team conversations into a single knowledge graph.

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.

Prerequisites

Bito-hosted AI Architect is currently invitation-only. You can start a 14-day free trial 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 support@bito.ai.

Installation steps

1

Connect your Git provider

  1. and create a workspace to get started.

  2. You'll land on the Git integration screen, where you can connect your Git provider.

  3. 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.

  1. Follow the on-screen instructions to authorize Bito on your Git organization. Grant access to all repositories or a subset.

  1. 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.

2
  1. 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.

  1. Then click Set up AI Architect on the page.

3

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 .

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 .

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 and .

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.

Bito-hosted AI Architect includes smart code retrieval () 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:

  1. Bito-hosted (Fully managed by Bito — no infrastructure setup required)

  2. Self-hosted (Run AI Architect on your own infrastructure for maximum control)

Bito-hosted
Self-hosted

For information on self-hosted deployment, visit the .

If you have questions about the setup process or need to modify your indexed repositories, reach out to the Bito team at . We're here to help you get the most out of AI Architect.

Integrate the AI Code Review Agent into the CI/CD pipeline

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.

Installation and Configuration Steps

  1. 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.

  2. Download the bito-action-script folder from GitHub, which includes a shell script (bito-actions.sh) and a configuration file (bito_action.properties).

  3. 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.

Property Name
Description
  • 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>

  1. 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.

Share chat session

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.

Note:

  • The link will expire in 15 days.

  • The session link will be publicly accessible by anyone with the link.

Let's see how it is done:

  1. Open Bito in Visual Studio Code or any JetBrains IDE.

  2. Start a conversation in Bito’s AI Chat user interface.

  3. Locate the share button on the top right of the Bito extension side-panel.

  4. Click the share button to open a menu with options, including X (Twitter), Email, and Link.

  5. Share on X (Twitter):

    1. Click on X (Twitter) from the menu, and a dialogue window will appear, asking whether you want to open the external site.

    2. Simply click "Open" to proceed.

  6. Share Through Email:

    1. Click on Email from the menu, and you will be redirected to your email application.

    2. Select your email account if needed.

    3. The email will be pre-filled with all the necessary information, including the link to your Chat Session.

  7. Share the Link:

    1. Click on Link from the menu.

    2. 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.

Quickstart

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.

AI Architect

1

Prerequisites

Bito's AI Architect is currently invitation-only. To request access, contact support@bito.ai.

2

Install AI Architect

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)

  1. and connect your Git provider.

  2. From the screen, click Configure next to Set up AI Architect, then select the repositories you want indexed.

  3. Bito indexes your repositories, builds the underlying knowledge graph, and notifies you once your indexes are ready.

  1. Download and install AI Architect with a single command.

  2. Configure AI Architect with your Git and LLM credentials.

  3. Configure your repositories

  4. Start indexing to build knowledge graph of your codebase

3

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.

1

Create your account at to get started.

2

Select your preferred Git platform and follow the guided setup to install the agent:

Auto AI model routing

Send simple requests to cost-efficient models and complex work to capable ones, using an Auto-router.

Auto-routing sends each request to the model that fits the work. Simple requests go to a cost-efficient, faster model, and complex requests go to a more capable one.

Without it, every request reaches the same model. Renaming a variable costs the same as planning a migration across four services, because both go to whichever model the coding tool asked for.

sorts each request into one of four tiers, Simple, Medium, Complex, and Reasoning, then sends it to the model you assigned to that tier. You write the description that defines each tier, so requests are sorted by your own words rather than by a fixed rule.

Your engineers change nothing. Their tools keep asking for the same model name, and Governor answers from whichever model it selected.

You turn auto-routing on one model name at a time. That name is the alias your coding tools ask for, such as claude-opus-5 or claude-*. Each alias appears as a group on the Routes page, with a Direct and an Auto control.

Available MCP tools

Access deep repository intelligence and codebase insights through AI Architect's MCP server

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:

Tool name
Description

Key features

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.

Start free trial

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:

  1. Type a message in the Bito chat box and send it.

  2. Look for the popup that appears after sending your message.

Install/run as a self-hosted service

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.

quick-setup installer

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

  • How to use templates

    Prerequisites

    Method 1: Click Templates button

    Quick navigation: Use arrow keys, Tab, or Shift+Tab to navigate the template menu

    Method 2: Open context menu

    Method 3: Using slash / command in Bito chat box

    Method 4: Command Palette (VS Code)

    Applying code suggestions

    Tips

    Templates menu in Bito Panel
    .
  • 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

    Agent-specific settings

    Repositories
    Functional validation tab
    You will be redirected to the X (Twitter) website, with a pre-written tweet containing a link to your Chat Session ready to be published.
  • 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.

  • Feel free to share this link with anyone you'd like to.
    Recipients can access the chat session in any web browser by using the unique URL.
    ,
    <secret>
    , and
    <pr_url>
    with your specific values.
  • 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

    Option 2: Using Runtime Values

    URL of your pull request on GitLab, GitHub, or BitBucket.

    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 Server / Data Center: registered automatically — nothing to do.
  • 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).

    Slack 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)

    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>]

    Prerequisites

    How installing works

    Set up the Slack AI Assistant

    Set up the Bito Task Analyzer

    View or change a plugin's settings

    Keep plugins up to date

    Manage plugins

    Troubleshooting

    Command reference

    FAQs

    Can I install just one plugin?

    What if I remove a plugin?

    Does this require new servers or hardware?

    Are plugins updated separately from the base platform?

    Does this work with Jira Server / Data Center (not just Cloud)?

    api.slack.com/apps

    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.

    Get your MCP server URL and access token

    Linear integration guide →

    Bring AI Architect's codebase intelligence directly into your Slack workspace. Ask questions, get technical context, and collaborate on planning.

    Slack integration guide →


    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.

    Confluence integration guide →


    AI Architect works with popular chat-based AI tools so you can query your codebase knowledge graph conversationally.

    • Guide for Claude.ai (Web) →

    • Guide for Claude Desktop →

    • Guide for ChatGPT (Web & Desktop) →


    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.

    AI Code Review Agent integration guide →

    GitHub (Self-Managed)
  • GitLab

  • GitLab (Self-Managed)

  • Bitbucket

  • Bitbucket (Self-Managed)

  • Once installed, the agent will be linked to your repositories and ready to assist.

    3

    Review pull requests

    The AI agent will automatically review new pull requests and leave inline comments with suggestions. You can also manually trigger a review by commenting /review on any pull request.

    See full list of available commands

    4

    Chat with the agent

    You can reply to comments posted by the Bito AI agent in a pull request to ask follow-up questions or request clarification. The agent will respond with context-aware answers to help you understand the feedback better.

    Learn more

    5

    Configure agent settings

    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.

    Learn more

    Bito-hosted

    Self-hosted

    Connect Bito's AI Architect with your tools

    Integrating with AI coding agents (Claude Code, Cursor, etc.) via MCP

    Integrating with Jira

    Integrating with Linear

    AI Code Reviews in Git

    Sign up for Bito

    Connect your Git provider

    Bito-hosted
    Self-hosted
    Log in to Bito Cloud
    Home
    Guide for Bito-hosted AI Architect →
    Guide for self-hosted AI Architect →
    Quick MCP integration guide →
    Jira integration guide →
    alpha.bito.ai
    GitHub

    Integrating with Slack

    Integrating with Confluence

    Integrating with chat agents

    Integrating with Bito's AI Code Review Agent

    bitoarch plugin install <name>
    bitoarch plugin install ai-assistant
    bitoarch plugin install task-analyzer
    bitoarch 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 + config
    curl -fsSL https://aiarchitect.bito.ai/install.sh | bash
    Click Set up AI Architect and it'll take you to the AI Architect setup page.
    1. 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.

    1. You'll land on the AI Architect repositories screen, where you can track indexing progress. Each repository's Index status column updates to Indexed once it's ready.

    1. 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.

    See the Slack integration guide.

    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 Confluence integration guide.

    Bring AI Architect into Claude.ai, Claude Desktop, and ChatGPT so your engineering system context follows you into general-purpose chat.

    See the chat agents integration guide.

    Maintenance

    Fully managed by Bito

    Requires infrastructure setup and maintenance

    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.

    Set up AI Architect

    Connect AI Architect with your tools

    Coding agents

    Jira and Linear

    Slack

    Code retrieval at runtime

    Bito-hosted vs. Self-hosted AI Architect

    Need help?

    Sign up for Bito Cloud
    Home screen
    Quick MCP integration guide
    Jira
    Linear
    getCode MCP tool
    self-hosted installation guide
    support@bito.ai

    Full control over your data and indexes

    Confluence

    Chat agents

    Direct
    answers from the targets you configured.
    Auto
    hands the alias to the router.

    Set prices on the Prices page for every model a tier will point at. Routing direction, the price ceiling, and the shadow cost comparison all read from those prices, and a model with no price cannot be selected.

    Add a route for the model you want the classifier to run on. The classifier model field takes a route alias in this workspace rather than a raw vendor model ID.

    In the Bito Governor, open the Routes tab.

    Either select auto-route this alias in the Add route form, which adds the route and then opens the router settings, or click Auto on an existing group in the routes table.

    The router step is optional. Nothing about auto-routing is saved until you click Save, and the route itself stays either way. Skip for now closes the router and keeps the route.

    The form opens on a notice you have to accept before it will save.

    Clients asking for the alias will receive answers from other models. The x-bito-routed-model response header always names the model that answered. Do not read the model field inside the response instead, because some providers return the model that was asked for and others return the model that answered. Anything you run that compares the two will see a different name.

    Tick I understand. to enable Save.

    Setting
    Description

    fallback

    Read only. Names the route that answers while the router is Off or in Shadow, and whenever a tier cannot be used.

    mode

    Off disables the router. Shadow is a dry run that writes down what it would have done while requests still go to the alias's own route, exactly as they do on Off. On routes traffic. A new router starts in Shadow.

    routing direction

    The four tier descriptions are the rule. They are the text the classifier reads to decide which tier a request belongs in, so write them the way you would explain the distinction to a colleague. A preset seeds them, and you can edit any of them.

    Each tier takes:

    Column
    What to enter

    When should this tier be used?

    The description the classifier reads.

    Routes to

    A route alias in this workspace, named exactly, and the model. Listing a route here does not make it reachable by your apps, and it keeps that route's own account, load balancing, failover, and cooldown.

    Thinking

    + model gives a tier a second choice. Use it only for models you would be equally happy to receive, because the tier is the whole of what the classifier decided.

    + new target adds a provider, account, and model without leaving the router. Suggest from my routes proposes tier assignments from the routes you already have.

    Governor seeds the preset descriptions from its own model research, which scored around 30 models across roughly 2,000 engineering tasks. The four tiers sort by risk and clarity rather than by how many files a request touches:

    Tier
    What reaches it

    Simple

    A stated change with a clear target: build the described feature, fix the described bug, refactor, rename, add a test. Work spanning many files still counts as simple when the request says what done looks like.

    Medium

    Explaining and checking: how a piece of code works, why a job failed, whether a plan is missing anything, and requests from non-engineers that name what they want.

    Complex

    The LLM classifier reads the request and returns a tier. When it cannot answer inside the timeout, the built-in scorer decides instead, so every router has a scorer behind it whether you tune one or not.

    The scorer turns each request into a score from signals such as context size, code markers, and reasoning markers, then places it in a tier using three boundaries. Defaults are shown in grey on the form, and leaving a box empty keeps the default.

    Advanced setting
    Default

    simple / medium boundary

    0.15

    medium / complex boundary

    0.35

    complex / reasoning boundary

    The three boundaries have to ascend. If the simple to medium line sat above the medium to complex line, nothing could ever be medium, and Governor refuses to save a set that does not ascend.

    Most workspaces never open Advanced. Picking the rubric preset closest to your traffic retunes the scorer for you.

    Select backing group (internal) on the routes holding the models a router picks between. A backing group is hidden from your apps, so it cannot be requested by name and does not appear in the model list, and only the router can send traffic to it. This stops anyone reaching an internal model directly and bypassing the router.

    The alias's own route answers whenever the router is off or in shadow, and whenever a tier cannot be used. A tier is unusable when its model has no price, has no deployment on the account, or would break your routing direction, and the tier shows will not route in that case. The routes table also carries a when not routing row naming the route that answers.

    If the router selects a model that turns out to be unavailable, Governor falls back to the model your tool originally requested, so the request is still answered.

    Governor also protects prompt caching. Moving an ongoing conversation to a different model discards its cache and makes the next turn slower and more expensive, so Governor keeps that conversation where it is when staying put costs less. One-off requests carry no cache and are routed freely.

    Action
    What it does

    Classify a prompt

    Enter a sample prompt and see which tier it lands in and which model would answer. Nothing is sent.

    Test, on a tier row

    Sends a real request to that tier's model to confirm it works on that account.

    Review shadow results

    Leave a new router in Shadow across a day of real traffic, then review the results before switching to On. Shadow results state plainly when traffic was not moved, so a report never reads as a saving that did not happen.

    The routes table reports what the router actually did, splitting recent traffic into requests routed, requests that needed a fallback, requests that failed, and requests deliberately not routed with the reason.

    Bito Governor

    Before you start

    Open the router

    Acknowledge the response header

    Settings

    Tier mapping

    How requests are classified

    Backing groups

    When the router does not route

    Test before you turn it on

    A request routed to a model on a different API is marked converted in the routes table. Your messages, tools, images, and reasoning effort carry over where the target model supports them. Earlier thinking, attached documents, images returned by tools, and tools the provider runs itself, such as web search, do not carry over.

    Router changes reach live traffic within 30 seconds.

    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.

    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.

    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.

    getCapabilities

    AI Architect's

    Discover 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.

    Learn more

    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.

    Learn more

    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.

    Learn more

    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.

    Learn more

    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.

    Learn more

    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.

    Learn more

    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.

    Learn more

    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.

    Learn more

    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.

    Learn more

    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.

    Learn moreSSO for self-hosted deployments

    Knowledge graph

    Supported integrations

    Auto triage

    Flexible trigger

    Iterative refinement

    Custom templates

    Custom prompts

    In Jira:

    In Slack:

    In coding agents:

    Web research

    Slack agent

    Agent skills

    Detailed agent specs

    Automated implementation

    Automated pull request creation

    Single Sign-On (SSO)

    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:

    1. Click the UPGRADE button given at the top of the chat window

    2. Complete signup in the browser window that opens.

    3. Select Start Trial to activate your free trial.

    The fastest way to start your free trial:

    1. Hover over Include my code (located above the Bito chat box).

    2. 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:

    • AI Code Reviews in Git

    • AI Code Reviews in IDE

    • AI Chat

    • AI that understands your code

    • and more.

    Visit our Pricing page

    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.

    How to start your free trial

    Method 1: Using Bito AI chat

    Method 2: Click upgrade button

    Method 3: Quick trial activation

    💡 Pro tip: Method 3 is the quickest option as it starts your trial instantly without opening any external windows.

    Available features in free trial

    Need Help?

    Next steps

    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:

    1. Install/run via CLI: Ideal for developers seeking a simple, interactive way to conduct code reviews from the command line.

    2. Install/run via webhooks service: Perfect for teams looking to automate code reviews through external events, enhancing their CI/CD workflow.

    3. Install/run via GitHub Actions: A great option for GitHub users to seamlessly integrate automated code reviews into their GitHub Actions workflows.

    Understanding CLI vs webhooks service

    Deployment Options

    Before proceeding, ensure you've completed all necessary AI Code Review Agent.

    View setup guide

    Self-hosted with Docker

    Data residency, egress, or regulatory requirements, on a single host.

    View setup guide

    Self-hosted with Kubernetes

    The same requirements, deployed into your own cluster with the Bito Governor Helm chart.

    View setup guide

    export ANTHROPIC_BASE_URL="https://gateway.bito.ai"
    export ANTHROPIC_AUTH_TOKEN="gw_sk_..."
    claude

    Governor

    Code context engine

    AI Code Review Agent

    Account and settings

    Billing and plans

    Privacy and security

    Get support

    Changelog

    Bito-hosted Governor

    Self-hosted Governor with Docker

    Self-hosted Governor with Kubernetes

    Bito-hosted AI Architect

    Self-hosted AI Architect

    MCP integration with AI coding agents

    AI that understands your code

    Chat with AI Code Review Agent

    Custom code review rules and guidelines

    Code review analytics

    Supported programming languages and tools

    Available commands

    Agent settings

    FAQs

    Add LLM providers, set up routing, and gateway keys

    Turn on AI Architect and auto-routing

    Point your coding tools at Governor

    In Slack
    In Confluence
    In chat agents
    Add LLM provider account
    Add routes
    Add gateway key
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Watch demo video
    Watch demo video
    Watch demo video
    Jira
    Coding agents via MCP
    AI Code Review Agent

    Guide for Claude.ai (Web)

    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.

    Prerequisites

    1. 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.

    2. . 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.

    3. 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:

    1. You add the MCP server URL in Claude.ai Integrations settings

    2. Claude.ai initiates an OAuth flow

    3. Your browser opens a consent page hosted by Bito

    4. 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

    1
    1. Go to and sign in with your paid account

    2. Click on your profile icon (bottom-left corner)

    3. 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

    Overview

    On-demand, context-aware AI code reviews for GitHub, GitLab, and Bitbucket.

    Bito’s AI Code Review Agent 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.

    We also support GitHub (Self-Managed) and GitLab (Self-Managed).

    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 .

    By accessing Bito's 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

    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 page.

    Install/run via CLI

    CLI mode is best suited for immediate, one-time code reviews.

    1. Prerequisites: Before proceeding, ensure you've completed all necessary prerequisites for self-hosted AI Code Review Agent.

    2. Start Docker: Ensure Docker is running on your machine.

    3. Repository Download: Download the AI Code Review Agent GitHub repository to your machine.

    4. 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.

    1. Open Command Line:

      • Use Bash for Linux and macOS.

      • Use PowerShell for Windows.

    2. Set Directory:

    1. 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:

    • Optional properties (can be skipped or set as needed):

      • git.domain

      • code_feedback

      • static_analysis

    1. 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

    1. 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.

    Request changes comments

    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.

    How it works

    1. Enable comment resolution rules in your Git provider

    GitHub:

    • Go to your repository → Settings → Branches

    • 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:

    • 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.

    1. Developer opens a pull request or merge request.

    2. Bito reviews the code and posts a “request change” comment on a problematic line.

    3. The Git provider blocks the merge due to unresolved comments or threads.

    4. Developer fixes the issue and marks the thread as resolved.

    • 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.

    Installing on Visual Studio Code

    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.

    Video guide

    Watch the video below to learn how to download the Bito extension on VS Code.

    Step-by-step instructions

    1. In Visual Studio Code, go to the extension tab and search for Bito.

    1. Install the extension. We recommend you restart the IDE after the installation is complete.

    1. After a successful install, the Bito logo appears in the Visual Studio Code pane.

    1. 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:

    Bito's AI Architect plugin for Claude Code

    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:

    Command
    Description

    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.

    Overview

    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 AI Code Review Agent. 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 on VS CodeInstall on JetBrainsInstall on CursorInstall on Windsurf

    Prerequisites

    1. Install the latest Bito IDE extension for VS Code, JetBrains, Cursor, or Windsurf.

    2. A workspace subscribed to the Bito Team Plan. on how to upgrade.

    1. 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.

    1. Open the Bito IDE extension.

    2. Login to your workspace subscribed to the Bito Team Plan.

    3. Type @codereview in the chat box to open a menu and select from the following actions:

    1. 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.

    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.

    AI Code Review Agent (with AI Architect vs without AI Architect)

    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.

    AI Code Review Agent without AI Architect

    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.


    Capability
    Without AI Architect
    With AI Architect

    Quick MCP integration with AI coding agents

    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:

    1. Set up AI Architect — AI Architect can be set up using one of the following deployment options:

      1. (Fully managed by Bito — no infrastructure setup required)

    Available commands

    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:

    1. , for an install on a single machine, using bito-gateway-ctl.

    2. , for an install in a cluster, using helm and

    Custom instructions

    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.

    Prerequisites

    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.

    Requirement
    Minimum Specification

    Local Git Provider (Pre-Cloned Repositories) — Setup Guide

    can index repositories without any git credentials. Instead of connecting to GitHub, GitLab, Bitbucket, or Azure DevOps, you clone your repositories yourself onto the host that runs AI Architect, and copy them in with a single command:

    AI Architect stores no token, no app key, no username, and no git domain for this provider, and nothing inside the platform ever contacts your git server — every remote is stripped from the copy it keeps.

    Supported on Docker Compose, Standalone, and Kubernetes (single- or multi-node — no extra volume mounts, no hostPath, no shared ReadWriteMany storage).


    Available commands

    Invoke the AI Code Review Agent manually or within a workflow.

    The 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 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.

    Vim/Neovim Plugin

    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.

    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:

    MCP Analytics

    The 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 . The analytics page aggregates these tool calls to help you answer questions like:

    • How much is the AI Architect being used?

    Returns pre-analyzed dependency graphs and relationship data.

    Natural language queries work well.
    Coding agents
    Chat agents
    Bito's AI Code Review Agent
    prerequisites for self-hosted
  • 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.

  • mode = cli

  • pr_url

  • bito_cli.bito.access_key

  • git.provider

  • git.access_token

  • dependency_check

  • dependency_check.snyk_auth_token

  • review_scope

  • exclude_branches

  • exclude_files

  • exclude_draft_pr

  • Note: Valid values for git.provider are GITHUB, GITLAB, or BITBUCKET.

    Note: Detailed information for each property is provided on Agent Configuration: bito-cra.properties File page.

    Check the Required Access Tokens guide to learn more about creating the access tokens needed to configure the Agent.

    This step might take time initially as it pulls the Docker image and performs the code review.

    Note: To improve efficiency, the AI Code Review Agent is disabled by default for pull requests involving the "main" branch. This prevents unnecessary processing and token usage, as changes to the "main" branch are typically already reviewed in release or feature branches. To change this default behavior and include the "main" branch, please contact support.

    Screenshots

    Screenshot # 1

    AI-generated pull request (PR) summary

    Screenshot # 2

    Changelist showing key changes and impacted files in a pull request.

    Screenshot # 3

    AI code review feedback posted as comments on the pull request.

    Agent Configuration: bito-cra.properties File
    Changelist in AI Code Review Agent's feedback.

    Down only never sends a request to a model that costs more than the one your agent asked for. It needs a price for both models, and leaves the request alone and records why when either is missing. Both ways also allows an upgrade, for example sending a planning request from a small model to a larger one. Down only is the default.

    price ceiling

    A cap in dollars per million output tokens. Governor never sends a request to a model above it, whatever the classifier decides. Leave it blank for no ceiling.

    rubric preset

    Fills in the four tier descriptions below, and retunes the built-in scorer under Advanced to match that kind of traffic. Pick the one closest to your traffic and edit from there. Once you change the wording, the field reads User-defined.

    classifier

    LLM is the default and the most accurate.

    Heuristic uses the built-in scorer, which is free and instant, and on coding-tool traffic calls almost everything simple, so it is kept as the backup for when the LLM is too slow to answer.

    Keywords only matches on raw keywords.

    See How requests are classified.

    classifier model

    The route alias the classifier runs on. Pick a cheap, fast model, because it runs on every request that no rule has already decided.

    timeout (ms)

    How long the classifier may take before Governor falls back to the built-in scorer. Default 2000.

    context turns

    How many recent user prompts the classifier reads, rather than the current one alone. Default 3. Reading the last few turns catches a request that continues earlier work, so a short follow-up inside a planning session is still classified as planning.

    The reasoning effort for that tier. as asked passes through whatever the caller requested.

    Judgment and risk: writing an implementation plan, a design, or a migration plan, choosing between approaches, reviewing a diff, deciding whether something is safe to ship, and anything touching production, data, secrets, protected branches, or destructive commands.

    Reasoning

    Requests that do not say what done looks like: a symptom with no named cause, a request that could mean several different jobs, and open architecture questions. Working out what is actually being asked is the first task, so these reach the most capable model.

    0.6

    weight: context size

    0.35

    weight: code markers

    0.15

    weight: reasoning markers

    0.15

    weight: technical vocabulary

    0.12

    weight: tool count

    0.05

    weight: declared effort

    0.05

    weight: conversation depth

    0.03

    weight: multi-step phrasing

    0.02

    context ramp starts at (tokens)

    20000

    context ramp saturates at (tokens)

    150000

    tool count saturates at

    8

    turn depth saturates at

    8

    Reports what the router would have done across recorded traffic, with an estimated cost comparison. Export it as CSV.

    Upstream and downstream call chains

    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

    AI Code Review Agent powered by AI Architect

    Key capabilities unlocked by AI Architect

    Side-by-side comparison

    Cross-repository, system-wide

    /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

    Installation

    Step 1: Add the marketplace

    Step 2: Install the plugin

    Step 3: Configure your credentials

    Available commands

    Getting started

    Explore a codebase

    Plan a feature

    Triage production issues

    GitHub repository

    https://github.com/gitbito/claude-plugins

    Build a detailed implementation plan for complex features with cross-repo context

    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.

    • 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.

    To execute a command, follow these steps:

    1. Open a file in Vim or Neovim that you want to work on.

    2. Select the code block you want to act on. You can use visual mode or manually specify the range using line numbers.

    3. 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.

    4. The plugin will communicate with the Bito CLI and execute the command, providing the output directly within your editor.

    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.

    https://github.com/gitbito/CLI
    /plugin marketplace add gitbito/claude-plugins
    /plugin install bito-ai-architect@bito-claude-plugins
    /bito-ai-architect:bito-setup
    export 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
    git clone https://github.com/zhenyangze/vim-bitoai.git
    
    " 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"
    endif

    Claude Enterprise

    Claude.ai receives secure tokens automatically

  • Your email is tracked for usage analytics (collected during OAuth consent)

  • Navigate to Integrations section

    2

    Add Bito AI Architect MCP server

    1. Click "+ Add Custom Integration"

    2. Enter the integration details:

      • Name: BitoAIArchitect

      • URL: <Your-Bito-MCP-URL>

    1. Click "Connect" or "Add"

    3

    Complete OAuth authorization

    1. A new browser window/tab will open showing the Bito Authorization page

    2. Review the requested permissions

    3. Enter your email address (required for tracking/identification)

    4. Click "Authorize" or "Allow"

    5. The window will close and you'll be returned to Claude.ai

    4

    Verify connection

    1. Return to Claude.ai Settings → Integrations

    2. BitoAIArchitect should show as "Connected" with a green indicator

    3. Start a new conversation and try:

      What repositories are available in my organization?

    Note: Free tier accounts do not have access to MCP Integrations.

    OAuth authentication

    Set up AI Architect

    Open Claude.ai integrations

    Troubleshooting Claude.ai

    "Integrations" option not visible:

    OAuth authorization fails:

    Connection shows "Disconnected":

    Tools not appearing in conversation:

    Download BitoAIArchitectGuidelines.md file
    claude.ai
    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.

  • Merge becomes possible once all conditions are met.

    GitLab:

    Bitbucket:

    Note: Request change comments usually have to be resolved by the person who posted them. Since here these comments are posted by Bito, the user must comment /resolve in the pull request to resolve them.

    2. Turn on “Request changes comments” in Bito

    3. What happens in a pull request

    Example workflow

    Why use this feature?

    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.

  • Submit to get the code review feedback.

    Get a 14-day FREE trial of Bito's AI Code Review Agent.

    How to use the Agent in IDE?

    Supported review options based on your Version Control System (VCS):

    • If your project uses Git, all five review options are available.

    • If your project uses a non-Git VCS (e.g., Perforce, SVN), only two review options are available:

      • uncommittedchanges

      • path

      Unsupported options will be hidden automatically.

    Start code review from context menu

    Reviewing the feedback

    Each code suggestion includes an Apply button. Click it to open the diff view, where you can review the changes and choose to accept or undo them.

    Code review session history

    Read documentation
    (Run AI Architect on your own infrastructure for maximum control)
  • Your Bito Workspace ID or full Bito MCP URL

    1. You can find your Bito MCP URL on the AI Architect settings > MCP settings page.

    2. 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.

    1. Your email ID (for tracking/identification)

    2. 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.

    1. The installer downloads the necessary files and checks for compatible tools

    2. You'll be prompted to enter your credentials

      • Refer to the Prerequisites section for more details.

    3. Automatic configuration - All detected tools are configured

    4. Agent skills installed - are downloaded and installed for your configured tools

    1. 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.

    2. Confirmation - You'll see which tools were successfully set up

    1

    Restart your AI tool

    After the installer completes, completely close and reopen your IDE(s) to ensure the configuration takes effect.

    2

    Verify AI architect connection

    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

    3

    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:

    4

    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:

    • Claude Code

    • Claude Desktop

    • Claude.ai (Web)

    • Cursor

    "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:

    1. Verify files exist: ls ~/.claude/skills/bito-*/SKILL.md (Claude) or ls ~/.cursor/rules/bito-*.mdc (Cursor)

    2. Restart your IDE completely

    3. Check that jq is installed (required for manifest parsing): jq --version

    4. Re-run the install script — skills installation is idempotent

    If hooks are not triggering:

    1. Verify your IDE version supports hooks (Cursor hooks are in beta, VS Code hooks are preview)

    2. Check that the hook configuration wasn't overwritten by another tool

    3. Re-run the install script to restore hook configuration

    Prerequisites

    Bito-hosted
    Self-hosted
    curl -fsSL https://mcp-setup.bito.ai/install.sh | bash
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    irm https://mcp-setup.bito.ai/install.ps1 | iex
    curl -fsSL https://mcp-setup.bito.ai/uninstall.sh | bash
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    irm https://mcp-setup.bito.ai/uninstall.ps1 | iex
    curl -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 URL
    node --version

    Note: For self-hosted instances, follow the . Upon successful setup, you will receive a Bito MCP URL and Bito MCP Access Token that you need to enter.

    Note: For , , and you'll need to follow the manual setup process as they require OAuth authentication through your web browser.

    Installation guide

    macOS / Linux

    Windows

    Note: When using a self-hosted AI Architect, ensure that the MCP server is up and running before proceeding with the setup. The setup will fail if MCP is not running.

    What happens next

    Learn more about .

    Note: auto-sync daily (and on every Claude Code session start)

    After installation

    Uninstalling

    macOS / Linux

    Windows

    Need manual setup?

    Troubleshooting

    Installer issues

    Connection issues

    Note:

    • Replace <Your-Bito-MCP-URL> with the Bito MCP URL you received after completing the AI Architect setup.

      • For the Bito-hosted AI Architect, use the following URL format: https://mcp.bito.ai/<Your-Bito-Workspace-ID>/mcp

    Minimum requirements

    Skills not appearing

    Hooks not working

    kubectl
    .

    Both 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).


    Command
    What it does

    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.

    Command
    What it does

    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.

    Command
    What it does

    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

    Command
    What it does

    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

    Command
    What it does

    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.

    Command
    What it does

    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.

    Command
    What it does

    sudo systemctl start bito-gateway

    Starts Governor. Also accepts stop, restart, and status.

    journalctl -u bito-gateway -f

    Follows the logs.


    Command
    What it does

    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.

    Command
    What it does

    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.

    Command
    What it does

    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

    Command
    What it does

    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.

    Command
    What it does

    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>

    Command
    What it does

    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

    Command
    What it does

    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

    Command
    What it does

    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


    • Governor overview

    • Set up Bito Governor (Bito-hosted)

    • Set up Bito Governor (self-hosted with Docker)

    • Set up Bito Governor (self-hosted with Kubernetes)

    • Contact for deployment assistance

    Commands for self-hosted Bito Governor with Docker
    Commands for self-hosted Bito Governor with Kubernetes
    kubectl create namespace bito-gateway
    kubectl 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-secrets
    helm upgrade gw oci://registry-1.docker.io/bitoai/bito-gateway-helm \
      --namespace bito-gateway -f my-values.yaml --timeout 1800s

    Note: The needs no commands. Bito operates the infrastructure, and you configure everything in the admin UI.

    Commands for self-hosted Bito Governor with Docker

    Install

    Manage the service

    Configure from the command line

    Manage admins

    Back up

    Uninstall

    Native systemd installs

    Commands for self-hosted Bito Governor with Kubernetes

    Check your cluster first

    Install

    Check the deployment

    Reach the gateway

    Configure from the command line

    Manage admins

    Upgrade and roll back

    Pass no new secret values on upgrade. Both DB_PASSWORD and CRYPTO_ENV_KEK_KEY are fixed after the first install.

    Uninstall

    What's next

    How it works?

  • Impact on AI Architect's capabilities

  • Best practices

  • Getting started

  • 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:

    1. Bito processes your document and extracts relevant information

    2. The extracted context is intelligently integrated into the knowledge graph

    3. 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

    1

    Create your document

    Prepare a markdown document (.md file) containing custom instructions:

    • Start with your most important information

    • Organize content with clear structure

    • Use plain language and specific examples

    2

    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

    Note: Custom instructions feature is available exclusively on Bito's Enterprise plan. To use this feature, provide your custom instructions in markdown document (.md file) to the Bito team at support@bito.ai, and we'll integrate it into your knowledge graph.

    Refer to the Knowledge graph documentation for details on how AI Architect builds and maintains its knowledge.

    Table of contents

    AI Architect's knowledge graph
    Why use custom instructions?
    What to include in custom instructions?

    Why use custom instructions?

    What to include in custom instructions?

    Domain knowledge

    Operational context

    Architecture decisions

    Standards and guidelines

    Tribal knowledge

    How it works?

    Impact on AI Architect's capabilities

    Best practices

    Start with high-impact information

    Organize for clarity

    Be specific and actionable

    Document the "Why"

    Getting started

    RAM

    8 GB

    Hard Disk Drive

    80 GB


    • Windows

    • Linux

    • macOS


    Operating System
    Installation Steps

    Linux

    You will need:

    1. Bash (minimum version 4.x)

      • For Debian and Ubuntu systems

        sudo apt-get install bash

    macOS

    You will need:

    1. Bash (minimum version 4.x)

      brew install bash

    1. Docker (minimum version 20.x)


    • Bito Access Key: Obtain your Bito Access Key. View Guide

    • 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. View Guide

    GitHub Personal Access Token (Classic)
    • GitLab Personal Access Token: For GitLab PR code reviews, a token with API access is required. View Guide

    GitLab Personal Access Token
    • Snyk API Token (Auth Token): For Snyk vulnerability reports, obtain a Snyk API Token. View Guide

    CPU Cores

    4

    Minimum System Requirements

    Supported Operating Systems

    OS Prerequisites

    Required Access Tokens

    You can place repository clones on the machine that runs bitoarch.
  • The clones live under one parent directory, with each repository as an immediate subdirectory of it.

  • Each repository directory name uses only a-z A-Z 0-9 _ . - (these become the repository namespace).

  • Every file in every repository is readable by the user running bitoarch.

  • Each repository is at or under CIS_REPO_SIZE_LIMIT (default 5 GB).

  • The platform is running when you import (bitoarch status).

  • Expected layout:

    This imports as three repositories: local/backend-api, local/web-frontend, and local/shared-lib.


    At the git provider prompt, choose 5:

    The installer then skips the enterprise-domain question, the PAT/GitHub App choice, and the access-token prompt, and confirms:

    Installation finishes with an empty repository list. You add repositories in step 2.

    Pre-seed ~/.bitoarch/install.yaml — omit access_token entirely:

    local is the only provider for which the installer does not require a git access token.

    Any previously stored PAT or GitHub App key is cleared.


    import-repos scans the immediate subdirectories of the path and, for each repository:

    1. Checks the directory name is namespace-safe and the tree is fully readable.

    2. Checks the size against CIS_REPO_SIZE_LIMIT before copying anything.

    3. Registers it as namespace local/<directory-name>.

    4. Copies it onto the platform's shared clone volume.

    5. Removes every git remote from the copy, so nothing in the platform can reach your git server.

    The copy is atomic: a repository is only swapped into place once it has transferred completely. A failure leaves any previously imported copy untouched.

    It finishes with a summary:

    Check progress with bitoarch index-status, and confirm the result with bitoarch index-repo-list or bitoarch repo-info backend-api.


    There is no webhook and no polling — you decide when AI Architect sees new commits. Pull in your source clones, then re-run the same command:

    Re-running is the update flow and is safe to repeat:

    • A repository whose HEAD already matches the imported copy is skipped (no copy, no re-index).

    • A repository with new commits is re-synced and indexed incrementally on the next run.

    • A new subdirectory is imported and registered automatically.

    To automate it, pull and import from cron (or any scheduler) on the AI Architect host:


    By default a subdirectory without a .git directory is skipped:

    To include plain source trees:

    AI Architect synthesizes a git history inside its own copy so the indexing pipeline works normally. Your source directory is never modified. Two caveats:

    • Because there is no real commit history, these repositories are always fully re-indexed when their contents change (never incrementally).

    • An unchanged tree still keeps its identity across re-imports, so re-running the command on unchanged sources does not trigger needless re-indexing.


    remove-repo deliberately keeps the imported copy on the platform's volume so a later re-add is fast. Reclaim that disk space yourself if you do not plan to re-add the repository.


    Area
    With local

    Credentials

    None. Nothing is stored; no token to rotate or expire

    Adding repositories

    bitoarch import-repos <path> — not add-repo / add-repos / a repos YAML

    bitoarch fetch-repo-list


    Message / symptom
    What to do

    import-repos requires the local git provider (current: github)

    This install uses a token-based provider. Switch with bitoarch update-git-creds → option 5

    No running ai-architect-manager pod found / a docker exec failure

    The platform is not running. Start it with bitoarch start, then re-import

    Cannot import 'X': not readable by <user> / not fully readable

    Full diagnostics: bitoarch diagnose produces a support bundle for support@bito.ai.


    Variable
    Meaning

    GIT_PROVIDER

    Set to local for this mode

    CIS_CLONE_DIR

    Where imported copies live inside the platform (default /opt/bito/ai-architect/data/clone-dir)

    CIS_REPO_SIZE_LIMIT


    • CLI Reference — all bitoarch commands

    • Standalone Setup Guide

    • Enterprise Setup Guide

    bitoarch import-repos /srv/bito-sources

    Use this when: your git server is unreachable from the AI Architect host (air-gapped or segmented network), your policy does not allow issuing a read token, your git server is not one of the four supported providers, or you want to index a source tree that is not in git at all.

    Prerequisites

    Bito's AI Architect
    /srv/bito-sources/
    ├── backend-api/      ← a git clone
    ├── web-frontend/     ← a git clone
    └── shared-lib/       ← a git clone
    Select Git provider (1) GitLab  (2) GitHub  (3) Bitbucket  (4) Azure DevOps  (5) Local (pre-cloned repos)  [1-5]: 5
    No git credentials needed. After installation, import your pre-cloned repositories with: bitoarch import-repos <path>
    bito_api_key: "<your-bito-api-key>"
    git:
      provider: local
    bitoarch update-git-creds     # choose (5) Local (pre-cloned repos)
    bitoarch import-repos /srv/bito-sources
    bitoarch index-repos
    ✓ Import complete: 3 imported, 0 skipped, 0 failed (3 registered)
    ℹ Run bitoarch index-repos to index the imported repositories
    cd /srv/bito-sources/backend-api && git pull
    bitoarch import-repos /srv/bito-sources
    bitoarch index-repos
    # Every night at 02:00 — refresh sources, import, index.
    0 2 * * * cd /srv/bito-sources && for r in */; do git -C "$r" pull -q; done && bitoarch import-repos /srv/bito-sources && bitoarch index-repos
    ⚠ Skipping 'legacy-app': not a git clone (use --allow-non-git to import plain source trees)
    bitoarch import-repos /srv/bito-sources --allow-non-git
    bitoarch remove-repo local/backend-api      # deregister; index data stays until purged
    bitoarch remove-index local/backend-api     # deregister + purge index data

    1. Install with the local provider

    Interactive install

    Non-interactive install

    Switching an existing install to local

    Repositories you configured under the previous provider are not local imports. Their leftover clones will fail to index until you re-import them. Remove the stale namespaces first (bitoarch remove-repo <namespace>), then import as below.

    2. Import your repositories

    3. Keep repositories up to date

    4. Source trees that are not git repositories

    5. Removing a repository

    What differs from a token-based provider

    Troubleshooting

    Related environment variables

    See also

    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.

    1. /review security

    2. /review performance

    3. /review scalability

    4. /review codeorg

    5. /review codeoptimize

    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.

    Highlighting the security vulnerability detected and the proposed solution.

    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.

    Highlighting the performance issue detected and the proposed solution.

    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.

    Highlighting the scalability issue detected and the proposed solution.

    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.

    Highlighting the code structure issue detected and the proposed solution.

    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.

    Precise code optimization advice pinpointing exact lines in a file.

    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

    It may take a few minutes to get the code review posted as a comment, depending on the size of the pull/merge request.

    /review

    Note: If an incremental review is already scheduled when you trigger a manual /review, the scheduled incremental review is skipped to avoid a duplicate review. Also, if the most recent automated review did not complete successfully, a manual /review is treated as a full review so that no changes are missed.

    /review full

    AI Code Review Agent
    bito-cra.properties file

    Review Scope

    You can provide comma-separated values to perform multiple types of code analysis simultaneously.

    Example: /review performance,security,codeoptimize

    Combining general feedback with specialized review scopes

    /review security

    /review performance

    /review scalability

    /review codeorg

    /review codeoptimize

    Control code review workflow

    /pause

    /resume

    /resolve

    Note: The /resolve command is currently supported in GitLab and Bitbucket.

    /abort

    Display Code Review in a Single Post

    Note: The /review command defaults to #inline_comment=True, so you can omit this parameter when its value is True.

    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.

    Signal
    What it may indicate

    Steady or growing tool call volume

    Healthy adoption and continued use

    Increasing active users

    Broader team engagement

    Flat volume after onboarding

    Term
    Definition

    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

    Overview

    Architect MCP Analytics
    tool call

    Available charts

    Tool Call Volume — Last 4 Weeks

    Active Users — Last 4 Weeks

    Tool Call Volume — Last 8 Weeks

    Tool Calls by Purpose — Last 4 Weeks

    Interpreting the data

    Tip: Cross-reference Tool Call Volume and Active Users to calculate an average calls-per-user ratio. This helps distinguish between deep individual usage and broad team adoption.

    Glossary

    Install on VS Code

    Starting with Bito version 1.3.4, the extension is only supported on VS Code versions 1.72 and higher. Bito does not support VS Code versions below 1.72, and earlier versions of Bito do not function properly on these older versions.

    Visual Studio Code Marketplace Link https://marketplace.visualstudio.com/items?itemName=Bito.bito

    Setup Bito extension in VS Code running through SSH

    Remote SSH connection and setup

    Setup Bito extension in VS Code running through WSL

    WSL connection and setup

    Managing workspace members
    https://code.visualstudio.com/docs/remote/ssh
    https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
    https://code.visualstudio.com/docs/remote/wsl-tutorial
    https://learn.microsoft.com/en-us/windows/wsl/install

    Why use an AI Agent for code review?

    Pricing details

    Learn more

    Privacy & Security practices
    AI that Understands Your Code
    How does Bito’s “AI that understands your code” work?
    Start free trial
    Get a demo
    Pricing
    Get a 14-day FREE trial of Bito's AI Code Review Agent.
    Get a 14-day FREE trial of Bito's AI Code Review Agent.

    Getting Started

    Key Features

    Supported Programming Languages and Tools

    Agent Configuration: bito-cra.properties File

    FAQs

    Guide for ChatGPT (Web & Desktop)

    Integrate ChatGPT with AI Architect for more accurate, codebase-aware AI assistance.

    Use Bito's AI Architect 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.

    Note: This guide covers setup for both the web interface (chat.openai.com) and the ChatGPT desktop app. The configuration is identical for both platforms.

    Prerequisites

    1. 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: When using Bito AI Architect MCP with ChatGPT (Web), 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.

    2. . 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.

    3. A paid ChatGPT subscription - MCP connectors require one of the following:

      • ChatGPT Plus

      • ChatGPT Pro

      • ChatGPT Team

    ChatGPT uses OAuth 2.1 with PKCE for secure MCP server authentication via the Connectors feature in Developer Mode.

    How OAuth authentication works:

    1. You enable Developer Mode and add the MCP server URL in Connectors settings

    2. ChatGPT initiates an OAuth flow

    3. Your browser opens a consent page hosted by Bito

    4. 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)

    1
    1. Go to (or open the ChatGPT desktop app) and sign in

    2. Click on your profile icon (bottom-left corner)

    3. Select Settings

    • 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)

    Interaction diagram

    Visualize code changes and their impact with automated sequence diagrams.

    The Interaction Diagram is a visual feature in Bito's AI Code Review Agent 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.

    Interaction Diagram by Bito

    How to enable

    1. Navigate to the Code Review > Repositories dashboard.

    2. Click the Settings button next to the Agent instance you wish to modify.

    3. 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 (● ● ○)

    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

    • 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 with complete cross-repository codebase understanding.

      • Note: This feature is not publicly available yet. Please contact Bito at 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 settings

    • Rendering issues:

      • In GitLab, you may need to click the Display button to manually render the diagram.

    Repo level settings

    Configure repository-specific Code Review Agent settings using the .bito.yaml file.

    Repo-level Agent settings let you control how the AI Code Review Agent 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.

    Why use repo-level settings

    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:

    • Enabling custom review behavior per repository.

    • Allowing custom guidelines flexibility at the repo level.

    • Keeping settings version-controlled and transparent.

    1. Add a .bito.yaml file to the root of your repository. To get started, .

    2. Add the (key-value pairs) to specify how the Code Review Agent should behave for that repository.

    3. When the Code Review Agent runs, Bito automatically detects the file and applies those settings for that repository.

    Admins can manage this from the 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:

    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.

    1. Go to the .

    2. Open the .bito.yaml file.

    3. 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 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.

    Guide for GitHub (Self-Managed)

    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.

    Keyboard shortcuts

    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.

    Command
    Shortcuts

    Guide for GitHub

    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.

    Jira integration

    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:

    1. Detects Jira ticket references in your pull request description, title, or branch name

    2. Crawls the linked Jira tickets to extract requirements from issue descriptions and related Stories/Epics

    Knowledge graph

    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.)

    Not available — there is no remote to enumerate

    Git Insights

    Not available — it analyzes remote history and PRs. Disabled automatically at setup

    New commits

    Picked up only when you re-run import-repos. No webhooks, no polling

    Namespaces

    Always local/<directory-name> (two segments)

    Network access

    The platform never contacts your git server. All remotes are stripped from the copy

    Fix the source permissions, or re-run as a user that can read every file in that repository. The repository is skipped, not partially copied

    Skipping 'X': directory name has characters not allowed in a repo namespace

    Rename the directory using only a-z A-Z 0-9 _ . -

    Skipping 'X': not a git clone

    Add --allow-non-git, or make the directory a real clone

    Skipping 'X': size ... exceeds CIS_REPO_SIZE_LIMIT

    Trim the repository, or raise CIS_REPO_SIZE_LIMIT in .env-bitoarch and restart

    Could not register local/X -- is cis-config reachable?

    Check bitoarch status. Once services are healthy, re-run import-repos — it heals partial runs

    'X' is already imported at <sha> (skipped)

    Expected. The imported copy already matches your source HEAD. Pull new commits first

    Imported, but nothing appears in results

    Indexing has not run yet. bitoarch index-repos, then watch bitoarch index-status

    fetch-repo-list is not available for the local git provider

    Expected. Use bitoarch import-repos instead

    Max indexable size per repository, in bytes (default 5368709120 = 5 GB)

    Adoption gap; consider enablement efforts

    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

    The total count of tool calls recorded within a given time window, across all users.

    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.

    Submit to Bito Team

    support@bito.ai

    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.

    support@bito.ai
    Bito-hosted deployment
    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.

  • Zoom in/out

    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.

  • Understanding sequence diagrams

    Diagram components

    Boxes

    Labels and indicators

    Arrows and flow

    Control flow blocks

    Platform-specific behavior

    GitHub

    GitLab

    Bitbucket

    Note: If you see a "syntax error" or "unable to render" message, try refreshing the page.

    Incremental reviews

    Interaction diagram vs impact analysis diagram

    Note: If both Impact Analysis and Interaction Diagram are enabled, only the Impact Analysis diagram will be shown.

    Best practices

    Troubleshooting

    Bito AI Architect
    support@bito.ai
    Bito Cloud
    Interaction diagram by Bito
    Chat Session History
    How to install Bito extension on JetBrains IDEs
    AI that understands your code
    Windsurf:

    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.md
    cd /path/to/your/project
    curl -sfL "https://mcp-setup.bito.ai/BitoAIArchitectGuidelines.md" -o .cursorrules

    Add guidelines (optional but highly recommended)

    Run a test query

    Agent skills
    BitoAIArchitectGuidelines.md file
    Windsurf
    GitHub Copilot (VS Code)
    Junie
    JetBrains AI Assistant
    ChatGPT (Web & Desktop)
    self-hosted AI Architect installation instructions
    Claude.ai (Web)
    Claude Desktop
    ChatGPT (Web & Desktop)
    available Agent skills
    Agent skills
    cd /path/to/your/project
    mkdir -p .windsurf/rules
    curl -sfL "https://mcp-setup.bito.ai/BitoAIArchitectGuidelines.md" -o .windsurf/rules/bitoai-architect.md
    cd /path/to/your/project
    mkdir -p .github
    curl -sfL "https://mcp-setup.bito.ai/BitoAIArchitectGuidelines.md" -o .github/copilot-instructions.md
    cd /path/to/your/project
    mkdir -p .junie
    curl -sfL "https://mcp-setup.bito.ai/BitoAIArchitectGuidelines.md" -o .junie/guidelines.md
    cd /path/to/your/project
    mkdir -p .aiassistant/rules
    curl -sfL "https://mcp-setup.bito.ai/BitoAIArchitectGuidelines.md" -o .aiassistant/rules/bitoai-architect.md

    Note: guidelines file auto-sync daily (and on every Claude Code session start)

    Learn more about .

    Note: auto-sync daily (and on every Claude Code session start)

    ChatGPT Enterprise

  • ChatGPT Edu

  • ChatGPT receives secure tokens automatically

  • Your email is tracked for usage analytics (collected during OAuth consent)

  • Go to Apps and Connectors (or just Connectors)

  • Scroll down and click "Advanced Settings"

  • Toggle "Developer Mode" to ON

  • 2

    Create Bito AI Architect Connector

    1. In the Connectors section, click "Create" or "+ Add Connector"

    2. Fill in the connector details:

      • Connector Name: BitoAIArchitect

      • Description: Repository intelligence and architecture analysis for your organization

      • MCP Server URL: <Your-Bito-MCP-URL>

      • Authentication: Select "OAuth"

    1. Click "Create" or "Save"

    3

    Complete OAuth authorization

    1. Click on the newly created BitoAIArchitect connector

    2. Click "Connect" to initiate the OAuth flow

    3. A browser window opens showing the Bito Authorization page

    4. Review the requested permissions

    5. Enter your email address (required for tracking)

    6. Click "Authorize" or "Allow"

    7. Return to ChatGPT - the connection is now active

    4

    Verify connection

    1. Return to ChatGPT Settings → Connectors

    2. BitoAIArchitect should show as "Connected"

    3. Start a new conversation

    4. In the composer, click "Use Connectors" or look for the connector tools

    5. Try asking:

    5

    Using Bito AI Architect in ChatGPT

    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

    • Connectors menu: Select BitoAIArchitect from the "Use Connectors" option

    Note: Free tier accounts do not have access to MCP connectors.

    Note: Full MCP support (including write/modify actions) is available for Team, Enterprise, and Edu plans. Plus and Pro users have read/fetch permissions via Developer Mode.

    OAuth authentication

    Set up AI Architect

    Enable Developer mode

    Troubleshooting ChatGPT

    "Connectors" or Developer Mode option not visible:

    OAuth authorization fails:

    "Error fetching OAuth configuration":

    Connection shows "Error" or "Disconnected":

    Tools not working in conversation:

    Download BitoAIArchitectGuidelines.md file
    chatgpt.com

    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 for this to work. Valid values: true or false

    If a property is missing in the .bito.yaml file, the corresponding value from the global Agent Settings will be used instead.

    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

    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"  
    

    How it works

    Note: Repo-level overrides are applied only if your workspace admin has enabled “Allow config file settings” in Agent Settings. This option is required for repo-level overrides to take effect and is turned on by default.

    Enabling repo-level overrides

    Note: Only workspace admins can toggle this setting from the Bito dashboard (cannot be changed via .bito.yaml file).

    Supported settings in .bito.yaml file

    Sample .bito.yaml file

    Download .bito.yaml file

    From GitHub:

    From Bito Cloud UI:

    Note: Web browsers such as Google Chrome do not allow downloading files that begin with a dot .. As a result, when you download the sample settings file, it will be saved with a different name (for example, agent.yaml or bito.yaml). To use it correctly, rename the file to .bito.yaml before adding it to your repository.

    Note: By default, files that start with a dot . are hidden in most file explorers.

    To view hidden files:

    • Windows: In File Explorer, go to the top menu bar, click View, then enable Hidden items.

    • macOS: Press Command + Shift + . in Finder.

    • Linux: Run ls -a in your terminal.

    Note: On macOS, the Finder app may not allow naming a file starting with a dot (e.g., .bito.yaml). In that case, open Terminal and use the following command to rename the file (replace filename.yaml with your actual file name):

    mv filename.yaml .bito.yaml

    Rules and limits

    download a sample .bito.yaml file
    supported configuration fields
    Agent Settings
    Bito GitHub repository
    Repositories

    include_source_branches

    For CentOS and other RPM-based systems

    sudo yum install bash

    1. Docker (minimum version 20.x)

      • View Guide

    View Guide

    Windows

    You will need:

    1. PowerShell (minimum version 5.x)

      • View Guide

      • 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.

    1. Docker (minimum version 20.x)

    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:

    1. Automated code review: By default, the Agent automatically reviews all new pull requests and provides detailed feedback.

    2. 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.

    3. 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.

    Learn more

    Changelist in AI Code Review Agent's feedback.

    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.

    Get a 14-day FREE trial of Bito's AI Code Review Agent.

    Video tutorial

    Prerequisites

    1. Create a GitHub Personal Access Token (classic):

    AI Code Review Agent
    available commands
    View Guide
    GitHub Personal Access Token (classic)

    2. Authorizing a GitHub Personal Access Token for use with SAML single sign-on:

    Installation and configuration steps

    Step 1: Log in to Bito

    Step 2: Open the Code Review Agents setup

    Step 3: Select your Git provider

    Supported versions:

    • GitHub Enterprise Server: 3.0 and above

    Step 4: Register & install the Bito App for GitHub

    If your network blocks external services from interacting with the GitHub server, whitelist all of Bito's gateway IP addresses in your firewall to ensure Bito can access your self-hosted repositories. The Agent response can come from any of these IPs.

    • List of IP addresses to whitelist:

      • 18.188.201.104

    Bito app uses these permissions:

    • Read access to metadata

    • Read and write access to code, issues, and pull requests

    Step 5: Enable AI Code Review Agent on repositories

    To customize the Agent’s behavior, you can edit existing configurations or create new Agents as needed.

    Step 6: Automated and manual pull request reviews

    Note: If an incremental review is already scheduled when you trigger a manual /review, the scheduled incremental review is skipped to avoid a duplicate review. Also, if the most recent automated review did not complete successfully, a manual /review is treated as a full review so that no changes are missed. To always re-review all changes, use /review full.

    Note: To enhance efficiency, the automated code reviews are only triggered for pull requests merging into the repository’s default branch. This prevents unnecessary processing and Advanced AI requests usage.

    To review additional branches, you can use the . Bito will review pull requests when the source or target branch matches the list.

    The Include Source/Target Branches filter applies only to automatically triggered reviews. Users should still be able to trigger reviews manually via the /review command.

    The AI Code Review Agent automatically reviews code changes up to 5000 lines when a pull request is created. For larger changes, you can use the /review full command.

    It may take a few minutes to get the code review posted as a comment, depending on the size of the pull request.

    Step 7: Specialized commands for code reviews

    Step 8: Chat with AI Code Review Agent

    Step 9: Configure Agent settings

    Screenshots

    Screenshot # 1

    AI-generated pull request (PR) summary

    Screenshot # 2

    Changelist showing key changes and impacted files in a pull request.

    Screenshot # 3

    AI code review feedback posted as comments on the pull request.

    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+ ⬆️ / ⬇️

    The following keyboard shortcuts work after the Q/A block is selected.

    Command
    Keyboard Shortcut

    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

    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.

    1. To Open the Keyboards Shortcuts editor in VS Code, navigate to the menu under File > Preferences > Keyboard Shortcuts. (Code > Preferences > Keyboard Shortcuts on macOS)

    1. Search for default available commands, keybindings, or Bito extension-specific commands in VSCode keyboard shortcut editor.

    1. Finding a conflict in Key binding → Search for the key and take necessary action, e.g., Remove or Reset.

    1. 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: https://www.jetbrains.com/help/idea/configuring-keyboard-and-mouse-shortcuts.html

    1. File > settings > keymaps > configure keymaps

    1. 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.

    2. 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.

    3. 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.

    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.

    General

    SHIFT + CTRL + O

    Question & Answers

    Change Default Keyboard Shortcuts

    Visual Studio Code Editor

    JetBrains

    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 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:

    1. Automated code review: By default, the Agent automatically reviews all new pull requests and provides detailed feedback.

    2. 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.

    3. 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.

    Learn more

    Changelist in AI Code Review Agent's feedback.

    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.

    Get a 14-day FREE trial of Bito's AI Code Review Agent.

    Video tutorial

    Installation and configuration steps

    Step 1: Log in to Bito

    Step 2: Open the Code Review Agents setup

    Step 3: Select your Git provider

    AI Code Review Agent
    available commands
    Log in to Bito Cloud
    Repositories

    Step 4: Install the Bito app for GitHub

    Bito app uses these permissions:

    • Read access to metadata

    • Read and write access to code, issues, and pull requests

    Step 5: Enable AI Code Review Agent on repositories

    To customize the Agent’s behavior, you can edit existing configurations or create new Agents as needed.

    Step 6: Automated and manual pull request reviews

    Note: If an incremental review is already scheduled when you trigger a manual /review, the scheduled incremental review is skipped to avoid a duplicate review. Also, if the most recent automated review did not complete successfully, a manual /review is treated as a full review so that no changes are missed. To always re-review all changes, use /review full.

    Note: To enhance efficiency, the automated code reviews are only triggered for pull requests merging into the repository’s default branch. This prevents unnecessary processing and Advanced AI requests usage.

    To review additional branches, you can use the . Bito will review pull requests when the source or target branch matches the list.

    The Include Source/Target Branches filter applies only to automatically triggered reviews. Users should still be able to trigger reviews manually via the /review command.

    The AI Code Review Agent automatically reviews code changes up to 5000 lines when a pull request is created. For larger changes, you can use the /review full command.

    It may take a few minutes to get the code review posted as a comment, depending on the size of the pull request.

    Step 7: Specialized commands for code reviews

    Step 8: Chat with AI Code Review Agent

    Step 9: Configure Agent settings

    Screenshots

    Screenshot # 1

    AI-generated pull request (PR) summary

    Screenshot # 2

    Changelist showing key changes and impacted files in a pull request.

    Screenshot # 3

    AI code review feedback posted as comments on the pull request.

    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:

    1. Jira Cloud: for Jira sites hosted by Atlassian (e.g., https://mycompany.atlassian.net).

    2. Jira Data Center: for Jira instances hosted on your own company domain or servers (e.g., https://jira.mycompany.com).

    1

    Connect Bito to Jira

    1. Navigate to the Manage integrations page in your Bito dashboard

    2. In the Available integrations section, you will see Jira. Click Connect to proceed.

    3. 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.

    4. Click Accept to continue. If the integration is successful, you will be redirected back to Bito.

    2

    After completing the initial setup, you can control Jira integration on a per-agent basis:

    1. Go to the page in your Bito dashboard.

    2. Find the Agent instance you want to connect with Jira and open its settings.

    3. Within the Agent settings screen, click on the Integrations

    1

    Connect Bito to Jira

    1. Navigate to the Manage integrations page in your Bito dashboard

    2. In the Available integrations section, you will see Jira. Click Connect to proceed.

    3. Select the option Jira Data Center (self-managed).

    4. 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 to learn how to create a Personal Access Token.

    5. 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.

    6. Click Allow to continue. If the integration is successful, you will be redirected back to Bito.

    2

    After completing the initial setup, you can control Jira integration on a per-agent basis:

    1. Go to the page in your Bito dashboard.

    2. Find the Agent instance you want to connect with Jira and open its settings.

    3. Within the Agent settings screen, click on the .

    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).

    • 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:

    • 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 Manage integrations 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

    Note: The Jira integration is available on the Professional Plan.

    How it works

    feature/QP-123-implement-user-authentication
    bugfix/QP-456-fix-login-error
    This PR implements user authentication as specified in QP-123.
    
    Related tickets: QP-123, QP-124
    This PR implements shopping cart functionality as specified in:
    https://your-company.atlassian.net/browse/QP-3
    https://your-company.atlassian.net/browse/QP-7
    QP-123: Implement user authentication feature
    [QP-456] Fix login validation error

    Jira integration options in Bito

    Connect Bito with Jira Cloud (hosted by Atlassian)

    Note: The Functional validation feature must be enabled in your Bito agent settings for the integration to work.

    Connect Bito with Jira Data Center (hosted on your own server)

    Linking Jira tickets to pull requests

    Method 1: Branch name

    Method 2: Pull request description

    Method 3: Pull request title

    Understanding the validation results

    Source

    Requirement / Code Area

    Status

    Notes

    Example validation output

    Benefits

    Best practices

    For developers

    For teams

    Troubleshooting

    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.

    Bito's AI Architect knowledge graph indexes your codebase, business context, and tribal knowledge. AI and dev tools can query this graph to give context-aware answers.

    1. How the knowledge graph is built

    2. Capabilities enabled by the knowledge graph

    3. How the knowledge graph differs from other AI tools

    4. Why the knowledge graph matters

    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.

    Bito's AI Architect

    Table of contents

    How the knowledge graph is built

    Capabilities enabled by the knowledge graph

    Feasibility analysis

    Impact assessment

    Technical design

    Epic breakdown

    Context for AI coding agents

    Code review enhancement

    How the knowledge graph differs from other AI tools

    Beyond RAG and vector search

    More context isn't better context

    Understanding system evolution

    Operational context

    Why the knowledge graph matters

    Scaling engineering organizations

    Technical debt visibility

    Compliance and auditability

    AI for high-level decisions

    Organizational learning

    • Replace <Your-Bito-MCP-URL> with the Bito MCP URL you received after completing the AI Architect setup.

      • For the Bito-hosted AI Architect, use the following URL format: https://mcp.bito.ai/<Your-Bito-Workspace-ID>/mcp

        Replace <Your-Bito-Workspace-ID> with your actual Bito workspace ID, which you can find after logging into your Bito account at

    Single Sign-On (SSO) integration

    Note: If you are using a self-hosted deployment of AI Architect, please refer to the instead, as the setup process differs from the cloud version.

    Single Sign-On (SSO) enables your team to authenticate with Bito's AI Architect MCP through your organization's identity provider instead of sharing access tokens with team members.

    Why use SSO

    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.

    Supported identity providers

    AI Architect's SSO implementation uses Descope as the authentication platform, which provides native integrations with enterprise identity providers.

    Common identity providers include:

    • 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:

    1. Workspace admin access: You must be an admin in your Bito workspace. You can check your role in Bito by going to dashboard.

    2. 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.

    3. AI Architect: Your workspace must have AI Architect enabled.

    1
    1. Log in to .

    2. Navigate to the dashboard.

    3. In the Available integrations section, you will see Single Sign-On (SSO). Click Connect to proceed.

    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:

    1. Connect Bito's AI Architect to your AI coding tools (Cursor, Windsurf, VS Code, etc.) in seconds with our automated installer.

    2. Open your IDE's MCP settings.

    3. In BitoAIArchitect

    1. Enable the BitoAIArchitect MCP.

    2. 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.

    3. Sign in using your credentials.

    4. After successful authentication, return to your IDE.

    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 .

    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:

    • and navigate to

    • 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.

    1. 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.

    2. 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.

    Code review analytics

    Get in-depth insights into your code review process.

    The user-friendly Code Review Analytics 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.

    Code Review Analytics dashboard

    Bito provides four distinct analytical views to help you understand your code review performance from multiple perspectives:

    1. Overview: High-level workspace metrics and trends

    2. : Individual contributor performance and patterns

    3. : Repository and language-specific insights

    4. : Detailed pull request and issue tracking

    The 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

    The 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.

    The 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.

    The 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

    • Check metrics for trend monitoring

    • Review for team performance discussions

    • Analyze for strategic planning

    • Use 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

    Guide for Claude Desktop

    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.

    Prerequisites

    1. 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.

    2. 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.

    3. Claude Desktop installed - Download and install Claude Desktop from if you haven't already.

    4. 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.

    1
    1. Open Claude Desktop

    2. Click Claude menu → Settings → Developer tab

    3. Click Edit Config to open claude_desktop_config.json

    1. Verify JSON syntax in config file

    2. Ensure Node.js 20+ is installed: node --version

    3. Check that npx is available: npx --version

    1. Ensure your browser is set as default

    2. Allow pop-ups for the OAuth flow

    3. 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

    Guide for Bitbucket

    Integrate the AI Code Review Agent into your Bitbucket workflow.

    Speed up code reviews by configuring the AI Code Review Agent 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 available commands.

    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 page.

    Video tutorial

    Installation and configuration steps

    Follow the step-by-step instructions below to install the AI Code Review Agent using Bito Cloud:

    Step 1: Log in to Bito

    Log in to Bito Cloud and select a workspace to get started.

    Step 2: Open the Code Review Agents setup

    Click Repositories under the CODE REVIEW section in the sidebar.

    Step 3: Select your Git provider

    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, 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:

    1. Automated code review: By default, the Agent automatically reviews all new pull requests and provides detailed feedback.

    2. 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.

    3. Manually trigger an incremental review: Type /review in the comment box on the pull request 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.

    Try AI code reviews using Test Mode

    Experience AI-powered code analysis on any pull request — no admin access needed.

    Bito offers Test Mode to help you quickly explore our AI Code Review Agent 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)

    • 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)

    1

    with a fresh user account and create a new workspace

    2
    • Click "Do a test code review" option at the bottom of the Git setup wizard

    3

    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.

    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 .

    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.

    Guide for Bitbucket (Self-Managed)

    Integrate the AI Code Review Agent into your self-hosted Bitbucket workflow.

    Speed up code reviews by configuring the 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 .

    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.

    Agent skills

    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.

    Skill
    Trigger phrases
    Updating Bito plugin on VS Code
    View Guide
    alpha.bito.ai
    available Agent skills
    Agent skills
    Updating Bito Plugin on JetBrains IDEs

    3.23.173.30

  • 18.216.64.170

  • Read access to organization members
    Learn more
    Include Source/Target Branches filter
    tab.
  • Locate the Functional validation option and enable this setting to activate automatic pull request validation against Jira tickets.

  • Locate the Functional validation option and enable this setting to activate automatic pull request validation against Jira tickets.

  • Agent-specific settings

    Agent-specific settings

    Repositories
    official Jira documentation
    Repositories
    Functional validation tab
    support@bito.ai
    Learn more
    : 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

    • 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.

  • 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.

  • Process improvement: Adjust development practices based on concrete data

    "Overview" dashboard

    Key metrics:

    Use the Filters button (top-right) to customize your view. You can also export the data to PowerPoint or PDF using the Share menu button (top-right).

    "Submitter Analytics" dashboard

    Key metrics:

    Use the Filters button (top-right) to customize your view. You can also export the data to PowerPoint or PDF using the Share menu button (top-right).

    "Repository Analytics" dashboard

    Key metrics:

    Use the Filters button (top-right) to customize your view. You can also export the data to PowerPoint or PDF using the Share menu button (top-right).

    "PR Analytics" dashboard

    1. "Reviewed (Feedback)" tab

    2. "Reviewed (No Feedback)" tab

    3. "Skipped" tab

    Use the Filter button (top-left) to customize views by:

    • Specific submitters

    • Date ranges

    • Pull request status

    Benefits for technical leadership

    Best practices for using analytics

    1. Regular review cadence

    2. Filtering for insights

    3. Export and sharing

    4. Action-oriented analysis

    Submitter Analytics
    Repository Analytics
    PR Analytics
    Overview dashboard
    Submitter Analytics dashboard
    Repository Analytics dashboard
    PR Analytics dashboard
    Overview
    Submitter Analytics
    Repository Analytics
    PR Analytics
    Bito dashboard
    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"

    Click Connect via SSO. You will be redirected to Descope.

    2

    Configure your identity provider

    The SSO configuration uses Descope as the authentication platform, which supports multiple identity providers.

    1. In the Welcome page, click SSO Configuration.

    2. Choose your identity provider from the list. 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.

    3. Follow the provider-specific setup wizard to configure SSO.

    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.

    1. From the Identity Provider (IdP) Selection screen, click Keycloak.

    2. Click SAML.

    3. From the Service Provider Information screen, copy Client ID.

    MCP, remove the
    Bito MCP Access Token
    line.
  • Bito's AI Architect MCP is now connected and ready to use.

  • If your organization uses a different provider, you can configure it as a custom SAML 2.0 or OpenID Connect (OIDC) integration.

    Prerequisites

    How to configure SSO

    Access SSO settings in Bito

    How users connect using SSO

    Note: Sometime your changes in MCP settings will not take effect immediately. To fix this, you can try renaming the BitoAIArchitect MCP to something else. For example, BitoAIArchitect_test.

    How SSO authentication works

    Fallback authentication (when SSO isn't configured yet)

    Managing team access

    1. User already exists in the workspace with an assigned seat

    2. Manually add new team members

    3. Automatically add users to the workspace after successful SSO login

    To enable the autoAddUser flag, contact the Bito team at support@bito.ai.

    Removing access

    Manage Users
    Learn more
    Bito Cloud
    Manage integrations
    Follow quick MCP integration guide
    https://alpha.bito.ai/
    Learn more about seat management
    Log in to Bito Cloud
    Manage Users
    SSO authentication guide for self-hosted installations
    Linux (Ubuntu/Debian):
  • Verify installation:

    node --version  # Should show v20.x.x or higher
    npx --version
  • Or manually open: ~/Library/Application Support/Claude/claude_desktop_config.json

    1. Open Claude Desktop

    2. Click File → Settings → Developer tab

    3. Click Edit Config to open claude_desktop_config.json

    Or manually open: %APPDATA%\Claude\claude_desktop_config.json

    2

    Add AI Architect configuration

    Add the following to your claude_desktop_config.json:

    {
      "mcpServers": {
        "BitoAIArchitect": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "<Your-Bito-MCP-URL>"
          ]
        }
      }
    }
    • Replace <Your-Bito-MCP-URL> with the Bito MCP URL you received after completing the AI Architect setup.

      • For the Bito-hosted AI Architect, use the following URL format: https://mcp.bito.ai/<Your-Bito-Workspace-ID>/mcp

    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>"
          ]
        }
      }
    }
    • Replace <Your-Bito-MCP-URL> with the Bito MCP URL you received after completing the AI Architect setup.

      • For the Bito-hosted AI Architect, use the following URL format: https://mcp.bito.ai/<Your-Bito-Workspace-ID>/mcp

    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>"
          ]
        }
      }
    }
    • Replace <Your-Bito-MCP-URL> with the Bito MCP URL you received after completing the AI Architect setup.

      • For the Bito-hosted AI Architect, use the following URL format: https://mcp.bito.ai/<Your-Bito-Workspace-ID>/mcp

    3

    Restart Claude Desktop

    1. Completely quit Claude Desktop (not just close the window)

      • macOS: Claude menu → Quit Claude

      • Windows: Right-click system tray icon → Exit

    2. Reopen Claude Desktop

    3. The MCP server will start automatically

    4

    Complete OAuth authorization

    On first use, mcp-remote will open your browser to complete OAuth:

    1. A browser window opens showing the Bito Authorization page

    2. Review the requested permissions

    3. Enter your email address (required for tracking)

    4. Click "Authorize" or "Allow"

    5. Return to Claude Desktop - the connection is now active

    5

    Verify connection

    1. In Claude Desktop, click the "+" button at the bottom of the chat

    2. Select "Connectors" or look for the hammer/wrench icon

    3. BitoAIArchitect should appear in the list

    4. Try asking: "What repositories are available?"

    Fully quit and restart Claude Desktop
    brew install node@20
    # Or use nvm: nvm install 20 && nvm use 20

    Note: Claude Desktop uses OAuth 2.1 authentication via the mcp-remote proxy, so you don't need to manually manage access tokens. Your email will be collected during the OAuth consent flow.

    Set up AI Architect

    Open configuration file

    macOS:

    Troubleshooting Claude Desktop

    Server not appearing:

    OAuth flow not starting:

    "mcp-remote not found" error:

    Connection shows "Disconnected":

    claude.ai/download
    https://nodejs.org/
    curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
    sudo apt-get install -y nodejs

    Windows:

    Bitbucket
  • Bitbucket (Self-Managed)

  • 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.

  • /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.

  • Step 4: Connect Bito to Bitbucket

    If your Bitbucket access control settings block external services from interacting with the Bitbucket server, whitelist all of Bito's gateway IP addresses to ensure Bito can access your repositories. The Agent response can come from any of these IPs.

    • List of IP addresses to whitelist:

      • 18.188.201.104

      • 3.23.173.30

      • 18.216.64.170

    See the for more information.

    Note: You'll only see Bitbucket workspaces where you have Admin access. If no workspaces appear in the dropdown, it means your account doesn’t have admin access to any workspace. To connect a workspace, make sure you have admin access for it.

    Step 5: Enable AI Code Review Agent on repositories

    To customize the Agent’s behavior, you can edit existing configurations or create new Agents as needed.

    Learn more

    Step 6: Automated and manual pull request reviews

    Note: If an incremental review is already scheduled when you trigger a manual /review, the scheduled incremental review is skipped to avoid a duplicate review. Also, if the most recent automated review did not complete successfully, a manual /review is treated as a full review so that no changes are missed. To always re-review all changes, use /review full.

    Note: After typing /review, add a space inside the comment box to ensure that /review is not highlighted as a Bitbucket slash command so that the comment can be posted correctly.

    Note: To enhance efficiency, the automated code reviews are only triggered for pull requests merging into the repository’s default branch. This prevents unnecessary processing and Advanced AI requests usage.

    To review additional branches, you can use the Include Source/Target Branches filter. Bito will review pull requests when the source or target branch matches the list.

    The Include Source/Target Branches filter applies only to automatically triggered reviews. Users should still be able to trigger reviews manually via the /review command.

    The AI Code Review Agent automatically reviews code changes up to 5000 lines when a pull request is created. For larger changes, you can use the /review full command.

    It may take a few minutes to get the code review posted as a comment, depending on the size of the pull request.

    Step 7: Specialized commands for code reviews

    Step 8: Chat with AI Code Review Agent

    Step 9: Configure Agent settings

    Screenshots

    Screenshot # 1

    AI-generated pull request (PR) summary

    Screenshot # 2

    Changelist showing key changes and impacted files in a pull request.

    Screenshot # 3

    AI code review feedback posted as comments on the pull request.

    Available Commands
    Agent settings
    Learn more
    Pricing
    Get a 14-day FREE trial of Bito's AI Code Review Agent.
    Changelist in AI Code Review Agent's feedback.

    Enter pull request details

    1. Pull request URL

      Enter the complete URL of the pull request you want Bito to review.

      • Example: https://github.com/username/repository/pull/123

    1. Personal Access Token

      Generate a personal access token from your Git platform to authorize Bito to read the pull request:

      1. For GitHub:

        1. Create GitHub classic Token with repo access. Fine-grained tokens are not supported.

      2. For GitLab:

    1. 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.

    1. 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)

    4

    Start code review

    Click Do a test code review to start the AI code review.

    Automation: Configure auto-reviews, batching, and summary settings

  • And much more.

  • Guide for Bitbucket

  • Guide for Bitbucket (Self-Managed)

  • Who can use Test Mode?

    When you analyze your first pull request in Test Mode, Bito automatically activates your 14-day trial, giving you access to code review capabilities.

    Getting started

    Log in to Bito

    Access Test Mode

    Test Mode dashboard

    Starting new test review

    Upgrading to full Git integration

    Why upgrade?

    How to upgrade

    FAQs

    Log in to Bito Cloud
    Guide for GitHub
    Guide for GitHub (Self-Managed)
    Guide for GitLab
    Guide for GitLab (Self-Managed)
    privacy and security practices
    Read access to organization members
    Learn more
    Include Source/Target Branches filter

    Or directly visit the URL of your self-hosted Bitbucket.

    To create a token for your user account:

    1. Go to Profile picture > Manage account > HTTP access tokens.

    2. Select Create token.

    3. Set the token name, permissions, and expiry.

    View Bitbucket documentation

    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 Bitbucket SAML SSO 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 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 Admin privileges. Enter the token into the Personal Access Token input field. You can use the Create Token button that appears once you provide the Hosted Bitbucket URL and your Bitbucket username.

      For guidance, refer to the instructions in the section.

    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:

    1. Automated code review: By default, the Agent automatically reviews all new pull requests and provides detailed feedback.

    2. 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.

    3. 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.

    Learn more

    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.

    Get a 14-day FREE trial of Bito's AI Code Review Agent.

    Video tutorial

    Prerequisites

    1. Create a Bitbucket Personal Access Token:

    Important: Bito posts comments using the Bitbucket user account linked to the Personal Access Token used during setup. To display "Bito" instead of your name, create a separate user account (e.g., Bito Agent) and use its token for integration.

    AI Code Review Agent
    available commands

    2. Authorizing a Bitbucket Personal Access Token for use with SAML single sign-on:

    Installation and configuration steps

    Step 1: Log in to Bito

    Step 2: Open the Code Review Agents setup

    Step 3: Select your Git provider

    Step 4: Connect Bito to Bitbucket

    If your network blocks external services from interacting with the Bitbucket server, whitelist all of Bito's gateway IP addresses in your firewall to ensure Bito can access your self-hosted repositories. The Agent response can come from any of these IPs.

    • List of IP addresses to whitelist:

      • 18.188.201.104

    Important: Bito posts comments using the Bitbucket user account linked to the Personal Access Token used during setup. To display "Bito" instead of your name, create a separate user account (e.g., Bito Agent) and use its token for integration.

    Step 5: Enable AI Code Review Agent on repositories

    To customize the Agent’s behavior, you can edit existing configurations or create new Agents as needed.

    Step 6: Automated and manual merge request reviews

    Note: If an incremental review is already scheduled when you trigger a manual /review, the scheduled incremental review is skipped to avoid a duplicate review. Also, if the most recent automated review did not complete successfully, a manual /review is treated as a full review so that no changes are missed. To always re-review all changes, use /review full.

    Note: To enhance efficiency, the automated code reviews are only triggered for pull requests merging into the repository’s default branch. This prevents unnecessary processing and Advanced AI requests usage.

    To review additional branches, you can use the . Bito will review pull requests when the source or target branch matches the list.

    The Include Source/Target Branches filter applies only to automatically triggered reviews. Users should still be able to trigger reviews manually via the /review command.

    The AI Code Review Agent automatically reviews code changes up to 5000 lines when a pull request is created. For larger changes, you can use the /review full command.

    It may take a few minutes to get the code review posted as a comment, depending on the size of the pull request.

    Step 7: Specialized commands for code reviews

    Step 8: Chat with AI Code Review Agent

    Step 9: Configure Agent settings

    Description

    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

    Target
    How to invoke

    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:

    Integrating with Jira

    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.

    Integrating with Slack

    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.

    Integrating with coding agents

    IDE
    Location
    Format

    Claude Code

    ~/.claude/skills/bito-{name}/SKILL.md

    Markdown with YAML frontmatter

    Cursor

    ~/.cursor/rules/bito-{name}.mdc

    All available skills

    install scripts
    @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 spec

    bito-code-review vs bito-commit-review

    • bito-code-review reviews any target (PR/MR, branch, commit, local changes, diff file) and produces a report. It's read-only and never commits.

    Code review — supported targets

    AI Architect indexing is not required for code review. When it's set up, Bito enriches the review with cross-repo impact analysis; without it, the review degrades gracefully and still runs.

    How to invoke skills

    In Jira

    In Slack

    In your coding agent

    Skills installation locations:

    What repositories are available in my organization?

    Note:

    • Replace <Your-Bito-MCP-URL> with the Bito MCP URL you received after completing the AI Architect setup.

      • For the Bito-hosted AI Architect, use the following URL format: https://mcp.bito.ai/<Your-Bito-Workspace-ID>/mcp

        Replace <Your-Bito-Workspace-ID> with your actual Bito workspace ID, which you can find after logging into your Bito account at

    Insert the answer in the code editor

    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

    Install/run via GitHub Actions

    Seamlessly integrate automated code reviews into your GitHub Actions workflows.

    Prerequisites

    • Bito Access Key: Obtain your Bito Access Key. View Guide

    • 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. View Guide

    GitHub Personal Access Token (Classic)

    Installation and Configuration Steps:

    1. Enable GitHub Actions:

      • Login to your account.

      • Open your repository and click on the "Settings" tab.

      • Select "Actions" from the left sidebar, then click on "General".

    2. 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:

    • 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

    1. Create the Workflow Directory:

      • In your repository, create a new directory path: .github/workflows.

    1. Create a self-hosted Runner using Linux image and x64 architecture as described in the .

    2. Create a copy of Bito's repository 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".

    3. Update test_cra.ymlas below:

    After configuring the GitHub Actions, you can invoke the AI Code Review Agent in the following ways:

    1. 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.

    2. 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.

    3. 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.

    Guide for GitLab

    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.

    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 page.

    Video tutorial

    Prerequisites

    Before proceeding, ensure you've completed all necessary prerequisites.

    1. Create a GitLab Personal Access Token:

    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.

    View Guide

    Important: Bito posts comments using the GitLab user account linked to the Personal Access Token used during setup. To display "Bito" instead of your name, create a separate user account (e.g., Bito Agent) and use its token for integration.

    We recommend setting the token 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.

    GitLab Personal Access Token

    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:

    1. Automated code review: By default, the Agent automatically reviews all new merge requests and provides detailed feedback.

    2. 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.

    3. 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.

    Create or customize an Agent instance

    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.

    Creating or customizing AI Code Review Agents

    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.

    1. To create a new Agent, navigate to the dashboard and click the New Agent button to open the Agent configuration form.

    1. 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:

    1. Review

    2. Custom Guidelines

    3. Filters

    4. 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.

    1. If you are creating a new agent instance, click Select repositories after configuration to choose the Git repositories the agent will review.

    1. 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.

    1. When you save the configuration, your new Agent instance will be added and available on the page.

    BitoYouTube

    Key features

    Explore the powerful capabilities of the AI Code Review Agent.

    A quick look at powerful features of —click to jump to details.

    Integrating with Google Docs

    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.

    Integrating with Linear

    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?

    Excluding files, folders, or branches with filters

    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

    How to install Bito extension on VS Code
    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-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-Workspace-ID> with your actual Bito workspace ID, which you can find after logging into your Bito account at alpha.bito.ai
    alpha.bito.ai
    Chat
  • 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.

    1. General settings

    Agent name

    2. Customization options

    a. Review

    b. Custom Guidelines

    c. Filters

    For more information and examples, see Excluding Files, Folders, or Branches with Filters.

    d. Tools

    e. Chat

    f. Functional Validation

    3. Select repositories for code review

    Code Review > Repositories
    Code Review > Repositories
    Learn more
    Include Source/Target Branches filter
    AI Code Review Agent
    Learn more
    Code Review > Repositories

    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

    Log in to the Keycloak administration console and follow these steps:
    1. In the left menu, select Clients, and click on Create client.

    2. Select SAML as the Client type, name the client, and paste the Client ID you copied above in the Client ID field.

    3. Click Next.

    4. From the Service Provider Information screen of the Descope setup wizard, copy SP ACS URL.

    5. Now in Keycloak administration console, paste the SP ACS URL to the Valid redirect URIs and the Master SAML Processing URL fields.

    6. Click Save.

    7. Scroll down, enable the Sign assertions toggle and click Save.

    8. In the top menu, select Keys and disable the Client signature required toggle.

    9. In the top menu, select Client scopes, and click on the newly created client.

    10. Select Add predefined mapper.

    11. Select x500 email, x500 givenName and x500 surname, and click Add.

    12. In the left menu, select Realm settings.

    13. Copy the SAML 2.0 Identity Provider Metadata link address.

    14. Now in Descope setup wizard, open Identity Provider Information screen.

    15. 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.

    16. Click Continue.

    17. In the SSO Domains screen, click Continue.

    18. In the Testing screen, click Save & Test.

    19. If the configuration is done correctly, you will see SSO test completed successfully.

    20. Click Done, and you will be redirected back to Bito.

    21. In Bito Cloud, dashboard, you will see Setup completed for Single Sign-On (SSO) integration.

    Guide for Keycloak:

    Create GitLab token with api scope Learn more

  • For Bitbucket:

    1. Depending on your Bitbucket setup, you may need one of the following:

      • For Bitbucket Cloud use API Token. Learn more

      • For Bitbucket Enterprise (Self-Hosted) use HTTP Access Token.

    2. Required scopes:

      • read:pullrequest:bitbucket

      • write:pullrequest:bitbucket

      • read:workspace:bitbucket

    3. Enter both your Bitbucket email address and the personal access token in Bito

  • For Self-managed GitHub, GitLab, and Bitbucket:

    If you're using self-managed Git instances (GitHub Enterprise, GitLab Self-Managed, or Bitbucket Server):

    1. Select your Git provider

    2. Enter your Git domain URL (e.g., https://bitbucket.example.com)

    3. Configure Network Access

      • If your network restricts external services from accessing your Git server, add these Bito IP addresses to your allowed IP list:

  • 18.188.201.104
    3.23.173.30
    18.216.64.170

    Feel free to experiment with both approaches on different pull requests to find what works best for your needs.

    Learn more

  • Under "Actions permissions", choose "Allow all actions and reusable workflows" and click "Save".

  • 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 guide for obtaining your Bito Access Key.

    • Name: GIT_ACCESS_TOKEN

      • Secret: Enter your GitHub Personal Access Token (Classic) with repo access. We do not support fine-grained tokens currently. For more information, see the section.

    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 Source or Target branch filter.

  • 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 Files and folders filter.

  • 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 Draft pull requests filter.

  • Add the Workflow File:
    • Download this test_cra.yml 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.

    • Commit your changes.

    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

    • with:

      • uses: myorg/gitbito-bitocodereview@main

  • Commit and push your changes in test_cra.yml .

  • 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.

    Check the above "Prerequisites" section to learn more about creating the access tokens needed to configure the Agent.

    Customizations for self-hosted GitHub

    Using the AI Code Review Agent

    Note: To improve efficiency, the AI Code Review Agent is disabled by default for pull requests involving the "main" branch. This prevents unnecessary processing and token usage, as changes to the "main" branch are typically already reviewed in release or feature branches. To change this default behavior and include the "main" branch, please contact support.

    It may take a few minutes to get the code review posted as a comment, depending on the size of the pull request.

    Screenshots

    Screenshot # 1

    AI-generated pull request (PR) summary

    Screenshot # 2

    Changelist showing key changes and impacted files in a pull request.

    Screenshot # 3

    AI code review feedback posted as comments on the pull request.

    GitHub
    GitHub documentation
    gitbito/codereviewagent
    Changelist in AI Code Review Agent's feedback.

    Note: If an incremental review is already scheduled when you trigger a manual /review, the scheduled incremental review is skipped to avoid a duplicate review. Also, if the most recent automated review did not complete successfully, a manual /review is treated as a full review so that no changes are missed. To always re-review all changes, use /review full.

    Bitbucket
  • 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.

  • 2. Authorizing a GitLab Personal Access Token for use with SAML single sign-on:

    Installation and configuration steps

    Step 1: Log in to Bito

    Step 2: Open the Code Review Agents setup

    Step 3: Select your Git provider

    Step 4: Connect Bito to GitLab

    Step 5: Enable AI Code Review Agent on repositories

    To customize the Agent’s behavior, you can edit existing configurations or create new Agents as needed.

    Learn more

    Step 6: Automated and manual merge request reviews

    Note: If an incremental review is already scheduled when you trigger a manual /review, the scheduled incremental review is skipped to avoid a duplicate review. Also, if the most recent automated review did not complete successfully, a manual /review is treated as a full review so that no changes are missed. To always re-review all changes, use /review full.

    Note: To enhance efficiency, the automated code reviews are only triggered for merge requests merging into the repository’s default branch. This prevents unnecessary processing and Advanced AI requests usage.

    To review additional branches, you can use the Include Source/Target Branches filter. Bito will review merge requests when the source or target branch matches the list.

    The Include Source/Target Branches filter applies only to automatically triggered reviews. Users should still be able to trigger reviews manually via the /review command.

    The AI Code Review Agent automatically reviews code changes up to 5000 lines when a merge request is created. For larger changes, you can use the /review full command.

    It may take a few minutes to get the code review posted as a comment, depending on the size of the merge request.

    Step 7: Specialized commands for code reviews

    Step 8: Chat with AI Code Review Agent

    Step 9: Configure Agent settings

    Screenshots

    Screenshot # 1

    AI-generated merge request (MR) summary

    Screenshot # 2

    Changelist showing key changes and impacted files in a merge request.

    Screenshot # 3

    AI code review feedback posted as comments on the merge request.

    https://docs.gitlab.com/ee/user/group/saml_sso/
    https://docs.gitlab.com/ee/integration/saml.html
    https://docs.gitlab.com/ee/integration/saml.html#password-generation-for-users-created-through-saml
    Log in to Bito Cloud
    Repositories
    generating a Personal Access Token
    Prerequisites
    Available Commands
    Agent settings
    Learn more
    Pricing
    Get a 14-day FREE trial of Bito's AI Code Review Agent.
    Changelist in AI Code Review Agent's feedback.

    3.23.173.30

  • 18.216.64.170

  • Prerequisites
    Learn more
    Include Source/Target Branches filter

    Pull request summary

  • Changelist

  • One-click to accept suggestions

  • Chat with AI Code Review Agent

  • Incremental code reviews

  • Code review analytics

  • Custom code review rules and guidelines

  • Multiple specialized engineers for targeted code analysis

  • Integrated feedback from dev tools you use

  • Jira integration

  • Supports all major programming languages

  • Enterprise-grade security

  • Start free trialGet a demo


    The AI Code Review Agent 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.

    Bito Cloud offers a one-click solution for using the AI Code Review Agent, eliminating the need for any downloads on your machine.

    Bito supports integration with the following Git providers:

    • GitHub

    • GitHub (Self-Managed)

    • GitLab

    • GitLab (Self-Managed)

    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.

    Summary of pull request in the description section.

    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.

    Changelist in AI Code Review Agent's feedback.

    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.

    One-click to accept AI code review suggestions

    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 Agent settings.

    Get in-depth insights into your org’s code reviews with user-friendly Code Review Analytics dashboard. Track key metrics such as pull requests reviewed, issues found, lines of code reviewed, and understand individual contributions.

    Code Review Analytics dashboard

    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:

    1. 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.

    2. Create custom code review guidelines via the dashboard. Define rules through the Custom Guidelines 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

    • Will this change break anything? Based on the diff can we include anything?

    • Code structure and formatting (e.g., tab, spaces)

    • Basic coding standards including variable names (e.g., ijk)

    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.

    Static Code Analysis feedback highlighting suggestions and fixes.

    Open source security vulnerabilities check

    The AI Code Review Agent checks real-time for the latest high severity security vulnerabilities in your code, using OWASP Dependency-Check (available out of the box). Additional tools such as Snyk, or GitHub Dependabot can also be configured.

    Showing high-severity security vulnerabilities report.

    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.

    Features overview

    Get a 14-day FREE trial of Bito's AI Code Review Agent.
    Bito's AI Code Review Agent
    AI that understands your code
    One-click setup for GitHub, GitLab, and Bitbucket
    Automated and manually-triggered AI code reviews

    AI that understands your code

    One-click setup for GitHub, GitLab, and Bitbucket

    Automated and manually-triggered AI code reviews

    Pull request summary

    Changelist

    One-click to accept suggestions

    Chat with AI Code Review Agent

    Incremental code reviews

    Code review analytics

    Custom code review rules and guidelines

    Multiple specialized engineers for targeted code analysis

    Integrated feedback from dev tools you use

    Jira integration

    Supports all major programming languages

    Enterprise-grade security

    Grounds your coding agents — Because the plan carries your documented intent, the code your agents generate is grounded in your team's decisions, not just the code that already exists.
  • 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:

    Operation
    What you can ask
    Scope

    Browse Drive

    Browse folders in Google Drive to locate documents

    Drive

    Search files

    Search Docs, Sheets, and Slides by name or content

    1

    Enable AI Architect for your workspace

    AI Architect can be set up using one of the following deployment options:

    1. Bito-hosted

    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.

    2. Self-hosted

    AI Architect is deployed and managed within your own infrastructure.

    • Follow the to set up and configure AI Architect for your workspace.

    2
    1. In your Bito dashboard, go to the page.

    2. 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.

    Learn more about Jira integration

    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.

    Learn more about Slack integration

    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.

    Learn how Bito builds the knowledge graph

    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 product
    Access level
    What AI Architect can do

    Google Docs

    Read and write

    Read document content; create and update documents

    Google Sheets

    Read-only

    Check:

    1. Is Google Docs connected in Manage integrations?

    2. Is the Google Doc actually referenced in the Jira ticket — via a link in the ticket description or comments?

    3. Does the Google account used to connect the integration have access to the document? Bito sees only what that account can see.

    Check:

    1. Is the file a Google Doc, Sheet, or Slide deck? These are the supported Google file types.

    2. Is the document shared with the Google account used to connect the integration?

    Check:

    1. Is the file a Google Doc? Write access applies to Google Docs only — Sheets and Slides are read-only.

    2. Does the connected Google account have edit permission on that document?

    If Bito reports that it can't access Google Docs:

    1. Go to Manage integrations and reconnect Google Docs.

    2. 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.

    1. Connect Google Docs to your Bito workspace via Manage integrations.

    2. 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.

    3. 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.

    4. Combine with and integrations for the full workflow: plan in Jira, discuss in Slack, document in Google Docs — all driven by AI Architect.

    Read across Docs, Sheets, Slides, and Drive; write to Docs.

    AI Architect can browse Google Drive folders and search Docs, Sheets, and Slides by name or content. It reads Google Docs, Sheets, and Slides, and it can create and update Google Docs.

    Write support applies to Google Docs only — Sheets and Slides are read-only.

    What AI Architect does with Google Docs

    Pulls Google Docs into analysis as context

    Bito's 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]

    Lets you manage Google Docs from Jira and Slack

    Write access applies to Google Docs only. AI Architect can read Google Sheets and Google Slides, but it cannot modify them.

    Setup

    How to use AI Architect with Google Docs

    Get richer Jira plans automatically

    Reference Google Docs in Slack

    Create and update Google Docs from Jira

    Create and update Google Docs from Slack

    AI Architect can search your Drive to find the right document. If you're unsure of the exact link, ask it by name — for example, @Bito find the "Checkout redesign" doc and summarize the open questions.

    What AI Architect knows about your team

    Permissions required for Google Docs integration

    AI Architect only acts on your documents when you ask it to (via Jira or Slack) or when a document is referenced in a ticket it's analyzing. It does not make changes on its own.

    Troubleshooting

    AI Architect's Jira plan doesn't reflect my Google Doc

    AI Architect can't read a document

    AI Architect can't update a document

    Authorization errors

    Frequently Asked Questions

    Does AI Architect read every document in our Google Drive?

    Can AI Architect edit my Google Sheets or Slides?

    Can I limit which documents AI Architect can access?

    Does AI Architect modify my documents without asking?

    Next steps

    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.

    1

    Enable AI Architect for your workspace

    AI Architect can be set up using one of the following deployment options:

    Bito-hosted

    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.

    Self-hosted

    AI Architect is deployed and managed within your own infrastructure.

    • Follow the to set up and configure AI Architect for your workspace.

    2
    1. Navigate to the page in your Bito dashboard.

    2. In the Available integrations section, locate Linear and click Connect.

    3

    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

    4

    Two flags control how AI Architect behaves on your Linear issues. Contact the Bito team at to enable them.

    Flag
    What it enables

    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.

    Score
    What happens

    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.

    Setting
    Options
    Description

    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.

    Learn how Bito builds the knowledge graph

    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

    See all available skills

    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.

    Situation
    Message

    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

    What gets posted on your issue

    AI Architect
    @bito
    /bito
    #bito
    bito
    bito-analyse
    bito-analyze

    Prerequisites

    Setup

    How to trigger AI Architect in Linear

    Automatic analysis

    Requires the Linear Auto Analysis Enabled flag to be enabled for your workspace. Contact the Bito team at to enable it.

    You can download the plan (as a Markdown file) and use it in your agentic tools (Cursor, Claude Code, etc.) to further refine it or begin implementation.

    On-demand analysis

    You can use @bito, /bito, or #bito to ask Bito to update the analysis, refine the plan based on new information, or focus on a specific concern.

    Example:

    Requires the Linear Analysis Enabled flag to be enabled for your workspace. Contact the Bito team at to enable it.

    Explicit triggers always win. Even if auto-analysis is turned off, using @bito in a comment or applying a trigger label will force an analysis to run.

    Auto triage

    Note: Only events from your selected Linear teams are processed. Events from unselected teams are filtered out before reaching auto triage.

    How auto triage works

    Once a plan or skip notification has been posted on an issue, auto triage will not re-trigger automatically on subsequent updates. To request a new plan, use @bito, /bito, or #bito directly on the issue.

    Note: AI Architect can perform live web research to incorporate up-to-date technical context into its evaluation and plan generation.

    Supported attachment formats

    SVG files are supported as images only. Binary image attachments (.png, .jpg, .gif, .webp) are not yet supported, full image support is coming soon.

    Configuration

    What AI Architect knows about your team

    Agent skills power the Linear integration

    Disconnecting Linear

    Error messages

    ,
    .gitignore
    ,
    *.yml
    ,
    *.md
    Exclusion Rule for Files & Folders
    Applicable Pattern
    Matched Examples
    Not Matched Examples

    Exclude 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:

    Inclusion Rules for Branch
    Pattern
    Matched Examples
    Not Matched Examples

    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.

    Exclude Files and Folders filter

    AI Code Review Agent

    Examples

    Note:

    • Patterns are case sensitive.

    • Don’t use double quotes, single quotes or comma in the pattern.

    Include Source/Target Branches filter

    Examples

    Note:

    • Patterns are case sensitive.

    • Don’t use double quotes, single quotes or comma in the pattern.

    Draft pull requests filter

    How to configure the filters?

    Bito Cloud (Bito-hosted Agent)

    CLI or webhooks service (self-hosted Agent)

    GitHub Actions (self-hosted Agent)

    Bitbucket documentation

    Guide for GitLab (Self-Managed)

    Integrate the AI Code Review Agent into your self-hosted GitLab workflow.

    Speed up code reviews by configuring the AI Code Review Agent 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 available commands.

    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 page.

    Video tutorial

    coming soon...

    Prerequisites

    Before proceeding, ensure you've completed all necessary prerequisites.

    1. Create a GitLab Personal Access Token:

    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.

    View Guide

    Important: Bito posts comments using the GitLab user account linked to the Personal Access Token used during setup. To display "Bito" instead of your name, create a separate user account (e.g., Bito Agent) and use its token for integration.

    We recommend setting the token 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.

    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 the following 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 (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 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:

    1. Automated code review: By default, the Agent automatically reviews all new merge requests and provides detailed feedback.

    2. 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.

    3. 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.

    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:

    1. Go to the page.

    1. 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.

    1. A popup will appear. Use the dropdown menu to select a GitLab group you want to add.

    1. 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:

    1. Go to the page.

    1. 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.

    1. A popup will appear showing a list of connected groups. Click the “✕” (cross) icon next to the group you want to remove.

    1. 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 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.

    Available commands

    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.

    Note: After , the bitoarch command is available globally. All commands support --help for per-command usage.

    Lifecycle

    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.

    Command
    Description
    Example

    Examples:


    Command
    Description
    Example

    Examples:


    Command
    Description
    Example

    Examples:


    Command
    Description
    Example

    Config file types:

    Examples:


    Command
    Description
    Example

    Examples:


    SSO is optional and disabled by default (bearer-token auth). When enabled, bitoarch mcp-info reflects the active auth mode.

    Command
    Description

    Auth modes:


    Command
    Description
    Example

    Flags:

    Flag
    Description

    Examples:


    Add these flags to any command:

    Flag
    Purpose
    Example


    Command
    Shows

    Examples:


    Configuration is loaded from .env-bitoarch file. (path: bitoarch config path env)

    Key variables:

    Variable
    Purpose

    Check CLI version:

    Agent Configuration: bito-cra.properties File

    Setting up your agent: understanding the bito-cra.properties file

    Note: This file is only available for people who are using the version of AI Code Review Agent.

    The bito-cra.properties file offers a comprehensive range of options for configuring the AI Code Review Agent, enhancing its flexibility and adaptability to various workflow requirements.

    bito-cra.properties Available Options

    Property Name
    Supported Values
    Is Mandatory?
    Description

    Standalone mode (for individuals)

    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.

    Integrating with Jira

    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?

    Manage integrations
  • read:repository:bitbucket

  • read:user:bitbucket

  • Learn more
    Bitbucket
  • 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.

  • 2. Authorizing a GitLab Personal Access Token for use with SAML single sign-on:

    Installation and configuration steps

    Step 1: Log in to Bito

    Step 2: Open the Code Review Agents setup

    Step 3: Select your Git provider

    Supported versions:

    • GitLab (Self-Managed): 15.5 and above

    Step 4: Connect Bito to GitLab

    If your network blocks external services from interacting with the GitLab server, whitelist all of Bito's gateway IP addresses in your firewall to ensure Bito can access your self-hosted repositories. The Agent response can come from any of these IPs.

    • List of IP addresses to whitelist:

      • 18.188.201.104

      • 3.23.173.30

      • 18.216.64.170

    Step 5: Enable AI Code Review Agent on repositories

    To customize the Agent’s behavior, you can edit existing configurations or create new Agents as needed.

    Learn more

    Step 6: Automated and manual merge request reviews

    Note: If an incremental review is already scheduled when you trigger a manual /review, the scheduled incremental review is skipped to avoid a duplicate review. Also, if the most recent automated review did not complete successfully, a manual /review is treated as a full review so that no changes are missed. To always re-review all changes, use /review full.

    Note: To enhance efficiency, the automated code reviews are only triggered for merge requests merging into the repository’s default branch. This prevents unnecessary processing and Advanced AI requests usage.

    To review additional branches, you can use the Include Source/Target Branches filter. Bito will review merge requests when the source or target branch matches the list.

    The Include Source/Target Branches filter applies only to automatically triggered reviews. Users should still be able to trigger reviews manually via the /review command.

    The AI Code Review Agent automatically reviews code changes up to 5000 lines when a merge request is created. For larger changes, you can use the /review full command.

    It may take a few minutes to get the code review posted as a comment, depending on the size of the merge request.

    Step 7: Specialized commands for code reviews

    Step 8: Chat with AI Code Review Agent

    Step 9: Configure Agent settings

    Managing multiple GitLab groups in Bito Cloud

    How to add multiple GitLab groups?

    Note: This multiple GitLab groups feature is currently available only for GitLab (Self-Managed) integrations.

    How to remove a GitLab group?

    How to select one or more GitLab Groups?

    Screenshots

    Screenshot # 1

    AI-generated merge request (MR) summary

    Screenshot # 2

    Changelist showing key changes and impacted files in a merge request.

    Screenshot # 3

    AI code review feedback posted as comments on the merge request.

    SAML SSO for GitLab.com groups
    SAML SSO for GitLab Self-Managed
    Password generation for users created through SAML
    Log in to Bito Cloud
    Repositories
    Prerequisites
    Available Commands
    Agent settings
    Learn more
    Bito Cloud
    Repositories
    Repositories
    Repositories
    Pricing
    Get a 14-day FREE trial of Bito's AI Code Review Agent.
    GitLab Personal Access Token
    Changelist in AI Code Review Agent's feedback.
    Prerequisites

    Learn more

    Learn more

    Learn more

    Learn more

    Learn more

    Learn more

    Learn more

    Learn more

    Learn more

    Learn more

    Bitbucket
    Bitbucket (Self-Managed)
    One-click to accept AI code review suggestions

    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

    AI Architect management commands

    Core operations

    One indexing job runs per workspace at a time. If you add a repo mid-run, re-trigger bitoarch index-repos after the current job finishes.

    Repository management

    Service operations

    Configuration

    MCP operations

    SSO authentication

    Diagnostics

    Output options

    Common workflows

    Initial setup

    Daily operations

    Adding new repositories

    Credential rotation

    Tear-down

    Troubleshooting

    Getting help

    Environment

    Note: See .env-bitoarch.default in the install directory for the full list with defaults.

    Version

    installation of AI Architect (self-hosted)

    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 --help
    bitoarch --version

    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.

    1. Review the requested permissions, click the Select all checkbox to grant all permissions, and then click Continue.

    1. 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

    Connect Bito with Google Docs

    self-hosted AI Architect installation guide
    Manage integrations
    Jira
    Slack

    From next screen, click Authorize with your Linear account. This allows you to securely connect Bito to your Linear workspace using OAuth.

    1. 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.

    tab, where you can select the Linear teams you want Bito to listen to and enable them using the toggle switch.

    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

    Connect Linear

    Select your Linear teams

    Enable the feature flags

    self-hosted installation guide
    Manage integrations
    Set up AI Architect
    support@bito.ai
    support@bito.ai
    support@bito.ai

    Linear Auto Analysis Enabled

    The user who completes this step must be a Linear workspace admin. Linear's OAuth requires admin permissions to allow Bito to register the necessary webhooks on your behalf.

    If a non-admin connects, the setup will fail and you will see the following error:

    "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."

    Teams in Linear are the equivalent of projects in Jira, they are the persistent scoping unit for which events Bito will act on.

    Start with Linear Analysis Enabled if you want to try it manually first, then enable auto-analysis when you're ready to run it on all new issues.

    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

    A valid Bito Access Key generated through Bito's web UI.

    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

    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.

    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

    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.

    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.

    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

    self-hosted
    • True

    • False

    Users can pass both types of patterns - Unix files system based glob pattern or regex.
    Users can pass both types of patterns - Unix files system based glob pattern or regex.

    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

    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 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).

    1

    Bito API Key (aka Bito Access Key)

    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

    • View Guide

    2

    Git provider

    We support the following Git providers:

    • GitHub

    • GitLab

    • Bitbucket

    • Azure DevOps

    So, you'll need an account on one of these Git providers to index your repositories with AI Architect.

    3

    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.

    1. GitHub: To connect your GitHub repositories to AI Architect, choose one of the following authentication methods:

      1. GitHub App: Install and authorize the Bito GitHub App, then select the repositories you want AI Architect to index.

    4

    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:

    1

    Hardware specifications

    Minimum
    Recommended

    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.

    2

    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.

    1

    Configuration

    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.

    Note: Refer to the for details on how to obtain the required items.

    2

    Install AI Architect

    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

    3

    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:

    4

    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.

    5

    Run this command to check the status of your indexing:

    6

    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:

    7

    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

    1. Log in to Bito Cloud

    2. Open the AI Architect Settings dashboard.

    3. In the Server URL field, enter your Bito MCP URL

    4. 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:

    Value
    What it checks

    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.

    Bito's AI Architect
    Enterprise mode setup guide
    vim /usr/local/etc/bitoarch/.bitoarch-config.yaml
    bitoarch update-repos
    bitoarch index-repos --only-new-repos
    cd /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
    --help
    bitoarch 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 only
    bitoarch diagnose --bundle
    Share this file with Bito support: support@bito.ai
    bitoarch 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 | bash
    bitoarch 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 removal

    Prerequisites

    a. Required accounts and tokens

    b. System requirements

    Installation guide

    Update repository list and re-index

    Configuring AI Architect for Bito AI Code Review Agent

    Getting started with AI Architect-powered code reviews

    Upgrading AI Architect

    Upgrade instructions

    Option 1: Upgrade from within your installation (Recommended)

    Option 2: Upgrade from external location

    Upgrade parameters

    Your data is safe: All repositories, indexes, API keys, and settings are automatically preserved during upgrade.

    Uninstall

    Docker images are kept — docker image prune to reclaim.

    Alternatively, you can also use the following curl command to uninstall AI Architect standalone mode:

    Troubleshooting guide

    Collect diagnostics for support

    Manual troubleshooting commands

    Available commands

    Standalone-only commands

    Common commands

  • Story 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.

    1

    Enable AI Architect for your workspace

    AI Architect can be set up using one of the following deployment options:

    Bito-hosted

    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.

    Self-hosted

    AI Architect is deployed and managed within your own infrastructure.

    • Follow the to set up and configure AI Architect for your workspace.

    2

    Bito supports two ways to connect with Jira, depending on where your Jira instance is hosted:

    1. Jira Cloud: for Jira sites hosted by Atlassian (e.g., https://mycompany.atlassian.net).

    2. Jira Data Center: for Jira instances hosted on your own company domain or servers (e.g., https://jira.mycompany.com).

    3

    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.

    4

    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.

    Flag
    What it enables

    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.

    Score
    What happens

    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.

    Setting
    Options
    Description

    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.

    Learn how Bito builds the knowledge graph

    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

    See all available skills

    AI Architect uses different skill selection logic depending on the Jira issue type.

    Issue type
    Skill used

    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.

    What gets posted on your ticket

    AI Architect
    @bito
    /bito
    #bito
    bito
    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 5

    Note: Confluence pages linked to Jira tickets are now automatically pulled as context for plan generation.

    Setup

    How to trigger AI Architect in Jira

    Automatic analysis

    Requires the Jira Auto Analysis Enabled flag to be enabled for your workspace. Contact the Bito team at to enable it.

    You can download the plan (markdown file) and use it in your agentic tools (Cursor, Claude Code, etc.) to further update it or use the analysis.

    On-demand analysis

    You can use the @bito, /bito, or #bito in Jira comment to ask Bito to make changes to the analysis or update based on your needs, or add more details to update the plan based on any new information.

    Example:

    Requires the Jira Analysis Enabled flag to be enabled for your workspace. Contact the Bito team at to enable it.

    Auto triage

    Note: Only events from your selected Jira projects are processed. Events from unselected projects are ignored before reaching auto triage.

    How auto triage works

    Once a plan or skip notification has been posted on a ticket, auto triage will not re-trigger automatically on subsequent updates. To request a new plan, use @bito, /bito, or #bito directly on the ticket.

    Note: AI Architect can perform live web research to incorporate up-to-date technical context into its evaluation and plan generation.

    Supported attachment formats

    SVG files are supported as images only. Binary image attachments (.png, .jpg, .gif, .webp) are not yet supported, full image support is coming soon.

    Configuration

    Teaching Bito through feedback

    What AI Architect knows about your team

    Agent skills power the Jira integration

    Skill selection by issue type

    Integrating with Confluence

    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.

    What AI Architect does with Confluence

    Pulls Confluence into analysis as context

    • 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:

    Operation
    What you can ask

    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.

    1

    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.

    Capability
    Scope

    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:

    1. Is Confluence connected in ?

    2. 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?

    3. Does the OAuth user used to connect Confluence have access to the page in question? Bito sees only what that user can see.

    Check:

    1. Is the attachment in a supported format (.pdf, .docx, .xlsx, .csv, .json, .yaml, .zip, or similar)?

    2. Is the attachment under your Confluence instance's size limits?

    If Bito reports that it can't access Confluence:

    1. Go to and reconnect Confluence.

    2. 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.

    1. Connect Confluence to your Bito workspace via .

    2. 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.

    3. 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.

    4. Combine with

    Supported programming languages and tools

    Supports key languages & tools, including fbInfer, Dependency Check, and Snyk.

    The 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. .

    codeoptimize

    Learn More
    Learn more
    Learn more
    Learn more
    Logo

    View setup guide

  • 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.

    • View setup guide

  • GitLab Personal Access Token: To use GitLab repositories with AI Architect, a token with API access is required.

    • View setup guide

  • Bitbucket Access Token: To use Bitbucket repositories with AI Architect, you need API Token or HTTP Access Token depending on your Bitbucket setup.

    1. Bitbucket Cloud (API Token): You must provide both your token and email address.

      • View setup guide

    2. 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.

    1. View setup guide

  • 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 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).

    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:

    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.5
    curl -fsSL https://aiarchitect.bito.ai/standalone/install.sh | bash
    repository:
      configured_repos:
        - namespace: your-org/repo-name-1
        - namespace: your-org/repo-name-2
        - namespace: your-org/repo-name-3
    bitoarch index-repos
    bitoarch index-status
    bitoarch mcp-info
    bitoarch 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 | bash

    Git Access Token

    LLM API keys

    Docker Desktop / Docker Service (required)

    Note: To install self-hosted AI Architect for your team, refer to Enterprise mode setup guide.

    Installing dependencies:

    The AI Architect setup process will automatically check for required tools on your system. If any dependencies are missing (such as jq, which is needed for JSON processing), you'll be prompted to install them. Simply type y and press Enter to proceed with the installation.

    Add repositories

    For versions older than 1.4.0, configuration file can be found in installation directory.

    Start indexing

    Note: Indexing process will take approximately 3-10 minutes per repository. Smaller repos take less time.

    Check indexing status

    Example output:

    Configured 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-progress

    What each section represents:

    • Configured Repositories: Shows how many repositories are added in your config file for indexing.

    • Repository Index Status: Shows the indexing progress for each individual repository.

    • 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.

    Check MCP server details

    Replace <new-token> with your new secure token value.

    Important: After rotating the token, you'll need to update it in all AI coding agents (Claude Code, Cursor, Windsurf, etc.) where you've configured this MCP server.

    Connect MCP client

    The cert auto-renews daily via an OS-native scheduler (launchd on macOS, systemd-user timer or crontab on Linux). Override the renew time via bitoarch mcp-cert schedule HH:MM. To opt out, set BITOARCH_CERT_AUTO_RENEW=false in .env-bitoarch and re-run bitoarch install.

    Note: Replace <Your-Bito-MCP-Access-Token> with the Bito MCP Access Token you received after completing the AI Architect setup.

    Local Git Provider (Pre-Cloned Repositories)
    Install Docker Desktop
    Prerequisites section
    curl http://127.0.0.1:8000/health
    curl -H "Authorization: Bearer <token>" http://127.0.0.1:8000/v1/models
    bitoarch add-repos

    What you need to configure Google Vertex AI:

    • A GCP service-account key JSON with Vertex AI access

    • The GCP project ID

    AI Architect supports integration for custom proxy configurations.

    To use Bito's LLM instead (no LLM keys required from you), contact about the .

    How to test against the GitHub Copilot Bridge (VS Code)

    Navigate to the Manage integrations page in your Bito dashboard

  • In the Available integrations section, you will see Jira. Click Connect to proceed.

    1. 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.

    1. Click Accept to continue. If the integration is successful, you will be redirected back to Bito.

    1. Navigate to the Manage integrations page in your Bito dashboard

    2. In the Available integrations section, you will see Jira. Click Connect to proceed.

    1. Select the option Jira Data Center (self-managed).

    1. Provide connection details:

      1. Domain URL: Enter the base URL for your Jira instance (e.g. https://jira.mycompany.com).

      2. 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.

    1. 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.

    1. Click Allow to continue. If the integration is successful, you will be redirected back to Bito.

    You can update your project selection at any time.
  • 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

    Connect Jira

    Connect Bito with Jira Cloud (hosted by Atlassian)

    Select your Jira projects

    Enable the feature flags

    self-hosted installation guide
    AI Architect settings
    support@bito.ai
    support@bito.ai
    support@bito.ai

    Jira Auto Analysis Enabled

    Connect Bito with Jira Data Center (hosted on your own server)

    Projects in Jira are the equivalent of teams in Linear — they are the persistent scoping unit that determines which events Bito will act on.

    Start with Jira Analysis Enabled if you want to try it manually first, then enable auto-analysis when you're ready to run it on all new tickets.

    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.

    2

    Connect Bito with Confluence

    1. In your Bito dashboard, go to the Manage integrations page.

    2. Under Available integrations, find Confluence and click Connect.

    1. 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.

    1. Review the requested permissions and click Accept.

    1. After successful authorization, Bito will display a list of spaces from your Confluence site that Bito has access to.

    Other context sources
    — Slack threads, observability data, and custom instructions you provide.
    Delete blogposts.
  • Delete databases.

  • Delete Smart Links.

  • Delete folders.

  • Delete whiteboards.

  • View and download attachments of a page or blogpost that you have access to.
  • 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.

  • and
    integrations for the full workflow: plan in Jira, discuss in Slack, document in Confluence — all driven by AI Architect.

    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

    Lets you manage Confluence from Jira and Slack

    Supported attachment formats

    Setup

    Enable AI Architect for your workspace

    Bito-hosted

    Self-hosted

    One Confluence connection covers all workflows. Once Confluence is connected to your Bito workspace, AI Architect will use it everywhere — in Jira ticket analysis, in Slack threads, and when you ask it to write back to Confluence.

    How to use AI Architect with Confluence

    Get richer Jira plans automatically

    Reference Confluence pages in Slack

    Create and update Confluence pages from Jira

    Create, update, and manage Confluence pages from Slack

    What AI Architect knows about your team

    Permissions required for Confluence integration

    Summary of access:

    Full list of permissions requested:

    AI Architect only acts on Confluence content when you ask it to (via Jira or Slack) or when a page is linked to a ticket it's analyzing. It doesn't make changes on its own.

    Troubleshooting

    AI Architect's Jira plan doesn't reflect my Confluence docs

    AI Architect can't read an attachment

    Authorization errors

    My Confluence instance is self-hosted (Data Center)

    Frequently Asked Questions

    Does AI Architect read every page in our Confluence?

    Can I limit which spaces AI Architect can access?

    Does AI Architect modify Confluence pages without asking?

    Next steps

    Bito AI Assistant for Slack
    Bito-hosted installation guide
    support@bito.ai
    Learn more about Jira integration
    Learn more about Slack integration
    Learn how Bito builds the knowledge graph
    Manage integrations
    Manage integrations
    support@bito.ai
    Manage integrations

    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

    Jira
    Slack
    Languages
    AI Code Review
    Basic Code Understanding
    Advanced Code Understanding

    Assembly

    YES

    YES

    YES

    Bash/Shell


    For custom SAST tools configuration to support specific languages in the AI Code Review Agent, please reach out to us at support@bito.ai

    Languages
    Static Code Analysis / Linters
    Open Source Vulnerabilities Check

    Assembly

    NO


    Tool
    Type
    Supported/Integrated

    Astral Ruff

    Linter for Python

    YES


    Bito supports posting code review feedback in over 20 languages. You can choose your preferred language in the agent settings. Supported languages include the following:

    1. Arabic (عربي)

    2. Bulgarian (български)

    3. Chinese (Simplified) (简体中文)

    4. Chinese (Traditional) (繁體中文)

    5. Czech (čeština)

    6. Dutch (Nederlands)

    7. English (English)

    8. French (français)

    9. German (Deutsch)

    10. Hebrew (עִברִית)

    11. Hindi (हिंदी)

    12. Hungarian (magyar)

    13. Italian (italiano)

    14. Japanese (日本語)

    15. Korean (한국어)

    16. Malay (Melayu)

    17. Polish (polski)

    18. Portuguese (português)

    19. Russian (русский)

    20. Spanish (español)

    21. Turkish (Türkçe)

    22. Vietnamese (Tiếng Việt)

    Supported Programming Languages

    AI Code Review

    For requests to add support for specific programming languages, please reach out to us at support@bito.ai

    AI Code Review Agent
    Read more here about our approach

    Static Code Analysis and Open Source Vulnerabilities Check

    Supported Tools and Platforms

    Supported output languages for code review feedback

    Integrating with Slack

    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.

    ⚠️ AI Disclaimer

    The Bito Slack app is powered by large language models (LLMs). AI-generated responses may be inaccurate, incomplete, biased, or outdated. Outputs are informational suggestions, not professional, legal, financial, medical, or compliance advice. Always verify critical information independently.

    For full details on which LLMs are used, what data is sent, and training policies, see .

    Report inaccurate responses to .

    Prerequisites

    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.

    1
    1. Go to

    2. Select your Slack workspace, review the requested permissions, and click Allow

    3. 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:

    1. Upload a config file to the channel

    2. Ask: @Bito review this configuration and suggest improvements

    3. 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.

    1. In Slack, click Apps in the left sidebar

    2. Select Bito AI Assistant

    3. 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.

    1. In Slack, click the "New Message" or pencil icon at the top of the left sidebar

    2. In the "To:" field, add the teammates you want to include

    3. In the same "To:" field, add Bito AI Assistant (start typing "Bito" and select it from the dropdown)

    4. 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:

    1. A new branch created from your default branch

    2. Code changes implemented following the agreed plan

    3. Changes aligned with your existing codebase patterns and conventions

    Your team discusses two different architectural approaches.

    What to do:

    1. Share code snippets for both approaches

    2. 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:

    1. Mention the ticket: "This might be related to PROJ-456"

    2. 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:

    1. A new MR or PR opened on GitHub, GitLab, or Bitbucket (cloud or self-hosted)

    2. Title, description, and ticket references filled in automatically

    3. Smart template detection — your repo's PR/MR template is used when present

    4. 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:

    1. 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.

    2. Did you mention @Bito at the start of your message?

    3. 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:

    1. Is your Bito account connected to Jira?

    2. Did you mention the exact ticket ID (e.g., PROJ-123)?

    3. Do you have access to that ticket in Jira?

    Solution: Verify integrations are configured in your Bito account settings.

    Steps:

    1. Open the channel

    2. Click the channel name to view details

    3. Go to the Integrations tab

    4. 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:

    1. Invite Bito to your most active project channels

    2. Try common use cases like summarizing threads or extracting action items

    3. Share with your team so everyone knows how to use @Bito

    4. 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

    Install/run via webhooks service

    The webhooks service is best suited for continuous, automated reviews.

    Prerequisites

    Minimum System Requirements

    A machine with the following minimum specifications is recommended for Docker image deployment and for obtaining optimal performance of the AI Code Review Agent.

    Requirement
    Minimum Specification

    CPU Cores

    4


    • Windows

    • Linux

    • macOS


    Operating System
    Installation Steps

    • 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.


    1. Prerequisites: Before proceeding, ensure you've completed all necessary AI Code Review Agent.

    2. Server Requirement: Ensure you have a server with a domain name or IP address.

    3. Start Docker: Initialize Docker on your server.

    4. Clone the repository:

    • Note the full path to the “cra-scripts” folder for later use.

    1. Open Command Line:

      • Use Bash for Linux and macOS.

      • Use PowerShell for Windows.

    2. Set Directory:

    1. 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:

    1. Run the Agent:

      • On Linux/macOS in Bash:

        • Run ./bito-cra.sh service start bito-cra.properties

    1. Provide Missing Property Values: The script may prompt for values of mandatory/optional properties if they are not preconfigured.

    2. 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:

    1. 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.

    2. 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:

    1. 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

    YES

    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

    NO

    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

    Azure DevOps

    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

    A region (e.g. us-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 How to test against the GitHub Copilot Bridge (VS Code) below.

    View setup guide
    Portkey
    support@bito.ai
    Bito Enterprise Plan
    2

    Invite Bito to channels

    1. Open any Slack channel where you want AI assistance

    2. 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.

    1. Repeat for each channel (both public and private channels work)

    3

    Start using Bito

    1. In any channel where you invited Bito, type @Bito followed by your question

    2. Bito reads the thread and responds with context-aware answers

    @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
    ,
    .mach
  • Images & 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

    with different types of questions to discover what works best for your workflow
    @Bito Based on the above discussion create a plan
    You:   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

    Installation steps

    Add the app to Slack

    How to use Bito AI Assistant

    Basic usage

    When you ask about "this thread" — for example "summarize this thread" or "what was discussed above" — Bito scopes its context to thread messages only and won't mix in unrelated channel history. Each message also carries a permalink, so Bito can point back to specific messages when it references them.

    Asking questions

    Working with files

    If your thread contains a mix of supported and unsupported files, Bito will process the supported ones and silently skip the rest.

    Understanding integrations

    1:1 direct message with Bito

    How to start a 1:1 chat

    What you can do

    Notes:

    • Every message you type in the 1:1 DM with Bito is processed — there is no need to prefix with @Bito

    • Message edits: if you edit a message to add a new @Bito mention, Bito will respond to the new request

    Group direct message with Bito

    How to create a group DM with Bito

    Important: Bito must be added to the group at the time of creation. Slack does not allow adding bots to an existing group DM. If you want to add Bito to an ongoing conversation, create a new group DM or use a private channel instead.

    Talking to Bito in a group DM

    Notes:

    • Only messages containing @Bito trigger a response in group DMs

    • Message edits trigger Bito only if a new mention is added during the edit (Bito will not respond to unrelated text edits on messages it has already replied to)

    Teaching Bito through feedback

    Workspace learnings are shared across your entire Slack workspace, so a single teaching moment in one channel benefits the whole team.

    Common use cases

    Break down complex work

    Turn plans into code

    Review technical decisions

    Pull context from tickets

    Extract action items

    Catch up on long threads

    Review code from Slack

    This is powered by the bito-code-review skill. See the Agent skills page for the full list of supported review targets and flags.

    Create a merge / pull request from Slack

    Best practices

    Get the most from Bito

    Privacy and context

    Troubleshooting

    Bito doesn't respond

    Bito's response seems incomplete

    Bito doesn't see my Jira ticket

    I need to remove Bito from a channel

    Frequently Asked Questions

    Does Bito read all messages in a channel?

    Can I use Bito in private channels?

    How much does Bito AI Assistant cost?

    Does Bito learn from our conversations?

    What happens if I exceed my plan limits?

    Can I use Bito for customer support channels?

    Next steps

    Related Resources

    Bito-hosted
    Self-hosted
    bitoaiassistant.bito.ai/slack/install
    knowledge graph
    bito.ai/pricing
    Slack App – Data Handling
    Bito Privacy and Security
    Get Support
    Bito Privacy Policy
    Slack App – Data Handling
    support@bito.ai

    You will need:

    1. 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.

    GitHub repository to your server using the following command:
    • 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

  • Note: It will provide the Git Webhook secret in encrypted format.
  • 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.

  • Click
    Add webhook
    .
  • 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.

  • 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: 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.

    Restart the Docker container:
    • 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:

    1. 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

    1. Docker (minimum version 20.x)

    macOS

    You will need:

    1. Bash (minimum version 4.x)

      brew install bash

    1. Docker (minimum version 20.x)

    Supported Operating Systems

    OS Prerequisites

    Required Access Tokens

    Installation and Configuration Steps

    Note: Valid values for git.provider are GITHUB or GITLAB.

    Note: Detailed information for each property is provided on Agent Configuration: bito-cra.properties File page.

    Check the Required Access Tokens guide to learn more about creating the access tokens needed to configure the Agent.

    This step might take time initially as it pulls the Docker image and performs the code review.

    Webhook Setup Guide

    Using the AI Code Review Agent

    Note: To improve efficiency, the AI Code Review Agent is disabled by default for pull requests involving the "main" branch. This prevents unnecessary processing and token usage, as changes to the "main" branch are typically already reviewed in release or feature branches. To change this default behavior and include the "main" branch, please contact support.

    It may take a few minutes to get the code review posted as a comment, depending on the size of the pull request.

    Screenshots

    Screenshot # 1

    AI-generated pull request (PR) summary

    Screenshot # 2

    Changelist showing key changes and impacted files in a pull request.

    Screenshot # 3

    AI code review feedback posted as comments on the pull request.

    How to update the self-hosted AI Code Review Agent

    Stop Docker Container

    Check Status

    View Guide
    View Guide
    View Guide
    View Guide
    prerequisites for self-hosted
    Agent Configuration: bito-cra.properties File
    GitHub Webhook Setup Guide
    GitHub
    GitLab Webhook Setup Guide
    GitLab
    BitBucket Webhook Setup Guide
    BitBucket
    https://github.com/gitbito/CodeReviewAgent
    GitHub Personal Access Token (Classic)
    GitLab Personal Access Token
    Changelist in AI Code Review Agent's feedback.

    Windows

    Note: If an incremental review is already scheduled when you trigger a manual /review, the scheduled incremental review is skipped to avoid a duplicate review. Also, if the most recent automated review did not complete successfully, a manual /review is treated as a full review so that no changes are missed. To always re-review all changes, use /review full.

    Clone the AI Code Review Agent

    Set up Bito Governor (self-hosted with Docker)

    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

    Set up Bito Governor (Bito-hosted)

    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.

    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 .

    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 , then point your AI coding tools at it.

    Setup has four parts:

    Setup parts
    Description
    1. Docker (minimum version 20.x)

      • View Guide

    View Guide
    View Guide
    View Guide
    to change it).
  • 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.

    1. Go to http://<host>:8788/admin, replacing <host> with the address of the machine running Governor.

    2. Enter the admin token you recorded in Step 2.

    3. 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.

    1. In the left sidebar, click Accounts.

    2. In the Add account form, complete the following fields:

    Field
    Description

    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

    1. 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.

    1. 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.

    1. In the left sidebar, click Routes.

    2. In the Add route form, complete the following fields:

    Field
    Description

    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

    1. 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.

    Each group also carries a Direct and an Auto control. Direct sends every request for that alias to the targets you configured. Auto hands the alias to the auto-router, which picks a model for each request.

    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.

    An alias can answer from the targets you configured, or you can hand it to the auto-router, which classifies each request and picks a model for it. Select auto-route this alias when you add the route, or click Auto on the group in the routes table.

    See Auto AI model routing for more details.

    A gateway key authenticates a coding tool to Governor. Provider keys stay in the Bito UI.

    1. In the left sidebar, click Keys.

    2. In the Create key form, enter a name that identifies the team or tool that will use the key.

    3. Click Create.

    4. 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.

    1. In the left sidebar, click Features.

    2. In the Configure feature form, select ai_architect from the feature list.

    3. Complete the following fields:

    Field
    Description

    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.

    Field
    What it adds

    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

    1. 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.

    Setting
    Scope

    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.

    Max hops
    Use

    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.

    1. In the left sidebar, click Features.

    2. In the Configure feature form, select reasoning_downgrade from the feature list.

    3. Leave alias blank to apply the feature across the workspace, or enter a route alias such as claude-* to scope it to that alias.

    4. 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.

    Section
    Contents

    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:

    1. 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.

    2. 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:

    Path
    Dialect
    Used by

    /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.

    Every response carries an x-bito-routed-model header naming the model that answered. Read that header rather than the model field inside the response body, because some providers return the model that was requested and others return the model that answered. The difference matters once auto-routing is on, since the model that answers may not be the one your tool asked for.

    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:

    1. 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.

    2. Check auto-routing, if you set it up. In the left sidebar, click Routes. On a routed alias, click Classify a prompt, enter a sample request, and confirm it lands in the tier you expect. No request is sent, so this costs nothing.

    3. 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.

    4. 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.

    5. 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.

    1. In the left sidebar, click Prices.

    2. In the Set price form, select the vendor.

    3. 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.

    4. Enter the model name.

    5. Enter in, out, and optionally cache-read and cache-write prices, all in $/Mtok.

    6. 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. Auto-routing also depends on these prices. A model with no price cannot be selected by a router, and both the routing direction and the price ceiling are evaluated against them.

    Limits are applied per gateway key.

    1. In the left sidebar, click Limits.

    2. In the Set limits form, select a key.

    3. Complete any of the following fields:

    Field
    Description

    rpm

    Maximum requests per minute.

    tpm

    Maximum tokens per minute.

    budget ($/month)

    1. 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:

    Bucket
    Description

    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:

    1. Select a set of tasks your team runs regularly.

    2. Disable AI Architect, run the tasks, and record cost per task from Reports.

    3. Enable AI Architect and run the same tasks with the same tool and model.

    4. Compare cost per task and confirm the tasks still complete correctly.

    1. In the left sidebar, click Members.

    2. In the Add team member form, enter a name and select a role.

    3. Click Create.

    Each member signs in to the admin UI with the token generated for them.

    Role
    Permissions

    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.


    Symptom
    Cause
    Resolution

    401 from Governor with a gateway key

    The gateway key is invalid or revoked.

    Create a new key on the Keys page and update the tool configuration.

    404 for a model

    • 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.

    • Bito Governor overview

    • Set up Bito Governor (Bito-hosted)

    • Contact for configuration assistance.

    What Bito Governor is: a gateway that sits between your AI coding tools (Claude Code, Cursor, Codex, …) and the LLM providers. You point your tools at one gateway URL + key; the gateway routes to the right provider, and meters usage and cost per workspace.

    Prerequisites

    curl -fsSL https://gwinstall.bito.ai/latest/install-standalone.sh | bash
    irm 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 / quickstart
    bito-gateway-ctl gwctl connect claude
    # Supported values: claude | cursor | cline | continue | aider | codex | copilot | windsurf | zed | openai | anthropic
    export ANTHROPIC_BASE_URL="https://HOST:8788"
    export ANTHROPIC_AUTH_TOKEN="gw_sk_..."
    claude
    bito-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 restart
    bito-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/KEK
    bito-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) — irreversible

    Step 1: Install

    Prefer a native Linux service (systemd) instead of Docker? See docs/dev/DEPLOY_RUNBOOK.md in your bito-gateway installation folder.

    Step 2: What you get

    Step 3: Sign in to the admin UI

    To perform the same configuration from a terminal instead, run bito-gateway-ctl gwctl quickstart.

    Step 4: Add a provider account

    To forward the credential supplied by the caller, leave the key field blank. This is passthrough mode.

    Azure accounts can authenticate with an Entra ID service principal instead of an API key.

    reveal displays a stored provider key. Every use is recorded in the audit log.

    Examples

    Expand to view examples

    Each example states a goal, then the values to enter in the Add account form.

    Add your organization's Anthropic key.

    provider
    name
    key
    base url

    Step 5: Add a route

    Wildcard and exact aliases

    Failover and load balancing

    Auto-routing

    Examples

    Expand to view examples

    Each example states a goal, then the values to enter in the Add route form.

    Send all traffic to a single account, without naming each model.

    alias
    provider
    account
    model
    priority

    Before applying a model substitution across your workspace, run it against a representative set of your own tasks and compare results as well as cost.

    Step 6: Create a gateway key

    Step 7: Enable features

    AI Architect

    Setting Architect model (sub-agent) to a cost-efficient alias moves the AI Architect lookups off your main model while the route model still writes the answer. This reduces the cost of a request that takes several hops.

    Max hops

    Reasoning downgrade

    Step 8: Connect a coding tool

    Claude Code reports that its connectors are disabled when it runs through Governor, because the session authenticates against Governor rather than a Claude account. This message is expected. AI Architect continues to work, because Governor serves it from the server side.

    Operate the Bito Governor

    On the native/systemd install, use sudo systemctl {start|stop|restart|status} bito-gateway + journalctl -u bito-gateway -f, and gwctl is already on your PATH directly.

    Verify the configuration

    For a wildcard alias such as claude-*, enter a concrete model that matches it, for example claude-opus-4-8.

    Set prices

    Set limits

    Setting a limit to 0 removes the cap rather than blocking the key. To stop a key entirely, disable it on the Keys page.

    Monitor usage and cost

    Dashboard

    Reports

    Measure the effect of AI Architect

    Add members

    View the audit log

    Back up

    Troubleshooting

    What's next

    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, and optionally hands the alias to the auto-router.

    Gateway key

    Authenticates a coding tool to Governor.

    Feature

    A server-side capability that runs inside a request, such as . Optional.

    You need the following:

    • Admin Token. Contact support@bito.ai 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.

    • AI Architect MCP URL and access token, if you enable AI Architect. Both are available in your .

    1. Go to https://gateway.bito.ai/admin/.

    2. 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.

    1. In the left sidebar, click Accounts.

    2. In the Add account form, complete the following fields:

    Field
    Description

    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

    1. Click Add.

    The account appears in the Accounts table with the actions edit, test, reveal, and remove.

    1. 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.

    1. In the left sidebar, click Routes.

    2. In the Add route form, complete the following fields:

    Field
    Description

    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

    1. 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.

    Each group also carries a Direct and an Auto control. Direct sends every request for that alias to the targets you configured. Auto hands the alias to the auto-router, which picks a model for each request.

    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.

    An alias can answer from the targets you configured, or you can hand it to the auto-router, which classifies each request and picks a model for it. Select auto-route this alias when you add the route, or click Auto on the group in the routes table.

    See Auto AI model routing for more details.

    A gateway key authenticates a coding tool to Governor. Provider keys stay in the Bito UI.

    1. In the left sidebar, click Keys.

    2. In the Create key form, enter a name that identifies the team or tool that will use the key.

    3. Click Create.

    4. 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.

    1. In the left sidebar, click Features.

    2. In the Configure feature form, select ai_architect from the feature list.

    3. Complete the following fields:

    Field
    Description

    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.

    Field
    What it adds

    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

    1. 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.

    Setting
    Scope

    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.

    Max hops
    Use

    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.

    1. In the left sidebar, click Features.

    2. In the Configure feature form, select reasoning_downgrade from the feature list.

    3. Leave alias blank to apply the feature across the workspace, or enter a route alias such as claude-* to scope it to that alias.

    4. Click Enable.

    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.

    Section
    Contents

    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:

    1. 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.

    2. 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:

    Path
    Dialect
    Used by

    /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.

    Every response carries an x-bito-routed-model header naming the model that answered. Read that header rather than the model field inside the response body, because some providers return the model that was requested and others return the model that answered. The difference matters once auto-routing is on, since the model that answers may not be the one your tool asked for.

    1. 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.

    2. Check auto-routing, if you set it up. In the left sidebar, click Routes. On a routed alias, click Classify a prompt, enter a sample request, and confirm it lands in the tier you expect. No request is sent, so this costs nothing.

    3. 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.

    4. 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.

    5. 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.

    1. In the left sidebar, click Prices.

    2. In the Set price form, select the vendor.

    3. 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.

    4. Enter the model name.

    5. Enter in, out, and optionally cache-read and cache-write prices, all in $/Mtok.

    6. 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. Auto-routing also depends on these prices. A model with no price cannot be selected by a router, and both the routing direction and the price ceiling are evaluated against them.

    Limits are applied per gateway key.

    1. In the left sidebar, click Limits.

    2. In the Set limits form, select a key.

    3. Complete any of the following fields:

    Field
    Description

    rpm

    Maximum requests per minute.

    tpm

    Maximum tokens per minute.

    budget ($/month)

    1. 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:

    Bucket
    Description

    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:

    1. Select a set of tasks your team runs regularly.

    2. Disable AI Architect, run the tasks, and record cost per task from Reports.

    3. Enable AI Architect and run the same tasks with the same tool and model.

    4. Compare cost per task and confirm the tasks still complete correctly.

    1. In the left sidebar, click Members.

    2. In the Add team member form, enter a name and select a role.

    3. Click Create.

    Each member signs in to the Bito UI with the token generated for them.

    Role
    Permissions

    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. To change or disable a workspace admin, contact support@bito.ai.

    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.

    Symptom
    Cause
    Resolution

    401 from Governor with a gateway key

    The gateway key is invalid or revoked.

    Create a new key on the Keys page and update the tool configuration.

    404 for a model

    • Bito Governor overview

    • Set up Bito Governor (self-hosted with Docker) to run Governor on a single host with Docker

    • Set up Bito Governor (self-hosted with Kubernetes)

    • Contact support@bito.ai for configuration assistance.

    Bito Governor
    Set up Bito Governor (self-hosted)
    https://gateway.bito.ai/admin/

    Provider account

    export ANTHROPIC_BASE_URL="https://gateway.bito.ai"
    export ANTHROPIC_AUTH_TOKEN="gw_sk_..."
    claude

    Prerequisites

    Sign in

    Step 1: Add a provider account

    To forward the credential supplied by the caller, leave the key field blank. This is passthrough mode.

    Azure accounts can authenticate with an Entra ID service principal instead of an API key.

    reveal displays a stored provider key. Every use is recorded in the audit log.

    Examples

    Expand to view examples

    Each example states a goal, then the values to enter in the Add account form.

    Add your organization's Anthropic key.

    provider
    name
    key
    base url

    Step 2: Add a route

    Wildcard and exact aliases

    Failover and load balancing

    Auto-routing

    Examples

    Expand to view examples

    Each example states a goal, then the values to enter in the Add route form.

    Send all traffic to a single account, without naming each model.

    alias
    provider
    account
    model
    priority

    Before applying a model substitution across your workspace, run it against a representative set of your own tasks and compare results as well as cost.

    Step 3: Create a gateway key

    Create one key per team or tool so that you can revoke one without affecting the others.

    Step 4: Enable features

    AI Architect

    Setting Architect model (sub-agent) to a cost-efficient alias moves the AI Architect lookups off your main model while the route model still writes the answer. This reduces the cost of a request that takes several hops.

    Max hops

    Reasoning downgrade

    Step 5: Connect a coding tool

    Claude Code reports that its connectors are disabled when it runs through Governor, because the session authenticates against Governor rather than a Claude account. This message is expected. AI Architect continues to work, because Governor serves it from the server side.

    Operate the Bito Governor

    Verify the configuration

    For a wildcard alias such as claude-*, enter a concrete model that matches it, for example claude-opus-4-8.

    Set prices

    Set limits

    Setting a limit to 0 removes the cap rather than blocking the key. To stop a key entirely, disable it on the Keys page.

    Monitor usage and cost

    Dashboard

    Reports

    Measure the effect of AI Architect

    Add members

    View the audit log

    Troubleshooting

    What's next

    Use cases and examples

    Supercharging 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.

    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.

    provider
    name
    key
    base url

    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.

    provider
    name
    key
    base url

    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.

    provider
    name
    key
    base url

    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.

    alias
    provider
    account
    model
    priority

    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.

    alias
    provider
    account
    model
    priority

    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.

    alias
    provider
    account
    model
    priority
    weight

    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.

    alias
    provider
    account
    model
    priority

    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.

    auto-route this alias

    Adds the route, then opens auto-routing so you can say which models answer which kind of request. It starts as a dry run: every request is classified and recorded, and this route keeps answering until you turn routing on. See Auto AI model routing for more details.

    backing group (internal)

    Hides this route from your apps. They cannot ask for it by name and it does not appear in the model list, so only auto-routing can send traffic here. Use it for the models a router picks between, so nobody skips the router by asking for one directly.

    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.

    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.

    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 the Keys page.

    AI Architect responses lack system context

    The feature is disabled, scoped to a different alias, or the MCP URL is empty.

    Open the Features page 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 check Max hops per request if the request makes several AI Architect lookups.

    Repeated 429 or 5xx

    One provider account is rate limited or unavailable.

    Add a second target on the same alias to enable failover.

    Requests reach a model you did not configure for that alias

    Auto-routing is on for the alias.

    Open Routes and check the tier assignments, or click Direct to stop routing that alias.

    A check that compares the requested model to the returned model fails

    The model field in the response names the model that answered on some providers.

    Read the x-bito-routed-model response header instead, which always names the model that answered.

    Auto-routing is on but nothing is routed

    The router is in shadow, or every tier is unusable.

    Check the mode on Routes. A tier marked will not route has a model with no price, no deployment on the account, or one blocked by your routing direction.

    Every request is classified simple

    The LLM classifier is timing out, so the built-in scorer is deciding instead.

    Raise the classifier timeout, or point classifier model at a faster route alias.

    Connect a provider

    Route every model to one provider

    Set up Bito Governor (self-hosted with Kubernetes)
    support@bito.ai

    Separate production and staging spend

    Connect a model you host yourself

    Forward the caller's own key

    Route a model family to one account

    Fail over to a second provider

    Split traffic across two accounts

    Serve a request with a different model

    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.

    provider
    name
    key
    base url

    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.

    provider
    name
    key
    base url

    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.

    provider
    name
    key
    base url

    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.

    alias
    provider
    account
    model
    priority

    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.

    alias
    provider
    account
    model
    priority

    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.

    alias
    provider
    account
    model
    priority
    weight

    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.

    alias
    provider
    account
    model
    priority

    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.

    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.

    auto-route this alias

    Adds the route, then opens auto-routing so you can say which models answer which kind of request. It starts as a dry run: every request is classified and recorded, and this route keeps answering until you turn routing on. See Auto AI model routing for more details.

    backing group (internal)

    Hides this route from your apps. They cannot ask for it by name and it does not appear in the model list, so only auto-routing can send traffic here. Use it for the models a router picks between, so nobody skips the router by asking for one directly.

    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 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.

    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.

    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.

    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 the Keys page.

    AI Architect responses lack system context

    The feature is disabled, scoped to a different alias, or the MCP URL is empty.

    Open the Features page 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 check Max hops per request if the request makes several AI Architect lookups.

    Repeated 429 or 5xx

    One provider account is rate limited or unavailable.

    Add a second target on the same alias to enable failover.

    Requests reach a model you did not configure for that alias

    Auto-routing is on for the alias.

    Open Routes and check the tier assignments, or click Direct to stop routing that alias.

    A check that compares the requested model to the returned model fails

    The model field in the response names the model that answered on some providers.

    Read the x-bito-routed-model response header instead, which always names the model that answered.

    Auto-routing is on but nothing is routed

    The router is in shadow, or every tier is unusable.

    Check the mode on Routes. A tier marked will not route has a model with no price, no deployment on the account, or one blocked by your routing direction.

    Every request is classified simple

    The LLM classifier is timing out, so the built-in scorer is deciding instead.

    Raise the classifier timeout, or point classifier model at a faster route alias.

    Connect a provider

    Route every model to one provider

    Bito account
    Bito's AI Architect

    Separate production and staging spend

    Connect a model you host yourself

    Forward the caller's own key

    Route a model family to one account

    Fail over to a second provider

    Split traffic across two accounts

    Serve a request with a different model

    Learn technical concepts
  • Generate test cases

  • Explain code

  • Comment method

  • Improve code performance

  • Check security

  • Find style issues

  • Instruction

    Response

    Instruction

    Response

    Instruction

    Response

    Instruction

    Response

    Instruction

    Response

    Instruction

    Response

    Instruction

    Response

    Instruction

    Response

    Instruction

    Response

    Instruction

    Response

    Instruction

    Response

    Generate Code
    Command Syntax

    Generate Code

    Implement a simple rest API in Go.

    Command Syntax

    How to rebase a branch in git?

    1. Checkout the branch you want to rebase:

    $ git checkout

    Learn Technical Concepts

    Can you explain the B+ tree with a code example?

    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

    Generate test cases for the following method.

    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']

    Explain this Code

    What does this code do?

    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.

    Comment Method

    Generate a comment for this method, explaining the parameters and output

    /* 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. */

    Improve Performance

    How can I improve the performance of this code?

    1. Use ES6 syntax to simplify the code.

    2. Use a hashmap instead of looping through the arrays.

    3. Use a single loop to build the final array instead of two loops.

    Rewrite this code with performance improvements?

    Check for Security

    Find potential security issues in this code

    1. 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.

    2. 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.

    Rewrite this code with fix to potential security issues

    Find Style Issues

    Identify potential issues that EsLint would find in this code

    //ESLint would find the following issues:

    • Missing semicolons (potential syntax errors)

    • Missing spacing after 'forEach' statements

    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

    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

    Rebase your branch against the upstream branch:

    $ git rebase upstream/

    1. Resolve any conflicts that arise.

    2. Once all conflicts are resolved, do a git status to verify that all files have been updated correctly.

    3. Finally, push the rebased branch to the remote repository:

    $ git push origin --force

  • Use array methods instead of for-each loops.

  • Use optimized data structures like Set and Map.

  • 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;
      }

    Implementing custom code review rules

    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:

    1. 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.

    2. 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.

    3. . 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:

    1. - Create, apply, and edit guidelines entirely in the web interface

    2. - 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

    1. Click Add guidelines button from the top right.

    2. Fill out:

      • Guideline name

      • Language (select a specific programming language or select General if the guideline applies to all languages)

    B. Use a Template

    1. Click Add guidelines button from the top right.

    2. Choose a template from the Use template dropdown menu.

    3. Review/edit fields as needed.

    4. 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.

    1. Go to dashboard from the Bito Cloud sidebar.

    2. Click Settings next to the target agent instance.

    1. Navigate to the Custom Guidelines section. Here you can either create a new guideline or select from existing guidelines.

    1. 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.

    1. 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.

    1. 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:

    Install AI Architect (self-hosted)

    Deploy AI Architect in your own infrastructure for complete data control and enhanced security

    This guide walks you through installing 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.

    Add to Slack
  • 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

    1- Provide feedback on Bito-reported issues

    Note: Providing a positive reaction emoji or comment has no effect and will not generate a new code review rule.

    2- Create custom code review guidelines

    Note: Custom review guidelines are available on the Professional Plan. Enabling this feature will upgrade your workspace to the Professional Plan. Visit pricing page

    How to add a guideline

    Step 1: Open the Custom Guidelines tab

    Step 2: Fill the form

    Step 3: Apply to an Agent

    To apply the guideline later: go to Repositories, find the Agent instance, click Settings, and manage guidelines there.

    Step 4: Save configuration

    Note: Visit the Custom Guidelines tab to edit or delete any guideline.

    Managing review guidelines from agent settings

    FAQs

    What types of custom code review guidelines can be implemented?

    Is "custom code review guidelines" feature available in Team Plan?

    3- Use project-specific guideline files

    Supported guideline files

    How to organize your guideline files

    Note: Rule precedence (where subdirectory rules override parent-level rules) will be added in a future release. Currently, the agent considers all applicable guideline files equally.

    How citations work

    Example scenario

    Sample guideline file

    Use project-specific guideline files
    Learned Rules
    AI Code Review Agent
    Through the Bito Cloud dashboard
    Using a .bito.yaml file
    Bito Cloud
    Custom Guidelines
    Repositories
    Professional Plan
    Pricing Page

    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.
    
    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.

    1

    Bito API Key (aka Bito Access Key)

    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

    • View Guide

    2

    Git provider

    We support the following Git providers:

    • GitHub

    • GitLab

    • Bitbucket

    • Azure DevOps

    So, you'll need an account on one of these Git providers to index your repositories with AI Architect.

    3

    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.

    1. GitHub: To connect your GitHub repositories to AI Architect, choose one of the following authentication methods:

      1. GitHub App: Install and authorize the Bito GitHub App, then select the repositories you want AI Architect to index.

    4

    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)

    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

    1

    Hardware specifications

    Tier
    Repositories
    vCPU
    Memory
    Storage

    Minimum

    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.

    2

    If you're running Windows, Windows Subsystem for Linux 2 (WSL2) must be installed before proceeding.

    To install WSL2:

    1. Open PowerShell or Command Prompt as Administrator

    2. Run the following command:

    3

    AI Architect supports two deployment modes. Choose the option that fits your infrastructure:

    Mode
    Use case
    Requirements
    4

    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:

    5

    During the setup process given below, if you choose 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.

    1

    Install AI Architect

    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

    Execute the installation command:

    The installation script will:

    • Download the latest Bito AI Architect package

    • Extract it to your system

    • Initialize the setup process

    2

    , 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:

    3

    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:

    4

    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.

    5

    Run this command to check the status of your indexing:

    6

    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:

    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:

    Mode
    Provider
    How it works

    Bearer Token

    None (SSO disabled)

    Static MCP access token passed in the request header. This is the default mode.

    Bito Authentication

    Bito

    SSO is configured during the setup process. When prompted with "Configure SSO?", you can choose one of the following options:

    1. 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. Learn more

      • Return to the setup and verify the connection

    2. Bito Authentication

      • Enables OAuth authentication using your Bito workspace credentials

      • No additional IdP configuration is required

    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:

    Setting
    Default
    Description

    Session duration

    360 minutes (6 hours)

    How long a session remains valid

    Refresh token TTL

    300 minutes (5 hours)

    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

    • Consider using Kubernetes Ingress with TLS/SSL

    • Implement VPN for remote access

    • Use network policies to limit pod-to-pod traffic

    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

    👉 Try our Quick MCP Integration Guide 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:

    • Guide for Claude Code

    • Guide for Cursor

    • Guide for Windsurf

    • Guide for GitHub Copilot (VS Code)

    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

    Plugin
    What it does
    Integrates with

    Slack 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.

    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 Plugins guide.

    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

    1. Log in to Bito Cloud

    2. Open the AI Architect Settings dashboard.

    3. In the Server URL field, enter your Bito MCP URL

    4. 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.

    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.

    • 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.

    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

    • 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:

    Value
    What it checks

    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.

    Deployment options

    a. Personal use (with your LLM keys)

    Bito's AI Architect
    vim /usr/local/etc/bitoarch/.bitoarch-config.yaml
    bitoarch update-repos
    bitoarch index-repos --only-new-repos
    bitoarch sso setup
    bitoarch sso status
    bitoarch sso enable
    bitoarch sso disable
    bitoarch sso rotate-key
    curl http://localhost:5001/health          # Provider
    curl http://localhost:5002/health          # Manager
    curl http://localhost:5003/health          # Config
    kubectl 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          # Tracker
    # 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 status
    bitoarch 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 enabled
    bitoarch 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 PROJ
    bitoarch update-ticket-tracker    # Re-enter Jira credentials (validates before saving)
    bitoarch update-docs              # Re-enter Confluence credentials
    cd /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
    --help
    bitoarch 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 only
    bitoarch diagnose --bundle
    Share this file with Bito support: support@bito.ai
    bitoarch 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 -f

    b. Team / shared access (with your LLM keys)

    c. Enterprise deployment (requires Bito Enterprise Plan)

    Note: All deployment options are self-hosted on your infrastructure — your code and knowledge graph remain under your control.

    Prerequisites

    a. Required accounts and tokens

    b. System requirements

    Shared servers (for team deployments)

    Installation guide

    Update repository list and re-index

    SSO Authentication

    Authentication modes

    Note: If Enterprise IdP is selected but not yet configured, the system automatically falls back to Bito authentication until the IdP setup is complete.

    Setting up SSO during installation

    Note: You can also configure or reconfigure SSO at any time after installation using the bitoarch sso setup command.

    Configuring SSO after installation

    Managing SSO

    Important: After rotating the key, SSO services will restart automatically. Active sessions may need to re-authenticate.

    SSO session configuration

    Note: Session settings can be customized through environment variables in the .env-bitoarch configuration file.

    Accessing services (Kubernetes-based deployment)

    Local access (from the Kubernetes host machine)

    Network access (from other machines on your network)

    Security considerations

    Alternative: Kubernetes Ingress (production)

    Setting up AI Architect MCP in coding agents

    Quick setup (recommended)

    Manual setup

    Plugins

    Configuring AI Architect for Bito AI Code Review Agent

    Getting started with AI Architect-powered code reviews

    Insights

    Key insights metrics

    During installation

    After installation

    Managing Jira project scope

    Credential rotation

    Atlassian API tokens

    Generate API tokens at . Provide the Confluence base URL without /wiki — the platform normalizes it automatically.

    Best practices

    Upgrading AI Architect

    Upgrade instructions

    Option 1: Upgrade from within your installation (Recommended)

    Option 2: Upgrade from external location

    Upgrade parameters

    Your data is safe: All repositories, indexes, API keys, and settings are automatically preserved during upgrade.

    Important: You can only upgrade within the same deployment type. To switch from Docker Compose to Kubernetes or vice versa, you must use the bitoarch reset command, which will result in data loss.

    Uninstall

    Docker images are kept — docker image prune to reclaim.

    Alternatively, you can also use the following curl command to uninstall AI Architect:

    Troubleshooting guide

    Collect diagnostics for support

    Manual troubleshooting commands

    Commands specific to Kubernetes-based deployment

    Available commands

    Set up Bito Governor (self-hosted with Kubernetes)

    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 . To run it on a single host with Docker rather than Kubernetes, see .

    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:

    1. Create a Secret. Four credentials that the gateway reads at startup, including the key that encrypts your provider credentials.

    View setup guide

  • 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.

    • View setup guide

  • GitLab Personal Access Token: To use GitLab repositories with AI Architect, a token with API access is required.

    • View setup guide

  • Bitbucket Access Token: To use Bitbucket repositories with AI Architect, you need API Token or HTTP Access Token depending on your Bitbucket setup.

    1. Bitbucket Cloud (API Token): You must provide both your token and email address.

      • View setup guide

    2. 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.

    1. View setup guide

  • 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 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).

    Set up your Ubuntu username and password when prompted.

    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 .

    Open Docker Desktop
  • Go to Settings > Resources > WSL Integration

  • Enable integration for your WSL distribution (e.g., Ubuntu)

  • Click Apply

  • Install KIND:

    • macOS:

    • Linux:

    Create a KIND cluster with proper port mappings for service access:

    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:

      1. GitLab

      2. GitHub

      3. Bitbucket

      4. 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)

    • 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.

      • 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.

      • Type y to enable ticket tracker insights.

      • Type n to skip it.

      Press Enter to continue.

    • Enable Confluence integration? (optional) - Adds Confluence as docs source for richer ticket-link context.

      • Type y to enable Confluence integration.

      • Type n to skip it.

      Press Enter to continue.

    • 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:

      1. Anthropic

      2. OpenAI

      3. Portkey

    • 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 for more details.

    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:

    up to 25

    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+

    grep -E '_(MEMORY|CPU)_LIMIT=' .env-bitoarch
    bitoarch restart --force
    wsl --install

    Docker (Compose)

    Single-host deployments, evaluation, smaller teams

    curl -fsSL https://aiarchitect.bito.ai/install.sh | bash
    repository:
      configured_repos:
        - namespace: your-org/repo-name-1
        - namespace: your-org/repo-name-2
        - namespace: your-org/repo-name-3
    bitoarch index-repos
    bitoarch index-status
    bitoarch mcp-info
    bitoarch rotate-mcp-token <new-token>

    OAuth flow validated via your Bito workspace. Ideal for teams already using Bito.

    Enterprise IdP

    Enterprise IdP

    OAuth flow federated to your corporate SAML/OIDC identity provider (e.g., Okta, Azure AD, Google Workspace).

    How long a refresh token remains valid

    Max concurrent sessions

    2

    Maximum number of concurrent sessions per user

    Jira

    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

    curl -fsSL https://aiarchitect.bito.ai/uninstall.sh | bash

    Git Access Token

    LLM API keys

    Notes:

    • Large repositories: Increase memory and storage by 50% above the tier baseline when any single repository exceeds 5 GB.

    • Indexing workload: Indexing generates transient CPU and memory peaks above steady-state usage. The resources listed above include the headroom required to absorb these peaks; do not size below the tier minimums.

    • 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.

    WSL2 is required for Windows users

    Supported deployment modes

    Docker Desktop / Docker Service (required)

    Kubernetes cluster (required for Kubernetes based deployment method)

    For production environments:

    For testing and development:

    Installing dependencies:

    The AI Architect setup process will automatically check for required tools on your system. If any dependencies are missing (such as jq, which is needed for JSON processing), you'll be prompted to install them. Simply type y and press Enter to proceed with the installation.

    Configuration

    Note: Refer to the Prerequisites section for details on how to obtain these.

    Select AI Architect deployment method:

    Add repositories

    For versions older than 1.4.0, configuration file can be found in installation directory.

    Start indexing

    Note: Indexing process will take approximately 3-10 minutes per repository. Smaller repos take less time.

    Check indexing status

    Example output:

    Configured 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-progress

    What each section represents:

    • Configured Repositories: Shows how many repositories are added in your config file for indexing.

    • Repository Index Status: Shows the indexing progress for each individual repository.

    • 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.

    Check MCP server details

    Replace <new-token> with your new secure token value.

    Important: After rotating the token, you'll need to update it in all AI coding agents (Claude Code, Cursor, Windsurf, etc.) where you've configured this MCP server.

    Local Git Provider (Pre-Cloned Repositories)
    Install Docker Desktop
    Kubernetes
    Download the install.default.yaml file
    Guide for Junie (JetBrains)
    Guide for JetBrains AI Assistant
    id.atlassian.com/manage-profile/security/api-tokens
    curl http://127.0.0.1:8000/health
    curl -H "Authorization: Bearer <token>" http://127.0.0.1:8000/v1/models

    Docker Engine and Docker Compose. — includes both.

    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 | bash
    kind 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
    EOF
    kubectl cluster-info --context kind-bito-ai-architect
    kubectl get nodes
    bitoarch add-repos

    What you need to configure Google Vertex AI:

    • A GCP service-account key JSON with Vertex AI access

    • The GCP project ID

    AI Architect supports integration for custom proxy configurations.

    To use Bito-hosted LLM instead (no LLM keys required from you), contact about the .

    How to test against the GitHub Copilot Bridge (VS Code)

    Note: Before creating a KIND cluster, verify Docker has sufficient resources:

    Required: Minimum 4 CPUs and 8GB RAM

    If resources are insufficient, increase Docker Desktop resources (Preferences → Resources) and restart Docker.

    Setting up a test cluster with KIND

    Note: Services use ClusterIP for secure, internal-only access. External access is configured via Ingress Controller on ports 80/443.

    Verify cluster

    If you have a Kubernetes cluster:

    1. Ensure it's running

    2. Verify the current Kubernetes context: kubectl config current-context

    You'll need to provide the following details when prompted:

    Note: Refer to the for details on how to obtain these.

    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.

    Requirement
    Details

    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

    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.

    Key
    What it is

    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

    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 Tags tab. 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.

    File
    Use it when

    values-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

    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.

    1. Read your admin token back from the Secret. Kubernetes stores Secret values base64 encoded, so the base64 -d step decodes it.

    1. Open the admin UI at your Ingress hostname, or at http://localhost:8788/admin/ while port forwarding, and sign in with that token.

    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 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.

    ADMIN_TOKEN in a Secret
    gwctl admin create

    Credential at rest

    In your Secret

    A hash in the database

    Takes effect

    After a pod restart

    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.

    1. In the left sidebar, click Accounts.

    2. In the Add account form, complete the following fields:

    Field
    Description

    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

    1. 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.

    1. 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.

    1. In the left sidebar, click Routes.

    2. In the Add route form, complete the following fields:

    Field
    Description

    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

    1. 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.

    Each group also carries a Direct and an Auto control. Direct sends every request for that alias to the targets you configured. Auto hands the alias to the auto-router, which picks a model for each request.

    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.

    An alias can answer from the targets you configured, or you can hand it to the auto-router, which classifies each request and picks a model for it. Select auto-route this alias when you add the route, or click Auto on the group in the routes table.

    See Auto AI model routing for more details.

    A gateway key authenticates a coding tool to Governor. Provider keys stay in the Bito UI.

    1. In the left sidebar, click Keys.

    2. In the Create key form, enter a name that identifies the team or tool that will use the key.

    3. Click Create.

    4. 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.

    1. In the left sidebar, click Features.

    2. In the Configure feature form, select ai_architect from the feature list.

    3. Complete the following fields:

    Field
    Description

    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.

    Field
    What it adds

    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

    1. 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.

    Setting
    Scope

    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.

    Max hops
    Use

    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.

    1. In the left sidebar, click Features.

    2. In the Configure feature form, select reasoning_downgrade from the feature list.

    3. Leave alias blank to apply the feature across the workspace, or enter a route alias such as claude-* to scope it to that alias.

    4. 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.

    Section
    Contents

    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:

    1. 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.

    2. 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:

    Path
    Dialect
    Used by

    /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.

    Every response carries an x-bito-routed-model header naming the model that answered. Read that header rather than the model field inside the response body, because some providers return the model that was requested and others return the model that answered. The difference matters once auto-routing is on, since the model that answers may not be the one your tool asked for.

    1. 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.

    2. Check auto-routing, if you set it up. In the left sidebar, click Routes. On a routed alias, click Classify a prompt, enter a sample request, and confirm it lands in the tier you expect. No request is sent, so this costs nothing.

    3. 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.

    4. 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.

    5. 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.

    1. In the left sidebar, click Prices.

    2. In the Set price form, select the vendor.

    3. 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.

    4. Enter the model name.

    5. Enter in, out, and optionally cache-read and cache-write prices, all in $/Mtok.

    6. 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. Auto-routing also depends on these prices. A model with no price cannot be selected by a router, and both the routing direction and the price ceiling are evaluated against them.

    Limits are applied per gateway key.

    1. In the left sidebar, click Limits.

    2. In the Set limits form, select a key.

    3. Complete any of the following fields:

    Field
    Description

    rpm

    Maximum requests per minute.

    tpm

    Maximum tokens per minute.

    budget ($/month)

    1. 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:

    Bucket
    Description

    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:

    1. Select a set of tasks your team runs regularly.

    2. Disable AI Architect, run the tasks, and record cost per task from Reports.

    3. Enable AI Architect and run the same tasks with the same tool and model.

    4. Compare cost per task and confirm the tasks still complete correctly.

    1. In the left sidebar, click Members.

    2. In the Add team member form, enter a name and select a role.

    3. Click Create.

    Each member signs in to the admin UI with the token generated for them.

    Role
    Permissions

    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.

    The chart brings up both by default. Turn off either one independently and point the gateway at your own.

    You already run
    Set
    Point the gateway at yours with

    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

    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:

    Symptom
    Cause
    Resolution

    ImagePullBackOff 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

    • Governor overview

    • Set up Bito Governor (self-hosted with Docker) to run Governor on a single host with Docker

    • Set up Bito Governor (Bito-hosted)

    • Contact support@bito.ai for deployment assistance

    Set up Bito Governor (Bito-hosted)
    Set up Bito Governor (self-hosted with Docker)
    kubectl create namespace bito-gateway
    kubectl 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-secrets
    helm pull oci://registry-1.docker.io/bitoai/bito-gateway-helm --untar
    ls bito-gateway-helm/values-*.yaml
    helm install gw oci://registry-1.docker.io/bitoai/bito-gateway-helm \
      --namespace bito-gateway -f my-values.yaml
    kubectl -n bito-gateway rollout status deploy/gw-bito-gateway --timeout=5m
    kubectl -n bito-gateway get pods
    NAME                                     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          6m51s
    kubectl -n bito-gateway port-forward svc/gw-bito-gateway 8788:8788
    kubectl -n bito-gateway get secret bito-gateway-secrets \
      -o jsonpath='{.data.ADMIN_TOKEN}' | base64 -d
    kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl workspace create --name demo
    kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl key create --workspace <ID> --name demo
    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 route add --workspace <ID> --alias '*' --provider anthropic
    kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl admin create --role global
    kubectl -n bito-gateway exec deploy/gw-bito-gateway -- gwctl connect claude
    # Supported values: claude | cursor | codex | copilot | cline | continue | aider
    export ANTHROPIC_BASE_URL="https://GATEWAY_HOST"
    export ANTHROPIC_AUTH_TOKEN="gw_sk_..."
    claude
    helm upgrade gw oci://registry-1.docker.io/bitoai/bito-gateway-helm \
      --namespace bito-gateway -f my-values.yaml --timeout 1800s
    kubectl -n bito-gateway rollout restart deploy/gw-bito-gateway
    helm rollback gw <revision> -n bito-gateway
    helm uninstall gw -n bito-gateway
    kubectl -n bito-gateway delete pvc gw-bito-gateway-mysql
    kubectl -n bito-gateway delete pvc gw-bito-gateway-redis
    kubectl -n bito-gateway delete job,configmap,serviceaccount,secret \
      gw-bito-gateway-migrate --ignore-not-found
    kubectl -n bito-gateway get pods
    kubectl -n bito-gateway logs deploy/gw-bito-gateway

    Prerequisites

    Step 1: Create the namespace and Secret

    Back up CRYPTO_ENV_KEK_KEY outside this cluster. It encrypts every provider credential in your database. If you lose it, those credentials cannot be decrypted, including credentials in a database backup.

    Never re-roll it against a database that already holds provider accounts.

    DB_PASSWORD reaches MySQL only once, when the database initializes on first boot. Changing it in the Secret afterwards leaves MySQL on the old password and the gateway on the new one, which produces an access-denied crash loop that a restart does not clear. Rotate the password inside MySQL first.

    Step 2: Install the chart

    The Helm chart is published at .

    Helm reports STATUS: deployed before a single image is pulled, so a successful install command is not proof that Governor is running. Verify it yourself in Step 3.

    Choose a values file

    Step 3: Verify the deployment

    Step 4: Expose the gateway

    Port forward, for a first look

    Ingress, for your team

    Raise the response timeout on your ingress controller. LLM responses stream for minutes, and a default timeout truncates answers mid-sentence. Each controller spells this differently, which is why the presets exist.

    A / path rule publishes the admin UI and admin API alongside the data plane. Scope the path to /v1 to publish the data plane alone.

    Step 5: Sign in to the admin UI

    Configure from the command line instead

    Note: key create prints the gw_sk_ key once.

    Every pod can be Ready, /healthz can return 200, and every request can still return 401. That is an empty database rather than a failure. Create a workspace and a gateway key, and the 401 stops.

    Use a database-backed admin instead of ADMIN_TOKEN

    Step 6: Add a provider account

    To forward the credential supplied by the caller, leave the key field blank. This is passthrough mode.

    Azure accounts can authenticate with an Entra ID service principal instead of an API key.

    reveal displays a stored provider key. Every use is recorded in the audit log.

    Examples

    Expand to view examples

    Each example states a goal, then the values to enter in the Add account form.

    Add your organization's Anthropic key.

    provider
    name
    key
    base url

    Step 7: Add a route

    Wildcard and exact aliases

    Failover and load balancing

    Auto-routing

    Examples

    Expand to view examples

    Each example states a goal, then the values to enter in the Add route form.

    Send all traffic to a single account, without naming each model.

    alias
    provider
    account
    model
    priority

    Before applying a model substitution across your workspace, run it against a representative set of your own tasks and compare results as well as cost.

    Step 8: Create a gateway key

    Step 9: Enable features

    AI Architect

    Setting Architect model (sub-agent) to a cost-efficient alias moves the AI Architect lookups off your main model while the route model still writes the answer. This reduces the cost of a request that takes several hops.

    Max hops

    Reasoning downgrade

    Step 10: Connect a coding tool

    Claude Code reports that its connectors are disabled when it runs through Governor, because the session authenticates against Governor rather than a Claude account. This message is expected. AI Architect continues to work, because Governor serves it from the server side.

    Operate the Bito Governor

    Verify the configuration

    For a wildcard alias such as claude-*, enter a concrete model that matches it, for example claude-opus-4-8.

    Set prices

    Set limits

    Setting a limit to 0 removes the cap rather than blocking the key. To stop a key entirely, disable it on the Keys page.

    Monitor usage and cost

    Dashboard

    Reports

    Measure the effect of AI Architect

    Add members

    View the audit log

    Use your own MySQL or Redis

    Run more than one replica

    Give the counter store a dedicated Redis database or instance, configured with maxmemory 0 or maxmemory-policy noeviction. Every counter carries a TTL, so an eviction policy removes them, and an evicted budget counter reads back as zero spend with no error.

    Two separate installs must never share a Redis database and key prefix. Their counters are shaped identically and would sum silently, so limits bind early and spend over-counts.

    Upgrade Governor

    Roll back

    Uninstall

    Troubleshooting

    What's next

    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

    • Select host type

      • (1) cloud

      • (2) self

    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).

    If you have enabled Confluence integration, you need to provide the following details:
    • Confluence URL (e.g. https://acme.atlassian.net):

    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.

    A region (e.g. us-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 How to test against the GitHub Copilot Bridge (VS Code) below.

    Check connectivity: kubectl cluster-info

    If you don't have a Kubernetes cluster:

    1. Select Docker Compose (option 1)

    View setup guide
    Learn more
    Learn more
    Learn more
    SSO Authentication
    Install Docker Desktop
    Kubernetes Deployment Guide
    Portkey
    support@bito.ai
    Bito Enterprise Plan
    Prerequisites section
    docker info --format 'CPUs={{.NCPU}} Mem={{.MemTotal}}'

    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.

    provider
    name
    key
    base url

    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.

    provider
    name
    key
    base url

    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.

    provider
    name
    key
    base url

    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.

    alias
    provider
    account
    model
    priority

    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.

    alias
    provider
    account
    model
    priority

    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.

    alias
    provider
    account
    model
    priority
    weight

    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.

    alias
    provider
    account
    model
    priority

    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.

    Version 3.14 or later. Helm 4 is also supported.

    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 Helm chart. Needed when you install and when you upgrade.

    • The endpoint of every LLM provider you configure. Needed whenever Governor serves traffic.

    The root password for the in-cluster MySQL database.

    ADMIN_TOKEN

    The bootstrap admin credential, used to sign in to the admin UI the first time.

    You want multiple replicas with a shared counter store.

    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

    Immediately

    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

    Your provider API key. Governor stores it envelope encrypted under the key encryption key in your cluster.

    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.

    auto-route this alias

    Adds the route, then opens auto-routing so you can say which models answer which kind of request. It starts as a dry run: every request is classified and recorded, and this route keeps answering until you turn routing on. See Auto AI model routing for more details.

    backing group (internal)

    Hides this route from your apps. They cannot ask for it by name and it does not appear in the model list, so only auto-routing can send traffic here. Use it for the models a router picks between, so nobody skips the router by asking for one directly.

    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.

    config.REDIS_ADDR, plus REDIS_TLS and REDIS_PASSWORD

    Both

    Both false

    Use values-external-db.yaml

    config.DB_USER does not match the database user.

    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 gateway 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.

    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 the Keys page.

    AI Architect responses lack system context

    The feature is disabled, scoped to a different alias, or the MCP URL is empty.

    Open the Features page 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 check Max hops per request if the request makes several AI Architect lookups.

    Repeated 429 or 5xx

    One provider account is rate limited or unavailable.

    Add a second target on the same alias to enable failover.

    Requests reach a model you did not configure for that alias

    Auto-routing is on for the alias.

    Open Routes and check the tier assignments, or click Direct to stop routing that alias.

    A check that compares the requested model to the returned model fails

    The model field in the response names the model that answered on some providers.

    Read the x-bito-routed-model response header instead, which always names the model that answered.

    Auto-routing is on but nothing is routed

    The router is in shadow, or every tier is unusable.

    Check the mode on Routes. A tier marked will not route has a model with no price, no deployment on the account, or one blocked by your routing direction.

    Every request is classified simple

    The LLM classifier is timing out, so the built-in scorer is deciding instead.

    Raise the classifier timeout, or point classifier model at a faster route alias.

    Connect a provider

    Route every model to one provider

    hub.docker.com/r/bitoai/bito-gateway-helm

    Separate production and staging spend

    Connect a model you host yourself

    Forward the caller's own key

    Route a model family to one account

    Fail over to a second provider

    Split traffic across two accounts

    Serve a request with a different model

    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