Реестры флагов/варов + кросс-валидация + 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>
1 parent 7bb75f0 commit c379f208bb473a2c2f17bd6155e45947188b6b02
@root root authored 1 day ago
Showing 14 changed files
View
.githooks/pre-commit 0 → 100755
View
CLAUDE.md
View
apps/game/src/agent/GameAgent.ts
View
apps/game/src/data/__tests__/validate.test.ts
View
apps/game/src/data/dialogues.ts
View
apps/game/src/data/ids.ts 0 → 100644
View
apps/game/src/data/interactables.ts
View
apps/game/src/data/npcs.ts
View
apps/game/src/data/quests.ts
View
apps/game/src/data/validate.ts
View
apps/game/src/scenes/LocationScene.ts
View
apps/game/src/systems/Interactables.ts
View
docs/engine/practices.md
View
package.json