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
- Comprehensive statistics from multiple git hosting platforms
22
-
- Smart SQLite-based caching system for faster subsequent runs
23
-
- Cross-platform support (macOS and Linux)
24
-
- First-run initialization with interactive provider selection
25
-
- Customize contribution characters, hide/show sections, control display elements
26
-
- Simulate contribution-graph pixel art from text using `--text "Your Text"` or predefined shapes using `--shape kitty` (visual simulation only — does not create commits). This feature was inspired by and borrows the visual approach from gelstudios/gitfiti.
27
-
- Flags for advanced configuration (e.g., `--no-date`, `--graph-only`, `--custom-box`, `--width`, `--height`) see full list below with `gitfetch --help`
28
-
29
-
## Supported Platforms
30
-
31
-
-**GitHub** - Uses GitHub CLI (gh) for authentication
32
-
-**GitLab** - Uses GitLab CLI (glab) for authentication
33
-
-**Gitea/Forgejo/Codeberg** - Uses personal access tokens
`gitfetch` can be installed without any prerequisites. During first-run setup, you'll be guided to install and authenticate with the necessary CLI tools or provide access tokens for your chosen git hosting platform.
39
-
40
-
## First-run Setup
41
-
42
-
When you run `gitfetch` for the first time, you'll be prompted to:
43
-
44
-
1.**Choose your git hosting provider** (GitHub, GitLab, Gitea/Forgejo/Codeberg, or Sourcehut)
45
-
2.**Install required CLI tools** (if using GitHub or GitLab)
46
-
3.**Authenticate** with your chosen platform
47
-
4.**Configure access tokens** (if using Gitea/Forgejo/Codeberg or Sourcehut)
48
-
49
-
The setup process will provide helpful error messages and installation instructions if anything is missing.
The configuration file is automatically created on first run. See `docs/providers.md` for detailed provider configuration and `docs/colors.md` for color customization options.
280
-
281
-
### [DEFAULT] Section
282
-
283
-
```ini
284
-
[DEFAULT]
285
-
username = yourusername
286
-
cache_expiry_minutes = 15
287
-
provider = github
288
-
provider_url = https://api.github.com
289
-
custom_box = ■
290
-
```
291
-
292
-
-`username`: Your default username (automatically detected)
293
-
-`cache_expiry_minutes`: How long to keep cached data (default: 15 minutes)
-`custom_box`: Character used for contribution blocks (default: ■)
297
-
298
-
**Note**: Custom graph dimensions (`--width`, `--height`) and section visibility flags (`--no-*`) are command-line only and not saved in the configuration file.
299
-
However if there is a need for it to be added to the config file please open an issue.
300
-
301
-
### [COLORS] Section
302
-
303
-
gitfetch supports extensive color customization using hex color codes or predefined color names.
-**Contribution graph levels**: `0` (lowest) to `4` (highest)
311
-
312
-
#### Example Configuration
313
-
314
-
```ini
315
-
[COLORS]
316
-
header = #0366d6
317
-
accent = #6f42c1
318
-
muted = #586069
319
-
0 = #ebedf0 # Light gray background
320
-
1 = #9be9a8 # Light green background
321
-
2 = #40c463 # Medium green
322
-
3 = #30a14e # Dark green
323
-
4 = #216e39 # Darkest green
324
-
```
325
-
326
-
See `docs/colors.md` for the complete list of supported color names and hex codes.
327
-
328
-
### Layout Control
329
-
330
-
gitfetch automatically adapts to your terminal size, but you can control spacing:
331
-
332
-
```bash
333
-
gitfetch --spaced # Enable spaced layout
334
-
gitfetch --not-spaced # Disable spaced layout
335
-
```
336
-
337
-
### Custom Dimensions and Coloring Accuracy
338
-
339
-
The coloring system uses GitHub's standard contribution levels, which are absolute thresholds that remain consistent regardless of the time period or dimensions displayed:
340
-
341
-
-**0 contributions**: Lightest gray
342
-
-**1-2 contributions**: Light green (Level 1)
343
-
-**3-6 contributions**: Medium green (Level 2)
344
-
-**7-12 contributions**: Dark green (Level 3)
345
-
-**13+ contributions**: Darkest green (Level 4)
346
-
347
-
**What Custom Dimensions Affect:**
348
-
349
-
-`--width` and `--height` control how many weeks/days are visible
350
-
- The coloring thresholds remain the same (GitHub standard)
351
-
- You see the same accurate representation, just for a different time period
352
-
353
-
**When It Might Seem "Inaccurate":**
354
-
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.
355
-
356
-
## Intelligent Layout System
357
-
358
-
gitfetch automatically selects the best layout based on your terminal dimensions:
359
-
360
-
-**Full Layout**: Shows all sections (graph, account info, languages, achievements) when there's sufficient space (width ≥ 120 columns)
361
-
-**Compact Layout**: Shows graph and key info side-by-side for medium terminals
362
-
-**Minimal Layout**: Shows only the contribution graph for narrow terminals
363
-
364
-
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.
365
-
366
-
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.
367
-
368
-
## Supported Providers
369
-
370
-
gitfetch supports multiple Git hosting platforms:
371
-
372
-
See `docs/providers.md` for detailed setup instructions for each provider.
If you have an older version of gitfetch (pre v1.1.0) that stored cache in `~/.config/gitfetch/cache.db`, you can safely delete the old cache file:
381
-
382
-
```bash
383
-
rm ~/.config/gitfetch/cache.db
384
-
```
385
-
386
-
## Acknowledgements
43
+
## Features
387
44
388
-
- Inspired by the beautiful contribution graph design from [Kusa](https://github.com/Ryu0118/Kusa) by Ryu0118
389
-
- Inspired by the very cool and extremely fun tool [songfetch](https://github.com/fwtwoo/songfetch) by fwtwoo
390
-
- The `--text` and `--graph` contribution-graph simulation feature takes inspiration from and adapts ideas from [gelstudios/gitfiti](https://github.com/gelstudios/gitfiti) — credit to the project for the concept of painting the contribution calendar (this implementation only simulates the appearance and does not modify git history).
45
+
- Neofetch-style display with ASCII art
46
+
- Comprehensive statistics from multiple git hosting platforms
0 commit comments