ghboot
From empty folder to GitHub repo in one command.
ghboot is a small CLI tool and importable Python library that bootstraps a directory into a fully initialized git repository — with a .gitignore, a README.md, an initial commit, and a GitHub remote — interactively, in seconds.
What it does
ghboot /path/to/my-project
git init— prompts before initializing, skips if already a repo.gitignore— auto-detects your project type (Python, Node, Go, Rust, Ruby, Java) and fetches the matching template from the GitHub API; falls back to a generic template if offline or undetectedREADME.md— creates a minimal# project-namefile; skips if one exists- Initial commit — stages everything and commits with
"Initial commit" - GitHub remote — uses the
ghCLI to create the remote repo, prompt for name/owner/visibility, and push; skips gracefully ifghis not installed
Install
pip install ghboot
Or install in editable mode from source:
git clone https://github.com/you/ghboot
cd ghboot
pip install -e .
Usage
CLI
# bootstrap the current directory
ghboot
# bootstrap a specific path
ghboot ~/projects/my-new-thing
Interactive prompts guide you through each decision point:
Initialize git repo here? [Y/n]
Using Python .gitignore template.
Repo name [my-new-thing]:
Owner:
1. yourname (personal)
2. your-org
Select [1]:
Visibility [private/public, default: private]:
Created https://github.com/yourname/my-new-thing
Python API
from ghboot import bootstrap
# non-interactive, all defaults
bootstrap(path=".")
# interactive — prompts at each decision point
bootstrap(path=".", interactive=True)
Requirements
- Python 3.10+
gitavailable inPATHghCLI — optional, only needed for the GitHub remote step
What it explicitly does NOT do
- No LLM calls
- No framework-specific config
- No branch management beyond
main/master - No CI/CD setup
It does one thing and does it well. Anything beyond that is someone else's job.
License
MIT
Metadata
Release files for ghboot 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ghboot-0.1.0.tar.gz | 6.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ghboot-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.7 kB
Release files / ghboot-0.1.0.tar.gz
| Download URL | ghboot-0.1.0.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7b3200090e6cca6df35d45c953807a53673e3a14b88db2eb31cf157686511a8f
|
|
BLAKE2b-256 checksum How to use checksums |
a8882698c8ad737eca06600884cb1b40d7a4cf233e2bf49e3cab2995efdda45d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Release files / ghboot-0.1.0-py3-none-any.whl
| Download URL | ghboot-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bd72c0cb0df65a5cbe4de1d99850ad204d65a95621ce52f1b146230bacf5ca30
|
|
BLAKE2b-256 checksum How to use checksums |
6145b2dae50517fe228d26fb66d397f23312ec3c76eae8c2924b76bf748c2130
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|