1- # gitkit
1+ ```
2+ ███ █████ █████ ███ █████
3+ ░░░ ░░███ ░░███ ░░░ ░░███
4+ ███████ ████ ███████ ░███ █████ ████ ███████
5+ ███░░███░░███ ░░░███░ ░███░░███ ░░███ ░░░███░
6+ ░███ ░███ ░███ ░███ ░██████░ ░███ ░███
7+ ░███ ░███ ░███ ░███ ███ ░███░░███ ░███ ░███ ███
8+ ░░███████ █████ ░░█████ ████ █████ █████ ░░█████
9+ ░░░░░███░░░░░ ░░░░░ ░░░░ ░░░░░ ░░░░░ ░░░░░
10+ ███ ░███
11+ ░░██████
12+ ░░░░░░
13+ ```
214
315[ ![ CI] ( https://github.com/JheisonMB/gitkit/actions/workflows/ci.yml/badge.svg )] ( https://github.com/JheisonMB/gitkit/actions/workflows/ci.yml )
416[ ![ Release] ( https://github.com/JheisonMB/gitkit/actions/workflows/release.yml/badge.svg )] ( https://github.com/JheisonMB/gitkit/actions/workflows/release.yml )
517[ ![ Crates.io] ( https://img.shields.io/crates/v/gitkit )] ( https://crates.io/crates/gitkit )
618[ ![ License: MIT] ( https://img.shields.io/badge/license-MIT-blue.svg )] ( LICENSE )
719
8- Standalone CLI for configuring git repos — hooks, ` .gitignore ` , and ` .gitattributes ` . No Node.js, no Python, no runtime dependencies. One binary.
20+ Configure a git repo in seconds — hooks, ` .gitignore ` , ` .gitattributes ` , and git config. Interactive wizard or direct commands . No Node.js, no Python, no runtime dependencies. One binary.
921
1022---
1123
@@ -31,41 +43,56 @@ irm https://raw.githubusercontent.com/JheisonMB/gitkit/main/install.ps1 | iex
3143cargo install gitkit
3244```
3345
46+ Available on [ crates.io] ( https://crates.io/crates/gitkit ) .
47+
3448### GitHub Releases
3549
3650Check the [ Releases] ( https://github.com/JheisonMB/gitkit/releases ) page for precompiled binaries (Linux x86_64, macOS x86_64/ARM64, Windows x86_64).
3751
3852### Uninstall
3953
54+ ** Linux / macOS:**
4055``` bash
4156rm -f ~ /.local/bin/gitkit
4257```
4358
59+ ** Windows (PowerShell):**
60+ ``` powershell
61+ Remove-Item "$env:LOCALAPPDATA\gitkit\gitkit.exe" -Force
62+ ```
63+
4464---
4565
46- ## Quick Start
66+ ## Quick Start
67+
68+ Interactive wizard — guided setup for a new repo:
4769
4870``` bash
49- # Install a built-in hook (hook name inferred automatically)
50- gitkit hooks add conventional-commits
71+ gitkit init
72+ ```
5173
52- # Install a custom hook command
53- gitkit hooks add pre-push " cargo test"
74+ Or use commands directly:
5475
55- # See all available built-in hooks
56- gitkit hooks list --available
76+ ``` bash
77+ gitkit hooks add conventional-commits
78+ gitkit ignore add rust,vscode,agentic
79+ gitkit attributes init
80+ gitkit config apply defaults
81+ ```
5782
58- # List installed hooks
59- gitkit hooks list
83+ ---
6084
61- # Generate a .gitignore (merges with existing, no duplicates)
62- gitkit ignore add rust,vscode,agentic
85+ ## ` gitkit init `
6386
64- # Apply line endings preset
65- gitkit attributes init
87+ Interactive wizard that guides you through configuring a repo step by step.
6688
67- # Apply curated git config
68- gitkit config apply defaults
89+ - Hooks — built-ins pre-selected, or add a custom command
90+ - ` .gitignore ` — filterable search across all gitignore.io templates + built-ins
91+ - ` .gitattributes ` — line endings and binary file presets
92+ - Git config — 6 individual options, recommended ones pre-selected
93+
94+ ```
95+ gitkit init
6996```
7097
7198---
@@ -102,13 +129,13 @@ gitkit config apply defaults
102129| ---| ---|
103130| ` gitkit config apply defaults ` | ` push.autoSetupRemote ` , ` help.autocorrect ` , ` diff.algorithm ` |
104131| ` gitkit config apply advanced ` | ` merge.conflictstyle zdiff3 ` , ` rerere.enabled ` |
105- | ` gitkit config apply delta ` | ` core.pager delta ` (installs ` git-delta ` if needed ) |
132+ | ` gitkit config apply delta ` | ` core.pager delta ` (requires ` cargo ` ) |
106133
107134---
108135
109136## Built-in Hooks
110137
111- Run ` gitkit hooks list --available ` to see these at any time without leaving the terminal.
138+ Run ` gitkit hooks list --available ` to see these without leaving the terminal.
112139
113140| Name | Hook | Description |
114141| ---| ---| ---|
@@ -130,38 +157,6 @@ Built-ins are embedded in the binary — no network required.
130157
131158---
132159
133- ## Examples
134-
135- ``` bash
136- # Set up a new repo in one go
137- gitkit hooks add conventional-commits
138- gitkit hooks add no-secrets
139- gitkit ignore add rust,vscode,agentic
140- gitkit attributes init
141- gitkit config apply defaults
142-
143- # Preview what config apply would do
144- gitkit config apply delta --dry-run
145-
146- # See what's installed
147- gitkit hooks list
148-
149- # Discover built-ins without opening the docs
150- gitkit hooks list --available
151- ```
152-
153- ---
154-
155- ## Tech Stack
156-
157- | Concern | Crate |
158- | ---| ---|
159- | CLI parsing | ` clap ` (derive) |
160- | Error handling | ` anyhow ` |
161- | HTTP client | ` ureq ` |
162-
163- ---
164-
165160## License
166161
167162MIT
0 commit comments