Skip to main content

onboarding-complexity

PyPI version Python 3.8+ MIT License

Estimate developer onboarding time from repository structure. Analyzes language diversity, architecture complexity, documentation gaps, dependency count, and tribal knowledge concentration to predict time-to-productivity.

Installation

pip install onboarding-complexity

Quick Start

# Analyze a repository
onboarding-complexity analyze /path/to/repo

# Compare two repositories
onboarding-complexity compare /path/to/repo1 /path/to/repo2

# Output as JSON
onboarding-complexity analyze /path/to/repo --format json

# Adjust for experience level
onboarding-complexity analyze /path/to/repo --experience-level junior

Sample Output

📊 Onboarding Complexity Analysis

Repository: my-project
Analysis Date: 2026-02-16

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
METRICS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Language Diversity:        5.2/10 (3 languages)
Architecture Complexity:   6.8/10 (depth: 5, services: 2)
Documentation Gap:         4.1/10 (README: good)
Dependency Complexity:     7.2/10 (156 total dependencies)
Knowledge Concentration:   6.5/10 (bus factor: 3)
Codebase Size:            5.9/10 (1,250 files, 45K LOC)

Overall Score:            5.9/10 (Moderate)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ONBOARDING TIME ESTIMATE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Mid-level Developer:       4-6 weeks
Junior Developer:          7-10 weeks
Senior Developer:          2-3 weeks

Recommendations:
  • Document architecture decisions in ARCHITECTURE.md
  • Increase inline code comments (current: 8%)
  • Create a CONTRIBUTING.md with setup instructions

How It Works

The onboarding-complexity analyzer examines six key dimensions of codebase complexity:

Language Diversity Score

Measures the variety of programming languages in the codebase. Multiple languages increase cognitive load for new developers.

  • Single language: 1-2/10
  • 2-3 languages: 4-6/10
  • 4+ languages: 8-10/10

Architecture Complexity

Evaluates directory depth, number of services/modules, and configuration complexity.

  • Simple flat structure: 1-2/10
  • Typical monolith: 4-6/10
  • Microservices/complex: 8-10/10

Documentation Gap

Analyzes README quality, API documentation, inline comments, and architecture documentation.

  • Excellent docs: 1-2/10
  • Some gaps: 4-6/10
  • Minimal docs: 8-10/10

Dependency Complexity

Counts total dependencies, internal/custom packages, and framework count.

  • <50 deps: 1-3/10
  • 50-200 deps: 4-6/10
  • 200+ deps: 7-10/10

Knowledge Concentration

Estimates "bus factor" - how many key contributors know critical systems.

  • Well distributed: 1-2/10
  • Some concentration: 4-6/10
  • Highly concentrated: 8-10/10

Codebase Size

Total files, lines of code, and growth rate impact onboarding time.

  • <10K LOC: 1-2/10
  • 10K-100K LOC: 4-6/10
  • 100K+ LOC: 8-10/10

Configuration

Create a .onboarding.yml in your repository root to customize analysis:

ignore_patterns:
  - node_modules
  - .git
  - vendor

documentation_paths:
  - README.md
  - docs/
  - ARCHITECTURE.md

language_weights:
  python: 1.0
  javascript: 1.0
  rust: 1.5
  go: 0.9

Attribution

Built by Glue — AI codebase intelligence for product teams. For real-time onboarding assistance including natural language codebase Q&A and auto-generated feature documentation, check out Glue.

License

MIT License - See LICENSE file for details

Metadata

Release files for onboarding-complexity 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for onboarding-complexity 1.0.0
File Size Uploaded
onboarding_complexity-1.0.0.tar.gz 14.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for onboarding-complexity 1.0.0
File Interpreter ABI Platform
onboarding_complexity-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 29.1 kB

Release files / onboarding_complexity-1.0.0.tar.gz

Download URL onboarding_complexity-1.0.0.tar.gz
Size 14.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1f47e8b32293464e9d9d7023c462d1dc6dc802f8fc58a8a3fb2bfc8cb8748f0b
BLAKE2b-256 checksum
How to use checksums
bbc292d3ad04cac6f6bb5e6516a4b782ce4ad20d1f1ac0a9bfd68195d95ba6c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / onboarding_complexity-1.0.0-py3-none-any.whl

Download URL onboarding_complexity-1.0.0-py3-none-any.whl
Size 14.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f20dace2b7b3435a820a0cdd6e20b4e5e57b95249e5c90a06967c0af48315c62
BLAKE2b-256 checksum
How to use checksums
fa215060f17627cd927b1d913b60fb1be016c5662159c3ea6b20b34863905c9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page