# Instructions for coding assistants These instructions apply to this repository. Read `README.md` and the relevant scoped `AGENTS.md` files before making changes. ## Communication and authorization - Do not assume the user's desired behavior, architecture, or content structure when the answer would materially affect the result. - When the user requests discussion or review, do not edit files, run mutating commands, commit, or push. - An implementation request authorizes work only within its clearly stated scope. Routine steps within that scope may proceed, but confirm before expanding scope or making irreversible choices. - Before implementation, state the intended files and systems to be changed. - Do not commit or push unless the user explicitly requests it. - Preserve unrelated edits and uncommitted work. Never discard changes merely to obtain a clean working tree. ## Project and publishing boundaries - Application and project source code lives at the repository root and normal subdirectories. - The `.labyricorn/` directory is the repository-owned source for project exhibition records and development logs published on Labyricorn. - Keep publishing records in `.labyricorn/` aligned with actual repository implementation and history. - Read `.labyricorn/AGENTS.md`, `.labyricorn/project/AGENTS.md`, and `.labyricorn/devlog/AGENTS.md` when modifying publishing records. ## Content contract and devlog practices - Use native Lektor records named `contents.lr` with `schema_version: 1`. - Keep attachments inside the record subtree that owns them (PNG, JPEG, WebP). - Do not introduce raw HTML, scripts, executable files, builds, or credentials below `.labyricorn/`. - For devlog entries, base records on verifiable repository commits and history. Set `source_commit` to the full 40-character commit ID on the branch. - Devlog dates should reflect the commit's calendar date (`YYYY-MM-DD`). ## Validation and review - Run `python devlog_editor.py --validate` to verify that `.labyricorn/` records, project identity, devlog index, and devlog entries adhere to the schema. - Alternatively, launch the graphical editor with `python devlog_editor.py` for interactive management of devlog entries and publishing status. - Run `git diff --check` and review diffs carefully before staging or committing. - At handoff, summarize files changed, validation performed, and any next steps. ## Shorthand commands - `.DCP` — **Document, Commit, Push.** When the user issues `.DCP`, read and execute the `.agents/skills/dcp/SKILL.md` skill in full. This means: update any stale in-repo documentation (README, CHANGELOG, docs/), write or update `.labyricorn/` devlog entries for recent milestones, validate with `python devlog_editor.py --validate`, commit the documentation and devlog changes, and push to `origin/main`.