Skip to main content

🛠️ Works On My Machine (WOMM)

CI Docs License packaging lint types tests

Logo

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 as womm. The name womm was already taken on PyPI, so the package is published as womm-cli. You only type that name to install or upgrade. The former name works-on-my-machine is 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.



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)

Source distribution for womm-cli 4.0.0
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)

Table of built distributions (wheels) for womm-cli 4.0.0
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

4.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page