You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+103-4Lines changed: 103 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# gitfetch
2
2
3
-
A neofetch-style CLI tool for GitHub, GitLab, Gitea, Forgejo, Codeberg, and Sourcehut statistics. Display your profile and stats from various git hosting platforms in a beautiful, colorful terminal interface.
3
+
A neofetch-style CLI tool for GitHub, GitLab, Gitea, Forgejo, Codeberg, and Sourcehut statistics. Display your profile and stats from various git hosting platforms in a beautiful, colorful terminal interface with extensive customization options and intelligent layout adaptation.
@@ -11,9 +11,10 @@ A neofetch-style CLI tool for GitHub, GitLab, Gitea, Forgejo, Codeberg, and Sour
11
11
- Neofetch-style display with ASCII art
12
12
- Comprehensive statistics from multiple git hosting platforms
13
13
- Smart SQLite-based caching system for faster subsequent runs
14
-
- Persistent configuration with default username support
15
14
- Cross-platform support (macOS and Linux)
16
15
- First-run initialization with interactive provider selection
16
+
- Customize contribution characters, hide/show sections, control display elements
17
+
- Flags for advanced configuration (e.g., `--no-date`, `--graph-only`, `--custom-box`, `--width`, `--height`) see full list below with `gitfetch --help`
17
18
18
19
## Supported Platforms
19
20
@@ -118,6 +119,8 @@ Fetch stats for specific user:
118
119
gitfetch username
119
120
```
120
121
122
+
### Cache Options
123
+
121
124
Bypass cache and fetch fresh data:
122
125
123
126
```bash
@@ -130,6 +133,95 @@ Clear cache:
130
133
gitfetch --clear-cache
131
134
```
132
135
136
+
### Visual Customization
137
+
138
+
Customize contribution block characters:
139
+
140
+
```bash
141
+
gitfetch --custom-box "██"
142
+
gitfetch --custom-box "■"
143
+
gitfetch --custom-box "●"
144
+
```
145
+
146
+
Set custom graph dimensions:
147
+
148
+
```bash
149
+
gitfetch --width 50 --height 5 # 50 chars wide, 5 days high
gitfetch automatically adapts to your terminal size, but you can control spacing:
186
+
187
+
```bash
188
+
gitfetch --spaced # Enable spaced layout
189
+
gitfetch --not-spaced # Disable spaced layout
190
+
```
191
+
192
+
### Custom Dimensions and Coloring Accuracy
193
+
194
+
The coloring system uses GitHub's standard contribution levels, which are absolute thresholds that remain consistent regardless of the time period or dimensions displayed:
195
+
196
+
-**0 contributions**: Lightest gray
197
+
-**1-2 contributions**: Light green (Level 1)
198
+
-**3-6 contributions**: Medium green (Level 2)
199
+
-**7-12 contributions**: Dark green (Level 3)
200
+
-**13+ contributions**: Darkest green (Level 4)
201
+
202
+
**What Custom Dimensions Affect:**
203
+
204
+
-`--width` and `--height` control how many weeks/days are visible
205
+
- The coloring thresholds remain the same (GitHub standard)
206
+
- You see the same accurate representation, just for a different time period
207
+
208
+
**When It Might Seem "Inaccurate":**
209
+
If you're viewing only recent weeks with generally lower activity, everything might appear in lighter colors. This is actually correct - those weeks truly have fewer contributions compared to your overall history standards.
210
+
211
+
**Recommendation:** The current coloring is accurate. Custom dimensions don't reduce accuracy - they just show different portions of your accurately-colored contribution history.
212
+
213
+
## Intelligent Layout System
214
+
215
+
gitfetch automatically selects the best layout based on your terminal dimensions:
216
+
217
+
-**Full Layout**: Shows all sections (graph, account info, languages, achievements) when there's sufficient space (width ≥ 120 columns)
218
+
-**Compact Layout**: Shows graph and key info side-by-side for medium terminals
219
+
-**Minimal Layout**: Shows only the contribution graph for narrow terminals
220
+
221
+
The system considers both terminal width AND height to ensure optimal display. For very short terminals, it may choose more compact layouts even with sufficient width.
222
+
223
+
You can override automatic layout selection using the `--width` and `--height` flags to set custom graph dimensions, which will force gitfetch to adapt the layout accordingly.
224
+
133
225
## Troubleshooting
134
226
135
227
### Error: GitHub CLI is not authenticated
@@ -167,12 +259,17 @@ username = yourusername
167
259
cache_expiry_hours = 24
168
260
provider = github
169
261
provider_url = https://api.github.com
262
+
custom_box = ■
170
263
```
171
264
172
265
-`username`: Your default username (automatically detected)
173
266
-`cache_expiry_hours`: How long to keep cached data (default: 24 hours)
-`custom_box`: Character used for contribution blocks (default: ■)
270
+
271
+
**Note**: Custom graph dimensions (`--width`, `--height`) and section visibility flags (`--no-*`) are command-line only and not saved in the configuration file.
272
+
Howerver if there is a need for it to be added to the config file please open an issue.
176
273
177
274
### [COLORS] Section
178
275
@@ -207,10 +304,12 @@ If you have an older version of gitfetch that stored cache in `~/.config/gitfetc
207
304
```bash
208
305
rm ~/.config/gitfetch/cache.db
209
306
```
307
+
210
308
## Acknowledgements
211
309
212
-
- Inspired by the beautiful contribution graph design from [Kusa](https://github.com/Ryu0118/Kusa) by Ryu0118.
213
-
- Inspired by the very cool and extremely fun tool [songfetch](https://github.com/fwtwoo/songfetch) by fwtwoo.
310
+
- Inspired by the beautiful contribution graph design from [Kusa](https://github.com/Ryu0118/Kusa) by Ryu0118
311
+
- Inspired by the very cool and extremely fun tool [songfetch](https://github.com/fwtwoo/songfetch) by fwtwoo
312
+
- Built with modern Python practices and extensive customization options for the ultimate git statistics display
0 commit comments