Estimate developer onboarding time from repository structure
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file onboarding_complexity-1.0.0.tar.gz.
File metadata
- Download URL: onboarding_complexity-1.0.0.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f47e8b32293464e9d9d7023c462d1dc6dc802f8fc58a8a3fb2bfc8cb8748f0b
|
|
| MD5 |
d5cdb3a1b63641e9cd7320f88a2898e7
|
|
| BLAKE2b-256 |
bbc292d3ad04cac6f6bb5e6516a4b782ce4ad20d1f1ac0a9bfd68195d95ba6c1
|
File details
Details for the file onboarding_complexity-1.0.0-py3-none-any.whl.
File metadata
- Download URL: onboarding_complexity-1.0.0-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f20dace2b7b3435a820a0cdd6e20b4e5e57b95249e5c90a06967c0af48315c62
|
|
| MD5 |
e22ac0c087ee048ae364079158c7f6ad
|
|
| BLAKE2b-256 |
fa215060f17627cd927b1d913b60fb1be016c5662159c3ea6b20b34863905c9c
|