Metadata-Version: 2.4
Name: dev-dna
Version: 0.1.0
Summary: 23andMe for developers — analyze any GitHub user's developer DNA
Author: dev-dna contributors
License: MIT
Project-URL: Homepage, https://github.com/lakshmisravyavedantham/dev-dna
Project-URL: Repository, https://github.com/lakshmisravyavedantham/dev-dna
Project-URL: Issues, https://github.com/lakshmisravyavedantham/dev-dna/issues
Keywords: github,developer,analytics,cli,profile
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0
Requires-Dist: rich>=13.0
Dynamic: license-file

# dev-dna

**23andMe for developers.** Point it at any GitHub username and get a rich terminal report of their Developer DNA — dominant languages, evolution over time, commit personality archetype, specialization vs. generalist score, star power, and a shareable summary.

## Install

```bash
pip install dev-dna
```

Or install from source:

```bash
git clone https://github.com/lakshmisravyavedantham/dev-dna
cd dev-dna
pip install -e .
```

## Usage

```bash
# Analyze any public GitHub profile
dev-dna torvalds

# Output raw JSON
dev-dna torvalds --json

# Pass a GitHub token for higher rate limits (60 → 5000 req/hr)
dev-dna torvalds --token ghp_xxx
# or set the env var:
export GITHUB_TOKEN=ghp_xxx
dev-dna torvalds

# Compare two developers side-by-side
dev-dna gvanrossum --compare torvalds
```

## Sample Output

```
╔══════════════════════════════════════════════════════════╗
║              DEV DNA ANALYSIS                            ║
║              github.com/lakshmisravyavedantham           ║
╚══════════════════════════════════════════════════════════╝

ARCHETYPE: The Toolsmith
"Ships fast. Builds tools that make other developers' lives
 easier. Prefers CLI over GUI. Has opinions about your commit
 messages."

LANGUAGE DNA
  Python         ████████████████████  67%
  TypeScript     ██████░░░░░░░░░░░░░░  18%
  JavaScript     ████░░░░░░░░░░░░░░░░  10%
  HTML           ██░░░░░░░░░░░░░░░░░░   5%

EVOLUTION
  Started with:  Python (2022)
  Now building:  Python + TypeScript
  Trajectory:    Expanding into full-stack

VELOCITY
  108 repos over ~24 months = 4.5 repos/month
  That's faster than 94% of GitHub developers

STAR POWER
  Total stars:      4
  Best performer:   Coherence (1 star)
  Untapped potential: high output, early-stage discovery

SCORES
  Specialization   ████████████░░░░░░░░   72/100  (focused depth)
  Documentation    ████████░░░░░░░░░░░░   41/100  (descriptions + readability)
  Open Source      ███████░░░░░░░░░░░░░   38/100  (repos with license)
  Velocity         ████████████████████   96/100  (shipping speed)

DEVELOPER TRAITS
  + Prolific builder — top 5% by repo count
  + AI-native — 60%+ of recent work involves LLMs
  - Discovery gap — great code, low visibility
  - Documentation debt — many repos lack descriptions

DNA INSIGHT
  You build at a rare velocity. The bottleneck isn't output —
  it's surface area. Adding descriptions, PyPI packages, and
  one viral project would unlock the stars your code deserves.
```

## What it analyzes

| Signal | Description |
|---|---|
| **Language DNA** | Top 6 languages by repo count, shown as a terminal bar chart |
| **Archetype** | Personality classification: Toolsmith, Researcher, Full-Stack Builder, Data Engineer, Hacker, or Craftsperson |
| **Specialization Score** | 0–100. High = deep in one domain. Low = polyglot generalist |
| **Velocity** | Repos created per month; scored against a GitHub-wide distribution |
| **Star Power** | Total stars + top repo; flags discovery gap for prolific but under-starred devs |
| **Evolution** | Primary language in oldest 20% of repos vs newest 20% — shows trajectory |
| **Open Source Signal** | % of repos with a license |
| **Documentation Score** | % of repos with a description |

## Architecture

```
src/dev_dna/
├── __init__.py       — public API
├── cli.py            — Click CLI + Rich rendering
└── analyzer.py       — GitHub API calls + metric computation
```

- Uses only `urllib.request` for HTTP (no `requests` library)
- Zero external dependencies beyond `click` and `rich`
- Supports `GITHUB_TOKEN` env var or `--token` flag for 5000 req/hr rate limit
- Gracefully handles: rate limits, private-only accounts, 0-star accounts, missing data

## License

MIT
