# DevOps Build, test, lint, and CI procedures for {Project Name}. ## Quick Start ```bash make setup # Initialize dev environment make # Show all available targets ``` ## Database The project uses SQLite for ticketing and decision tracking. ### Initialize ```bash db/connectors/sqlite-init ``` ### Query ```bash db/connectors/sqlite-query "SELECT * FROM tickets WHERE status='in_progress'" db/connectors/sqlite-exec "UPDATE tickets SET status='done' WHERE id=1" ``` **Never use the `sqlite3` CLI** — it crashes in Claude Code (std::bad_alloc). Use the wrapper scripts. ### Ticket CLI ```bash db/connectors/ticket list [--status S] [--sprint N] [--team T] db/connectors/ticket show db/connectors/ticket create --title "Title" --team T --priority P db/connectors/ticket assign --agent name ``` ### Sprint CLI ```bash db/connectors/sprint status # Current sprint progress db/connectors/sprint status --team T # Team-scoped view db/connectors/sprint start-work [--team T] # Full context dump for starting work db/connectors/sprint prepare # Prepare next sprint db/connectors/sprint start # Activate a planned sprint db/connectors/sprint stop # Complete an active sprint ``` ## Decision Tracking Decisions live in `decisions/*.md` domain files and sync to SQLite: ```bash make decisions-sync # Parse decisions/*.md into SQLite make decisions-coverage # Decision-to-ticket coverage report make decisions-active # List all active confirmed decisions make decisions-orphan # Decisions without associated tickets ``` ## Document Search (optional) If Qdrant + Ollama are configured for semantic search: ```bash db/connectors/qdrant-health # Check service status db/connectors/qdrant-search "query text" # Semantic search db/connectors/qdrant-index path/to/doc.md # Index a document db/connectors/qdrant-count # Collection stats ``` ## Git Hooks Install hooks: ```bash make setup-hooks ``` Hook directory: `.config/hooks/` The pre-commit hook runs project-specific validation checks. Add new checks by editing `.config/hooks/pre-commit` and adding `run_check` calls. ## Pre-PR Checklist ```bash make pre-pr ``` This runs: 1. Decision sync (ensures SQLite index is current) 2. {Add project-specific checks as needed} ## Worktree Workflow (if configured) If the project uses git worktrees for team branches: ``` {parent}/ main/ # Integration branch (worktree) server/ # Server team branch (worktree) client/ # Client team branch (worktree) {team}/ # Additional team branches {db_name} # Shared ticketing database ``` Each worktree is a full checkout. The shared database lives in the parent directory. Agents should stay within their worktree root unless accessing the shared database. ### Branch management ```bash # Update worktree branch from main git merge main # Check worktree status git worktree list ``` **Protected branches** (never delete): `main`, and all team branches.