Architectural Decision Records https://adr.bitwarden.com
  • HTML 47.3%
  • Dockerfile 22.4%
  • Ruby 17%
  • SCSS 13.3%
Find a file
2022-10-04 10:43:01 +02:00
.github Run the pre-commit hook (#12) 2022-07-12 19:25:43 +02:00
_layouts Jekyll fixes (#19) 2022-07-26 16:19:00 +02:00
_sass/custom Jekyll fixes (#19) 2022-07-26 16:19:00 +02:00
decisions Add types to ADR 12 (#27) 2022-10-04 10:43:01 +02:00
.editorconfig Create ADR for filename and layered folders (#23) 2022-08-25 18:27:58 +02:00
.gitignore Add jekyll (#18) 2022-07-25 22:27:02 +02:00
.pre-commit-config.yaml Add prettier pre-commit hook (#7) 2022-06-28 10:12:47 +02:00
.prettierrc.json Add prettier pre-commit hook (#7) 2022-06-28 10:12:47 +02:00
_config.yml Jekyll fixes (#19) 2022-07-26 16:19:00 +02:00
_config_dev.yml Add jekyll (#18) 2022-07-25 22:27:02 +02:00
adr.template.md Update the template with yaml front matter (#25) 2022-09-08 10:37:06 +02:00
docker-compose.yml Jekyll fixes (#19) 2022-07-26 16:19:00 +02:00
Dockerfile Add jekyll (#18) 2022-07-25 22:27:02 +02:00
Gemfile Add jekyll (#18) 2022-07-25 22:27:02 +02:00
Gemfile.lock Add jekyll (#18) 2022-07-25 22:27:02 +02:00
README.md Simplify the ADR titles, add tags (#21) 2022-08-01 21:51:23 +02:00

nav_order title
1 Bitwarden ADRs

Bitwarden Architectural Decision Records

You may browse the ADRs in a more readable format at https://adr.bitwarden.com.

An Architectural Decision (AD) is a software design choice that addresses a functional or non-functional requirement that is architecturally significant. This might, for instance, be a technology choice (e.g., Java vs. JavaScript), a choice of the IDE (e.g., IntelliJ vs. Eclipse IDE), a choice between a library (e.g., SLF4J vs java.util.logging), or a decision on features (e.g., infinite undo vs. limited undo).

@Bitwarden

The goal of introducing Architectural Decisions (AD) in the engineering team at Bitwarden is to steer development towards a maintainable and expandable code base. While at the same time striving for uniformity across all pods.

The AD will also serve as a base for proposing and planning technical debt.

Status definition

  • In progress - ADR is ratified and we are in progress of adopting it across the project(s).
  • Standard - ADR is implemented and assumed to be standard.
  • Abandoned - ADR is abandoned, and/or replaced by another ADR.

Tags

Please ensure each ADR contains a tag marking which projects they apply to (clients, mobile and/or server). Feel free to create more tags should the need arise.

Process

While the process was originally created primarily for leads to discuss architectural decisions, it's important to us to keep the process open to suggestions from anyone. To that end, anyone is free to open a PR suggesting an AD. The suggestions will then be discussed to reach a general consensus between the leads before being adopted.

Pre-commit

This repository uses pre-commit to enforce style guidelines. Please set up pre-commit prior to contributing.

  • Install pre-commit using your favorite package manager
    • Don't forget to run pre-commit install after installing pre-commit to set up the git hooks

Jekyll

# Setup bundle
docker compose run jekyll bundle install

# Start dockerized Jekyll
docker compose up