Skip to main content

🛠️ Works On My Machine (WOMM)

Python License Version Platform Status

Tests Documentation Maintenance

Universal development environment manager for Python and JavaScript
🚀 One command to rule them all - Automatic setup, cross-platform configuration, professional tooling


🎯 What is WOMM?

Works On My Machine is a comprehensive development environment manager that eliminates the "it works on my machine" problem. It provides a unified CLI tool that automatically sets up professional development environments for Python and JavaScript projects.

✨ Key Features

  • 🚀 One-Command Setup - Complete project initialization with professional tooling
  • 🔧 Cross-Platform - Works seamlessly on Windows, macOS, and Linux
  • 🎯 Smart Detection - Automatically detects project types and applies appropriate configurations
  • 📦 Template System - Create reusable project templates from existing projects
  • 🛠️ Professional Tooling - Pre-configured with industry-standard tools (Black, ESLint, Prettier, etc.)
  • 🔄 Interactive Mode - Guided setup with beautiful CLI interfaces
  • 📚 Comprehensive Documentation - Complete guides for every feature

🚀 Quick Start

Installation

# Option 1: Install from PyPI (recommended)
pip install works-on-my-machine
# OR
pip install womm

# Option 2: Install from source
git clone https://github.com/neuraaak/works-on-my-machine.git
cd works-on-my-machine
python womm.py install

# Restart your terminal, then use WOMM anywhere!

Create Your First Project

# Create a Python project with full tooling
womm new python my-awesome-app

# Create a JavaScript/React project
womm new javascript my-react-app

# Let WOMM detect and setup automatically
womm new detect my-project

Setup Existing Projects

# Setup Python project with professional tooling
womm setup python

# Setup JavaScript project with ESLint, Prettier, etc.
womm setup javascript

# Auto-detect and setup
womm setup detect

🎯 Available Commands

🆕 Project Creation

womm new python <name>     # Create Python project with virtual env, Black, pytest
womm new javascript <name> # Create JavaScript project with ESLint, Prettier
womm new detect <name>     # Auto-detect project type and create
womm new --interactive     # Guided project creation

⚙️ Project Setup

womm setup python          # Setup Python project (dependencies, tools, config)
womm setup javascript      # Setup JavaScript project (npm, ESLint, etc.)
womm setup detect          # Auto-detect and setup project
womm setup --interactive   # Guided setup process

🔍 Code Quality

womm lint python           # Lint Python code (Black, isort, flake8)
womm lint javascript       # Lint JavaScript code (ESLint, Prettier)
womm lint all              # Lint all supported code in project
womm spell check           # Check spelling in project files

📦 Template Management

womm template create       # Create template from current project
womm template list         # List available templates
womm template info <name>  # Show template details
womm template delete <name> # Delete template

🔧 System Management

womm system detect         # Detect system information and tools
womm system install <tools> # Install prerequisites (python, node, git)
womm install               # Install WOMM globally
womm uninstall             # Remove WOMM from system

🖱️ Windows Integration

womm context register      # Register WOMM in Windows context menu
womm context unregister    # Remove from context menu
womm context list          # List registered entries

🏗️ What WOMM Sets Up

🐍 Python Projects

  • ✅ Virtual Environment with venv
  • ✅ Code Formatting with Black and isort
  • ✅ Linting with flake8 and ruff
  • ✅ Testing with pytest and coverage
  • ✅ Pre-commit Hooks for quality assurance
  • ✅ VSCode Configuration for consistent development
  • ✅ pyproject.toml with modern Python packaging
  • ✅ Development Scripts for common tasks

🟨 JavaScript Projects

  • ✅ Package Management with npm/yarn
  • ✅ Code Formatting with Prettier
  • ✅ Linting with ESLint
  • ✅ Testing with Jest
  • ✅ Git Hooks with Husky
  • ✅ VSCode Configuration for JavaScript development
  • ✅ TypeScript Support (optional)
  • ✅ Modern ES6+ Configuration

🔧 Professional Tooling

  • ✅ Cross-Platform Compatibility
  • ✅ Consistent Code Style across team
  • ✅ Automated Quality Checks
  • ✅ Integrated Development Environment
  • ✅ Best Practices out of the box

📚 Documentation

📖 Complete Documentation

🔌 API Reference


🎯 Use Cases

👨‍💻 Individual Developers

  • Quick Project Setup - Start coding in minutes, not hours
  • Consistent Environments - Same setup across all your machines
  • Professional Standards - Industry-standard tooling without the hassle

👥 Development Teams

  • Standardized Workflows - Everyone uses the same tools and configurations
  • Onboarding - New team members can start contributing immediately
  • Quality Assurance - Automated code quality checks for all projects

🏢 Organizations

  • Template Library - Create and share project templates across teams
  • Best Practices - Enforce coding standards and development workflows
  • Cross-Platform - Works consistently across Windows, macOS, and Linux

🛠️ Technical Architecture

Core Components

  • CLI Interface - Modern Click-based command-line interface
  • Project Managers - Language-specific project creation and setup
  • Template System - Dynamic template generation and management
  • System Detection - Automatic detection of tools and environments
  • UI Components - Rich terminal interfaces with progress tracking

Supported Platforms

  • Windows - Full support with batch scripts and PowerShell
  • macOS - Native Unix-like environment support
  • Linux - Complete compatibility with various distributions

Language Support

  • Python - 3.8+ with modern tooling ecosystem
  • JavaScript - Node.js with modern development tools
  • Extensible - Framework for adding more languages

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

# Clone and setup development environment
git clone https://github.com/neuraaak/works-on-my-machine.git
cd works-on-my-machine

# Install in development mode
pip install -e .

# Run tests
pytest

# Run linting
womm lint python

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments

  • Click - For the excellent CLI framework
  • Rich - For beautiful terminal interfaces
  • InquirerPy - For interactive command-line prompts
  • Black, ESLint, Prettier - For code quality tools
  • The Python and JavaScript communities - For amazing development tools

📊 Project Status

  • Version: 2.6.8
  • Status: Beta (actively maintained)
  • Python Support: 3.8+
  • Platforms: Windows, macOS, Linux
  • Languages: Python, JavaScript

Made with ❤️ by the WOMM Team

"It works on my machine, and now it will work on yours too!" 🚀

Metadata

Release files for works-on-my-machine 2.6.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for works-on-my-machine 2.6.8
File Size Uploaded
works_on_my_machine-2.6.8.tar.gz 216.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for works-on-my-machine 2.6.8
File Interpreter ABI Platform
works_on_my_machine-2.6.8-py3-none-any.whl Python 3 none any Details

Total release size: 497.2 kB

Release files / works_on_my_machine-2.6.8.tar.gz

Download URL works_on_my_machine-2.6.8.tar.gz
Size 216.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f525f3e41b36f98fc996d64581c69a8ed70b742b40525651e6517319d4ebb722
BLAKE2b-256 checksum
How to use checksums
391a15947a4f9ba96f8c0e872f26fff3049ff32f62f922f862751805b1dc38f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / works_on_my_machine-2.6.8-py3-none-any.whl

Download URL works_on_my_machine-2.6.8-py3-none-any.whl
Size 281.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e0beda7fdaba8a690e7207448220706927fd5d25dad60eba10731b2b9e6c5e77
BLAKE2b-256 checksum
How to use checksums
24e803e65e3d0569ebae055863592fc4addf5b8a64b2af99ccb70f6e567a6a39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release history Release notifications | RSS feed

This release

2.6.8 This release

2 release files

2.6.7

2 release files

2.6.4

2 release files

2.6.3

2 release files

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