RepoSmith is a portable Python project bootstrapper β a zero-dependency CLI & library that helps you spin up new projects instantly.
With one command, you get a ready-to-code environment: virtualenv, config files, VS Code setup, .gitignore, LICENSE, and optional CI.
- π Zero dependencies β built only with Python stdlib
- βοΈ Virtual environment auto-created (
.venv) - π¦ requirements.txt scaffolded (empty but ready)
- π Entry file (
main.pyorrun.py) with a welcome message - π‘ LICENSE (MIT by default, more soon)
- π .gitignore presets (Python, Node, Djangoβ¦)
- π» VS Code config (
settings.json,launch.json, workspace) - π GitHub Actions workflow (
.github/workflows/ci.yml) - π§ Idempotent: runs safely again without overwriting unless
--force
cd MyProject
py -m reposmith init --entry run.py --with-vscode --with-cireposmith init --entry run.py --with-vscode --with-ciBoth commands will:
- create
.venv/ - add
requirements.txt,run.py,.gitignore,LICENSE,.vscode/ - configure everything automatically with defaults
βΉοΈ Note: For compatibility with older versions, you can still run
py -m reposmith.main ...but it is recommended to use
py -m reposmith ...going forward.
Basic:
reposmith init --entry main.pyWith extras:
reposmith init --entry run.py --with-ci --with-gitignore --with-license --with-vscode --author "YourName"Flags:
--forceβ overwrite existing files (with.bakbackup)--no-venvβ skip creating.venv--with-licenseβ add LICENSE (MIT)--with-gitignoreβ add .gitignore (Python preset by default)--with-vscodeβ add VS Code config--with-ciβ add GitHub Actions workflow--author/--yearβ customize LICENSE metadata--ci-pythonβ set Python version for CI (default: 3.12)
For convenience, RepoSmith also ships with an on/ package in the repo root.
This lets you launch the tool with a shorter command:
py -m on init # same as: py -m reposmith init
py -m on info # show quick environment info
py -m on init -i # run in interactive mode (asks step-by-step questions)βΉοΈ Note: Running
py -m onwithout a subcommand will display the help message. ======= cd MyProject py -m on init
---
## π¦ Installation
```powershell
py -m pip install --upgrade reposmith-tol
If PATH not configured, use:
py -m reposmith init --entry run.pyRun tests:
python -m unittest discover -s tests -v- Support additional templates (Django, FastAPI, React)
- Interactive wizard (
reposmith init --interactive) - More license options (Apache-2.0, GPL-3.0)
- Release workflow via GitHub Releases
π Follow the project progress on GitHub Projects
This project is licensed under the MIT License.
Β© 2025 TamerOnLine
- π Bug Report: Open Bug Report
- π‘ Feature Request: Suggest a Feature
- β Task / ToDo: Create Task
- π Blank Issue: Open Blank Issue
- π All Issues: GitHub Issues
- π¬ Discussions: Join the Conversation
- π Sponsor: GitHub Sponsors
- π§ Contact: info@tameronline.com