Releases: modern-tooling/aloc
Releases · modern-tooling/aloc
v0.5.1
What's Changed
Added
- Mobile/native directory exclusions for React Native and iOS/Android projects
Pods- CocoaPods dependencies (iOS)xcuserdata,DerivedData- Xcode build artifactsCarthage- Carthage dependencies (iOS).cxx,.kotlin- Android native build caches.expo- Expo cache.bundle- Ruby bundler (used by CocoaPods)
This fixes inflated LOC counts for React Native projects where CocoaPods alone can add 1000+ C/C++/ObjC dependency files.
Installation
Homebrew (macOS/Linux)
brew install modern-tooling/tap/alocGo Install
go install github.com/modern-tooling/aloc/cmd/aloc@v0.5.1Direct Download
Download the binary for your platform below.
v0.5.0
v0.4.0
Effort Profile System with FAANG Default
This release introduces a profile-based effort estimation system calibrated for modern high-performing engineering teams.
Highlights
-
FAANG profile (default): Calibrated to 80 LOC/day based on Smacchia's 14-year productivity study
- COCOMO organic coefficient:
a=0.43(vs2.4in 1981) - Results in ~5-6x more realistic estimates for modern teams
- COCOMO organic coefficient:
-
For a 122K LOC codebase:
Metric 1981 COCOMO FAANG Profile Schedule ~25 months 12-14 months Team ~15 engineers 5-6 engineers
New Features
--profileflag for selecting estimation profiles (default:faang)- Configurable COCOMO coefficients, skill bands, token params via
--model-config - Blended cost calculation based on team composition by size tier
- AI leverage multipliers by skill level (Principal+ engineers modeled with higher leverage)
- Effective capacity display in TUI output
Documentation
- Added
docs/engineering-cost-methodology.mdwith full derivation and research references - Updated
docs/ai-cost-model.mdwith profiles section
See CHANGELOG.md for full details.
v0.3.0
v0.2.0
What's New
--git Codebase Dynamics Analysis
Adds optional git history analysis to surface codebase dynamics that affect real-world effort estimation.
Features:
- Churn Concentration: hotspot detection (% files → % edits)
- Stable Core: untouched LOC in 18+ months
- Volatile Surface: LOC changed 5+ times
- Rewrite Pressure: replace/delete ratios
- Ownership Concentration: bus factor risk
- Parallelism Signal: team activity patterns
Visual Design (Tufte-inspired):
- Sparklines shown first (evidence before interpretation)
- Role-based coloring (core/test/infra)
- Adaptive width (min 16, max 60 chars)
- Effort direction icons (▲ positive, ▼ negative, ● neutral)
Integration:
- Git adjustments inline in effort models
- Signals grouped by category with intuitive hints
Usage:
aloc . # shows hint if .git detected
aloc . --git # full dynamics analysis
aloc . --git-months=12 # custom history windowInstallation
go install github.com/modern-tooling/aloc/cmd/aloc@v0.2.0Or download a binary below.
v0.1.2
v0.1.1
v0.1.0
aloc v0.1.0
Initial release of aloc - a semantic LOC counter that classifies code by role.
Features
- Semantic Classification - Classifies files as prod, test, infra, docs, config, generated, vendor, scripts, examples, or deprecated
- Language Breakdown - LOC by language grouped by category (Primary, DevOps, Data, Documentation)
- Embedded Code Detection - Detects code blocks in Markdown files
- Health Ratios - Visual gauges for test/prod, docs/prod, comment/code ratios
- Effort Estimates - Two delivery models:
- Market Replacement (Conventional Team) - COCOMO-based
- AI-Native Team (Agentic/Parallel) - AI-assisted workflows
- Multiple Output Formats - TUI (default) and JSON
- Fast Scanning - Optimized for large monorepos
Installation
go install github.com/rgehrsern/aloc/cmd/aloc@v0.1.0