Universal development tools for Python and JavaScript - Automatic installation, cross-platform configuration, global commands
Project description
๐ ๏ธ 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!" ๐
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file works_on_my_machine-2.6.8.tar.gz.
File metadata
- Download URL: works_on_my_machine-2.6.8.tar.gz
- Upload date:
- Size: 216.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f525f3e41b36f98fc996d64581c69a8ed70b742b40525651e6517319d4ebb722
|
|
| MD5 |
036f0a896b503bf9bcb4c781f07a7f8f
|
|
| BLAKE2b-256 |
391a15947a4f9ba96f8c0e872f26fff3049ff32f62f922f862751805b1dc38f0
|
File details
Details for the file works_on_my_machine-2.6.8-py3-none-any.whl.
File metadata
- Download URL: works_on_my_machine-2.6.8-py3-none-any.whl
- Upload date:
- Size: 281.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0beda7fdaba8a690e7207448220706927fd5d25dad60eba10731b2b9e6c5e77
|
|
| MD5 |
39503c78b3069153588b68e77b59c3dd
|
|
| BLAKE2b-256 |
24e803e65e3d0569ebae055863592fc4addf5b8a64b2af99ccb70f6e567a6a39
|