Skip to content
/ RepoSmith Public template
generated from TamerOnLine/RepoSmith

Portable CLI to instantly bootstrap Python projects with venv, config, gitignore, VS Code, and license.

License

Notifications You must be signed in to change notification settings

liebemama/RepoSmith

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

95 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

⚑ RepoSmith

PyPI version Python License CI Success Security Advisories Sponsor

πŸ“˜ Docs badge: Docs Downloads

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 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

ℹ️ 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.

πŸš€ 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)

Option 3 β€” run via on helper (shortcut)

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 on without 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.py

πŸ§ͺ Development

Run tests:

python -m unittest discover -s tests -v

πŸ—ΊοΈ Roadmap

  • 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


πŸ›‘ License

This project is licensed under the MIT License.
Β© 2025 TamerOnLine


πŸ’¬ Support

About

Portable CLI to instantly bootstrap Python projects with venv, config, gitignore, VS Code, and license.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 2

  •  
  •  

Languages