# β‘ RepoSmith
[](https://pypi.org/project/reposmith-tol/)




[](https://github.com/sponsors/liebemama)
**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)
```powershell
cd MyProject
py -m reposmith init --entry run.py --with-vscode --with-ci
```
### Option 2 β run via CLI (if Scripts folder is on PATH)
```powershell
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:
```powershell
reposmith init --entry main.py
```
With extras:
```powershell
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:
```powershell
cd MyProject
py -m on init
```
---
## π¦ Installation
```powershell
py -m pip install --upgrade reposmith-tol
```
If PATH not configured, use:
```powershell
py -m reposmith init --entry run.py
```
---
## π§ͺ Development
Run tests:
```powershell
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](https://github.com/orgs/liebemama/projects/2)
---
## π‘ License
This project is licensed under the [MIT License](https://github.com/liebemama/RepoSmith/blob/main/LICENSE).
Β© 2025 TamerOnLine
---
## π¬ Support
- π **Bug Report:** [Open Bug Report](https://github.com/liebemama/RepoSmith/issues/new?template=bug.yml)
- π‘ **Feature Request:** [Suggest a Feature](https://github.com/liebemama/RepoSmith/issues/new?template=feature.yml)
- β
**Task / ToDo:** [Create Task](https://github.com/liebemama/RepoSmith/issues/new?assignees=&labels=task&template=task.yml)
- π **Blank Issue:** [Open Blank Issue](https://github.com/liebemama/RepoSmith/issues/new)
- π **All Issues:** [GitHub Issues](https://github.com/liebemama/RepoSmith/issues)
- π¬ **Discussions:** [Join the Conversation](https://github.com/liebemama/RepoSmith/discussions)
- π **Sponsor:** [GitHub Sponsors](https://github.com/sponsors/liebemama)
- π§ **Contact:** [info@tameronline.com](mailto:info@tameronline.com)
---
Raw data
{
"_id": null,
"home_page": null,
"name": "reposmith-tol",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "bootstrap, venv, gitignore, license, vscode, scaffold, cli",
"author": "TamerOnLine",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/03/71/7c001aea33c535c83701929ea4876db738120ee55cf9edb331023d75295a/reposmith_tol-0.2.10.tar.gz",
"platform": null,
"description": "# \u26a1 RepoSmith \r\n\r\n[](https://pypi.org/project/reposmith-tol/)\r\n\r\n\r\n\r\n\r\n[](https://github.com/sponsors/liebemama)\r\n\r\n\r\n\r\n**RepoSmith** is a **portable Python project bootstrapper** \u2014 a zero-dependency CLI & library that helps you spin up new projects instantly. \r\nWith one command, you get a ready-to-code environment: virtualenv, config files, VS Code setup, `.gitignore`, LICENSE, and optional CI.\r\n\r\n---\r\n\r\n## \u2728 Features\r\n- \ud83d\ude80 **Zero dependencies** \u2014 built only with Python stdlib\r\n- \u2699\ufe0f **Virtual environment** auto-created (`.venv`)\r\n- \ud83d\udce6 **requirements.txt** scaffolded (empty but ready)\r\n- \ud83d\udcdd **Entry file** (`main.py` or `run.py`) with a welcome message\r\n- \ud83d\udee1 **LICENSE** (MIT by default, more soon)\r\n- \ud83d\ude48 **.gitignore** presets (Python, Node, Django\u2026)\r\n- \ud83d\udcbb **VS Code config** (`settings.json`, `launch.json`, workspace)\r\n- \ud83d\udd04 **GitHub Actions** workflow (`.github/workflows/ci.yml`)\r\n- \ud83d\udd27 Idempotent: runs safely again without overwriting unless `--force`\r\n\r\n---\r\n\r\n## \u26a1 Quick Start\r\n\r\n### Option 1 \u2014 run via Python module (always works)\r\n```powershell\r\ncd MyProject\r\npy -m reposmith init --entry run.py --with-vscode --with-ci\r\n```\r\n\r\n### Option 2 \u2014 run via CLI (if Scripts folder is on PATH)\r\n```powershell\r\nreposmith init --entry run.py --with-vscode --with-ci\r\n```\r\n\r\nBoth commands will:\r\n- create `.venv/`\r\n- add `requirements.txt`, `run.py`, `.gitignore`, `LICENSE`, `.vscode/`\r\n- configure everything automatically with defaults\r\n\r\n---\r\n\r\n\r\n> \u2139\ufe0f **Note:** For compatibility with older versions, you can still run \r\n> `py -m reposmith.main ...` but it is recommended to use \r\n> `py -m reposmith ...` going forward.\r\n\r\n## \ud83d\ude80 Usage\r\n\r\nBasic:\r\n```powershell\r\nreposmith init --entry main.py\r\n```\r\n\r\nWith extras:\r\n```powershell\r\nreposmith init --entry run.py --with-ci --with-gitignore --with-license --with-vscode --author \"YourName\"\r\n```\r\n\r\nFlags:\r\n- `--force` \u2192 overwrite existing files (with `.bak` backup)\r\n- `--no-venv` \u2192 skip creating `.venv`\r\n- `--with-license` \u2192 add LICENSE (MIT)\r\n- `--with-gitignore` \u2192 add .gitignore (Python preset by default)\r\n- `--with-vscode` \u2192 add VS Code config\r\n- `--with-ci` \u2192 add GitHub Actions workflow\r\n- `--author` / `--year` \u2192 customize LICENSE metadata\r\n- `--ci-python` \u2192 set Python version for CI (default: 3.12)\r\n\r\n---\r\n\r\n### Option 3 \u2014 run via `on` helper (shortcut)\r\n\r\nFor convenience, RepoSmith also ships with an **`on/` package** in the repo root. \r\nThis lets you launch the tool with a shorter command:\r\n\r\n```powershell\r\ncd MyProject\r\npy -m on init\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udce6 Installation\r\n```powershell\r\npy -m pip install --upgrade reposmith-tol\r\n```\r\n\r\nIf PATH not configured, use:\r\n```powershell\r\npy -m reposmith init --entry run.py\r\n```\r\n\r\n---\r\n\r\n## \ud83e\uddea Development\r\nRun tests:\r\n```powershell\r\npython -m unittest discover -s tests -v\r\n```\r\n\r\n---\r\n\r\n## \ud83d\uddfa\ufe0f Roadmap\r\n\r\n- Support additional templates (Django, FastAPI, React)\r\n- Interactive wizard (`reposmith init --interactive`)\r\n- More license options (Apache-2.0, GPL-3.0)\r\n- Release workflow via GitHub Releases\r\n\r\n\ud83d\udd17 [Follow the project progress on GitHub Projects](https://github.com/orgs/liebemama/projects/2)\r\n\r\n\r\n---\r\n\r\n\r\n## \ud83d\udee1 License\r\nThis project is licensed under the [MIT License](https://github.com/liebemama/RepoSmith/blob/main/LICENSE). \r\n\u00a9 2025 TamerOnLine\r\n\r\n---\r\n\r\n## \ud83d\udcac Support\r\n\r\n- \ud83d\udc1e **Bug Report:** [Open Bug Report](https://github.com/liebemama/RepoSmith/issues/new?template=bug.yml) \r\n- \ud83d\udca1 **Feature Request:** [Suggest a Feature](https://github.com/liebemama/RepoSmith/issues/new?template=feature.yml) \r\n- \u2705 **Task / ToDo:** [Create Task](https://github.com/liebemama/RepoSmith/issues/new?assignees=&labels=task&template=task.yml) \r\n- \ud83d\udcc4 **Blank Issue:** [Open Blank Issue](https://github.com/liebemama/RepoSmith/issues/new) \r\n- \ud83d\udcc2 **All Issues:** [GitHub Issues](https://github.com/liebemama/RepoSmith/issues) \r\n- \ud83d\udcac **Discussions:** [Join the Conversation](https://github.com/liebemama/RepoSmith/discussions) \r\n- \ud83d\udc96 **Sponsor:** [GitHub Sponsors](https://github.com/sponsors/liebemama) \r\n- \ud83d\udce7 **Contact:** [info@tameronline.com](mailto:info@tameronline.com)\r\n\r\n---\r\n\r\n\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Portable project bootstrapper (venv, gitignore, license, vscode, etc.)",
"version": "0.2.10",
"project_urls": {
"Homepage": "https://github.com/liebemama/RepoSmith",
"Issues": "https://github.com/liebemama/RepoSmith/issues",
"Repository": "https://github.com/liebemama/RepoSmith",
"Sponsor": "https://github.com/sponsors/liebemama",
"Support": "https://github.com/liebemama/RepoSmith/discussions"
},
"split_keywords": [
"bootstrap",
" venv",
" gitignore",
" license",
" vscode",
" scaffold",
" cli"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "25edf693f8b934be1b6bbbe119a5e0f872611f881e363cd3030090ffb43e9790",
"md5": "4be172e798826f07619733ab452e8beb",
"sha256": "2d2996ea2e115af41b4a4abd8594cb900d390d7b84e55e741377a294da9b637f"
},
"downloads": -1,
"filename": "reposmith_tol-0.2.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4be172e798826f07619733ab452e8beb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 17838,
"upload_time": "2025-09-07T01:37:43",
"upload_time_iso_8601": "2025-09-07T01:37:43.464349Z",
"url": "https://files.pythonhosted.org/packages/25/ed/f693f8b934be1b6bbbe119a5e0f872611f881e363cd3030090ffb43e9790/reposmith_tol-0.2.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "03717c001aea33c535c83701929ea4876db738120ee55cf9edb331023d75295a",
"md5": "add3458c998baca7d0bd2e63eac15c90",
"sha256": "923c12faf6bd0a54b4781cc6a34db3f901dcc818fa91b7a160cc0e24358ea74c"
},
"downloads": -1,
"filename": "reposmith_tol-0.2.10.tar.gz",
"has_sig": false,
"md5_digest": "add3458c998baca7d0bd2e63eac15c90",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 19645,
"upload_time": "2025-09-07T01:37:45",
"upload_time_iso_8601": "2025-09-07T01:37:45.008401Z",
"url": "https://files.pythonhosted.org/packages/03/71/7c001aea33c535c83701929ea4876db738120ee55cf9edb331023d75295a/reposmith_tol-0.2.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-07 01:37:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "liebemama",
"github_project": "RepoSmith",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "reposmith-tol"
}