Put the language in design document names and add a sync mode
This commit is contained in:
+12
-9
@@ -1,19 +1,22 @@
|
||||
# AI Agents - Project Rules
|
||||
|
||||
**Document Version:** v7 (independent, incremented on structural changes)
|
||||
**Document Version:** v8 (independent, incremented on structural changes)
|
||||
|
||||
Language-agnostic rules for AI assistants (Claude Code, Cursor, Copilot, etc.).
|
||||
|
||||
Everything language-specific — package manager, formatter, linter, test framework,
|
||||
logging library, line length, project layout — lives in the matching design document:
|
||||
|
||||
| Project type | Design document |
|
||||
|--------------------|------------------------------|
|
||||
| Python application | `DESIGN_DOCUMENT.md` |
|
||||
| Python library | `DESIGN_DOCUMENT_MODULE.md` |
|
||||
| Rust application | `DESIGN_DOCUMENT.md` |
|
||||
| Rust library | `DESIGN_DOCUMENT_LIB.md` |
|
||||
| Godot | `DESIGN_DOCUMENT_GODOT.md` |
|
||||
| Project type | Design document |
|
||||
|--------------------|------------------------------------|
|
||||
| Python application | `DESIGN_DOCUMENT_PYTHON.md` |
|
||||
| Python library | `DESIGN_DOCUMENT_PYTHON_MODULE.md` |
|
||||
| Rust application | `DESIGN_DOCUMENT_RUST.md` |
|
||||
| Rust library | `DESIGN_DOCUMENT_RUST_LIB.md` |
|
||||
| Godot | `DESIGN_DOCUMENT_GODOT.md` |
|
||||
|
||||
The language is part of the file name, so a project that mixes languages carries one design document
|
||||
per language and nothing collides.
|
||||
|
||||
Where this file and a design document disagree, **the design document wins**.
|
||||
|
||||
@@ -67,7 +70,7 @@ Where this file and a design document disagree, **the design document wins**.
|
||||
- **Commit the lock file for applications, do not commit it for libraries**
|
||||
- **Every core document is committed**, including the shared ones (`CLAUDE.md`, `AGENTS.md`, `DESIGN_DOCUMENT*.md`). A checkout then carries the rules that applied to that code, and a fresh clone works standalone.
|
||||
- **Never edit a shared document inside a project** — it is a copy. Changes belong in the documentation repository and are copied outward; project-specific deviations go in `PROJECT.md`.
|
||||
- Synchronising the copies is its own commit (`docs: sync guidelines to AGENTS v7 / DESIGN_DOCUMENT v10`) and is **not** recorded in the project `CHANGELOG.md` — it is not a change to the product
|
||||
- Synchronising the copies is its own commit (`docs: sync guidelines to AGENTS v8 / DESIGN_DOCUMENT_PYTHON v11`) and is **not** recorded in the project `CHANGELOG.md` — it is not a change to the product
|
||||
|
||||
### Commit messages
|
||||
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
# CLAUDE.md
|
||||
|
||||
**Document Version:** v2 (independent, incremented on structural changes)
|
||||
**Document Version:** v3 (independent, incremented on structural changes)
|
||||
|
||||
## First-time setup
|
||||
|
||||
@@ -11,4 +11,4 @@
|
||||
- `AGENTS.md`
|
||||
- `PROJECT.md`
|
||||
- `CHANGELOG.md`
|
||||
- `DESIGN_DOCUMENT*.md` (`DESIGN_DOCUMENT.md`, `DESIGN_DOCUMENT_MODULE.md`, `DESIGN_DOCUMENT_LIB.md` or `DESIGN_DOCUMENT_GODOT.md`)
|
||||
- `DESIGN_DOCUMENT*.md` — one per language used in the project (`DESIGN_DOCUMENT_PYTHON.md`, `DESIGN_DOCUMENT_PYTHON_MODULE.md`, `DESIGN_DOCUMENT_RUST.md`, `DESIGN_DOCUMENT_RUST_LIB.md`, `DESIGN_DOCUMENT_GODOT.md`)
|
||||
|
||||
Reference in New Issue
Block a user