Spaces:
Running on Zero
Running on Zero
| # AGENTS.md | |
| ## Project Goal | |
| Build a Gradio-based OpenBMB Local AI Workbench for the Build Small Hackathon. | |
| The app should run locally first, deploy as a Hugging Face Space, and document the | |
| small-model choices clearly. | |
| ## Project Memory | |
| - Start with `docs/README.md`. | |
| - Use `docs/TASKS.md` as the task checklist. | |
| - Use `docs/IMPLEMENTATION_STATUS.md` to decide whether something is really done. | |
| - Use `docs/PRD_IMPLEMENTATION_MATRIX.md` before claiming PRD or extension PRD completion. | |
| - Use `docs/ACCEPTANCE_CRITERIA.md` before marking work complete. | |
| - Use `docs/ROADMAP.md` to prioritize hackathon work over stretch work. | |
| - Use `docs/ROADMAP_V2_CRITICAL_IMPROVEMENT_PLAN.md` for hard judge-oriented prioritization. | |
| - Use `docs/TEMPLATE_HOWTO.md` before creating a new domain app from the template. | |
| - Use `docs/PLANT_DISCOVERY_APP_PLAN.md` before changing the Plant Discovery reference app. | |
| - Use `docs/PLANT_MODEL_AND_TRAINING_HOWTO.md` before changing Plant Discovery model or training behavior. | |
| - Use `docs/ARCHITECTURE.md` before changing app structure. | |
| - Use `docs/EXTENDING.md` before adding models, tabs, services, or training. | |
| - Main PRD: `HF_PRD_v1.md`. | |
| - Extension PRD: `HF_PRD_ext.md`. | |
| ## Hackathon Constraints | |
| - Use Gradio as the app surface. | |
| - Keep all model choices at or below 32B parameters. | |
| - Prefer local/offline inference paths when practical. | |
| - Avoid cloud APIs unless the user explicitly approves them. | |
| - Make the README useful for judges: goal, setup, model choice, local run, Space deployment, demo flow. | |
| ## Current MVP Scope | |
| - Start with a working Gradio app and deterministic placeholder service. | |
| - Add real inference incrementally through Ollama, llama.cpp, Transformers, or SGLang. | |
| - Keep training, GGUF export, Trackio, MCP, and agent functionality as documented extension points until implemented. | |
| - Never claim the full PRD is done while placeholders or unchecked PRD tasks remain. | |
| ## Commands | |
| - Create venv: `python -m venv .venv` | |
| - Activate venv: `.venv\Scripts\Activate.ps1` | |
| - Install: `python -m pip install -r requirements.txt` | |
| - Install dev tools: `python -m pip install -r requirements-dev.txt` | |
| - Run locally: `python app.py` | |
| - Run tests: `.\scripts\run_tests.ps1` | |
| - Run performance tests: `.\scripts\run_performance.ps1` | |
| - Run quality checks: `.\scripts\run_quality.ps1` | |
| ## Code Style | |
| - Prefer small modules with clear responsibilities. | |
| - Keep model IDs in `config/models.yaml`; avoid hardcoding them in UI logic. | |
| - Keep user-facing text concise and demo-oriented. | |
| - Do not download model weights automatically on app startup. | |
| ## Verification | |
| - Before claiming the app runs, verify `python app.py` starts locally. | |
| - If Python or dependencies are missing, say exactly what is missing. | |
| - Keep generated caches, model weights, exports, and virtualenvs out of git. | |
| - After implementing a task, update `docs/TASKS.md` and `docs/IMPLEMENTATION_STATUS.md`. | |
| - Every feature needs tests. Add or update unit tests for logic and user-story tests for workflows. | |
| - Whenever a bug, failed check, or regression is found, create or update a test that would catch it before fixing the code. | |
| - Do not mark a feature done until its tests pass or the test blocker is documented. | |
| - Avoid blanket coverage escapes. Do not add `pragma: no cover` without a specific documented reason. | |
| - For PRD work, update `docs/PRD_IMPLEMENTATION_MATRIX.md` along with task/status docs. | |