Skip to content

Instantly share code, notes, and snippets.

@coyl
Created July 24, 2025 14:30
Show Gist options
  • Select an option

  • Save coyl/9022a058e3cdd84048c370a4a8507474 to your computer and use it in GitHub Desktop.

Select an option

Save coyl/9022a058e3cdd84048c370a4a8507474 to your computer and use it in GitHub Desktop.
Generate a detailed developer performance report by analyzing the Git logs for the last two months.
**Primary Instructions:**
1. **Consolidate Aliases:** Before analysis, you must identify and consolidate statistics for any developers who have committed using different aliases (e.g., merge data for "Jane Doe" and "jdoe").
2. **Execute Commands:** Run the five commands listed below to gather the necessary data.
3. **Apply Strict Evaluation:** Provide a detailed performance review for each developer on a 1-10 scale. The tone of the analysis and recommendations must be strict and critical, focusing on actionable feedback and adherence to engineering best practices.
4. **Use Specific Formatting:** The final report must strictly follow the detailed format, including all specified headers, tables, emojis, and star ratings.
5. **Save Output:** After generating the complete report, dump the entire output into a file named `report.md`.
---
### **Commands to Execute:**
1. **Author Statistics:**
```bash
git log --since="2 months ago" --pretty=format:"%an" | sort | uniq -c | sort -nr
```
2. **Detailed Line Stats:**
```bash
git log --since="2 months ago" --pretty=format:"%an" --numstat | awk 'NF==3 {plus+=$1; minus+=$2; loc+=$1-$2} NF==1 {author=$1} /^$/ {if (author) {print author ": +" plus " -" minus " " loc; plus=minus=loc=0; author=""}} END {if (author) {print author ": +" plus " -" minus " " loc}}' | sort -k4 -nr
```
3. **File Analysis per Developer:**
```bash
git log --since="2 months ago" --pretty=format:"%an" --name-only | grep -v "^$" | awk 'NF==1 {author=$1} NF>1 {files[author][$0]++} END { for (author in files) { print "=== " author " ==="; for (file in files[author]) { print " " file " (" files[author][file] " changes)"}; print ""}}'
```
4. **Conventional Commits Analysis:**
```bash
git log --since="2 months ago" --pretty=format:"%an" --grep="feat\|fix\|refactor\|test\|docs" | sort | uniq -c
```
5. **Recent Commit Messages:**
```bash
git log --since="2 months ago" --pretty=format:"%h - %an, %ar : %s" | head -20
```
---
### **Required Output Format:**
### **πŸ“Š Overall Statistics**
*(Note: Statistics must be consolidated for developers with multiple aliases.)*
| Developer | Commits | ⬆️ Lines Added | ⬇️ Lines Deleted | Net Change | πŸ’¬ Conventional Commits % |
| :--- | :--- | :--- | :--- | :--- | :--- |
| ... | ... | ... | ... | ... | ... |
---
### **πŸ† Summary Comparison Table**
| Metric | πŸš€ [Dev 1] | πŸ”₯ [Dev 2] | πŸ›‘οΈ [Dev 3] | ... |
| :--- | :--- | :--- | :--- | :--- |
| **Score** | X/10 | X/10 | X/10 | ... |
| **Rating** | β˜…β˜…β˜…β˜…β˜… | β˜…β˜…β˜…β˜…β˜† | β˜…β˜…β˜…β˜…β˜† | ... |
| **Commits**| ... | ... | ... | ... |
| **Net LoC Change** | ... | ... | ... | ... |
| **Conv. Commits** | ...% | ...% | ...% | ... |
---
### **πŸ“ˆ Top Priorities for Improvement**
*(This table must highlight developers whose practices are detrimental to project health.)*
| Developer | Commits | Conventional Commits % | Critical Feedback |
| :--- | :--- | :--- | :--- |
| ... | ... | ...% | ... |
---
### **Developer-Specific Analysis**
#### **πŸš€ [Developer Name] - Score: X/10 (β˜…β˜…β˜…β˜…β˜…)**
**βœ… Strengths:**
- [List of strengths]
**⚠️ Areas for Improvement:**
- [List of strict, critical areas for improvement]
**Details:**
- **Commits:** X
- **Lines of Code:** +X -X (Net +X)
- **Conventional Commits:** X% (X of Y)
*(Repeat for all key developers)*
---
### **🚨 Recommendations**
*(Recommendations must be direct and actionable.)*
- **For All Developers:**
- [Strict recommendation 1]
- [Strict recommendation 2]
- **For Lead Contributors:**
- [Strict recommendation]
- **For Gatekeepers:**
- [Strict recommendation]
---
### **πŸ“‰ Overall Team Score: X/10**
**Strengths:**
- [List of strengths]
**Areas for Improvement:**
- [List of critical weaknesses]
**Conclusion:**
[A concluding paragraph with a critical assessment of the team's engineering discipline.]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment