| sidebar_position | 1 |
|---|
:::warning Operating system assumptions
The tooling recommendations and instructions in this documentation assume that you’re using macOS. This may require some adaptation if you’re using a different operating system.
:::
The following tools make up the standard Bitwarden developer setup and should be installed as part of your local development environment.
- Visual Studio Code - used for all Typescript projects. Suboptimal for C#. Be sure to install extensions
- JetBrains Rider - fully featured IDE for C#, .NET & more. Bitwarden developers should contact IT for a license
- Xcode - required for iOS Mobile development and Safari web extension
- Homebrew - package manager for macOS
- Iterm2 (available via Homebrew) - a better terminal emulator
- Various browsers - It’s nice to have a slew of browsers ready to test the extension in a host of scenarios. You can also use multiple browsers to have different browser extension version installed to compare them.
- Docker - required for server development only
- .NET SDK - required for server and other backend development environments
- PowerShell
(available via Homebrew:
brew install powershell) - NodeJS v22 (preferably using a node version manager)
- NPM v10 (included with Node)
- Rust latest stable version - (preferably installed via rustup)
- Git
- Commit signing is strongly recommended
- Android Studio - Nice for setting up and running Android Simulators
- adb - for interacting with Android sims
- Apple Icons Generator Gist - Script to generate Apple icons from an image
- MSSQL VSCode Extension for working with your local SQL Server
- PgAdmin4 - Useful for fiddling with PostgreSQL db
- MySQLWorkbench - Useful for fiddling with MySQL db
- SQLiteStudio - Useful for fiddling with SQLite db
There are some vs code extensions that are life-savers in our line of work. A list of highly recommended ones include the following:
- General
- Back & Forth - Adds forward and back buttons to top right of your editor. Simple, but incredibly useful.
- Code Spell Checker -
can be annoying, but has saved me lots of
tmes form writting oragnizations. - LiveShare - For pair programming
- C#
- C# - Omnisharp integrations
- .NET Core Test Explorer - Test explorer for .NET tests
- .NET Core User Secrets - Edit secrets files by right clicking on a .proj and selecting edit user -secrets
- Git
- Git Graph - fantastic git visualization tool
- Git History - More Git history
- Git Lens - Even more Git options
- Typescript / Angular
- Angular Language Service - Understands Angular templates
- Jest - Jest test runner
- Prettier - integrate with prettier code formatting
- ESLint - Integrations for ESLint
- Nx Console - UI over the Nx CLI
- Rust
- rust-analyzer - Great rust language server
- Even Better TOML - for handling TOML (cargo config)
- CodeLLDB - for rust debugging
- Databases
- MySQL Syntax - syntax highlighting for MySQL
- PostgreSQL - syntax highlighting for PostgreSQL
:::tip
To learn more about how we use AI tools at Bitwarden, see our AI documentation. This page specifies how to configure AI tooling for development.
:::
We use Claude Code as our primary AI tool for development workflows.
Follow the installation instructions here. When prompted, sign into the Anthropic Console via SSO and authenticate your local client.
We also recommend integrating Claude Code into your IDE. See VS Code for setup instructions.
We recommend that you start with common workflows and best practices from Anthropic for learning how to start using Claude for development.
Bitwarden maintains a curated set of AI plugins designed for our development workflows in our marketplace.
See the README in
the ai-plugins repo for installation and setup instructions.
The following tools may be useful depending on your preferences or what you’re developing.
- Microsoft Azure Storage Explorer - for connecting to or working with local Azure table storage and queues
- Parallels - For running Windows VMs
- Sourcetree - Git GUI. Note: For the git hooks to behave correctly on macOS when using nvm, please follow these instructions.