Skip to content

Commit

Permalink
Add an ADR tracking framework (#11)
Browse files Browse the repository at this point in the history
  • Loading branch information
mikealfare authored Jan 9, 2024
1 parent 8a0cdde commit 9747610
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -157,4 +157,4 @@ cython_debug/
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
#.idea/
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]
Copyright 2024 dbt Labs, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
15 changes: 15 additions & 0 deletions docs/arch/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Architectural Design Records (ADRs)

For any architectural/engineering decisions we make, we will create an ADR (Architectural Design Record) to keep track of what decision we made and why. This allows us to refer back to decisions in the future and see if the reasons we made a choice still holds true. This also allows for others to more easily understand the code. ADRs will follow this process:

- They will live in the repo, under a directory `docs/arch`
- They will be written in markdown
- They will follow the naming convention `adr-NNNN-<decision-title>.md`
- `NNNN` will just be a counter starting at `0001` and will allow us easily keep the records in chronological order.
- The common sections that each ADR should have are:
- Title
- Context
- Options
- Decision
- Consequences
- Use this article as a reference: [https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions)
Empty file added docs/arch/images/.gitkeep
Empty file.
33 changes: 33 additions & 0 deletions docs/arch/templates/default.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# { Title }

## Context

{ A brief problem statement. Why do we need to make this decision? }

## Options

- { Option 1 }
- ...

### { Option 1 }

#### Pro's

- { Pro 1 }
- ...

#### Con's

- { Con 1 }
- ...

## Decision

#### Selected: { Option x }

{ Justification }

## Consequences

- [+] { Positive consequence }
- [-] { Negative consequence }

0 comments on commit 9747610

Please sign in to comment.