{"id":22300603,"url":"https://github.com/accursedgalaxy/streakode","last_synced_at":"2026-02-10T09:08:35.116Z","repository":{"id":260778079,"uuid":"882303301","full_name":"AccursedGalaxy/streakode","owner":"AccursedGalaxy","description":"🚀 Advanced Git analytics \u0026 search CLI | Explore commit history with lightning-fast fuzzy search | Track coding patterns \u0026 streaks | Built in Go","archived":false,"fork":false,"pushed_at":"2025-02-14T17:04:49.000Z","size":27572,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T04:08:53.524Z","etag":null,"topics":["cli-app","coding-stats","commit-history","developer-productivity","developer-tools","fuzzy-search","git-history","git-search","git-statistics","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","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/AccursedGalaxy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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}},"created_at":"2024-11-02T13:12:08.000Z","updated_at":"2025-02-14T17:04:53.000Z","dependencies_parsed_at":"2024-12-30T16:18:16.925Z","dependency_job_id":"22e66c9a-7904-4e0b-ac22-9e15973cf977","html_url":"https://github.com/AccursedGalaxy/streakode","commit_stats":null,"previous_names":["accursedgalaxy/streakode"],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccursedGalaxy%2Fstreakode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccursedGalaxy%2Fstreakode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccursedGalaxy%2Fstreakode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccursedGalaxy%2Fstreakode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AccursedGalaxy","download_url":"https://codeload.github.com/AccursedGalaxy/streakode/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248514225,"owners_count":21116903,"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":["cli-app","coding-stats","commit-history","developer-productivity","developer-tools","fuzzy-search","git-history","git-search","git-statistics","golang"],"created_at":"2024-12-03T18:12:44.514Z","updated_at":"2026-02-10T09:08:34.575Z","avatar_url":"https://github.com/AccursedGalaxy.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Streakode 🚀\n\n[![Release](https://img.shields.io/github/v/release/AccursedGalaxy/streakode)](https://github.com/AccursedGalaxy/streakode/releases)\n[![Go Report Card](https://goreportcard.com/badge/github.com/AccursedGalaxy/streakode)](https://goreportcard.com/report/github.com/AccursedGalaxy/streakode)\n[![License](https://img.shields.io/github/license/AccursedGalaxy/streakode?color=blue)](https://github.com/AccursedGalaxy/streakode/blob/main/LICENSE.md)\n\n\u003c/div\u003e\n\nStreakode is a powerful Git analytics and search tool that combines advanced commit history exploration with insightful coding statistics. Perfect for developers who want to understand their coding patterns, search through their Git history efficiently, and maintain productive coding streaks across multiple repositories.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"images/preview.png\" alt=\"Streakode Preview\" width=\"600\"\u003e\n\u003c/div\u003e\n\n## Key Features ✨\n\n### 🔍 Advanced Git History Search\n- Lightning-fast commit history search powered by `fzf` and `ripgrep`\n- Interactive fuzzy search with real-time preview\n- Rich commit details including diffs, stats, and branch information\n- Smart repository detection and automatic GitHub links\n- Efficient caching system for quick subsequent searches\n\n### 📊 Comprehensive Analytics\n- Detailed commit patterns and coding streaks\n- Code changes tracking (+/-) per repository\n- Language statistics and peak coding hours\n- Project engagement metrics\n- Weekly and monthly activity summaries\n\n### 🎯 Developer Productivity Tools\n- Weekly commit goals and progress tracking\n- Multiple profile support (work/personal separation)\n- Customizable activity indicators\n- Smart caching for fast repository scanning\n- Selective cache updates and version-aware management\n\n### 🎨 Customizable Experience\n- Modern, colorful terminal UI\n- Configurable table layouts and themes\n- Multiple insight views\n- Flexible display options\n- Profile-specific configurations\n\n## Features ✨\n\n- 📊 Enhanced commit tracking and statistics\n  - Detailed weekly/monthly commit patterns\n  - Code changes tracking (+/-) per repository\n  - Language statistics and peak coding hours\n  - Customizable activity indicators\n- 🎨 Highly configurable display options\n  - Customizable table layouts and styles\n  - Color themes support\n  - Multiple insight views\n- 🔄 Smart caching system\n  - Efficient repository scanning\n  - Selective cache updates\n  - Version-aware cache management\n- 🎯 Advanced goal tracking\n  - Weekly commit goals\n  - Progress visualization\n  - Customizable thresholds\n- 👤 Profile management\n  - Work/personal separation\n  - Profile-specific configurations\n  - Easy profile switching\n\n## Installation 🛠️\n\n### Prerequisites\n- Go 1.19 or higher\n- Git\n- [fzf](https://github.com/junegunn/fzf) (required for interactive search)\n- [ripgrep](https://github.com/BurntSushi/ripgrep) (optional, enhances search capabilities)\n\n### From Releases\n\nDownload the latest release for your platform from the [releases page](https://github.com/AccursedGalaxy/streakode/releases).\n\n### Building from Source\n\n```bash\ngit clone https://github.com/AccursedGalaxy/streakode.git\ncd streakode\nmake install\n```\n\n## Usage 💻\n\n### Basic Commands\n\n```bash\n# Show version information\nstreakode version\n\n# View Git author configuration\nstreakode author\n\n# Display repository statistics\nstreakode stats [repository]\n\n# Interactive commit history search\nstreakode history search\n\n# Advanced commit search with filters\nstreakode history search --author=\"name\" --since=\"2 weeks ago\"\n\n# Repository cache management\nstreakode cache reload  # Refresh cache\nstreakode cache clean   # Clear cache\n\n# Profile management\nstreakode profile work    # Switch to work profile\nstreakode profile home    # Switch to home profile\n```\n\n### Interactive Search Features\n\nThe `history search` command provides powerful interactive search capabilities:\n- Fuzzy search through commit history\n- Real-time commit preview with diff\n- Branch information and GitHub links\n- File change statistics\n- Multiple selection support\n- Advanced filtering options\n\n### Debug Mode\n\nEnable debug mode with `--debug` or `-d` flag for any command:\n```bash\nstreakode history search --debug\nstreakode stats --debug\n```\n\nThis shows additional information about:\n- Search parameters and filters\n- Cache operations\n- Configuration details\n- Performance metrics\n\n## Configuration 📝\n\nCreate a configuration file at `~/.streakodeconfig.yaml`. See the [example configuration](.defaultconfig.yaml) for all available options.\n\nKey configuration sections:\n```yaml\n# Author and scanning settings\nauthor: \"YourName\"\nscan_directories:\n  - \"~/github\"\n  - \"~/work/repos\"\n\n# Search and display settings\nsearch_settings:\n  max_results: 1000\n  cache_timeout: 3600\n  use_fuzzy_search: true\n\n# UI customization\ndisplay_settings:\n  theme: \"modern\"\n  color_scheme: \"dark\"\n  show_previews: true\n```\n\n## Updating 🔄\n\nLogic for updating is currently not implemented.\n\nIf you want to update, you can manually download the latest release from the [releases page](https://github.com/AccursedGalaxy/streakode/releases) and replace the current binary.\n\nOr if you cloned the repository, you can pull the latest changes and build the project again.\n\n```bash\ngit pull\nmake clean\nmake build\nmake install\n```\n\n## Uninstallation 🗑️\n\nTo completely remove Streakode from your system:\n\n```bash\n# Remove the binary\ngo clean -i github.com/AccursedGalaxy/streakode\n\n# Remove configuration and cache files\nrm ~/.streakodeconfig*.yaml    # Removes all config files including profiles\nrm ~/.streakode*.cache         # Removes all cache files including profiles\nrm ~/.streakode.state          # Removes the state file\n\n# Single Command For All Files and Configs (Linux/MacOS)\nrm /usr/local/bin/streakode \u0026\u0026 rm ~/.streakodeconfig* ~/.streakode*.cache ~/.streakode.state\n\n# For Windows users (PowerShell):\nRemove-Item \"$env:USERPROFILE\\.streakodeconfig*.yaml\"\nRemove-Item \"$env:USERPROFILE\\.streakode*.cache\"\nRemove-Item \"$env:USERPROFILE\\.streakode.state\"\n```\n\nNote: If you installed Streakode from a release binary instead of `go install`, simply delete the binary and the configuration files as shown above.\n\n## Development 🛠️\n\n### Setting Up Development Environment\n\n```bash\n# Clone the repository\ngit clone https://github.com/AccursedGalaxy/streakode.git\ncd streakode\n\n# Install development dependencies\nmake dev-deps\n\n# Run tests\nmake test\n\n# Build for development\nmake dev\n```\n\n### Project Structure\n\n```\nstreakode/\n├── cmd/          # Command implementations\n├── cache/        # Caching system\n├── config/       # Configuration management\n├── scan/         # Repository scanning\n└── search/       # Search functionality\n```\n\n### Contributing 🤝\n\nContributions are welcome! Here's how you can help:\n\n1. Fork the repository\n2. Create your feature branch: `git checkout -b feature/amazing-feature`\n3. Commit your changes: `git commit -m 'Add amazing feature'`\n4. Push to the branch: `git push origin feature/amazing-feature`\n5. Open a Pull Request\n\nPlease read our [Contributing Guidelines](CONTRIBUTING.md) for details on our code of conduct and development process.\n\n## Roadmap 🗺️\n\n- [ ] Enhanced search capabilities with advanced filters\n- [ ] Team analytics and collaboration features\n- [ ] Integration with CI/CD platforms\n- [ ] Machine learning-based commit pattern analysis\n- [ ] Custom plugin system\n- [ ] Web interface (planned)\n\n## Support 💖\n\nIf you find Streakode helpful:\n- Give it a ⭐ on GitHub\n- Share it with your network\n- [Report issues](https://github.com/AccursedGalaxy/streakode/issues) or contribute\n- Follow the project for updates\n\n## License 📄\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments 🙏\n\nBuilt with:\n- [Cobra](https://github.com/spf13/cobra) - CLI framework\n- [Viper](https://github.com/spf13/viper) - Configuration management\n- [fzf](https://github.com/junegunn/fzf) - Fuzzy finder\n- [ripgrep](https://github.com/BurntSushi/ripgrep) - Fast search\n\nSpecial thanks to all contributors who have helped shape Streakode into what it is today.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  Made with ❤️ by \u003ca href=\"https://github.com/AccursedGalaxy\"\u003eAccursedGalaxy\u003c/a\u003e\n  \u003cbr\u003e\n  \u003csub\u003eA powerful tool for developers who care about their Git history\u003c/sub\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faccursedgalaxy%2Fstreakode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faccursedgalaxy%2Fstreakode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faccursedgalaxy%2Fstreakode/lists"}