# Copilot Workspace Instructions Purpose - Help Copilot-style agents and contributors be productive and safe in this repository. - Surface where to find authoritative docs and which conventions to follow. Principles - Link, don't embed: prefer linking to existing docs in `docs/`, `CONTRIBUTING.md`, or `README.md` rather than duplicating content. - Minimize blast radius: make minimal, focused changes and explain rationale in PRs. - Ask clarifying questions before large or ambiguous changes. What the agent is allowed to do - Suggest edits, create focused patches, and propose new files following repo style. - Use `apply_patch` for file edits; create new files only when necessary. - Run or suggest commands to run tests locally, but do not push or merge without human approval. Conventions & expectations - Follow existing code style and directory boundaries (`backend/` for Flask/Python, `frontend/` for Vite/TypeScript). - When changing behavior, run tests and list the commands to reproduce the failure/fix. - Keep PRs small and target a single logical change. Key files & links (authoritative sources) - README: [README.md](README.md#L1) - Contribution & tests: [CONTRIBUTING.md](CONTRIBUTING.md#L1) - Docker & run commands: [docs/Docker-Commands-Guide.md](docs/Docker-Commands-Guide.md#L1) - Backend entry & requirements: [backend/requirements.txt](backend/requirements.txt#L1), [backend/Dockerfile](backend/Dockerfile#L1) - Frontend scripts: [frontend/package.json](frontend/package.json#L1), [frontend/Dockerfile](frontend/Dockerfile#L1) - Compose files: [docker-compose.yml](docker-compose.yml#L1), [docker-compose.prod.yml](docker-compose.prod.yml#L1) - Deployment scripts: [scripts/deploy.sh](scripts/deploy.sh#L1) Common build & test commands - Backend tests (project root): ``` cd backend && python -m pytest tests/ -q ``` - Frontend dev & tests: ``` cd frontend && npm install cd frontend && npm run dev cd frontend && npx vitest run ``` - Dev compose (full stack): ``` docker compose up --build ``` - Prod deploy (refer to `scripts/deploy.sh`): ``` ./scripts/deploy.sh ``` Anti-patterns (avoid) - Don't invent architectural decisions or rewrite large areas without explicit approval. - Don't add secrets, large binary files, or unrelated formatting changes. - Don't run destructive commands or modify CI/CD configuration without coordination. Agent prompts & examples - "Create a small Flask route in `backend/app/routes` that returns health JSON and add a unit test." - "Refactor the image compression service to extract a helper; update callers and tests." - "List the exact commands I should run to reproduce the failing tests for `backend/tests/test_pdf_service.py`." Suggested follow-ups (agent customizations) - `create-agent:backend` — focused on Python/Flask edits, runs `pytest`, and knows `backend/` structure. - `create-agent:frontend` — focused on Vite/TypeScript, runs `vitest`, and uses `npm` scripts. - `create-agent:ci` — analyzes `docker-compose.yml` and `scripts/deploy.sh`, suggests CI checks and smoke tests. If you want, I can: - Open a draft PR with this file, or - Expand the file with more precise command snippets and per-service README links. --- Generated by a workspace bootstrap; iterate as needed.