|
Реестры флагов/варов + кросс-валидация + pre-commit хук
- data/ids.ts: FLAGS/VARS (id = значение, doc — семантика), типы FlagId/VarId, usedFlag() для used:<id> (была конкатенация в 3 местах). - Контент и сцена на константах: dialogues/interactables/quests/npcs, LocationScene (vars), Interactables, GameAgent; QuestStage.effect — union QuestEffect, doneFlag/flagKey/progressKey типизированы. - validateReferences(): флаг/вар вне реестра — error, мёртвый ключ — warn, битые ссылки квестов на NPC/диалоги — error (+3 теста). - pre-commit хук .githooks/ (check:fast = typecheck+guard+тесты), автоподключение через "prepare". Доки: CLAUDE.md, practices.md. Co-Authored-By: Claude Code <noreply@anthropic.com> |
|---|
|
|
| .githooks/pre-commit 0 → 100755 |
|---|
| CLAUDE.md |
|---|
| apps/game/src/agent/GameAgent.ts |
|---|
| apps/game/src/data/__tests__/validate.test.ts |
|---|
| apps/game/src/data/dialogues.ts |
|---|
| apps/game/src/data/ids.ts 0 → 100644 |
|---|
| apps/game/src/data/interactables.ts |
|---|
| apps/game/src/data/npcs.ts |
|---|
| apps/game/src/data/quests.ts |
|---|
| apps/game/src/data/validate.ts |
|---|
| apps/game/src/scenes/LocationScene.ts |
|---|
| apps/game/src/systems/Interactables.ts |
|---|
| docs/engine/practices.md |
|---|
| package.json |
|---|