Skip to main content

Portable project bootstrapper (venv, gitignore, license, vscode, etc.)

Project description

⚡ RepoSmith

PyPI version Python License CI Sponsor

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.py or run.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 .bak backup)
  • --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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reposmith_tol-0.2.11.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reposmith_tol-0.2.11-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

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

Hashes for reposmith_tol-0.2.11.tar.gz
Algorithm Hash digest
SHA256 427ead0fa11d4d926a7a8d1f090a4f84ca0243a1a9c347a83d27f00071d92820
MD5 64496e806306ed5aa8e3c2a2674e1420
BLAKE2b-256 d705ff52a9c0b2b8c0492ca03987eb134304a91e7f099e499512acb8e8f327a8

See more details on using hashes here.

File details

Details for the file reposmith_tol-0.2.11-py3-none-any.whl.

File metadata

File hashes

Hashes for reposmith_tol-0.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 1a30c5f1a8f5f082fbdebb3d2e5386db6d03ccbc2e87600c7ec33b60a090df44
MD5 920390af6cd5d285b5fb6323af2bdc5f
BLAKE2b-256 cdd48bbad3b0d914aa3e0a76ce944d04eaa7312f7d92f85b2c50452f91f81ffb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page