Skip to content

Commit 56d1a30

Browse files
committed
2 parents b6f081f + 53ef31d commit 56d1a30

1 file changed

Lines changed: 171 additions & 1 deletion

File tree

README.md

Lines changed: 171 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,171 @@
1-
# git-log
1+
<div align="center">
2+
3+
# 🔧 @thrylolabs/git-log
4+
5+
**A modular CLI tool to extract and export Git commit history**
6+
7+
[![npm version](https://img.shields.io/npm/v/@thrylolabs/git-log.svg)](https://www.npmjs.com/package/@thrylolabs/git-log)
8+
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
9+
[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
10+
11+
*Transform your Git history into beautiful, structured data formats*
12+
13+
</div>
14+
15+
---
16+
17+
## ✨ Features
18+
19+
🔹 **Multi-format Export** - JSON, CSV, and Markdown outputs
20+
🔹 **Remote Repository Support** - Clone and analyze any GitHub repository
21+
🔹 **Local Repository Analysis** - Process any local Git repository
22+
🔹 **Smart Cleanup** - Automatic temporary file management
23+
🔹 **TypeScript Powered** - Full type safety and modern ES modules
24+
🔹 **Zero Configuration** - Works out of the box with sensible defaults
25+
26+
## 🚀 Quick Start
27+
28+
### Installation
29+
```bash
30+
npm install -g @thrylolabs/git-log
31+
```
32+
33+
### Basic Usage
34+
```bash
35+
# Export current repository as JSON
36+
thrylo-git-log
37+
38+
# Export as CSV
39+
thrylo-git-log --format csv
40+
41+
# Analyze remote repository
42+
thrylo-git-log --repo https://github.com/user/repo.git --format csv
43+
44+
# Custom output location
45+
thrylo-git-log --format json --output ./reports/commits
46+
```
47+
48+
## 📊 Output Formats
49+
50+
### JSON
51+
```json
52+
{
53+
"repository": "/path/to/repo",
54+
"exportDate": "2024-01-15T10:30:00.000Z",
55+
"totalCommits": 150,
56+
"commits": [
57+
{
58+
"hash": "a1b2c3d4e5f6",
59+
"author": "Jane Developer",
60+
"email": "jane@example.com",
61+
"date": "2024-01-15T09:15:00.000Z",
62+
"message": "Add user authentication feature"
63+
}
64+
]
65+
}
66+
```
67+
68+
### CSV
69+
| Commit Hash | Author | Email | Date | Message |
70+
|-------------|--------|-------|------|---------|
71+
| a1b2c3d4e5f6 | Jane Developer | jane@example.com | 2024-01-15T09:15:00.000Z | Add user authentication feature |
72+
73+
### Markdown
74+
```markdown
75+
# Git Commit History - my-project
76+
77+
**Repository:** /path/to/repo
78+
**Total Commits:** 150
79+
80+
## Commits
81+
82+
### a1b2c3d4e5f6
83+
84+
- Add user authentication feature
85+
86+
**Author:** Jane Developer (jane@example.com)
87+
**Date:** 2024-01-15T09:15:00.000Z
88+
```
89+
90+
## 🛠️ Command Options
91+
92+
| Option | Description | Default |
93+
|--------|-------------|---------|
94+
| `--repo <path>` | Local path or remote Git URL | `.` |
95+
| `--format <format>` | Output format: `json`, `csv`, `md` | `json` |
96+
| `--output <file>` | Output file path | `git-log-{repo-name}` |
97+
| `--keep-temp` | Keep cloned repositories for debugging | `false` |
98+
99+
## 💡 Use Cases
100+
101+
- **📈 Analytics** - Analyze commit patterns and contributor activity
102+
- **📋 Changelogs** - Generate structured changelogs for releases
103+
- **🔍 Auditing** - Export commit history for compliance and review
104+
- **📊 Reporting** - Create development reports and metrics
105+
- **🤖 Automation** - Integrate with CI/CD pipelines and scripts
106+
107+
## 🌐 Remote Repository Support
108+
109+
Works seamlessly with any public Git repository:
110+
111+
```bash
112+
# GitHub repositories
113+
thry git-log --repo https://github.com/microsoft/vscode.git --format csv
114+
115+
# GitLab repositories
116+
thry git-log --repo https://gitlab.com/user/project.git --format json
117+
118+
```
119+
120+
## 🏗️ Part of Thrylo Ecosystem
121+
122+
This tool is designed as a modular component of the **Thrylo CLI ecosystem**. Future integration:
123+
124+
```bash
125+
# Coming soon
126+
thry install git-log
127+
thry git-log --format csv --since "2024-01-01"
128+
```
129+
130+
## 🛠️ Development
131+
132+
```bash
133+
# Clone and setup
134+
git clone https://github.com/thrylolabs/git-log.git
135+
cd git-log
136+
npm install
137+
138+
# Build and test
139+
npm run build
140+
npm link
141+
thrylo-git-log --format json
142+
```
143+
144+
## 🤝 Contributing
145+
146+
We welcome contributions! Here's how you can help:
147+
148+
- 🐛 **Bug Reports** - [Open an issue](https://github.com/thrylolabs/git-log/issues)
149+
- 💡 **Feature Requests** - Share your ideas in [discussions](https://github.com/thrylolabs/git-log/discussions)
150+
- 🔧 **Pull Requests** - Contribute code improvements
151+
- 📖 **Documentation** - Help improve our docs
152+
153+
### Development Stack
154+
- **TypeScript** for type safety
155+
- **Commander** for CLI argument parsing
156+
- **simple-git** for Git operations
157+
- **chalk** for beautiful terminal output
158+
159+
## 📄 License
160+
161+
MIT License - see [LICENSE](LICENSE) file for details.
162+
163+
---
164+
165+
<div align="center">
166+
167+
**Built with ❤️ by [Thrylo Labs](https://github.com/thrylolabs)**
168+
169+
[🌟 Star this project](https://github.com/thrylolabs/git-log)[🐛 Report Bug](https://github.com/thrylolabs/git-log/issues)[💡 Request Feature](https://github.com/thrylolabs/git-log/discussions)
170+
171+
</div>

0 commit comments

Comments
 (0)