# Agent Instructions This documentation workspace uses Taskmaster as the source of truth for agent work. ## Repository Rules - Repository-wide operating rules live in `../RTK.md`; follow them in addition to this file. - For product or code changes that affect frontend or backend, keep `frontend` and `backend` package versions/build numbers bumped together and synchronized unless the user explicitly asks otherwise. - Preserve Telegram Mini App auth retry behavior: `/api/auth/telegram` must accept repeated valid `initData` for the same launch session; replay rejection belongs only on one-time routes such as webhook/session creation. - In the final response, mention version/build bumps and verification commands when they were part of the work. ## Taskmaster Workflow - Before choosing implementation or documentation work, run `task-master next` from the repository root. - Inspect the selected task before editing with `task-master show `. - When starting a task or subtask, mark it active: - `task-master set-status --id= --status=in-progress` - Keep Taskmaster updated as work progresses: - `task-master update-subtask --id= --prompt=""` - When work is complete and verified, mark it done: - `task-master set-status --id= --status=done` - If work is paused or incomplete, leave the task in `in-progress` and add a progress note with the remaining work. ## Local Task Files - Canonical Taskmaster data: `.taskmaster/tasks/tasks.json` - Per-task markdown files: `.taskmaster/tasks/task-*.md` - Source PRDs and audits: `.taskmaster/docs/*.md` - Public share copy: `taskmaster-share/tasks.json` Do not hand-edit `.taskmaster/tasks/tasks.json` or generated task markdown files unless the user explicitly asks for direct file maintenance. Prefer Taskmaster CLI commands so task state stays consistent. ## Expected Agent Behavior - Treat pending Taskmaster tasks as the prioritized backlog. - Respect task dependencies shown by `task-master next` and `task-master show`. - Update the relevant task whenever edits, findings, verification results, or blockers materially change the state of the work. - Before the final response, confirm that Taskmaster reflects the current task status. - If `task-master` is unavailable, mention that in the final response and summarize the Taskmaster update that should be applied manually.