🛠️ Works On My Machine (WOMM)
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
- 📋 CLI Commands - All available commands and options
- 🐍 Python Guide - Python project creation and setup
- 🟨 JavaScript Guide - JavaScript project setup
- 📦 Templates - Template management system
- 🔧 Installation - Installation and configuration
- 🛠️ System Tools - System detection and management
🔌 API Reference
- 🏗️ Architecture - Technical architecture overview
- 📦 Templates API - Template system 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)
| File | Size | Uploaded | |
|---|---|---|---|
| works_on_my_machine-2.6.8.tar.gz | 216.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|