Portable project bootstrapper (venv, gitignore, license, vscode, etc.)
Project description
⚡ RepoSmith
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.
✨ Features
- 🚀 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
⚡ Quick Start
Option 1 — run via Python module (always works)
cd MyProject
py -m reposmith.main init --entry run.py --with-vscode --with-ci
Option 2 — run via CLI (if Scripts folder is on PATH)
reposmith init --entry run.py --with-vscode --with-ci
Both commands will:
- create
.venv/ - add
requirements.txt,run.py,.gitignore,LICENSE,.vscode/ - configure everything automatically with defaults
🚀 Usage
Basic:
reposmith init --entry main.py
With 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)
📦 Installation
py -m pip install --upgrade reposmith-tol
If PATH not configured, use:
py -m reposmith.main init --entry run.py
🧪 Development
Run tests:
python -m unittest discover -s tests -v
🧑💻 Development with uv (fastest)
# Sync dev dependencies
uv sync --dev
# Run tests + coverage
uv run -m pytest -q --cov=. --cov-report=term-missing
# Lint & check code
uv run ruff check reposmith/ tests/
# Build package
uv build
🗺️ Roadmap
🔗 Follow the project progress on GitHub Projects
🛡 License
This project is licensed under the MIT License.
© 2025 TamerOnLine
💬 Support
- 🐛 Report Issues: GitHub Issues
- 💡 Feature Requests: GitHub Issues (اختر نوع Feature Request)
- 💖 Sponsor: GitHub Sponsors
- 📧 Contact: (info@tameronline.com)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file reposmith_tol-0.2.11.tar.gz.
File metadata
- Download URL: reposmith_tol-0.2.11.tar.gz
- Upload date:
- Size: 18.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
427ead0fa11d4d926a7a8d1f090a4f84ca0243a1a9c347a83d27f00071d92820
|
|
| MD5 |
64496e806306ed5aa8e3c2a2674e1420
|
|
| BLAKE2b-256 |
d705ff52a9c0b2b8c0492ca03987eb134304a91e7f099e499512acb8e8f327a8
|
File details
Details for the file reposmith_tol-0.2.11-py3-none-any.whl.
File metadata
- Download URL: reposmith_tol-0.2.11-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a30c5f1a8f5f082fbdebb3d2e5386db6d03ccbc2e87600c7ec33b60a090df44
|
|
| MD5 |
920390af6cd5d285b5fb6323af2bdc5f
|
|
| BLAKE2b-256 |
cdd48bbad3b0d914aa3e0a76ce944d04eaa7312f7d92f85b2c50452f91f81ffb
|