One command to create, init, commit & push any project to GitHub.
No gh CLI. No dependencies. Just Python.
Drop this into any project folder, run it, and it will:
- Create a new GitHub repository (public or private)
- Init git if not already initialized
- Stage all files
- Commit with your message
- Push to GitHub
Done. Your project is live.
git clone https://github.com/CR3-Architect/github-repo-init.git
cd github-repo-init
pip install .git clone https://github.com/CR3-Architect/github-repo-init.git
cd github-repo-init
python -m github_repo_init.cliNavigate to your project folder and run:
github-repo-initIt will walk you through:
Repo name [my-project]: my-awesome-app
Public or private? [public]: public
Description (optional): A cool new project
Commit message [Initial commit]: feat: initial release
Pass all flags to skip prompts:
github-repo-init -r my-project -m "Initial commit" --public -y| Flag | Description | Default |
|---|---|---|
-r, --repo |
Repository name | Current folder name |
-m, --message |
Commit message | Initial commit |
-d, --description |
Repo description | (none) |
--private |
Create private repo | false |
--public |
Create public repo | true |
-t, --token |
GitHub token | (from env/file) |
-y, --yes |
Skip confirmations | false |
--version |
Show version | — |
The tool needs a GitHub Personal Access Token (PAT) to create repos and push.
export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxx"The tool will prompt you to save your token to ~/.github_token (only you can read it).
github-repo-init -t ghp_xxxxxxxxxxxxxxxxxxxx- Go to https://github.com/settings/tokens
- Click Generate new token → Generate new token (classic)
- Set a name and expiration
- Check
reposcope (full control of private repos) - Generate and copy
cd my-project
github-repo-init
# Follow prompts → donegithub-repo-init --private -m "feat: add authentication"#!/bin/bash
cd /path/to/project
github-repo-init -r "my-app" -m "Initial commit" --public -y
echo "Repo is live!"- name: Init and push
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pip install github-repo-init
github-repo-init -r my-app -m "Deploy" --private -ygithub-repo-init/
├── github_repo_init/
│ ├── __init__.py # Package metadata
│ ├── cli.py # CLI entry point (argparse)
│ └── github.py # GitHub API wrapper (stdlib only)
├── pyproject.toml # Build config & metadata
├── requirements.txt # Dependencies (none)
├── LICENSE # MIT License
├── README.md # This file
└── .gitignore
- Python 3.10+
- Git installed and in PATH
- GitHub account with a Personal Access Token
That's it. Zero Python dependencies — uses only the standard library.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing) - Commit (
git commit -m 'Add amazing feature') - Push (
git push origin feature/amazing) - Open a Pull Request
MIT License — see LICENSE for details.
Built with Python. No dependencies. Just works.