Devlog Documentation

AI-powered development log generator for git repositories

View the Project on GitHub ananno/devlog

Features

Devlog offers a comprehensive set of features designed for modern software development workflows while prioritizing privacy and security.


Core Features

Smart Commit Parsing

Conventional Commits Support

Heuristic Fallback

Unit-Based Processing

Devlog introduces a revolutionary approach by organizing commits into logical “units”:

Unit Types:

  1. [PR] Pull Request Commits
    • Groups consecutive commits with same PR reference
    • Consolidates squash commits
    • Shows PR links and numbers
    • Example: Multiple commits in PR#123 → Single unit with combined analysis
  2. [Merge] Merge Commits
    • Analyzes incoming branch using M^1..M^2 range
    • Consolidates all commits from feature branch
    • Rolls up statistics and summaries
    • Treats merge as atomic unit of work
  3. [Direct] Direct Commits
    • Groups related direct commits to main branch
    • Uses temporal proximity and file overlap heuristics
    • Segments by author and timeframe
    • Filters noise while preserving context
  4. [Tag] Tag Milestones
    • Detects both annotated and lightweight tags
    • Distinguishes release tags (v1.2.3) from general tags
    • Generates release summaries
    • Interleaves chronologically with commits

Multiple Output Formats

Markdown (Default)

JSON

Flexible Filtering Options

By Version Range

# Between two tags
devlog --from v1.0.0 --to v2.0.0

# From tag to HEAD
devlog --from v1.0.0 --to HEAD

By Commit Range

# Last N commits
devlog --limit 50

# Specific commit range
devlog --from abc1234 --to def5678

By Date Range

# Coming soon: date-based filtering

Minor Commit Filtering


AI-Powered Features

Multiple LLM Providers

Local LLMs (Recommended)

  1. Ollama
    • Easy installation and setup
    • Multiple model support (llama3.2, mistral, etc.)
    • Automatic model download
    • No API keys required
  2. llama.cpp
    • Maximum performance
    • Custom model support
    • GGUF format compatibility
    • Complete offline operation

Cloud LLMs (Optional)

  1. OpenAI (GPT-4)
    • Highest quality summaries
    • Fast processing
    • Requires API key
    • Cost per request
  2. Anthropic (Claude)
    • Excellent code understanding
    • Long context support
    • Requires API key
    • Cost per request

Privacy-First Architecture

Three Privacy Levels:

  1. Strict Mode (Default for cloud)
    • Removes all PII (emails, URLs, paths)
    • Sanitizes ticket IDs
    • Redacts sensitive patterns
    • Maximum privacy protection
  2. Moderate Mode
    • Keeps file paths intact
    • Removes emails and URLs
    • Balances utility and privacy
    • Suitable for internal tools
  3. Relaxed Mode (Local only)
    • No sanitization
    • Full context for AI
    • Only available with local LLMs
    • Best analysis quality

Privacy Guarantees:

Diff Analysis Mode

What It Does:

How It Works:

  1. Extracts diff for each commit vs. parent
  2. Analyzes diff content with local LLM
  3. Categorizes changes by area and impact
  4. Consolidates unit-level summaries
  5. Filters noise and minor changes

Output Structure:

- [PR] Feature name (date)
  PR: #123
  • What changed: High-level description
  • Summary:
    - Detailed bullet point 1
    - Detailed bullet point 2
    - Detailed bullet point 3
  • Impact: Moderate
  • Files: 5 files, +234/-67 lines

Requirements:

Feature Grouping

Automatic Feature Detection:

Output Format:

======================================================================
Feature Change Log: v1.0.0 → v1.1.0
======================================================================

### User Authentication
**Summary:**
- Implemented JWT-based authentication
- Added login and logout endpoints
- Middleware for protected routes

**PRs:**
- [#123](url) Add user authentication system

**Commits:**
- [abc1234](url) Refactor authentication middleware

### Dashboard Feature
**Summary:**
- Created dashboard layout components
- Integrated analytics API

**PRs:**
- [#125](url), [#126](url) Feature/dashboard integration
======================================================================

Use Cases:


Developer Experience

Progress Indicators

8-Stage Processing Pipeline:

  1. Stage 0: Preflight - Privacy checks, LLM availability
  2. Stage 1: Collection - Gathering commits and tags
  3. Stage 2: Unit Formation - Classifying and grouping
  4. Stage 3: Diff Extraction - Extracting code changes
  5. Stage 4: Analysis - AI analyzing each unit
  6. Stage 5: Feature Grouping - Organizing by features
  7. Stage 6: Filtering - Applying noise filters
  8. Stage 7: Rendering - Generating output

Visual Feedback:

Conventional Commits Integration

Supported Types:

Breaking Changes:

feat!: remove deprecated API endpoint
feat(api)!: change response format

fix: correct token validation

BREAKING CHANGE: API v1 endpoints removed

Grouping & Organization

By Commit Type:

devlog --group

Groups commits into sections: Features, Bug Fixes, Documentation, etc.

Chronological:

devlog

Lists commits in time order with unit badges.

By Feature:

devlog --diff-analysis --group-features --llm ollama

Groups related work into logical features.

Author Attribution

devlog --authors

Includes commit author information in output:

- feat(auth): add JWT support [abc1234] (John Doe)

Security Features

Secret Detection Prevention

Data Sanitization

Automatic Redaction:

Pattern Detection:

Audit Trail


Integration Features

Git Hosting Support

GitHub Integration:

GitLab Integration:

CI/CD Compatibility

Automated Changelog Generation:

# In GitHub Actions or GitLab CI
- name: Generate changelog
  run: |
    devlog --from $ --to HEAD \
           --output CHANGELOG.md \
           --no-consent-prompt

No Interactive Prompts:

devlog --no-consent-prompt

Skip user confirmation for CI/CD environments.

Exit Codes:


Configuration

Environment Variables

# LLM API Keys
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."

# Logging
export DEVLOG_LOG_LEVEL="info"  # trace, debug, info, warn, error
export RUST_LOG="devlog=debug"

# Privacy enforcement
export DEVLOG_PRIVACY_MODE="strict"

Configuration File Support

Coming soon: .devlogrc or devlog.toml for project-specific settings.


Performance

Optimization Features

Benchmarks


Roadmap

Planned features (see GitHub Issues):


← Back to Home Next: Getting Started →