Skip to main content

Architecture Decision Records (ADR)

This directory contains Architecture Decision Records (ADRs) for the project. ADRs are used to document important architectural decisions along with their context and consequences.

What is an ADR?

An Architecture Decision Record is a document that captures an important architectural decision made along with its context and consequences. Each ADR should be in a single file named using the format:

NNNN-option1-vs-option2.md

Where:

  • NNNN is a sequential number starting from 0001
  • option1 and option2 represent the alternatives being considered
  • Use "vs" to separate the options being compared

Examples:

  • 0001-openwebui-vs-librechat-distribution.md
  • 0002-postgres-vs-mongodb.md
  • 0003-rest-vs-graphql.md

ADR Format

Each ADR should follow this format:

# NNNN. Option1 vs Option2

Date: YYYY-MM-DD
Status: [Proposed | Accepted | Deprecated | Superseded]
Deciders: [list of people involved in the decision]

## Context

What is the issue that we're seeing that is motivating this decision or change?

## Decision

What is the change that we're proposing and/or doing?

## Consequences

What becomes easier or more difficult to do because of this change?

## References

- Links to relevant docs, PRs, issues

ADR Statuses

  • Proposed: The ADR is under discussion
  • Accepted: The ADR has been accepted and implemented
  • Deprecated: The ADR is no longer relevant
  • Superseded: The ADR has been replaced by a newer decision

Creating a New ADR

  1. Create a new file in this directory using the next available number and the "X vs Y" format
  2. Use the template format above
  3. Fill in all sections with clear, concise information
  4. Submit for review through normal PR process

Current ADRs