Assign Bismuth to a Jira ticket or mention it on a GitHub issue and it will produce a quality PR that fixes bugs or implements a feature in minutes.
We run your tests, apply static analysis and leverage techniques like fuzzing to ensure a top quality code artifact.
Bismuth works best on Python and JavaScript (TypeScript) code bases. While we do support most languages, we are still in the process of ramping up analysis for languages like Go, Rust and Java.
Bismuth helps ship more features and prevent more bugs and security issues so your team can go further and with the confidence there is a safety net.
Every team has a bunch of features and tweaks customers have been asking for but are left behind because of limited bandwidth and competing priorities.
Bismuth acts as a second line of defense against bugs and security vulnerabilities that can cause financial harm and reputational damage. We reduce the time your developers spend fixing bugs and let them keep their focus on features.
Review and approve all changes before they're merged. Bismuth creates clean, atomic commits as part of pull requests with detailed messages explaining what changed and why.
Bismuth can help you ship features and fix issues. It will create a PR like anybody else would.
Bismuth only steps in to comment on a review if there are clear logical or security concerns given the context of the work.
Bismuth is always checking your code base for new issues and will open pull requests to fix them when it finds them.
Extend Bismuth's capabilities to fit your specific workflow. Our SDK lets you create custom integrations, automate complex processes, and embed Bismuth's intelligence directly into your development tools.
// npm install bismuthsdk
// Importing a repository
import { BismuthClient, applyDiff } from "bismuthsdk";
const api = new BismuthClient({
apiKey: process.env.BISMUTH_API_KEY,
});
// Given a local repository, loadProject will import and upload code to Bismuth as necessary
// This enables Bismuth to analyze, test, and search your code during codegen
const project = await api.loadProject(repoDir);
// Search the repository for a specific query
const results = await project.getBranch("main").search("query", 3);
// Generate changes for a branch
const diff = await branch.generate("change test.py to say goodbye world", {
localChanges: {}, // path -> contents for locally modified files
startLocations: undefined, // Optional list of Location objects for the agent to start from
session: undefined, // Optional session name to preserve messages and context between generate() calls
});
console.log(diff);
// Apply the changes to the local repository
await applyDiff(exampleDir, diff);
Bismuth is quick to install and get started with, just follow the steps below.