Adds DevOps procedures document and updates CLAUDE.md/README.md to reference decisions/ domain files and Makefile-based workflow. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.0 KiB
The Settled Reach
A top-down immersive sim — occlusion-based detective game with combat elements, set in an original science fiction universe. Single-character perspective, asymmetric information as core mechanic, Rimworld-style storyteller. Godot 4 client + Rust/bevy_ecs simulation server via subprocess/IPC (D-020).
Official Title: The Settled Reach (D-021) Repository name: commonwealth (historical code name, retained for path stability)
Project Structure
client/ # Godot 4 client (D-020)
server/ # Rust/bevy_ecs simulation server (D-020)
tooling/ # Build tools, scripts, asset pipelines
tests/ # Integration and end-to-end tests
.config/ # Configuration files (linters, formatters, CI)
.cache/ # Local caches for testing/linting (gitignored)
docs/
discussions/ # Discussion rounds (all rounds archived here per D-022)
briefings/ # Per-agent context briefings (maintained by Qatux)
architecture/ # Technical architecture documents
design/ # Game design documents
workshops/ # Workshop briefs and outputs (per-workshop subdirectories)
db/
commonwealth.db # SQLite ticketing database
schema.sql # Database schema
connectors/ # Connector scripts for SQLite and Qdrant
config.json # Endpoint configuration
sqlite_connector.py # SQLite mini MCP
qdrant_connector.py # Qdrant + ollama mini MCP
.claude/
agents/ # Agent personality files
skills/ # Skill definitions
decisions/ # Decision domain files (source of truth)
README.md # Domain index and query examples
architecture.md # D-008, D-009, D-010, D-012, D-020, D-026, D-030, D-031
perception.md # D-011, D-015, D-016, D-017, D-018, D-019
content.md # D-023, D-024, D-025, D-028, D-029
scope.md # D-001, D-003, D-005, D-006, D-007, D-013, D-014, D-027
process.md # D-004, D-021, D-022
questions.md # Q-001 through Q-011
rejected.md # R-001 through R-010
DECISIONS.md # Redirect to decisions/ directory
TEAM.md # Team roster and roles
DevOps
See docs/DEVOPS.md for build, test, lint, and CI procedures. All development operations go through the top-level Makefile — run make for a summary of targets.
Agent Instructions
Before starting work
- Read your briefing at
docs/briefings/{your-name}.mdfor current project context - Read the relevant
decisions/*.mddomain file(s) listed in your briefing - Check
docs/discussions/for recent discussion rounds if needed
SQLite access
Never use the sqlite3 CLI - it crashes in Claude Code due to a known std::bad_alloc bug.
Use the whitelistable wrapper scripts:
db/connectors/sqlite-query "SELECT * FROM tickets WHERE status='in_progress'"
db/connectors/sqlite-exec "UPDATE tickets SET status='done' WHERE id=1"
Qdrant / document search
db/connectors/qdrant-search "asymmetric information design"
db/connectors/qdrant-index docs/briefings/tyre.md
db/connectors/qdrant-health
db/connectors/qdrant-count
File conventions
- Decisions: domain files in
decisions/(seedecisions/README.mdfor index) - Decision IDs:
D-NNN(confirmed),Q-NNN(open questions),R-NNN(rejected) - Discussion rounds: numbered sequentially, archived to
docs/discussions/when complete - Briefings: one per agent, updated after decision-producing rounds
- Tickets: managed via
/ticketskill orsqlite_connector.pydirectly
Commit conventions
Use conventional commits with project-specific scopes:
agents, skills, docs, briefings, discussions, schema, db, config, engine, simulation, client, ui, audio, assets, meta
Local services
- Qdrant:
http://tower-of-joy:6333/ - Ollama:
http://tower-of-joy:11434/(nomic-embed-text) - Collection:
commonwealth(768 dimensions, cosine distance)