Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

init

Initialize a new ADR repository.

Usage

adrs init [OPTIONS] [DIRECTORY]

Arguments

ArgumentDescription
[DIRECTORY]ADR directory path (default: doc/adr)

Options

OptionDescription
--ngUse NextGen mode (YAML frontmatter)
-C, --cwd <DIR>Working directory
-h, --helpPrint help

Description

The init command creates:

  1. A .adr-dir file in the current directory containing the ADR directory path
  2. The ADR directory (creates parent directories if needed)
  3. An initial ADR: 0001-record-architecture-decisions.md

Examples

Basic Initialization

adrs init

Creates:

.adr-dir          # Contains "doc/adr"
doc/
  adr/
    0001-record-architecture-decisions.md

Custom Directory

adrs init decisions

Creates:

.adr-dir          # Contains "decisions"
decisions/
  0001-record-architecture-decisions.md

Nested Directory

adrs init docs/architecture/decisions

Creates the full directory path.

NextGen Mode

adrs init --ng

Creates the initial ADR with YAML frontmatter:

---
status: accepted
date: 2024-01-15
---

# Record Architecture Decisions

...

Error Handling

If the repository is already initialized (.adr-dir exists), the command will fail:

Error: ADR repository already initialized

To reinitialize, remove the .adr-dir file first.

  • config - Show current configuration
  • new - Create additional ADRs