Tallyman

What is Tallyman?

Tallyman is a command-line utility that categorizes and analyzes codebases by language and file type. Rather than simply counting lines of code, it reveals the shape of your project by organizing results into meaningful categories.

Features

  • Dual line counting — total lines and “effective” lines (excluding comments and blanks)
  • Six-category classification — Code, DevOps, Design, Docs, Specs, and Data
  • 40+ languages supported including Python, JavaScript, Go, Rust, and more
  • Gitignore-aware file filtering so you only measure what matters
  • PNG image export for sharing project statistics
  • Persistent configuration via .tally-config.toml
  • Spec-aware — automatically detects specification directories (specs/, plans/, agents/) and reclassifies docs found there as specifications, useful for AI-assisted development workflows

Installation

uv tool install tallyman-metrics
# or
pip install tallyman-metrics

Requires Python 3.14 or later.

Usage

tallyman                  # Analyze current directory
tallyman /path/to/project # Analyze a specific project
tallyman --setup          # Interactive configuration
tallyman --image          # Generate a dark-themed PNG card
tallyman --image-light    # Generate a light-themed PNG card

How It Works

Tallyman walks your directory structure (respecting .gitignore patterns), identifies languages via file extensions, counts and classifies lines, aggregates results by language and category, then displays formatted output with a colored composition bar.