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