A cross-platform desktop application for cleaning up and managing development tools and dependencies
Features β’ Installation β’ Usage β’ Development β’ Contributing β’ δΈζζζ‘£
Dev Janitor is a powerful desktop application designed to help developers detect, view, and manage development tools, packages, services, and environment configurations on their system. It provides a unified visual interface to clean up version confusion and scattered management.
- Automatic Detection: Automatically scans and detects installed development tools
- 36+ Supported Tools: Comprehensive detection including:
- Runtimes: Node.js, Python, PHP, Java, Go, Rust, Ruby, .NET, Deno, Bun, Perl, Lua
- Package Managers: npm, pip, Composer, Yarn, pnpm, Cargo, RubyGems, Homebrew, Chocolatey, Scoop, winget
- Cloud Tools: AWS CLI, Azure CLI, Google Cloud SDK, Helm, Ansible
- Version Managers: nvm, pyenv, rbenv, SDKMAN
- Dev Tools: Git, Docker, Kubernetes CLI, Terraform
- Version Information: Displays version numbers and installation paths
- Installation Status: Clear visual indicators for installed vs unavailable tools
- Windows Compatibility: Special handling for Windows Python Launcher (
pycommand) - Configurable Timeouts: Smart timeout presets (Quick/Normal/Slow/Extended) for reliable detection
- Detection Caching: 5-minute cache for improved performance with force-refresh option
- Detection Summary: Detailed summary with success/failure counts and timing information
- Local Analysis: Free, offline intelligent analysis without API key
- Detects outdated tool versions (Node.js 22 LTS, Python 3.12+ standards)
- Finds PATH duplicates and conflicts
- Identifies port conflicts
- Suggests missing essential tools
- AI-Powered Insights: Optional OpenAI integration for deeper analysis
- Environment health assessment
- Personalized optimization recommendations
- Best practices suggestions (2026 standards)
- Supported Models (January 2026):
- GPT-5 (Recommended - Best coding capability, 400K context)
- GPT-5 Mini / GPT-5 Nano (Fast & economical)
- o3 / o4-mini (Reasoning-enhanced for complex problems)
- GPT-4.1 (Previous stable version)
- Smart Suggestions: Actionable recommendations with commands
- Multi-language: Full support in English and Chinese
- NPM Packages: View and manage globally installed npm packages
- Python Packages: Browse pip-installed packages
- Composer Packages: Manage PHP Composer global packages
- Version Check: Detect outdated package versions
- One-Click Update: Update packages directly from the UI (npm/pip) (NEW!)
- Safe Operations: View and copy path only, removed dangerous operations like delete/open file
- Running Services: Monitor development servers and processes
- Port Detection: Identify services running on specific ports
- Process Control: Stop/kill running services with one click
- Auto-Refresh: Automatic service list updates every 5 seconds
- Full Scan: View all system environment variables
- PATH Analysis: Analyze PATH entries with duplicate detection
- Category Filtering: Filter variables by category (PATH, Java, Python, Node, etc.)
- Problem Detection: Highlight potentially problematic configurations
- Multi-language Support: English (en-US) and Chinese (zh-CN)
- Easy Switching: Change language instantly from settings
- System Detection: Automatically detects system language on first launch
- Windows: Full support for Windows 10/11
- macOS: Native support for macOS 10.15+
- Linux: AppImage and deb packages for Linux distributions
Download the latest release for your platform from the Releases page:
| Platform | Download |
|---|---|
| Windows | Dev-Janitor-Setup-1.4.0.exe |
| macOS | Dev-Janitor-1.4.0.dmg |
| Linux | Dev-Janitor-1.4.0.AppImage |
- Node.js 18.x or higher
- npm 9.x or higher
- Git
-
Clone the repository
git clone https://github.com/cocojojo5213/Dev-Janitor.git cd Dev-Janitor -
Install dependencies
npm install
-
Run in development mode
npm run dev
-
Build for your platform
# Build for current platform npm run build # Build for specific platforms npm run build:win # Windows npm run build:mac # macOS npm run build:linux # Linux
The AI Assistant helps you intelligently analyze and optimize your development environment:
- Open AI Assistant: Click the robot icon in the bottom-right corner
- Start Analysis: Click the "Analyze Environment" button
- View Results:
- Environment Overview: Overall health status
- Issues Found: Categorized list of problems by severity
- Optimization Suggestions: Actionable improvement recommendations
- AI Deep Analysis: (Requires API Key) More detailed insights
- Execute Suggestions: Copy provided commands to your terminal
Configure AI Enhancement (Optional):
- Go to Settings page
- Configure OpenAI API Key
- Enable AI features for smarter analysis
The Tools view displays all detected development tools on your system:
- View Tool Status: See which tools are installed and their versions
- Refresh Detection: Click the refresh button to re-scan for tools
- View Details: Click on a tool card to see detailed information
- Copy Path: Easily copy the installation path to clipboard
Manage your globally installed packages:
- Switch Package Manager: Use tabs to switch between npm, pip, and Composer
- Search Packages: Filter packages by name
- Check Updates: Click "Check All Updates" to detect outdated packages
- One-Click Update: Click the "Update" button next to outdated packages to update directly
- Copy Command: Click on version tags to copy update commands to clipboard
- Refresh List: Update the package list with the refresh button
Monitor and control running development services:
- View Running Services: See all development processes with their ports
- Stop Services: Click the stop button to terminate a service
- Auto-Refresh: Services list updates automatically every 5 seconds
- Manual Refresh: Click refresh for immediate update
Explore your system's environment configuration:
- Browse Variables: View all environment variables
- Filter by Category: Use category filters to narrow down results
- PATH Analysis: See detailed PATH breakdown with duplicate detection
- Search: Find specific variables by name or value
Customize your experience:
- Language: Switch between English and Chinese
- AI Config: Configure OpenAI API Key for AI-powered analysis
- About: View application version, license, and contact information
- Framework: Electron 33
- Frontend: React 18 + TypeScript
- UI Library: Ant Design 5
- State Management: Zustand
- Internationalization: i18next
- Styling: Tailwind CSS
- Testing: Vitest + fast-check
- Build Tool: Vite + electron-builder
- Security: CSP, Command Validation, Input Sanitization
dev-janitor/
βββ src/
β βββ main/ # Electron main process
β β βββ index.ts # Main entry point
β β βββ preload.ts # Preload script
β β βββ ipcHandlers.ts # IPC handlers
β β βββ commandExecutor.ts
β β βββ detectionEngine.ts
β β βββ packageManager.ts
β β βββ serviceMonitor.ts
β β βββ environmentScanner.ts
β β βββ pathScanner.ts
β β βββ security/ # Security modules (NEW!)
β β β βββ commandValidator.ts
β β β βββ inputValidator.ts
β β β βββ cspManager.ts
β β βββ utils/ # Utility modules
β β βββ cacheManager.ts
β βββ renderer/ # React frontend
β β βββ components/ # React components
β β βββ store/ # Zustand store
β β βββ i18n/ # Internationalization
β β βββ ipc/ # IPC client with timeout
β βββ shared/ # Shared types
β βββ types/
βββ build/ # Build resources
βββ public/ # Static assets
βββ electron-builder.json5 # Build configuration
npm run dev # Start development server
npm run build # Build for production
npm run build:win # Build for Windows
npm run build:mac # Build for macOS
npm run build:linux # Build for Linux
npm run test # Run tests
npm run test:watch # Run tests in watch mode
npm run lint # Run ESLint
npm run typecheck # Run TypeScript type checking# Run all tests
npm run test
# Run tests in watch mode
npm run test:watchWe welcome contributions! Please follow these steps:
-
Fork the repository
-
Create a feature branch
git checkout -b feature/amazing-feature
-
Make your changes
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
-
Commit your changes
git commit -m 'Add some amazing feature' -
Push to the branch
git push origin feature/amazing-feature
-
Open a Pull Request
- Use TypeScript for all new code
- Follow ESLint rules configured in the project
- Write meaningful commit messages
- Add JSDoc comments for public APIs
Found a bug or have a feature request? Please open an issue with:
- Clear description of the problem or feature
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- System information (OS, Node.js version, etc.)
This project is licensed under the MIT License with Commons Clause - see the LICENSE file for details.
Note: This is a source-available license. You can freely use, modify, and distribute this software for personal and non-commercial purposes. Commercial use (selling the software or services based on it) is not permitted without explicit permission.
For commercial licensing inquiries or other questions, please contact us at:
- Email: cocojojo5213@gmail.com
- Email: cocojojo5213@icloud.com
- Electron - Cross-platform desktop apps
- React - UI library
- Ant Design - UI components
- Zustand - State management
- i18next - Internationalization
Made with β€οΈ by developers, for developers
