nccgs 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/.claude/agents/nccgs-accessibility-specialist.md +26 -0
  2. package/.claude/agents/nccgs-adversarial-reviewer.md +26 -0
  3. package/.claude/agents/nccgs-ai-programmer.md +26 -0
  4. package/.claude/agents/nccgs-analytics-engineer.md +26 -0
  5. package/.claude/agents/nccgs-art-direction-lead.md +26 -0
  6. package/.claude/agents/nccgs-audio-direction-lead.md +26 -0
  7. package/.claude/agents/nccgs-creative-director.md +26 -0
  8. package/.claude/agents/nccgs-documentation-manager.md +26 -0
  9. package/.claude/agents/nccgs-economy-designer.md +26 -0
  10. package/.claude/agents/nccgs-engine-programmer.md +26 -0
  11. package/.claude/agents/nccgs-game-design-lead.md +26 -0
  12. package/.claude/agents/nccgs-game-designer.md +26 -0
  13. package/.claude/agents/nccgs-gameplay-programmer.md +26 -0
  14. package/.claude/agents/nccgs-level-designer.md +26 -0
  15. package/.claude/agents/nccgs-live-ops-designer.md +26 -0
  16. package/.claude/agents/nccgs-localization-lead.md +26 -0
  17. package/.claude/agents/nccgs-narrative-lead.md +26 -0
  18. package/.claude/agents/nccgs-network-programmer.md +26 -0
  19. package/.claude/agents/nccgs-performance-analyst.md +26 -0
  20. package/.claude/agents/nccgs-producer.md +26 -0
  21. package/.claude/agents/nccgs-production-coordinator.md +23 -0
  22. package/.claude/agents/nccgs-programming-lead.md +26 -0
  23. package/.claude/agents/nccgs-prototyper.md +26 -0
  24. package/.claude/agents/nccgs-qa-engineer.md +26 -0
  25. package/.claude/agents/nccgs-qa-lead.md +26 -0
  26. package/.claude/agents/nccgs-release-engineer.md +26 -0
  27. package/.claude/agents/nccgs-release-lead.md +26 -0
  28. package/.claude/agents/nccgs-security-engineer.md +26 -0
  29. package/.claude/agents/nccgs-sound-designer.md +26 -0
  30. package/.claude/agents/nccgs-systems-designer.md +26 -0
  31. package/.claude/agents/nccgs-technical-architect.md +26 -0
  32. package/.claude/agents/nccgs-technical-artist.md +26 -0
  33. package/.claude/agents/nccgs-technical-director.md +26 -0
  34. package/.claude/agents/nccgs-tools-programmer.md +26 -0
  35. package/.claude/agents/nccgs-ui-programmer.md +26 -0
  36. package/.claude/agents/nccgs-unity-build-specialist.md +26 -0
  37. package/.claude/agents/nccgs-unity-content-specialist.md +26 -0
  38. package/.claude/agents/nccgs-unity-implementer.md +26 -0
  39. package/.claude/agents/nccgs-unity-rendering-specialist.md +26 -0
  40. package/.claude/agents/nccgs-unity-systems-specialist.md +26 -0
  41. package/.claude/agents/nccgs-unity-ui-specialist.md +26 -0
  42. package/.claude/agents/nccgs-ux-designer.md +26 -0
  43. package/.claude/agents/nccgs-verification-engineer.md +26 -0
  44. package/.claude/agents/nccgs-world-builder.md +26 -0
  45. package/.claude/agents/nccgs-writer.md +26 -0
  46. package/.claude/nccgs/THIRD_PARTY_NOTICES.md +13 -0
  47. package/.claude/nccgs/VERSION +1 -0
  48. package/.claude/nccgs/constitution.md +131 -0
  49. package/.claude/nccgs/hooks/agent-audit.mjs +10 -0
  50. package/.claude/nccgs/hooks/common.mjs +41 -0
  51. package/.claude/nccgs/hooks/post-compact.mjs +1 -0
  52. package/.claude/nccgs/hooks/pre-compact.mjs +8 -0
  53. package/.claude/nccgs/hooks/protect-git.mjs +22 -0
  54. package/.claude/nccgs/hooks/protect-write.mjs +17 -0
  55. package/.claude/nccgs/hooks/session-start.mjs +15 -0
  56. package/.claude/nccgs/hooks/session-stop.mjs +7 -0
  57. package/.claude/nccgs/protocols/agent-contract.md +34 -0
  58. package/.claude/nccgs/protocols/context-packets.md +13 -0
  59. package/.claude/nccgs/protocols/evidence.md +15 -0
  60. package/.claude/nccgs/protocols/model-routing.md +22 -0
  61. package/.claude/nccgs/protocols/orchestration.md +26 -0
  62. package/.claude/nccgs/protocols/unity-boundary.md +11 -0
  63. package/.claude/nccgs/settings.fragment.json +77 -0
  64. package/.claude/nccgs/studio.json +347 -0
  65. package/.claude/nccgs/tools/configure-models.mjs +39 -0
  66. package/.claude/nccgs/unity-skills-manifest.json +727 -0
  67. package/.claude/nccgs/workflow-catalog.json +317 -0
  68. package/.claude/rules/nccgs-canonical-docs.md +19 -0
  69. package/.claude/rules/nccgs-editor-tools.md +12 -0
  70. package/.claude/rules/nccgs-localization.md +12 -0
  71. package/.claude/rules/nccgs-networking.md +13 -0
  72. package/.claude/rules/nccgs-performance.md +14 -0
  73. package/.claude/rules/nccgs-rendering.md +16 -0
  74. package/.claude/rules/nccgs-security.md +13 -0
  75. package/.claude/rules/nccgs-tests.md +18 -0
  76. package/.claude/rules/nccgs-ui.md +14 -0
  77. package/.claude/rules/nccgs-unity-assets.md +21 -0
  78. package/.claude/rules/nccgs-unity-code.md +22 -0
  79. package/.claude/skills/accessibility-review/SKILL.md +14 -0
  80. package/.claude/skills/architecture-decision/SKILL.md +14 -0
  81. package/.claude/skills/asset-audit/SKILL.md +14 -0
  82. package/.claude/skills/audit/SKILL.md +16 -0
  83. package/.claude/skills/audit/references/dimensions.md +46 -0
  84. package/.claude/skills/balance-review/SKILL.md +14 -0
  85. package/.claude/skills/bug-triage/SKILL.md +14 -0
  86. package/.claude/skills/build-live-game/SKILL.md +317 -0
  87. package/.claude/skills/build-live-game/references/achievements.md +779 -0
  88. package/.claude/skills/build-live-game/references/apis.md +280 -0
  89. package/.claude/skills/build-live-game/references/authentication.md +437 -0
  90. package/.claude/skills/build-live-game/references/battlepass.md +860 -0
  91. package/.claude/skills/build-live-game/references/cloud-code.md +563 -0
  92. package/.claude/skills/build-live-game/references/cloud-save.md +474 -0
  93. package/.claude/skills/build-live-game/references/deployment.md +216 -0
  94. package/.claude/skills/build-live-game/references/player-account.md +813 -0
  95. package/.claude/skills/build-live-game/references/remote-config.md +96 -0
  96. package/.claude/skills/build-live-game/references/tooling.md +431 -0
  97. package/.claude/skills/closure/SKILL.md +14 -0
  98. package/.claude/skills/code-review/SKILL.md +14 -0
  99. package/.claude/skills/compatibility-review/SKILL.md +14 -0
  100. package/.claude/skills/context-pack/SKILL.md +14 -0
  101. package/.claude/skills/dependency-review/SKILL.md +14 -0
  102. package/.claude/skills/design/SKILL.md +20 -0
  103. package/.claude/skills/design-review/SKILL.md +14 -0
  104. package/.claude/skills/evidence-review/SKILL.md +14 -0
  105. package/.claude/skills/hotfix/SKILL.md +14 -0
  106. package/.claude/skills/implement-in-app-purchases/README.md +233 -0
  107. package/.claude/skills/implement-in-app-purchases/SKILL.md +158 -0
  108. package/.claude/skills/implement-in-app-purchases/references/api-notes.md +562 -0
  109. package/.claude/skills/implement-in-app-purchases/references/codeless-catalog.md +331 -0
  110. package/.claude/skills/implement-in-app-purchases/references/convert-adapty.md +268 -0
  111. package/.claude/skills/implement-in-app-purchases/references/convert-essentialkit.md +239 -0
  112. package/.claude/skills/implement-in-app-purchases/references/convert-revenuecat.md +275 -0
  113. package/.claude/skills/implement-in-app-purchases/references/convert-unipay.md +145 -0
  114. package/.claude/skills/implement-in-app-purchases/references/migration-v4-to-v5.md +204 -0
  115. package/.claude/skills/implement-in-app-purchases/references/path-add-iap-to-new-project.md +198 -0
  116. package/.claude/skills/implement-in-app-purchases/references/path-convert-native-google-billing.md +356 -0
  117. package/.claude/skills/implement-in-app-purchases/references/path-convert-native-storekit.md +446 -0
  118. package/.claude/skills/implement-in-app-purchases/references/path-implement-iap-d2c.md +680 -0
  119. package/.claude/skills/implement-in-app-purchases/references/platform-notes.md +204 -0
  120. package/.claude/skills/implement-in-app-purchases/references/pre-check.md +205 -0
  121. package/.claude/skills/incident-recovery/SKILL.md +14 -0
  122. package/.claude/skills/initialize-ai-navigation/SKILL.md +95 -0
  123. package/.claude/skills/initialize-ai-navigation/references/navigation-system.md +794 -0
  124. package/.claude/skills/levelplay-unity-integration/CHANGELOG.md +57 -0
  125. package/.claude/skills/levelplay-unity-integration/README.md +74 -0
  126. package/.claude/skills/levelplay-unity-integration/SKILL.md +1126 -0
  127. package/.claude/skills/levelplay-unity-integration/references/banner-api.md +920 -0
  128. package/.claude/skills/levelplay-unity-integration/references/best-practices.md +536 -0
  129. package/.claude/skills/levelplay-unity-integration/references/ilrd-api.md +337 -0
  130. package/.claude/skills/levelplay-unity-integration/references/initialization-api.md +630 -0
  131. package/.claude/skills/levelplay-unity-integration/references/interstitial-api.md +899 -0
  132. package/.claude/skills/levelplay-unity-integration/references/ios-setup.md +491 -0
  133. package/.claude/skills/levelplay-unity-integration/references/migration-sdk-9.md +666 -0
  134. package/.claude/skills/levelplay-unity-integration/references/privacy-settings.md +608 -0
  135. package/.claude/skills/levelplay-unity-integration/references/rewarded-api.md +902 -0
  136. package/.claude/skills/localization/SKILL.md +135 -0
  137. package/.claude/skills/localization/references/api-notes.md +76 -0
  138. package/.claude/skills/localization/resources/L10nBatchProcessor.cs +69 -0
  139. package/.claude/skills/localization/resources/LocalizedFontAsset.cs +18 -0
  140. package/.claude/skills/localize-game/SKILL.md +14 -0
  141. package/.claude/skills/migrate-project/SKILL.md +21 -0
  142. package/.claude/skills/migrate-project/references/procedure.md +63 -0
  143. package/.claude/skills/milestone-review/SKILL.md +14 -0
  144. package/.claude/skills/new-unity-project/SKILL.md +179 -0
  145. package/.claude/skills/optimize-audio/SKILL.md +199 -0
  146. package/.claude/skills/optimize-audio/resources/audio-import-api.md +146 -0
  147. package/.claude/skills/optimize-audio/resources/platform-settings.md +48 -0
  148. package/.claude/skills/optimize-text-mesh-pro/SKILL.md +182 -0
  149. package/.claude/skills/optimize-web/SKILL.md +393 -0
  150. package/.claude/skills/optimize-web/resources/WebOptimizer.cs +21 -0
  151. package/.claude/skills/optimize-web/resources/toktx-examples.sh +11 -0
  152. package/.claude/skills/performance-audit/SKILL.md +14 -0
  153. package/.claude/skills/physics-3d-collision/SKILL.md +442 -0
  154. package/.claude/skills/physics-3d-collision/references/troubleshooting.md +41 -0
  155. package/.claude/skills/physics-3d-collision/resources/CollisionDebugger.cs +33 -0
  156. package/.claude/skills/plan-feature/SKILL.md +14 -0
  157. package/.claude/skills/playtest/SKILL.md +14 -0
  158. package/.claude/skills/project-stage/SKILL.md +14 -0
  159. package/.claude/skills/prototype-feature/SKILL.md +14 -0
  160. package/.claude/skills/qa-plan/SKILL.md +14 -0
  161. package/.claude/skills/release/SKILL.md +18 -0
  162. package/.claude/skills/release-readiness/SKILL.md +14 -0
  163. package/.claude/skills/retrospective/SKILL.md +14 -0
  164. package/.claude/skills/review/SKILL.md +16 -0
  165. package/.claude/skills/security-audit/SKILL.md +14 -0
  166. package/.claude/skills/setup-multiplayer-services/SKILL.md +39 -0
  167. package/.claude/skills/setup-multiplayer-services/references/dgs-entrypoint.md +79 -0
  168. package/.claude/skills/setup-multiplayer-services/references/entrypoints.md +213 -0
  169. package/.claude/skills/setup-multiplayer-services/references/examples.md +33 -0
  170. package/.claude/skills/setup-multiplayer-services/references/implementation-fit.md +30 -0
  171. package/.claude/skills/setup-multiplayer-services/references/underlying-services.md +11 -0
  172. package/.claude/skills/setup-multiplayer-services/references/workflows-prerequisites.md +17 -0
  173. package/.claude/skills/setup-vivox-voice-chat/SKILL.md +118 -0
  174. package/.claude/skills/setup-vivox-voice-chat/evals/.env.example +6 -0
  175. package/.claude/skills/setup-vivox-voice-chat/evals/README.md +101 -0
  176. package/.claude/skills/setup-vivox-voice-chat/evals/promptfooconfig.yaml +32 -0
  177. package/.claude/skills/setup-vivox-voice-chat/evals/tests/init-and-login.yaml +76 -0
  178. package/.claude/skills/setup-vivox-voice-chat/evals/tests/text-chat.yaml +65 -0
  179. package/.claude/skills/setup-vivox-voice-chat/evals/tests/voice-channels.yaml +74 -0
  180. package/.claude/skills/setup-vivox-voice-chat/references/events-and-participants.md +79 -0
  181. package/.claude/skills/setup-vivox-voice-chat/references/init-and-login.md +92 -0
  182. package/.claude/skills/setup-vivox-voice-chat/references/text-chat.md +93 -0
  183. package/.claude/skills/setup-vivox-voice-chat/references/troubleshooting.md +47 -0
  184. package/.claude/skills/setup-vivox-voice-chat/references/voice-channels.md +90 -0
  185. package/.claude/skills/shader-graph-create-custom-node/SKILL.md +25 -0
  186. package/.claude/skills/shader-graph-create-custom-node/resources/all_hints.hlsl +182 -0
  187. package/.claude/skills/sprint-plan/SKILL.md +14 -0
  188. package/.claude/skills/sprite-editor/SKILL.md +66 -0
  189. package/.claude/skills/sprite-editor/references/api_reference.md +151 -0
  190. package/.claude/skills/sprite-editor/references/background.md +112 -0
  191. package/.claude/skills/sprite-editor/references/templates.md +72 -0
  192. package/.claude/skills/sprite-editor/scripts/AutomaticSliceTexture.cs +40 -0
  193. package/.claude/skills/sprite-editor/scripts/GenerateNewSpriteRects.cs +200 -0
  194. package/.claude/skills/sprite-editor/scripts/GetTextureSourceImageSize.cs +32 -0
  195. package/.claude/skills/sprite-editor/scripts/GetTextureToSlice.cs +55 -0
  196. package/.claude/skills/sprite-editor/scripts/GridSliceTexture.cs +40 -0
  197. package/.claude/skills/sprite-editor/scripts/IsometricSliceTexture.cs +141 -0
  198. package/.claude/skills/sprite-editor/scripts/README.md +134 -0
  199. package/.claude/skills/sprite-editor/scripts/SetPivotExample.cs +58 -0
  200. package/.claude/skills/sprite-editor/scripts/SpriteToPng.cs +88 -0
  201. package/.claude/skills/status/SKILL.md +16 -0
  202. package/.claude/skills/story-readiness/SKILL.md +14 -0
  203. package/.claude/skills/test/SKILL.md +16 -0
  204. package/.claude/skills/ui/SKILL.md +142 -0
  205. package/.claude/skills/ui-imgui/SKILL.md +186 -0
  206. package/.claude/skills/ui-imgui/references/gui-elements.md +156 -0
  207. package/.claude/skills/ui-imgui/references/templates.md +141 -0
  208. package/.claude/skills/ui-review/SKILL.md +14 -0
  209. package/.claude/skills/ui-ugui/SKILL.md +282 -0
  210. package/.claude/skills/ui-ugui/references/scrollview-setup.md +29 -0
  211. package/.claude/skills/ui-uitk/SKILL.md +235 -0
  212. package/.claude/skills/ui-uitk/references/common-issues.md +74 -0
  213. package/.claude/skills/ui-uitk/references/custom-elements.md +241 -0
  214. package/.claude/skills/ui-uitk/references/painter2d.md +282 -0
  215. package/.claude/skills/ui-uitk/references/pointermanipulator-guide.md +94 -0
  216. package/.claude/skills/ui-uitk/references/svg-icons.md +136 -0
  217. package/.claude/skills/ui-uitk/references/ui-runtime-binding.md +234 -0
  218. package/.claude/skills/ui-uitk/references/uss-guide.md +138 -0
  219. package/.claude/skills/unity-cli/CHANGELOG.md +233 -0
  220. package/.claude/skills/unity-cli/SECURITY.md +22 -0
  221. package/.claude/skills/unity-cli/SKILL.md +414 -0
  222. package/.claude/skills/unity-cli/references/auth-license-cloud.md +146 -0
  223. package/.claude/skills/unity-cli/references/build-run-test.md +349 -0
  224. package/.claude/skills/unity-cli/references/collaboration.md +472 -0
  225. package/.claude/skills/unity-cli/references/config-hub.md +103 -0
  226. package/.claude/skills/unity-cli/references/diagnostics-maintenance.md +326 -0
  227. package/.claude/skills/unity-cli/references/editors-install.md +327 -0
  228. package/.claude/skills/unity-cli/references/integration-advanced.md +472 -0
  229. package/.claude/skills/unity-cli/references/projects-templates.md +574 -0
  230. package/.claude/skills/unity-package-management/SKILL.md +304 -0
  231. package/.claude/skills/unity-package-management/references/select-packages.md +108 -0
  232. package/.claude/skills/urp-postprocessing/SKILL.md +188 -0
  233. package/.claude/skills/urp-postprocessing/references/code-templates.md +119 -0
  234. package/.claude/skills/urp-postprocessing/references/effect-reference.md +86 -0
  235. package/.claude/skills/validate-urp-render-graph-renderer-feature/SKILL.md +269 -0
  236. package/.claude/skills/work/SKILL.md +36 -0
  237. package/.claude/skills/work/references/classification.md +41 -0
  238. package/.claude/skills/work/references/closure.md +50 -0
  239. package/.claude/skills/work/references/feature-contracts.md +32 -0
  240. package/.claude/skills/work/references/verification.md +26 -0
  241. package/CLAUDE.md +6 -0
  242. package/LICENSE +21 -0
  243. package/README.md +162 -0
  244. package/THIRD_PARTY_NOTICES.md +23 -0
  245. package/UPGRADING.md +32 -0
  246. package/VERSION +1 -0
  247. package/docs/ARCHITECTURE.md +73 -0
  248. package/docs/HUONG-DAN-MIGRATE-VA-SU-DUNG.md +324 -0
  249. package/docs/MIGRATION-MATRIX.md +23 -0
  250. package/docs/PROJECT-POLICY.md +67 -0
  251. package/docs/WORKFLOWS.md +61 -0
  252. package/package-assets/setup-vivox-voice-chat-evals.gitignore +7 -0
  253. package/package.json +41 -0
  254. package/scaffold/.nccgs/bugs/.gitkeep +1 -0
  255. package/scaffold/.nccgs/closures/.gitkeep +1 -0
  256. package/scaffold/.nccgs/context/.gitkeep +1 -0
  257. package/scaffold/.nccgs/decisions/.gitkeep +1 -0
  258. package/scaffold/.nccgs/evidence/.gitkeep +1 -0
  259. package/scaffold/.nccgs/features/.gitkeep +1 -0
  260. package/scaffold/.nccgs/migrations/.gitkeep +1 -0
  261. package/scaffold/.nccgs/playtests/.gitkeep +1 -0
  262. package/scaffold/.nccgs/project.yaml +103 -0
  263. package/scaffold/.nccgs/requirements.yaml +10 -0
  264. package/scaffold/.nccgs/reviews/.gitkeep +1 -0
  265. package/scaffold/.nccgs/state.md +40 -0
  266. package/scaffold/.nccgs/templates/agent-handoff.md +25 -0
  267. package/scaffold/.nccgs/templates/architecture-decision.md +27 -0
  268. package/scaffold/.nccgs/templates/closure-record.md +51 -0
  269. package/scaffold/.nccgs/templates/context-packet.yaml +17 -0
  270. package/scaffold/.nccgs/templates/evidence-record.md +23 -0
  271. package/scaffold/.nccgs/templates/feature-contract.md +35 -0
  272. package/scaffold/.nccgs/templates/migration-plan.md +40 -0
  273. package/scaffold/.nccgs/templates/waiver.md +11 -0
  274. package/scripts/cli.mjs +56 -0
  275. package/scripts/install.mjs +267 -0
  276. package/scripts/sync-unity-skills.mjs +126 -0
  277. package/scripts/validate.mjs +205 -0
  278. package/tests/framework.test.mjs +121 -0
@@ -0,0 +1,67 @@
1
+ # Project policy
2
+
3
+ `.nccgs/project.yaml` adapts NCCGS to one project. Keep generic framework behavior out
4
+ of this file; record only choices that change routing, authority, ownership, context,
5
+ verification, closure, or Unity execution for the project.
6
+
7
+ ## Required decisions
8
+
9
+ - project stage and platforms;
10
+ - enabled departments and bounded orchestration;
11
+ - `quality`, `balanced`, or `inherit` model profile and fallback policy;
12
+ - canonical sources for product, design, architecture, planning, art, narrative,
13
+ audio, and release;
14
+ - protected/user-owned/generated paths and hand-tuned settings;
15
+ - architecture constraints, packages and services;
16
+ - Unity version, render/UI/input systems and CLI/Pipeline preference;
17
+ - test/build/runtime baselines and recurring Product Owner gates;
18
+ - closure mode, linked artifacts, completion rules and waiver policy.
19
+
20
+ ## Model policy
21
+
22
+ Use `quality` when result quality is primary and all model tiers are available. Use
23
+ `balanced` when leadership coordination does not need Opus by default. Use `inherit`
24
+ when subscription/context compatibility or explicit user control is more important
25
+ than automatic routing.
26
+
27
+ Project overrides may pin a specific role/class, but avoid full model IDs unless the
28
+ project intentionally owns upgrade timing.
29
+
30
+ ## Canonical sources and context
31
+
32
+ Map existing documents where they live. Workflows address semantic roles, not fixed
33
+ folder names. Context packets refer to exact sections and source revisions; they do
34
+ not replace canonical documents.
35
+
36
+ ## Closure example
37
+
38
+ ```yaml
39
+ closure:
40
+ mode: strict
41
+ canonical_record: ".nccgs/closures/{feature_id}.md"
42
+ required_artifacts:
43
+ - id: implementation-report
44
+ type: report
45
+ path_pattern: "project-docs/reports/{feature_id}*.md"
46
+ required: true
47
+ completion_rule: exists
48
+ - id: implementation-register
49
+ type: register_entry
50
+ path_pattern: "project-docs/implementation-register.md"
51
+ required: true
52
+ completion_rule: entry_present
53
+ - id: deletion-gate
54
+ type: checklist
55
+ path_pattern: "project-docs/gates/{feature_id}*.md"
56
+ required: true
57
+ completion_rule: all_conditions
58
+ expected_conditions: 7
59
+ done_requires:
60
+ - implementation
61
+ - objective_verification
62
+ - required_artifacts
63
+ - applicable_manual_gates
64
+ ```
65
+
66
+ Start migration with the strongest live safeguard and weaken it only through an
67
+ explicit Product Owner decision after the replacement has proven its purpose.
@@ -0,0 +1,61 @@
1
+ # NCCGS workflows
2
+
3
+ ## Risk tiers
4
+
5
+ | Tier | Typical work | Required structure |
6
+ |---|---|---|
7
+ | FAST | Local, unambiguous, easy rollback | Direct work or one specialist; targeted evidence |
8
+ | STANDARD | Ordinary feature or coordinated change | Contract, context packet, accountable implementer, independent verification, closure |
9
+ | CONTROLLED | Architecture, compatibility, dependency, migration, security, release | Impact/decision record, affected specialists, rollback, adversarial review, full relevant gates |
10
+
11
+ ## End-to-end work
12
+
13
+ ```text
14
+ request
15
+ -> risk and domain routing
16
+ -> context packet and readiness
17
+ -> decisions/plan when needed
18
+ -> one-owner implementation nodes
19
+ -> independent verification
20
+ -> adversarial review for CONTROLLED work
21
+ -> evidence review
22
+ -> record synchronization
23
+ -> configured closure
24
+ ```
25
+
26
+ The primary session composes modules automatically. Explicit specialized commands are
27
+ available when a user wants a bounded workflow or output.
28
+
29
+ ## Workflow families
30
+
31
+ - **Planning/context**: `project-stage`, `context-pack`, `story-readiness`,
32
+ `plan-feature`, `sprint-plan`, `milestone-review`, `retrospective`.
33
+ - **Design**: `design`, `design-review`, `balance-review`, `accessibility-review`,
34
+ `ui-review`, `prototype-feature`, `playtest`.
35
+ - **Technical**: `architecture-decision`, `dependency-review`,
36
+ `compatibility-review`, `code-review`, `performance-audit`, `security-audit`.
37
+ - **Implementation/quality**: `work`, `qa-plan`, `test`, `bug-triage`,
38
+ `evidence-review`, `review`, `asset-audit`, `closure`.
39
+ - **Delivery/recovery**: `release-readiness`, `release`, `hotfix`,
40
+ `incident-recovery`, `localize-game`, `migrate-project`.
41
+ - **Visibility**: `audit`, `status`.
42
+
43
+ ## Role composition examples
44
+
45
+ A gameplay feature may use game designer → gameplay programmer and Unity systems
46
+ specialist in parallel where ownership differs → verification engineer. A UI feature
47
+ may use UX designer and accessibility specialist for design, UI programmer and Unity
48
+ UI specialist for implementation/integration, then independent verification.
49
+
50
+ CONTROLLED network-save work adds technical architect, network programmer, security
51
+ engineer, compatibility review, and adversarial review. It does not automatically
52
+ spawn every director or department.
53
+
54
+ ## Evidence states
55
+
56
+ - IMPLEMENTED: change exists.
57
+ - VERIFIED: objective evidence proves approved criteria.
58
+ - VALIDATED: applicable subjective gate accepted.
59
+ - DONE: all configured objective, artifact and subjective gates closed.
60
+
61
+ Status labels are evidence claims, not progress decoration.
@@ -0,0 +1,7 @@
1
+ # API keys - never commit
2
+ .env
3
+
4
+ # Promptfoo output
5
+ output/
6
+ promptfoo-output/
7
+ *.html
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "nccgs",
3
+ "version": "1.0.0",
4
+ "description": "Unity-first game-studio operating system for Claude Code",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "bin": {
8
+ "nccgs": "scripts/cli.mjs"
9
+ },
10
+ "files": [
11
+ ".claude/",
12
+ "docs/",
13
+ "package-assets/",
14
+ "scaffold/",
15
+ "scripts/",
16
+ "tests/",
17
+ "CLAUDE.md",
18
+ "LICENSE",
19
+ "README.md",
20
+ "THIRD_PARTY_NOTICES.md",
21
+ "UPGRADING.md",
22
+ "VERSION"
23
+ ],
24
+ "engines": {
25
+ "node": ">=18"
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "scripts": {
31
+ "validate": "node scripts/validate.mjs",
32
+ "test": "node --test tests/framework.test.mjs",
33
+ "pack:check": "npm pack --dry-run"
34
+ },
35
+ "keywords": [
36
+ "claude-code",
37
+ "game-development",
38
+ "unity",
39
+ "workflow"
40
+ ]
41
+ }
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,103 @@
1
+ schema_version: 2
2
+
3
+ project:
4
+ name: "[set during migration/onboarding]"
5
+ stage: existing
6
+ platforms: []
7
+
8
+ studio:
9
+ profile: unity-production
10
+ enabled_departments: [leadership, design, programming, unity, content, quality, release]
11
+ orchestration:
12
+ max_agent_depth: 1
13
+ max_parallel_agents: 4
14
+ single_writer_per_path: true
15
+ independent_verification: true
16
+
17
+ models:
18
+ profile: quality
19
+ allow_inherit_fallback: true
20
+ allow_automatic_escalation: true
21
+ notify_on_escalation: true
22
+ overrides: {}
23
+
24
+ workflow:
25
+ operating_mode: solo
26
+ autonomy: high
27
+ default_classification: auto
28
+ documentation: targeted
29
+ traceability: targeted
30
+ review_intensity: risk_based
31
+
32
+ context:
33
+ packet_path: ".nccgs/context/{feature_id}.yaml"
34
+ full_source_reads: on_demand
35
+ budgets: { fast: 4000, standard: 12000, controlled: 24000 }
36
+
37
+ authority:
38
+ implementation_details: claude
39
+ safe_refactor: claude
40
+ automated_verification: claude
41
+ technical_docs_sync: claude
42
+ gameplay_change: product_owner
43
+ scope_change: product_owner
44
+ subjective_acceptance: product_owner
45
+ dependency_or_service: product_owner
46
+ irreversible_migration: product_owner
47
+
48
+ canonical_sources:
49
+ product_decisions: []
50
+ game_design: []
51
+ architecture: []
52
+ planning: []
53
+ art_direction: []
54
+ narrative: []
55
+ audio: []
56
+ release: []
57
+
58
+ unity:
59
+ version: detect
60
+ render_pipeline: detect
61
+ ui_system: detect
62
+ input_system: detect
63
+ cli: enabled
64
+ pipeline: enabled
65
+ connected_editor_preferred: true
66
+
67
+ architecture:
68
+ decisions: []
69
+ forbidden_patterns: []
70
+ approved_packages: []
71
+ approved_services: []
72
+
73
+ ownership:
74
+ protected_paths: []
75
+ user_owned_paths: []
76
+ user_owned_settings: []
77
+ generated_paths: []
78
+
79
+ verification:
80
+ editmode: detect
81
+ playmode: detect
82
+ runtime: unity_cli
83
+ build_targets: []
84
+ required_regressions: []
85
+ recurring_manual_gates: []
86
+ baseline_policy: no_unexplained_reduction
87
+
88
+ closure:
89
+ mode: lean
90
+ canonical_record: ".nccgs/closures/{feature_id}.md"
91
+ required_artifacts: []
92
+ done_requires: [implementation, objective_verification, required_artifacts, applicable_manual_gates]
93
+
94
+ release:
95
+ protected_branches: [main, master]
96
+ required_builds: []
97
+ publishing_requires_product_owner: true
98
+
99
+ conventions:
100
+ source_paths: []
101
+ test_paths: []
102
+ documentation_paths: []
103
+ notes: []
@@ -0,0 +1,10 @@
1
+ schema_version: 1
2
+ requirements: []
3
+
4
+ # Add only meaningful player-visible contracts, technical invariants, acceptance
5
+ # criteria, and cross-system dependencies. Suggested entry:
6
+ # - id: INVENTORY-001
7
+ # statement: "Opening inventory pauses local gameplay input."
8
+ # source: "design/inventory.md#interaction"
9
+ # status: approved
10
+ # evidence: []
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,40 @@
1
+ # NCCGS state
2
+
3
+ Updated: [timestamp]
4
+
5
+ ## Active focus
6
+
7
+ - Feature: none
8
+ - Classification: none
9
+ - Workflow: none
10
+ - Accountable role: none
11
+ - Context packet: none
12
+
13
+ ## Progress
14
+
15
+ - Last completed checkpoint: NCCGS initialized
16
+ - Current step: configure or migrate project policy
17
+ - Next safe action: run `/migrate-project review` for an existing project
18
+
19
+ ## Decisions pending
20
+
21
+ - None recorded
22
+
23
+ ## Blockers and gates
24
+
25
+ - Project policy is not configured
26
+
27
+ ## Evidence snapshot
28
+
29
+ - None recorded
30
+
31
+ ## Working set
32
+
33
+ - Modified paths: none
34
+ - Protected paths in scope: none
35
+ - Active agents: none
36
+
37
+ ## Recovery
38
+
39
+ Read this file, the active context packet, and exact files in Working set. Do not
40
+ reload all project documentation after compaction or session restart.
@@ -0,0 +1,25 @@
1
+ # Agent handoff: [role] — [feature]
2
+
3
+ ## Outcome
4
+
5
+ [Completed / Partial / Blocked]
6
+
7
+ ## Changed or produced
8
+
9
+ - [artifact or path]
10
+
11
+ ## Evidence
12
+
13
+ - [observable result]
14
+
15
+ ## Risks and deviations
16
+
17
+ - None recorded
18
+
19
+ ## Decisions needed
20
+
21
+ - None
22
+
23
+ ## Next owner
24
+
25
+ [role or workflow]
@@ -0,0 +1,27 @@
1
+ # ADR-[ID]: [Decision title]
2
+
3
+ - **Status**: Proposed | Accepted | Superseded | Rejected
4
+ - **Date**: YYYY-MM-DD
5
+ - **Related requirements**: [IDs/links]
6
+
7
+ ## Context
8
+
9
+ [The durable problem, constraints, affected contracts, and why a decision is needed.]
10
+
11
+ ## Decision
12
+
13
+ [Chosen direction stated precisely.]
14
+
15
+ ## Alternatives considered
16
+
17
+ - **[Alternative]**: [material tradeoff and rejection reason]
18
+
19
+ ## Consequences
20
+
21
+ - **Benefits**: [effects]
22
+ - **Costs/risks**: [effects]
23
+ - **Compatibility/migration**: [save, serialization, network, package, rollback]
24
+
25
+ ## Verification
26
+
27
+ [Evidence needed to demonstrate the decision is implemented safely.]
@@ -0,0 +1,51 @@
1
+ # Feature Closure: [ID] — [Name]
2
+
3
+ - **Classification**: FAST | STANDARD | CONTROLLED
4
+ - **Closure mode**: lean | linked | strict
5
+ - **Closed**: YYYY-MM-DD
6
+ - **Final state**: IMPLEMENTED | VERIFIED | VALIDATED | DONE | BLOCKED
7
+
8
+ ## Requirements and evidence
9
+
10
+ | Requirement/criterion | Evidence | Result |
11
+ |---|---|---|
12
+ | [REQ-ID] | [test/runtime/manual reference] | PASS/FAIL/NOT PROVEN/PO GATE |
13
+
14
+ ## Implementation
15
+
16
+ - [meaningful changed systems/files]
17
+
18
+ ## Verification
19
+
20
+ - **Compilation**: [result]
21
+ - **EditMode**: [result]
22
+ - **PlayMode**: [result]
23
+ - **Runtime**: [result]
24
+ - **Build**: [result or N/A]
25
+ - **Regression**: [scope and result]
26
+
27
+ ## Documentation synchronization
28
+
29
+ - [updated canonical/technical/state records]
30
+
31
+ ## Linked closure artifacts
32
+
33
+ | Artifact ID/type | Path or reference | Required | Completion rule | Status/waiver |
34
+ |---|---|---|---|---|
35
+ | [implementation-report] | [path] | Yes/No | [exists/checklist/sign-off] | PASS/MISSING/INCOMPLETE/WAIVED |
36
+
37
+ ## Closure gate
38
+
39
+ - **Implementation**: PASS/FAIL
40
+ - **Objective verification**: PASS/FAIL/NOT PROVEN
41
+ - **Required linked artifacts**: PASS/FAIL/N/A
42
+ - **Applicable manual gates**: PASS/WAITING/N/A
43
+ - **Waiver authority**: [PO decision/reference or None]
44
+
45
+ ## PO gates and waivers
46
+
47
+ - [gate/result/authority or None]
48
+
49
+ ## Known issues and residual risk
50
+
51
+ - None
@@ -0,0 +1,17 @@
1
+ schema_version: 1
2
+ feature_id: "[FEATURE-ID]"
3
+ objective: "[approved outcome]"
4
+ classification: STANDARD
5
+ accountable_role: "[nccgs role]"
6
+ domains: []
7
+ requirements: []
8
+ canonical_sections: []
9
+ decision_summaries: []
10
+ ownership: { writable_paths: [], read_only_paths: [], protected_paths: [] }
11
+ constraints: []
12
+ out_of_scope: []
13
+ dependencies: []
14
+ verification: { automated: [], runtime: [], regressions: [], product_owner_gates: [] }
15
+ source_revisions: []
16
+ contradictions: []
17
+ full_source_reads_required: []
@@ -0,0 +1,23 @@
1
+ # Evidence: [feature]
2
+
3
+ - Environment: [Unity version/platform/branch]
4
+ - Source revision: [commit or working-tree identifier]
5
+ - Requirements covered: [IDs]
6
+
7
+ ## Automated evidence
8
+
9
+ | Check | Baseline | Result | Skipped | Evidence location |
10
+ |---|---:|---:|---:|---|
11
+
12
+ ## Runtime and build evidence
13
+
14
+ | Scenario | Expected | Observed | Result |
15
+ |---|---|---|---|
16
+
17
+ ## Regressions and gaps
18
+
19
+ - [gap or none]
20
+
21
+ ## Product Owner gates
22
+
23
+ - [scenario and observation request]
@@ -0,0 +1,35 @@
1
+ # Feature Contract: [ID] — [Name]
2
+
3
+ - **Classification**: FAST | STANDARD | CONTROLLED
4
+ - **Status**: Proposed | Approved | Active | Blocked | Closed
5
+ - **Canonical sources**: [links to relevant sections]
6
+ - **Governing decisions**: [ADR/policy links or None]
7
+
8
+ ## Objective
9
+
10
+ [Approved outcome and player-facing intent.]
11
+
12
+ ## Requirements
13
+
14
+ - [REQ-ID] [Requirement statement or canonical link]
15
+
16
+ ## Scope
17
+
18
+ - **Affected systems**: [systems]
19
+ - **Expected working set**: [files/assets/tests; update after discovery]
20
+ - **Out of scope**: [explicit exclusions]
21
+
22
+ ## Acceptance and evidence
23
+
24
+ | Criterion | Evidence method | Gate owner |
25
+ |---|---|---|
26
+ | [objective criterion] | [EditMode/PlayMode/runtime/build] | Claude |
27
+ | [subjective criterion] | PO observation | Product Owner |
28
+
29
+ ## Regression obligations
30
+
31
+ - [downstream behavior that must remain correct]
32
+
33
+ ## Open PO decisions
34
+
35
+ - None
@@ -0,0 +1,40 @@
1
+ # NCCGS Migration Plan — [Project] — YYYY-MM-DD
2
+
3
+ ## Current state
4
+
5
+ [Unity/project/workflow summary and repository constraints.]
6
+
7
+ ## Canonical-source and policy map
8
+
9
+ [Proposed `.nccgs/project.yaml` mappings and ownership boundaries.]
10
+
11
+ ## Closure decision
12
+
13
+ - **Mode**: lean | linked | strict
14
+ - **Canonical record**: [path pattern]
15
+ - **Required linked artifacts**: [reports/registers/checklists/evidence]
16
+ - **Waiver authority**: [Product Owner or project rule]
17
+ - **Legacy safeguards retained**: [items and rationale]
18
+
19
+ ## Classification
20
+
21
+ | Artifact/capability | KEEP/ADAPT/MIGRATE/DEPRECATE/REMOVE/MISSING | Evidence and rationale |
22
+ |---|---|---|
23
+
24
+ ## Migration batches
25
+
26
+ ### Batch 1 — [Name]
27
+
28
+ - **Changes**: [exact reversible changes]
29
+ - **Authority required**: [None or consolidated PO decision]
30
+ - **Backup/rollback**: [method]
31
+ - **Validation**: [observable proof]
32
+
33
+ ## Final proof
34
+
35
+ - [ ] NCCGS package validates
36
+ - [ ] Project policy and canonical map are complete
37
+ - [ ] Official Unity Skills and Unity CLI/Pipeline are usable
38
+ - [ ] Representative `/work` flow succeeds
39
+ - [ ] Objective and subjective gates route correctly
40
+ - [ ] Legacy conflicts are resolved or explicitly deprecated
@@ -0,0 +1,11 @@
1
+ # Waiver: [feature] — [blocked item]
2
+
3
+ - Date: [YYYY-MM-DD]
4
+ - Authority: [Product Owner]
5
+ - Closure item: [exact artifact or gate]
6
+ - Scope: [one feature/release/migration]
7
+ - Rationale: [why proceeding is acceptable]
8
+ - Residual risk: [known consequence]
9
+ - Expiry or review trigger: [condition]
10
+
11
+ This waiver does not apply to unnamed items.
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { spawnSync } from "node:child_process";
4
+ import fs from "node:fs";
5
+ import path from "node:path";
6
+ import { fileURLToPath } from "node:url";
7
+
8
+ const scriptDir = path.dirname(fileURLToPath(import.meta.url));
9
+ const root = path.resolve(scriptDir, "..");
10
+ const [command, ...args] = process.argv.slice(2);
11
+
12
+ if (!command || command === "help" || command === "--help" || command === "-h") {
13
+ printHelp();
14
+ process.exit(0);
15
+ }
16
+
17
+ if (command === "version" || command === "--version" || command === "-v") {
18
+ console.log(fs.readFileSync(path.join(root, "VERSION"), "utf8").trim());
19
+ process.exit(0);
20
+ }
21
+
22
+ if (command !== "install") {
23
+ console.error(`Unknown command: ${command}`);
24
+ printHelp();
25
+ process.exit(2);
26
+ }
27
+
28
+ const result = spawnSync(process.execPath, [path.join(scriptDir, "install.mjs"), ...args], {
29
+ cwd: process.cwd(),
30
+ stdio: "inherit"
31
+ });
32
+
33
+ if (result.error) {
34
+ console.error(`Unable to run the NCCGS installer: ${result.error.message}`);
35
+ process.exit(1);
36
+ }
37
+ process.exit(result.status ?? 1);
38
+
39
+ function printHelp() {
40
+ console.log(`NCCGS
41
+
42
+ Usage:
43
+ nccgs install [options]
44
+ nccgs --version
45
+
46
+ Install target:
47
+ The current directory is used by default. Open a terminal in a Unity project
48
+ or cd into it before running the command.
49
+
50
+ Options:
51
+ --dry-run Preview without writing files
52
+ --force Back up and replace framework conflicts
53
+ --model-profile <profile> quality, balanced, or inherit
54
+ --project <directory> Optional explicit target directory
55
+ --allow-non-unity Allow a target without Unity markers`);
56
+ }