Files
linearvoid/.github/AGENTS.md
T

4.2 KiB

AGENTS.md

Agents instructions for the linearvoid project.

General Guidelines

  • Use the architecture documentation (arc42 template and ADRs in docs) as the source of truth for design decisions.
  • Follow the project folder structure in the root README.
  • Update documentation first before implementing changes to ensure traceability of decisions.

Task Management

  • Plan any task in the .github/instructions/TODO.md file with clear steps and mark them as completed when done. Move completed sections to .github/instructions/DONE.md. Write entry in root CHANGELOG.md for any significant changes. Avoid using in-memory todo lists or update them frequently to sync from the TODO.md file.
  • Before taking any action except for planning and writing TODO.md, always ask user for confirmation, accept go, ok, yes, next, or continue to proceed. If the user says no, stop, or cancel, abort the action and return to planning.

Required tracking files — update at every development step

These files must be kept current with every change. Do not let them drift.

File Purpose When to update
.github/instructions/TODO.md Active implementation plan with checkboxes Mark items done as they complete; add new items when scope expands
.github/instructions/BACKLOG.md Deferred, manual, and operational tasks Sync whenever TODO items complete or new gaps are identified
.github/instructions/DONE.md Archive of completed TODO sections Move completed sections here from TODO.md
.github/MEMORY.md Session memory — what was done, when, and why Append dated entry after each meaningful batch of changes
docs/DEVELOPMENT.md Remaining task checklist organized by topic Sync checkboxes with TODO.md after each implementation session
CHANGELOG.md User-facing release notes Add entry when a phase or significant feature completes
docs/STREAMING.md Streaming pipeline contract Update when playout, HLS, or caching behavior changes
docs/DEPLOYMENT.md Deploy and infrastructure procedures Update when pipeline, topology, or provisioning changes
docs/SETUP.md Environment and onboarding guide Update when prerequisites, .env, or setup steps change
docs/MONITORING.md Observability reference Update when metrics, alerts, or dashboards change
docs/API.md API contract Update when endpoints, status codes, or rate limits change
docs/SECURITY.md Security posture Update when auth, TLS, or rate limiting changes
docs/operations/*.md Runbooks, checklists, how-to guides Keep aligned with actual procedures and dashboard URLs

Security & Secrets Protection

  • Never commit raw secrets or credentials to the repository.
  • Never print or log raw secrets in terminal commands or output files.
  • Use Gitea Actions Secrets for all production credentials and environment variables.
  • Avoid hardcoding sensitive values in workflow files (.yml). Instead, reference them using ${{ secrets.SECRET_NAME }}.
  • Do not use the GITEA_ prefix for custom secrets or environment variables in Gitea, as it is reserved internally and will be silently ignored or returned as empty. Use the CI_ prefix instead (e.g., CI_REGISTRY_USER, CI_REGISTRY_TOKEN).
  • Keep .env gitignored and use .env.example as the template for local development.
  • For CD deployments, generate the .env file dynamically on the runner using a secure step that populates values from Gitea Actions Secrets.