Command Palette

Search for a command to run...

Arbtr

Command Palette

Search for a command to run...

Scan from Codebase

Feature

Let AI analyze your connected Git repository to discover existing architectural decisions hiding in your codebase.

Overview

Every codebase contains architectural decisions - framework choices, database selections, testing strategies - but they're often undocumented. The "Scan from Codebase" feature analyzes your repository to surface these decisions automatically.

Instead of manually creating records for decisions that were made months or years ago, let AI extract them from your package.json, config files, and project structure.

Prerequisites

To use this feature, you need a Git integration configured for your team:

  • GitHub - via GitHub App
  • GitLab - via OAuth (gitlab.com or self-hosted)
  • Bitbucket - via OAuth

See Git Providers for setup instructions.

How It Works

1. Stack Detection

AI scans your repository for configuration files (package.json, composer.json, requirements.txt, etc.) and builds a profile of your tech stack - languages, frameworks, databases, and tools.

2. Decision Extraction

Based on the detected stack, AI identifies architectural decisions with evidence. Each decision includes context, the winning position, and snippets from your codebase proving the decision was made.

3. Swipe Review

Review discovered decisions one-by-one with a Tinder-style interface. Accept decisions to create records, reject irrelevant ones, or skip to come back later.

4. Missed Suggestions

After reviewing detected decisions, AI suggests decisions you might be missing based on your stack - common decisions teams often forget to document.

What Gets Detected

The scanner looks for evidence of decisions in these categories:

Frameworks & Libraries

React vs Vue, Express vs Fastify, Laravel vs Symfony - major framework choices with version evidence.

Databases

PostgreSQL vs MySQL, MongoDB vs DynamoDB, Redis caching - detected from drivers and ORM configurations.

Testing Strategy

Jest vs Vitest, Playwright vs Cypress, testing conventions and coverage requirements.

Infrastructure

Docker configurations, CI/CD pipelines, deployment targets, environment management patterns.

Code Style

ESLint/Prettier configurations, TypeScript strictness, formatting rules, linting standards.

Architecture Patterns

Monorepo structure, module boundaries, state management patterns, API design choices.

Supported Stacks

The scanner has profiles for these technology stacks:

JavaScript/TypeScript
Python
Go
Rust
PHP
Java/Kotlin

The AI can also detect patterns in unlisted stacks, though results may be less comprehensive.

Using the Feature

  1. Click "New Decision" in the header or empty state page
  2. Select "Scan from Codebase" (only visible if you have a Git integration)
  3. Select a repository to scan
  4. Wait for stack detection and decision extraction (typically 30-60 seconds)
  5. Review each candidate:
    • Accept - Create a decision record
    • Reject - Skip this detection (not relevant)
    • Skip - Come back later
  6. Optionally select from suggested missed decisions
  7. Click "Create Decisions" to finish
tip
Accepted decisions are created with "Approved" status since they represent existing choices. The evidence from your codebase is saved as source content.

Best Practices

Scan each repository once

The feature is designed for initial onboarding. Running it multiple times on the same repo will produce duplicate candidates. Scan once, then use other methods (Spark, Magic Paste) for new decisions.

Review carefully before accepting

AI extractions aren't perfect. Some "decisions" may be defaults you never explicitly chose. Only accept decisions that represent real, intentional choices your team made.

Add relationships after

After scanning, visit the Graph to connect related decisions. The scanner doesn't detect relationships - that's up to you.

    Scan from Codebase | Arbtr Docs