Skip to main content

git-personality

Analyze a git repository's commit history and assign the developer (or team) a D&D-style personality archetype — based entirely on real signals from git data. No LLM, no API key, no magic. Pure Python + subprocess.

Installation

pip install git-personality

Or install from source:

git clone https://github.com/yourname/git-personality
cd git-personality
pip install -e .

Usage

# Analyze the current repository
git-personality

# Analyze a specific repository
git-personality --repo /path/to/repo

# Analyze a specific author
git-personality --author "Jane"

# Limit to recent history
git-personality --since "6 months ago"

# Combine options
git-personality --repo ~/projects/myapp --author "alice@example.com" --since "1 year ago"

Alignments

Alignment Archetype Description
Lawful Good The Senior Engineer Small commits, tests, docs, conventional messages
Neutral Good The Pragmatist Decent practices, gets things done
Chaotic Good The Hacker Ships fast, skips process, but fixes bugs
Lawful Neutral The Process Bot Follows conventions religiously, never writes tests
True Neutral The Balanced Dev Mixed signals, no strong tendencies
Chaotic Neutral The Cowboy Unpredictable, huge commits, works in bursts
Lawful Evil The Legacy Keeper Perfect process, but never deletes dead code
Neutral Evil The Tech Debt Merchant Ships features, never fixes anything
Chaotic Evil The Chaos Agent Force pushes main, "fix" is 90% of messages

Dimensions Analyzed

Lawful vs. Chaotic axis

  • Commit message quality — One-word commits ("fix", "wip") = Chaotic. Conventional commits ("feat:", "fix:") = Lawful.
  • Commit size — Giant commits (500+ lines) = Chaotic. Small, focused commits = Lawful.
  • Timing — Weekend/late-night commits = Chaotic. Business hours = Lawful.
  • Consistency — Regular cadence = Lawful. Sporadic bursts = Chaotic.

Good vs. Evil axis

  • Test discipline — Commits touching test files = Good. Never touching tests = Evil.
  • Documentation — Commits touching README/docs = Good. Ignoring docs = Evil.
  • Bug fixing — Commits that mention fixing bugs = Good. Never fixing anything = Evil.

Requirements

  • Python 3.8+
  • git installed and accessible on PATH
  • click >= 8.0
  • rich >= 13.0

License

MIT

Metadata

Release files for git-personality 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 git-personality 1.0.0
File Size Uploaded
git_personality-1.0.0.tar.gz 14.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for git-personality 1.0.0
File Interpreter ABI Platform
git_personality-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.1 kB

Release files / git_personality-1.0.0.tar.gz

Download URL git_personality-1.0.0.tar.gz
Size 14.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1c44cce574c1dc756370ab24139500409239a41a0f6ab0e8892c44c8211b4228
BLAKE2b-256 checksum
How to use checksums
0795da8625fdc72d01595e354653f5eeaffe64aa376bf1db2f27b688976c2ed7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.6

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

Download URL git_personality-1.0.0-py3-none-any.whl
Size 13.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3d068f72f5e34d59f037e07f2c3e6bbd0f698e7b0d16fd6dca0c61dd413cde28
BLAKE2b-256 checksum
How to use checksums
8a8ed07f0439879ab10491d10d4563d4880ba7ce483a4210f9e4030955c487e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.6

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