Spaces:
Running on Zero
Running on Zero
A newer version of the Gradio SDK is available: 6.19.0
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.mdas the task checklist. - Use
docs/IMPLEMENTATION_STATUS.mdto decide whether something is really done. - Use
docs/PRD_IMPLEMENTATION_MATRIX.mdbefore claiming PRD or extension PRD completion. - Use
docs/ACCEPTANCE_CRITERIA.mdbefore marking work complete. - Use
docs/ROADMAP.mdto prioritize hackathon work over stretch work. - Use
docs/ROADMAP_V2_CRITICAL_IMPROVEMENT_PLAN.mdfor hard judge-oriented prioritization. - Use
docs/TEMPLATE_HOWTO.mdbefore creating a new domain app from the template. - Use
docs/PLANT_DISCOVERY_APP_PLAN.mdbefore changing the Plant Discovery reference app. - Use
docs/PLANT_MODEL_AND_TRAINING_HOWTO.mdbefore changing Plant Discovery model or training behavior. - Use
docs/ARCHITECTURE.mdbefore changing app structure. - Use
docs/EXTENDING.mdbefore 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.pystarts 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.mdanddocs/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 coverwithout a specific documented reason. - For PRD work, update
docs/PRD_IMPLEMENTATION_MATRIX.mdalong with task/status docs.