{"id":16584902,"url":"https://github.com/mikaelvesavuori/gitanalyzed","last_synced_at":"2025-07-31T09:38:38.225Z","repository":{"id":190834497,"uuid":"683441866","full_name":"mikaelvesavuori/gitanalyzed","owner":"mikaelvesavuori","description":"Therapy for Your Code — Decode Your Repository's Mind!","archived":false,"fork":false,"pushed_at":"2023-10-29T12:39:50.000Z","size":17,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T05:51:09.443Z","etag":null,"topics":["analytics","code-analysis","debt","debt-analysis","developer-experience","developer-productivity","dx","git","git-analysis","git-analytics","technical-debt"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikaelvesavuori.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null}},"created_at":"2023-08-26T15:33:24.000Z","updated_at":"2025-02-15T00:18:27.000Z","dependencies_parsed_at":"2023-08-26T16:54:54.587Z","dependency_job_id":"d4dfc36c-3b4b-4c2b-a72a-8e18a060e2cb","html_url":"https://github.com/mikaelvesavuori/gitanalyzed","commit_stats":null,"previous_names":["mikaelvesavuori/gitanalyzed"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mikaelvesavuori/gitanalyzed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikaelvesavuori%2Fgitanalyzed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikaelvesavuori%2Fgitanalyzed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikaelvesavuori%2Fgitanalyzed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikaelvesavuori%2Fgitanalyzed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikaelvesavuori","download_url":"https://codeload.github.com/mikaelvesavuori/gitanalyzed/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikaelvesavuori%2Fgitanalyzed/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265895978,"owners_count":23845415,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","code-analysis","debt","debt-analysis","developer-experience","developer-productivity","dx","git","git-analysis","git-analytics","technical-debt"],"created_at":"2024-10-11T22:46:10.530Z","updated_at":"2025-07-19T06:04:59.840Z","avatar_url":"https://github.com/mikaelvesavuori.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitAnalyzed 🧠 💻 💬 🔮\n\n## Therapy for Your Code — Decode Your Repository's Mind!\n\nGitAnalyzed is your passport to unlocking the psychology of your codebase. GitAnalyzed delivers comprehensive insights that go beyond commits and branches. Discover the dance of file churn, embrace the ebb and flow of line changes, and unravel the story of author contributions. Dive deep into code ownership dynamics, calculate the heartbeat of your development with churn rates, and uncover the pulse of bug fixes. GitAnalyzed isn't just about analytics; it's the therapy your code deserves. Let your repository share its mind, and GitAnalyzed will translate its language into actionable wisdom.\n\n## What to know\n\nGitAnalyzed wraps features readily available in Git, but which might be underutilized by many of us. Indeed there are good commercial tools out there - using GitAnalyzed, however, will provide you with important cornerstone features at no cost, no legacy or dependencies (as it's just plain Git), with very easy-to-inspect results.\n\n**Results are output into a directory named `gitanalyzed` with `.txt` files for each feature.**\n\n## Features\n\n### File Churn\n\n_Where are changes taking place?_\n\n```text\n 233 package.json\n 142 package-lock.json\n 115 README.md\n  74 build/index.js\n[...]\n```\n\n### Line Churn\n\n_How much is added and removed?_\n\n```text\nAdded lines: 738210\nRemoved lines: 671364\n```\n\n### Author Churn\n\n_Who's doing the work?_\n\n```text\n 596 Sam Person\n  81 Dat Person\n  59 Hoo Person\n   7 Bot Person\n[...]\n```\n\n### Code Ownership\n\n_Where are authors working?_\n\n```text\n10 Sam Person,Dat Person,Hoo Person, README.md\n  7 Sam Person,Bot Person, package-lock.json\n  3 Sam Person,Dat Person, bin/frameworks/errors/errors.ts\n  1 Dat Person, bin/entities/BigThing/index.ts\n[...]\n```\n\n### Churn Rate\n\n_What's the average rate of change?_\n\n```text\nChurn rate: 4 changes per day\n```\n\n### Bug Fixes\n\n_How many commits solve bugs, errors, or otherwise provide fixes for known problems?_\n\n```text\nBug fixes/errors:       79 out of      817 commits (9%)\n```\n\nYou will also get a full list of all detected commits:\n\n```text\n8e98265e Thu Sep 8 17:03:01 2022 +0200 fix(): add missing return to getEnvUrl() in configuration setup\n003e3864 Fri Aug 19 20:53:48 2022 +0200 fix(): ensure there are clear error messages from the API call if an error occurs; remove unnecessary 'else'\nfc236a47 Wed May 4 22:00:56 2022 +0200 fix(): issue 154, remove snyk, update dependencies\n2ec88ec2 Sun Dec 26 15:08:39 2021 +0100 fix(imports-in-two-places): fix issue #152\n4942a2ac Tue Nov 9 14:22:29 2021 +0100 fix(file-names): fix issue #149 and use PascalCase for file names\n```\n\n### Active Branches\n\n_What are the live branches, right now?_\n\n```text\n  main\n  long-living-branch-that-we-need-to-get-rid-of\n  develop\n  nasty-integration\n```\n\n### Days since last commit\n\n_How long since the last change?_\n\n```text\nDays since the last commit: 6\n```\n\n### Tag statistics\n\n_How many tags are there, how many commits per tag and the average number of commits per tag?_\n\n```text\nTotal tags: 5\nAverage commits per tag: 2.8\n\n2.1.1 (2023-10-27): 2\n2.1.0 (2023-10-19): 3\n2.0.0 (2023-10-12): 4\n1.0.1 (2023-10-10): 2\n1.0.0 (2023-10-06): 3\n```\n\n## Installation\n\nYou can use it just as any old script in a project if you want...\n\n_But the nicer option is to use the `install.sh` script._\n\nIt will:\n\n- Make a root level directory named `.gitanalyzed`\n- Copy `gitanalyzed.sh` to the new directory\n- Add a line to your `.zshrc` with an alias (`gitanalyzed`) that runs the script\n\nFeel free to modify the installation script or do it your way if this doesn't match how you'd like it to be set up.\n\nYou will need to source or reload your IDE for the changes to be activated.\n\n## Usage\n\nEasy, just run `gitanalyzed` in a Git repository.\n\n## Contributing\n\nThere is a dedicated [CONTRIBUTING.md](CONTRIBUTING.md), but generally I'm happy to take suggestions and proposals for new features!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikaelvesavuori%2Fgitanalyzed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikaelvesavuori%2Fgitanalyzed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikaelvesavuori%2Fgitanalyzed/lists"}