# ProjMan **Repository Path**: nopc/proj-man ## Basic Information - **Project Name**: ProjMan - **Description**: 项目排序,todo管理 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-17 - **Last Updated**: 2025-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Project Scanner A fast Python tool to scan directories for projects and identify recently changed ones, prioritizing by modification time and uncommitted changes. ## Features - **Fast scanning**: Uses parallel processing with configurable worker threads - **Git integration**: Detects uncommitted changes, current branch, and ahead/behind status - **Configurable**: JSON configuration file for custom directories and project indicators - **Smart sorting**: Prioritizes projects with uncommitted changes, then by modification time - **Multiple project types**: Supports various project types (Python, Node.js, Rust, Go, Java, etc.) ## Quick Start 1. **Run the scanner**: ```bash python3 project_scanner.py ``` 2. **Scan additional directories**: ```bash python3 project_scanner.py --dirs /path/to/projects /another/path ``` 3. **Limit results**: ```bash python3 project_scanner.py --limit 10 ``` ## Configuration Edit `project_scanner_config.json` to customize: - `scan_dirs`: List of directories to scan - `project_indicators`: Files/folders that identify project roots - `max_depth`: Maximum directory depth to scan - `exclude_dirs`: Directories to skip during scanning - `max_workers`: Number of parallel workers for scanning ## Output Format The scanner displays: - Project name and path - Git status (🔴 CHANGES, ✅ CLEAN, 📁 NO GIT) - Current branch - Ahead/behind status (e.g., ↑3↓2) - Last modification time ## Examples ```bash # Basic scan python3 project_scanner.py # Scan with custom config python3 project_scanner.py --config my_config.json # Scan specific directories python3 project_scanner.py --dirs ~/projects ~/work # Show only top 5 results python3 project_scanner.py --limit 5 ```