{"id":24302816,"url":"https://github.com/taigrr/gico","last_synced_at":"2026-05-02T11:40:30.095Z","repository":{"id":102066629,"uuid":"593095475","full_name":"taigrr/gico","owner":"taigrr","description":"A collection of tools for visualizing git commit heatmaps","archived":false,"fork":false,"pushed_at":"2024-05-19T21:58:39.000Z","size":243,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-17T00:19:46.839Z","etag":null,"topics":["bubbletea","charmbracelet","git","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"0bsd","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/taigrr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"taigrr","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2023-01-25T08:17:15.000Z","updated_at":"2024-10-29T20:29:40.000Z","dependencies_parsed_at":"2024-01-08T18:48:17.209Z","dependency_job_id":"e5574307-535a-4c9a-ac26-888ce23e7c5b","html_url":"https://github.com/taigrr/gico","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taigrr%2Fgico","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taigrr%2Fgico/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taigrr%2Fgico/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taigrr%2Fgico/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taigrr","download_url":"https://codeload.github.com/taigrr/gico/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242225877,"owners_count":20092665,"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":["bubbletea","charmbracelet","git","golang"],"created_at":"2025-01-17T00:19:30.386Z","updated_at":"2026-05-02T11:40:25.053Z","avatar_url":"https://github.com/taigrr.png","language":"Go","funding_links":["https://github.com/sponsors/taigrr"],"categories":[],"sub_categories":[],"readme":"# GiCo\nA collection of tools for local processing of *Gi*t *Co*mmits\n\nIncluded Tools:\n- gico\n- gico-server\n- gitfetch\n- mgfetch\n\n## GiCo Core library\n\nThe core library for GiCo (separate from the `gico` executable of the same\nname) provides utilities to read in a list of directories containing git\nrepositories and translating them into a list of day-aligned lists--each day\nof the year points to a list structs containing metadata on each commit created\nthat day.\n\nThe repositories can be parsed synchronously or in parallel, using goroutines\nand channels.\nThere is also a configurable caching interval to take advantage of memoization\nas an exercise in dynamic programming, which makes the library suitable for\nfrequent calls such as those from a BubbleTea UI application.\n\nIt is up to more concrete implementations to decide how this data is visualized\nor otherwise exposed to an end-user.\nFor this reason, several example tools have been provided.\n\n## Executables\n### gico\n\nThe gico binary is a tui tool that loads a list of git repos on a system\nand turns it into an interactive Github-style heatmap (coloring support\nincluded).\n\nBy default, gico uses [mg](https://github.com/taigrr/mg) to pull in a central list of\nrepos and parses the user's git config to extract the email and name of the\ncurrent user.\nThe GiCo library is used to load all the repos and translate them into a heatmap\nand convert the values into a dynamically scaled, user-configurable color\npallette (see [simplecolorpalettes](https://github.com/taigrr/simplecolorpalettes)).\n\nA searchable settings view is available to allow users to select and deselect\nindividual repos and authors to include in the graph.\n\n#### Installation:\n`go install github.com/taigrr/gico/cmd/gico@latest`\n\nExample GIF:\n\n### gico-server\n\nsvg-server uses GiCo in a similar way to mgfetch, by first pulling in a list of\nall repos seen by [mg](https://github.com/taigrr/mg) and then generates svg files\non-the-fly depicting the resultant gitgraph.\nsvg-server is suitable for embedding an svg of your gitgraph onto your desktop\nusing conky, for example.\n\n\n#### Installation:\n`go install github.com/taigrr/gico/cmd/gico-server@latest`\n### gitfetch\n\nLike your standard fetch program, gitfetch uses the GiCo library to parse the\ngit history of a repo in the current directory and print a gitgraph out to the\nterminal.\n\n\n#### Installation:\n`go install github.com/taigrr/gico/cmd/gitfetch@latest`\n### mgfetch\n\nmgfetch uses [mg](https://github.com/taigrr/mg) to pull in a list of all git repos and\ncombines the heatmap lists into a single gitgraph, and prints it to the\nterminal.`\n\n\n#### Installation:\n`go install github.com/taigrr/gico/cmd/mgfetch@latest`\n\n\n## Contributing:\n\nFeel free to submit an issue or PR. PRs which are well-formatted are more likely to be accepted!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaigrr%2Fgico","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaigrr%2Fgico","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaigrr%2Fgico/lists"}