workbench / AGENTS.md
GitHub Actions
Initial ZeroGPU deployment with spaces shim
7f9dfed
|
Raw
History Blame Contribute Delete
3.4 kB
# 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.