Skip to content

YotpoLtd/cADR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

cADR - Continuous Architectural Decision Records

Test npm version License: MIT

Automatically capture and document architectural decisions as you code.

Stop losing track of important architectural decisions. cADR analyzes your code changes with LLMs and generates comprehensive ADRs automatically, keeping your documentation in sync with your code.

✨ Why cADR?

  • Never miss a decision: Automatically detects architecturally significant changes
  • Stay in flow: Works with your existing Git workflow, never blocks commits
  • AI-powered documentation: Generates comprehensive ADRs in MADR format
  • Smart and fast: Analyzes only what matters with configurable ignore patterns

πŸš€ Quick Start

Get cADR running in under 2 minutes:

# Install
npm install -g cadr-cli

# Set your API key (choose one)
export OPENAI_API_KEY="sk-your-api-key-here"
# OR
export GEMINI_API_KEY="your-api-key-here"

# Navigate to your Git repository
cd /path/to/your/repo

# Initialize configuration
cadr init

# Make some changes, then analyze
cadr analyze

β†’ Full Quick Start Guide with Examples

🎯 Key Features

  • πŸ€– LLM-Powered Analysis - OpenAI and Gemini integration to detect architecturally significant changes
  • πŸ“ Automated ADR Generation - Generates comprehensive Markdown ADRs following the MADR template format
  • ⚑ Git Integration - Analyzes staged changes, uncommitted changes, or commit ranges

πŸ“š Documentation

For Users

For Contributors

πŸ“¦ Installation

Quick Install

npm install -g cadr-cli

Verify Installation

cadr --version
# Output: cADR version 0.0.1 (core: 0.0.1)

For more installation options and configuration, see the Usage Guide.

πŸ”§ Configuration

cADR is configured via cadr.yaml in your project root. Run cadr init to create it interactively, or create it manually:

provider: openai
analysis_model: gpt-4
api_key_env: OPENAI_API_KEY
timeout_seconds: 15
ignore_patterns:
  - node_modules/**
  - "*.test.ts"
  - dist/**

Supported Providers:

  • OpenAI: All OpenAI chat models
  • Gemini: All Google Gemini models

Specify any model name supported by your chosen provider. See the Usage Guide for all configuration options.

πŸ—οΈ What Gets Generated?

When cADR detects an architecturally significant change, it generates a comprehensive ADR including:

  • Context and Problem Statement - Why the decision was needed
  • Decision Drivers - Key factors influencing the choice
  • Considered Options - Alternative approaches evaluated
  • Decision Outcome - The chosen approach and detailed rationale
  • Consequences - Both positive and negative impacts

Generated ADRs follow the MADR (Markdown Architectural Decision Records) format with sequential numbering.

πŸ“– Learn More About ADR Generation β†’

🀝 Contributing

We welcome contributions! Whether you're fixing bugs, adding features, or improving documentation:

  1. Read the Contributing Guide
  2. Set up your Development Environment
  3. Check out the Testing Guide
  4. Submit a Pull Request

πŸ†˜ Support & Community

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Quick Start β€’ Usage Guide β€’ Contributing β€’ Development

Made with ❀️ by the cADR team

About

πŸ€– AI-powered ADR generation - Automatically capture and document architectural decisions as you code

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •