onboarding-complexity
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)
| File | Size | Uploaded | |
|---|---|---|---|
| onboarding_complexity-1.0.0.tar.gz | 14.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|