neo-python-manager · v1.1.0 · 2026-04-01 · sha256 f1e8716c3d6d0159
neo-python-manager v1.1.0C
Immutable. This exact content is served forever at /api/v1/blob/f1e8716c3d6d0159.
--- name: neo-python-manager version: "1.1.0" category: "Environment" description: "智慧偵測與管理 Python 專案的虛擬環境與依賴套件工具(支援 uv, Poetry, venv/pip),包含工具安裝導引。" compatibility: "Supports any Python project containing pyproject.toml, requirements.txt, uv.lock, or poetry.lock." --- # 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`, or `python`. - The project lacks explicit environment configuration and needs recommendations for suitable tools. ## Workflow 1. **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 --version` or `poetry --version`. 2. **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 `uv` but it's not installed, or if the user wants to switch to `uv/Poetry` but the environment is not ready, mark it as "Pending Installation". 3. **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.lock` exists. - **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.lock` exists or `[tool.poetry]` in `pyproject.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.txt` or `.venv` exists. - **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).