neo-python-manager
智慧偵測與管理 Python 專案的虛擬環境與依賴套件工具(支援 uv, Poetry, venv/pip),包含工具安裝導引。
Python Environment Manager Skill
Trigger On
- The user asks "How do I install a package?" or "Which package manager is this project using?".
- The user requests to add, remove, or update Python dependencies.
- Need to initialize a virtual environment or execute a Python script but unsure whether to use
uv run,poetry run, orpython. - The project lacks explicit environment configuration and needs recommendations for suitable tools.
Workflow
- Perceive:
- Scan the project root for characteristic files:
uv.lock,poetry.lock,pyproject.toml,requirements.txt. - Check the system environment to test if tools are installed: execute
uv --versionorpoetry --version.
- Scan the project root for characteristic files:
- Reason:
- Determine the tool the project should use based on characteristic files (Priority:
uv>Poetry>pip). - Check tool availability: If the project is determined to use
uvbut it's not installed, or if the user wants to switch touv/Poetrybut the environment is not ready, mark it as "Pending Installation".
- Determine the tool the project should use based on characteristic files (Priority:
- Act:
- Tool Installation Suggestion: If the tool is not installed, must ask the user first: "Detected that the project uses [Tool Name], but it is not installed in your environment. Would you like me to provide the installation command and assist with the installation?"
- Output Commands: Provide the correct operation commands for the identified management tool.
- Execute Changes: If the user agrees to installation or dependency changes, provide CLI commands for user confirmation.
Tooling Commands Reference
1. uv (Recommended: Ultra-fast Tool)
- Detection Criteria:
uv.lockexists. - Installation (Unix/macOS):
curl -LsSf https://astral.sh/uv/install.sh | sh - Installation (Windows):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" - Common Commands:
uv add <package>(Add package)uv sync(Sync environment)uv run <script.py>(Run script)
2. Poetry
- Detection Criteria:
poetry.lockexists or[tool.poetry]inpyproject.toml. - Installation (Cross-platform):
curl -sSL https://install.python-poetry.org | python3 - - Common Commands:
poetry add <package>(Add package)poetry install(Install dependencies)poetry run python <script.py>(Run script)
3. venv + pip (Legacy Standard)
- Detection Criteria: Only
requirements.txtor.venvexists. - Common Commands:
pip install <package>pip install -r requirements.txt
Deliver
- Environment Detection Report: Inform the current environment status (e.g., uv installed, poetry.lock detected).
- Installation and Operation Guidance: If tools are missing, proactively ask for installation consent and provide the correct syntax.
- Environment Consistency Check: Ensure provided commands perfectly match the project's existing lock files.
Validate
- Never execute installation commands directly without asking the user.
- Installation commands must distinguish between operating systems (macOS/Linux vs Windows).