singularity-forge/.github/copilot-instructions.md

1.2 KiB

Copilot Instructions — singularity-forge

See CLAUDE.md for build pipeline details and test commands. See AGENTS.md for planning conventions and spec-first TDD doctrine.

DB-first — non-negotiable

All state lives in SQLite via Node's built-in node:sqlite (DatabaseSync).

  • Never use better-sqlite3 or any native SQLite addon
  • Never use file-based fallbacks for state that belongs in the DB (milestone context, sessions, memories, mode state, etc.)
  • When checking if something "exists", query the DB — not the filesystem
  • Sift indexes codebase files only; session/turn search uses FTS5 in sf.db

If a pattern uses files as a proxy for DB state (e.g., checking for CONTEXT.md instead of a DB row), treat that as a bug to fix, not a convention to follow.

YOLO is a flag, not a mode

SF has exactly two work modes: Ask and Build.

  • Shift+Tab cycles between Ask and Build
  • YOLO (Ctrl+Y) is a flag layered on top of Build — it removes safety rails (no confirmations, no git prompts, full send)
  • YOLO is never a Shift+Tab stop; it is not a third mode
  • /mode yolo is equivalent to Ctrl+Y — it enables the flag, it doesn't switch modes