OpsCanary
platform engidpPractitioner

Mastering Architecture Decisions in Backstage: A Practical Guide

5 min read Backstage DocsApr 28, 2026
Share
PractitionerHands-on experience recommended

In any software project, clear documentation of architecture decisions is vital. It helps teams understand the rationale behind choices made throughout the project's lifecycle. Backstage addresses this by providing a structured way to record architecture decisions, ensuring that nothing gets lost in the shuffle. This approach not only preserves history but also aids in onboarding new team members who need to grasp the project's evolution quickly.

The mechanism is straightforward: you store your architecture decision records (ADRs) in the architecture-decisions directory. Instead of deleting outdated decisions, you mark them as superseded or deprecated. This keeps your decision-making history intact. For example, you can create a new decision file using a descriptive name without assigning an ADR number, like so:

docs/architecture-decisions/adr000-my-decision.md

Additionally, to integrate these decisions into your documentation, you simply add the ADR path to your mkdocs.yml and merge the pull request. This ensures that your architectural decisions are easily accessible and well-documented.

In production, the key is consistency. Always use descriptive names for your decision files and ensure they are stored correctly. This practice not only helps with clarity but also facilitates easier navigation through your architectural history. Remember, the goal is to create a living document that reflects your project's evolution and decision-making process, so keep it updated and relevant.

Key takeaways

  • Store architecture decisions in the `architecture-decisions` directory.
  • Mark records as superseded instead of deleting them to maintain history.
  • Use descriptive names for decision files without assigning ADR numbers.
  • Integrate ADRs into documentation by adding paths to `mkdocs.yml`.

Why it matters

Maintaining a clear history of architectural decisions prevents confusion and miscommunication within teams, especially as projects scale and evolve. It enhances onboarding and decision-making processes.

Code examples

markdown
1```
2docs/architecture-decisions/adr000-template.md
3```
4docs/architecture-decisions/adr000-my-decision.md
5```
6(my-decision should be descriptive. Do not assign an ADR number.)
markdown
1```
2sidebars.ts
3```
4Add the path of the ADR to the
5mkdocs.yml
6Merge the pull request

When NOT to use this

The official docs don't call out specific anti-patterns here. Use your judgment based on your scale and requirements.

Want the complete reference?

Read official docs

Test what you just learned

Quiz questions written from this article

Take the quiz →

Get the daily digest

One email. 5 articles. Every morning.

No spam. Unsubscribe anytime.