🛠️ Works On My Machine (WOMM)
WOMM is a command-line tool that creates Python and JavaScript projects from templates, configures existing ones, and keeps your PATH and Windows context menu under control.
Installed as
womm-cli, used aswomm. The namewommwas already taken on PyPI, so the package is published aswomm-cli. You only type that name to install or upgrade. The former nameworks-on-my-machineis no longer maintained: its last release,3.2.4, exists only to carry that notice.
📦 Installation
# Recommended: isolated install, uv provisions Python if needed
uv tool install womm-cli
uv tool update-shell # once, if `womm` is not on your PATH yet
# Any other PEP 517 installer works on the same wheel
pipx install womm-cli
pip install --user womm-cli
# Run it without installing anything
uvx womm-cli --help
# Unreleased code, straight from the repository
uv tool install git+https://github.com/neuraaak/WOMM.git
Upgrade with uv tool upgrade womm-cli, remove with
uv tool uninstall womm-cli. Neither touches your data in ~/.womm.
Requires Python 3.13 or later — uv tool install provisions it for you.
🚀 Quick Start
# Create a Python project, then prepare its environment
womm create official/python ./hello-womm --setup
# Configure a project you already have
cd my-existing-project
womm setup detect
# Check what WOMM resolves on this machine
womm doctor
🎯 Key Features
- ✅ Project creation from Copier templates, with real questions and a catalog you can extend
- ✅ Two official templates: Python (optional Django) and JavaScript/TypeScript (optional React or Vue)
- ✅ Environment setup for existing projects: virtual environment, dependencies, dev tooling, git hooks
- ✅ PATH management, with an automatic backup before every change
- ✅ Windows context menu entries, with backups and selective restore
- ✅ Read-only dependency report across runtimes and package managers
- ✅ User data kept in
~/.womm, untouched by upgrades
💻 CLI Usage
womm create TEMPLATE DESTINATION # render a catalog template
womm setup detect|python|javascript # configure an existing project
womm template list|show|add|init|update|remove
womm deps check|status|list # report runtimes and package managers
womm path list|add|remove|backup # inspect and manage your PATH
womm context register|list|unregister|quick-setup|backup # Windows only
womm system detect|refresh-env # system information, Windows refresh
womm doctor # what this installation resolves
Every command takes -h for its own options. The full list is in the
command reference.
📚 Documentation
Complete documentation is available at neuraaak.github.io/WOMM
| Section | Description |
|---|---|
| Get started | Install WOMM and create your first project |
| Guides | One page per task, from creation to the PATH |
| Concepts | The template catalog, dependencies, your data |
| Reference | Every command, option, file and variable |
| Troubleshooting | Symptoms, causes and fixes |
| FAQ | Short answers to recurring questions |
| Release notes | What changed for you in each version |
🧪 Testing
uv run pytest # unit tests with coverage
uv run pytest tests/unit -q # quick run
🛠️ Development Setup
git clone https://github.com/neuraaak/WOMM.git
cd WOMM
uv sync --group dev # install the project and its dev tooling
uv run pre-commit install # enable the git hooks
uv run ruff check . # lint
uv run ruff format . # format
uv run ty check . # type check
uv run lint-imports # layer contracts
uv run mkdocs serve # preview the documentation
📦 Dependencies
| Dependency | Constraint | Role |
|---|---|---|
| click | >=8.0.0 |
Command-line interface |
| rich | >=13.0.0 |
Terminal rendering |
| ezplog | >=2.0.0,<3.0.0 |
Logging and console output |
| InquirerPy | >=0.3.4 |
Interactive prompts |
| copier | >=9.17,<10 |
Template rendering |
External programs WOMM reports on but never installs: Python 3.13+, Node.js 18+, git 2.30+, and one of pip, uv, npm or yarn.
📝 License
Released under the MIT License.
🔗 Links
- Repository — github.com/neuraaak/WOMM
- PyPI — pypi.org/project/womm-cli
- Documentation — neuraaak.github.io/WOMM
- Issues — github.com/neuraaak/WOMM/issues
WOMM – Scaffold it once, run it anywhere.
Metadata
Release files for womm-cli 4.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| womm_cli-4.0.0.tar.gz | 293.4 kB | Without provenance | Details for womm_cli-4.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| womm_cli-4.0.0-py3-none-any.whl | Python 3 | none | any | Details for womm_cli-4.0.0-py3-none-any.whl |
Total release size: 572.1 kB
Release files / womm_cli-4.0.0.tar.gz
| Download URL | womm_cli-4.0.0.tar.gz |
|---|---|
| Size | 293.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c667142cf38c2d27203d0427d688a6921ebbb9833c325a4d2238976ee10de4e1
|
|
BLAKE2b-256 checksum How to use checksums |
dc531e3e55157c1977261cbfb42a397cf15f2eeb486ba3633fbe43599115b9d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / womm_cli-4.0.0-py3-none-any.whl
| Download URL | womm_cli-4.0.0-py3-none-any.whl |
|---|---|
| Size | 278.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
058aa2d1fb89e4076cf1ee93e675f3416a9e05caa9cb38aabd804313ac972513
|
|
BLAKE2b-256 checksum How to use checksums |
ad2f5f8af2b3b72267aae13cfbe76b490ac0677f06c492a17eb95ca663f4d3a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for womm-cli 4.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.