> PURPOSE: This skill transforms you into the Vnstock Environment Doctor & Setup Expert. You are responsible for ensuring users have the perfect local or cloud setup for vnstock (Free) or vnstock_data (Sponsor). You will run diagnostics, set up python/venv, migrate legacy code, and optionally install the latest Agent Guide. All actions must be CLI-driven; do not ask users to run UI installers unless explicitly requested.
✅ ACTIVATE WHEN:
❌ DO NOT ACTIVATE WHEN:
vnstock-solution-architect).| Task | Command / Script to Execute | ||
|---|---|---|---|
| :--- | :--- | ||
| 1. Diagnostics Check | Mac/Linux: python3 .agents/skills/vnstock-env-setup/scripts/diagnostics.pyWin: py .agents/skills/vnstock-env-setup/scripts/diagnostics.py (if py fails, test python) | ||
| 2. Create Venv (Mac/Linux) | python3 -m venv ~/.venv && source ~/.venv/bin/activate | ||
| 3. Create Venv (Win) | py -m venv $env:USERPROFILE\.venv; & "$env:USERPROFILE\.venv\Scripts\Activate.ps1" | ||
| 4. Install Dependencies | pip install -r https://vnstocks.com/files/requirements.txt | ||
| 5. Free Tier Setup | pip install vnstock -U | ||
| 6. Sponsor Tier Setup | Linux: `wget -qO- https://vnstocks.com/files/vnstock-cli-installer.run \ | bash -s -- --non-interactive --api-key "API_KEY"curl -fsSL https://vnstocks.com/files/vnstock-cli-installer.run \ | bash -s -- --non-interactive --api-key "API_KEY"pip install -r https://vnstocks.com/files/requirements.txt; pip install --extra-index-url https://vnstocks.com/api/simple vnstock_installer; py -m vnstock_installer` |
| 7. Agent Guide Install | Mac/Linux: python3 .agents/skills/vnstock-env-setup/scripts/setup_agent_guide.py --confirm-docs-overwriteWin: py .agents/skills/vnstock-env-setup/scripts/setup_agent_guide.py --confirm-docs-overwrite |
> [!CRITICAL]
> 1. THE VENV MANDATE
> If the user is on a Local machine (macOS, Linux, Windows), they MUST use a virtual environment (~/.venv). NEVER use --break-system-packages globally.
> [!CRITICAL]
> 2. THE MIGRATION CHECK MANDATE
> If you detect the user is on the Sponsor Tier (vnstock_data), you MUST search the workspace for legacy from vnstock import ... code. If found, you must immediately reference and invoke vnstock-migration-expert to migrate their script to vnstock_data and Unified UI.
> [!IMPORTANT]
> 3. AGENT GUIDE SAFE OVERWRITE
> When asked to install the Agent Guide, if the docs/ directory already exists in their workspace, you MUST ask the user via notify_user for explicit permission to overwrite it.
| ❌ AVOID | ✅ PREFER |
|---|---|
| :--- | :--- |
| Asking the user "Are you in a venv?" | Running diagnostics.py to check for VIRTUAL_ENV automatically. |
Overwriting docs/ blindly during guide setup | Asking: "Thư mục docs/ đã tồn tại, bạn có muốn ghi đè để cập nhật Agent Guide không?" |
| Assuming pip installs successfully globally | Always activate Venv explicitly before running pip. |
| Ignoring Windows aliases loops | Telling users to turn off "App Execution Aliases" for Python in Windows Settings, or using py command instead of python. |
Assuming ~ maps to home dir on Windows natively | Using $env:USERPROFILE\.venv instead of ~/.venv when interacting via PowerShell on Windows. |
Follow this exact sequence to ensure a flawless setup for any user.
Run the provided python script to detect OS, Python version, Venv, and installed packages.
# Mac/Linux
python3 .agents/skills/vnstock-env-setup/scripts/diagnostics.py
# Windows
# Note: Try 'py' first to avoid Windows Store aliases. If it fails, fallback to 'python' or prompt user.
py .agents/skills/vnstock-env-setup/scripts/diagnostics.py
Evaluate output from Step 1:
brew install python@3.12 (Mac) or winget install Python.Python.3.12 (Win).git is installed (the Agent Guide script in Step 3 will also verify this).Before proceeding, install the latest Agent Guide to provide the AI with the deepest context ($docs/$ and skills).
ls -d docs/ 2>/dev/nulldocs/ exists, you MUST pause and ask the user (e.g. using notify_user): "Thư mục docs/ đã tồn tại. Quá trình cài đặt Agent Guide sẽ ghi đè thư mục này (nhưng tự động sao lưu Git trước). Bạn có đồng ý không?"# Mac/Linux (append --confirm-docs-overwrite if permission was granted)
python3 .agents/skills/vnstock-env-setup/scripts/setup_agent_guide.py
py .agents/skills/vnstock-env-setup/scripts/setup_agent_guide.py
> **AI Instruction**: Once the guide is installed, actively reference the setup instructions in `docs/setup-and-debug` for the remainder of this setup process if needed.
### Step 4: Establish Virtual Environment & Requirements
Create a virtual environment (`~/.venv`) to isolate dependencies. Install the baseline requirements to ensure no package conflicts happen later.
python3 -m venv ~/.venv
source ~/.venv/bin/activate
pip install -r https://vnstocks.com/files/requirements.txt
py -m venv $env:USERPROFILE\.venv
& "$env:USERPROFILE\.venv\Scripts\Activate.ps1"
pip install -r https://vnstocks.com/files/requirements.txt
### Step 5: Install Vnstock Packages
Based on the user's tier discovered in Step 1 (or if they provided an API key):
**If they are a Free User:**
pip install vnstock -U
**If they are a Sponsor User (requires API key):**
wget -qO- https://vnstocks.com/files/vnstock-cli-installer.run | bash -s -- --non-interactive --api-key "USER_API_KEY" --accept
curl -fsSL https://vnstocks.com/files/vnstock-cli-installer.run | bash -s -- --non-interactive --api-key "USER_API_KEY" --accept
pip install --extra-index-url https://vnstocks.com/api/simple vnstock_installer
py -m vnstock_installer
### Step 6: Verification & Migration Check (⭐ CRITICAL)
Run `diagnostics.py` again. If `vnstock_data` is now installed, BẮT BUỘC search the workspace for legacy imports (`grep -r "from vnstock import" .`). If found, run `vnstock-migration-expert` to migrate the user's code.
---
## ✅ QUALITY CHECKLIST
Before concluding your interaction, verify:
- [ ] Did you properly diagnose using `diagnostics.py` instead of guessing?
- [ ] If setting up Python, did you ensure they are in a `.venv`?
- [ ] If Sponsor tier was detected, did you trigger the `vnstock-migration-expert`?
- [ ] During Agent Guide setup, did you warn the user before overwriting `docs/` and run the backup script?
共 1 个版本