god-code 0.6.0__tar.gz → 0.9.2__tar.gz

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 (279) hide show
  1. god_code-0.9.2/.codetape/component-map.json +208 -0
  2. god_code-0.9.2/.codetape/config.json +18 -0
  3. god_code-0.9.2/.github/FUNDING.yml +3 -0
  4. god_code-0.9.2/.github/workflows/docs.yml +41 -0
  5. {god_code-0.6.0 → god_code-0.9.2}/.gitignore +4 -0
  6. god_code-0.9.2/CHANGELOG.md +60 -0
  7. god_code-0.9.2/CLAUDE.md +439 -0
  8. {god_code-0.6.0 → god_code-0.9.2}/PKG-INFO +4 -2
  9. god_code-0.9.2/PRIVACY.md +113 -0
  10. god_code-0.9.2/README.md +158 -0
  11. god_code-0.9.2/SECURITY.md +66 -0
  12. god_code-0.9.2/docs/cli/ask.md +33 -0
  13. god_code-0.9.2/docs/cli/chat.md +40 -0
  14. god_code-0.9.2/docs/empty-project-to-first-verified-change.md +225 -0
  15. god_code-0.9.2/docs/gameplay-intent-and-enemy-ai-roadmap.md +619 -0
  16. god_code-0.9.2/docs/getting-started/first-run.md +66 -0
  17. god_code-0.9.2/docs/getting-started/install.md +45 -0
  18. god_code-0.9.2/docs/index.md +26 -0
  19. god_code-0.9.2/docs/mcp/overview.md +47 -0
  20. god_code-0.9.2/docs/plans/2026-04-04-api-backend-design.md +874 -0
  21. god_code-0.9.2/docs/plans/2026-04-04-api-backend-impl.md +2090 -0
  22. god_code-0.9.2/docs/plans/2026-04-04-bullet-hell-sprite-qa-demo-polish-backlog.md +522 -0
  23. god_code-0.9.2/docs/plans/2026-04-04-demo-ready-upgrade.md +479 -0
  24. god_code-0.9.2/docs/plans/2026-04-05-dogfooding-inventory.md +317 -0
  25. god_code-0.9.2/docs/plans/2026-04-05-v08-design.md +453 -0
  26. god_code-0.9.2/docs/plans/2026-04-05-v08-impl.md +1021 -0
  27. god_code-0.9.2/docs/plans/2026-04-05-work-status.md +321 -0
  28. god_code-0.9.2/docs/plans/2026-04-06-auto-flow-impl.md +1102 -0
  29. god_code-0.9.2/docs/plans/2026-04-06-interactive-ux-redesign.md +314 -0
  30. god_code-0.9.2/docs/plans/2026-04-07-god-code-prelaunch-security-audit-design.md +184 -0
  31. god_code-0.9.2/docs/plans/2026-04-07-god-code-prelaunch-security-audit.md +1463 -0
  32. god_code-0.9.2/docs/providers/byok-and-oauth.md +48 -0
  33. god_code-0.9.2/docs/tui/menu-and-commands.md +57 -0
  34. god_code-0.9.2/docs/tui/settings-and-byok.md +61 -0
  35. god_code-0.9.2/docs/validation/quality-gate.md +32 -0
  36. god_code-0.9.2/godot_agent/addons/god_code_bridge/god_code_bridge.gd +191 -0
  37. god_code-0.9.2/godot_agent/addons/god_code_bridge/plugin.cfg +7 -0
  38. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/agents/dispatcher.py +42 -1
  39. god_code-0.9.2/godot_agent/cli/__init__.py +61 -0
  40. god_code-0.9.2/godot_agent/cli/__main__.py +6 -0
  41. god_code-0.6.0/godot_agent/cli.py → god_code-0.9.2/godot_agent/cli/commands.py +809 -551
  42. god_code-0.9.2/godot_agent/cli/engine_wiring.py +362 -0
  43. god_code-0.9.2/godot_agent/cli/helpers.py +207 -0
  44. god_code-0.9.2/godot_agent/cli/menus.py +215 -0
  45. god_code-0.9.2/godot_agent/entrypoint.py +13 -0
  46. god_code-0.9.2/godot_agent/godot/audio_scaffolder.py +90 -0
  47. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/godot/project.py +33 -0
  48. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/godot/scene_parser.py +11 -0
  49. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/godot/scene_writer.py +17 -8
  50. god_code-0.9.2/godot_agent/godot/ui_layout_advisor.py +293 -0
  51. god_code-0.9.2/godot_agent/godot/variant_codec.py +183 -0
  52. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/llm/adapters/base.py +19 -1
  53. god_code-0.9.2/godot_agent/llm/adapters/openai.py +129 -0
  54. god_code-0.9.2/godot_agent/llm/client.py +226 -0
  55. god_code-0.9.2/godot_agent/llm/redact.py +37 -0
  56. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/llm/streaming.py +65 -6
  57. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/llm/types.py +24 -1
  58. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/mcp_server.py +397 -46
  59. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/prompts/assembler.py +60 -2
  60. god_code-0.9.2/godot_agent/prompts/genre_templates.py +120 -0
  61. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/prompts/godot_playbook.py +20 -0
  62. god_code-0.9.2/godot_agent/prompts/skill_library.py +501 -0
  63. god_code-0.9.2/godot_agent/prompts/skill_selector.py +203 -0
  64. god_code-0.9.2/godot_agent/prompts/vision_templates.py +195 -0
  65. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/config.py +30 -2
  66. god_code-0.9.2/godot_agent/runtime/context_health.py +23 -0
  67. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/context_manager.py +41 -0
  68. god_code-0.9.2/godot_agent/runtime/design_memory.py +460 -0
  69. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/engine.py +231 -16
  70. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/error_loop.py +144 -5
  71. god_code-0.9.2/godot_agent/runtime/execution_plan.py +74 -0
  72. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/gameplay_reviewer.py +32 -2
  73. god_code-0.9.2/godot_agent/runtime/intent_resolver.py +458 -0
  74. god_code-0.9.2/godot_agent/runtime/live_client.py +216 -0
  75. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/modes.py +29 -5
  76. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/oauth.py +20 -4
  77. god_code-0.9.2/godot_agent/runtime/playtest_harness.py +1394 -0
  78. god_code-0.9.2/godot_agent/runtime/polish_rubric.py +255 -0
  79. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/providers.py +6 -0
  80. god_code-0.9.2/godot_agent/runtime/quality_gate.py +422 -0
  81. god_code-0.9.2/godot_agent/runtime/reviewer.py +334 -0
  82. god_code-0.9.2/godot_agent/runtime/runtime_bridge.py +329 -0
  83. god_code-0.9.2/godot_agent/runtime/scenario_specs/bullet_hell_pattern_readability.json +11 -0
  84. god_code-0.9.2/godot_agent/runtime/scenario_specs/bullet_hell_phase_transition.json +74 -0
  85. god_code-0.9.2/godot_agent/runtime/scenario_specs/bullet_hell_wave_progression.json +79 -0
  86. god_code-0.9.2/godot_agent/runtime/scenario_specs/demo_boss_transition.json +73 -0
  87. god_code-0.9.2/godot_agent/runtime/scenario_specs/demo_combat_feedback.json +10 -0
  88. god_code-0.9.2/godot_agent/runtime/scenario_specs/demo_ui_readability.json +10 -0
  89. god_code-0.9.2/godot_agent/runtime/scenario_specs/demo_wave_pacing.json +89 -0
  90. god_code-0.9.2/godot_agent/runtime/scenario_specs/platformer_enemy_gap_jump.json +63 -0
  91. god_code-0.9.2/godot_agent/runtime/scenario_specs/platformer_enemy_patrol_response.json +62 -0
  92. god_code-0.9.2/godot_agent/runtime/scenario_specs/topdown_shooter_flank_resolution.json +66 -0
  93. god_code-0.9.2/godot_agent/runtime/scenario_specs/topdown_shooter_pressure.json +66 -0
  94. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/session.py +47 -1
  95. god_code-0.9.2/godot_agent/runtime/validation_checks.py +70 -0
  96. god_code-0.9.2/godot_agent/runtime/visual_regression.py +242 -0
  97. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/security/hooks.py +3 -0
  98. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/security/policies.py +2 -1
  99. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/security/tool_pipeline.py +3 -0
  100. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/testing/scenario_runner.py +14 -0
  101. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/analysis_tools.py +118 -0
  102. god_code-0.9.2/godot_agent/tools/base.py +146 -0
  103. god_code-0.9.2/godot_agent/tools/editor_bridge.py +257 -0
  104. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/file_ops.py +11 -3
  105. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/godot_cli.py +111 -24
  106. god_code-0.9.2/godot_agent/tools/image_gen.py +250 -0
  107. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/memory_tool.py +5 -4
  108. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/registry.py +3 -0
  109. god_code-0.9.2/godot_agent/tools/runtime_harness.py +585 -0
  110. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/scene_tools.py +3 -2
  111. god_code-0.9.2/godot_agent/tools/screenshot.py +118 -0
  112. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/shell.py +40 -0
  113. god_code-0.9.2/godot_agent/tools/sprite_pipeline.py +171 -0
  114. god_code-0.9.2/godot_agent/tools/sprite_qa.py +204 -0
  115. god_code-0.9.2/godot_agent/tools/vision_analysis.py +84 -0
  116. god_code-0.9.2/godot_agent/tools/vision_scoring.py +134 -0
  117. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/web_search.py +16 -6
  118. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tui/display.py +305 -4
  119. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tui/input_handler.py +69 -1
  120. god_code-0.9.2/mkdocs.yml +48 -0
  121. {god_code-0.6.0 → god_code-0.9.2}/pyproject.toml +15 -3
  122. god_code-0.9.2/scripts/vision_model_comparison.py +367 -0
  123. {god_code-0.6.0 → god_code-0.9.2}/tests/agents/test_dispatcher.py +70 -1
  124. god_code-0.9.2/tests/cli/test_setup_bridge.py +103 -0
  125. god_code-0.9.2/tests/cli_test_utils.py +80 -0
  126. god_code-0.9.2/tests/fuzz/test_input_sequences.py +83 -0
  127. god_code-0.9.2/tests/godot/test_audio_scaffolder.py +31 -0
  128. {god_code-0.6.0 → god_code-0.9.2}/tests/godot/test_project.py +17 -0
  129. {god_code-0.6.0 → god_code-0.9.2}/tests/godot/test_scene_parser.py +7 -0
  130. god_code-0.9.2/tests/godot/test_ui_layout_advisor.py +34 -0
  131. god_code-0.9.2/tests/godot/test_variant_codec.py +23 -0
  132. {god_code-0.6.0 → god_code-0.9.2}/tests/llm/test_adapters.py +28 -0
  133. {god_code-0.6.0 → god_code-0.9.2}/tests/llm/test_client.py +101 -0
  134. god_code-0.9.2/tests/prompts/test_genre_templates.py +23 -0
  135. {god_code-0.6.0 → god_code-0.9.2}/tests/prompts/test_prompt_assembler.py +66 -1
  136. god_code-0.9.2/tests/prompts/test_skill_selector.py +88 -0
  137. god_code-0.9.2/tests/prompts/test_vision_templates.py +83 -0
  138. god_code-0.9.2/tests/runtime/test_config.py +123 -0
  139. god_code-0.9.2/tests/runtime/test_context_health.py +34 -0
  140. {god_code-0.6.0 → god_code-0.9.2}/tests/runtime/test_context_manager.py +71 -0
  141. god_code-0.9.2/tests/runtime/test_design_memory.py +130 -0
  142. god_code-0.9.2/tests/runtime/test_engine.py +465 -0
  143. god_code-0.9.2/tests/runtime/test_error_loop.py +137 -0
  144. god_code-0.9.2/tests/runtime/test_execution_plan.py +41 -0
  145. {god_code-0.6.0 → god_code-0.9.2}/tests/runtime/test_gameplay_reviewer.py +18 -1
  146. god_code-0.9.2/tests/runtime/test_intent_resolver.py +159 -0
  147. god_code-0.9.2/tests/runtime/test_live_client.py +214 -0
  148. god_code-0.9.2/tests/runtime/test_playtest_harness.py +579 -0
  149. {god_code-0.6.0 → god_code-0.9.2}/tests/runtime/test_quality_gate.py +27 -0
  150. god_code-0.9.2/tests/runtime/test_reviewer.py +103 -0
  151. god_code-0.9.2/tests/runtime/test_runtime_bridge.py +99 -0
  152. {god_code-0.6.0 → god_code-0.9.2}/tests/runtime/test_session.py +38 -0
  153. god_code-0.9.2/tests/runtime/test_validation_checks.py +35 -0
  154. god_code-0.9.2/tests/runtime/test_visual_regression.py +118 -0
  155. {god_code-0.6.0 → god_code-0.9.2}/tests/security/test_hooks.py +19 -0
  156. god_code-0.9.2/tests/test_auto_flow.py +90 -0
  157. god_code-0.9.2/tests/test_cli_interactive_flows.py +308 -0
  158. {god_code-0.6.0 → god_code-0.9.2}/tests/test_package_compatibility.py +9 -2
  159. god_code-0.9.2/tests/tools/__init__.py +0 -0
  160. {god_code-0.6.0 → god_code-0.9.2}/tests/tools/test_analysis_tools.py +34 -0
  161. god_code-0.9.2/tests/tools/test_editor_bridge.py +279 -0
  162. {god_code-0.6.0 → god_code-0.9.2}/tests/tools/test_godot_cli.py +91 -0
  163. {god_code-0.6.0 → god_code-0.9.2}/tests/tools/test_memory_tool.py +22 -0
  164. god_code-0.9.2/tests/tools/test_runtime_harness.py +282 -0
  165. {god_code-0.6.0 → god_code-0.9.2}/tests/tools/test_scene_tools.py +24 -0
  166. god_code-0.9.2/tests/tools/test_screenshot_tool.py +99 -0
  167. god_code-0.9.2/tests/tools/test_sprite_qa.py +141 -0
  168. god_code-0.9.2/tests/tools/test_vision_analysis.py +145 -0
  169. god_code-0.9.2/tests/tools/test_vision_scoring.py +265 -0
  170. god_code-0.9.2/tests/tui/__init__.py +0 -0
  171. god_code-0.9.2/tests/tui/test_display.py +18 -0
  172. {god_code-0.6.0 → god_code-0.9.2}/tests/tui/test_input_handler.py +36 -0
  173. god_code-0.9.2/tests/tui/test_plan_display.py +28 -0
  174. god_code-0.6.0/CHANGELOG.md +0 -46
  175. god_code-0.6.0/CLAUDE.md +0 -206
  176. god_code-0.6.0/README.md +0 -303
  177. god_code-0.6.0/godot_agent/llm/adapters/openai.py +0 -32
  178. god_code-0.6.0/godot_agent/llm/client.py +0 -98
  179. god_code-0.6.0/godot_agent/prompts/skill_library.py +0 -130
  180. god_code-0.6.0/godot_agent/prompts/skill_selector.py +0 -80
  181. god_code-0.6.0/godot_agent/runtime/design_memory.py +0 -140
  182. god_code-0.6.0/godot_agent/runtime/playtest_harness.py +0 -142
  183. god_code-0.6.0/godot_agent/runtime/quality_gate.py +0 -316
  184. god_code-0.6.0/godot_agent/runtime/reviewer.py +0 -228
  185. god_code-0.6.0/godot_agent/runtime/runtime_bridge.py +0 -74
  186. god_code-0.6.0/godot_agent/tools/base.py +0 -54
  187. god_code-0.6.0/godot_agent/tools/editor_bridge.py +0 -79
  188. god_code-0.6.0/godot_agent/tools/image_gen.py +0 -180
  189. god_code-0.6.0/godot_agent/tools/screenshot.py +0 -82
  190. god_code-0.6.0/tests/prompts/test_skill_selector.py +0 -30
  191. god_code-0.6.0/tests/runtime/test_config.py +0 -61
  192. god_code-0.6.0/tests/runtime/test_design_memory.py +0 -48
  193. god_code-0.6.0/tests/runtime/test_engine.py +0 -211
  194. god_code-0.6.0/tests/runtime/test_error_loop.py +0 -46
  195. god_code-0.6.0/tests/runtime/test_playtest_harness.py +0 -28
  196. god_code-0.6.0/tests/runtime/test_reviewer.py +0 -50
  197. god_code-0.6.0/tests/runtime/test_runtime_bridge.py +0 -30
  198. god_code-0.6.0/tests/tools/test_editor_bridge.py +0 -46
  199. {god_code-0.6.0 → god_code-0.9.2}/.github/workflows/publish.yml +0 -0
  200. {god_code-0.6.0 → god_code-0.9.2}/AGENTS.md +0 -0
  201. {god_code-0.6.0 → god_code-0.9.2}/CONTRIBUTING.md +0 -0
  202. {god_code-0.6.0 → god_code-0.9.2}/LICENSE +0 -0
  203. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/__init__.py +0 -0
  204. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/agents/__init__.py +0 -0
  205. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/agents/configs.py +0 -0
  206. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/agents/results.py +0 -0
  207. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/godot/__init__.py +0 -0
  208. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/godot/collision_planner.py +0 -0
  209. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/godot/consistency_checker.py +0 -0
  210. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/godot/dependency_graph.py +0 -0
  211. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/godot/gdscript_linter.py +0 -0
  212. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/godot/impact_analysis.py +0 -0
  213. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/godot/pattern_advisor.py +0 -0
  214. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/godot/resource_validator.py +0 -0
  215. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/godot/tscn_validator.py +0 -0
  216. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/llm/__init__.py +0 -0
  217. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/llm/adapters/__init__.py +0 -0
  218. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/llm/adapters/anthropic.py +0 -0
  219. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/llm/vision.py +0 -0
  220. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/prompts/__init__.py +0 -0
  221. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/prompts/build_discipline.py +0 -0
  222. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/prompts/image_templates.py +0 -0
  223. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/prompts/knowledge_selector.py +0 -0
  224. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/prompts/system.py +0 -0
  225. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/py.typed +0 -0
  226. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/__init__.py +0 -0
  227. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/auth.py +0 -0
  228. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/events.py +0 -0
  229. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/scenario_specs/hud_feedback.json +0 -0
  230. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/scenario_specs/player_movement.json +0 -0
  231. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/runtime/scenario_specs/scene_transition.json +0 -0
  232. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/security/__init__.py +0 -0
  233. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/security/classifier.py +0 -0
  234. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/security/protected_paths.py +0 -0
  235. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/testing/__init__.py +0 -0
  236. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/__init__.py +0 -0
  237. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/git.py +0 -0
  238. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/list_dir.py +0 -0
  239. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/script_tools.py +0 -0
  240. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tools/search.py +0 -0
  241. {god_code-0.6.0 → god_code-0.9.2}/godot_agent/tui/__init__.py +0 -0
  242. {god_code-0.6.0 → god_code-0.9.2}/skills/god-code-setup/SKILL.md +0 -0
  243. {god_code-0.6.0 → god_code-0.9.2}/tests/__init__.py +0 -0
  244. {god_code-0.6.0 → god_code-0.9.2}/tests/agents/test_playtest_analyst.py +0 -0
  245. {god_code-0.6.0/tests/godot → god_code-0.9.2/tests/cli}/__init__.py +0 -0
  246. {god_code-0.6.0 → god_code-0.9.2}/tests/e2e/test_planner_worker_reviewer_flow.py +0 -0
  247. {god_code-0.6.0 → god_code-0.9.2}/tests/e2e/test_policy_enforcement.py +0 -0
  248. {god_code-0.6.0 → god_code-0.9.2}/tests/e2e/test_scenario_runner.py +0 -0
  249. {god_code-0.6.0/tests/llm → god_code-0.9.2/tests/godot}/__init__.py +0 -0
  250. {god_code-0.6.0 → god_code-0.9.2}/tests/godot/test_collision_planner.py +0 -0
  251. {god_code-0.6.0 → god_code-0.9.2}/tests/godot/test_consistency.py +0 -0
  252. {god_code-0.6.0 → god_code-0.9.2}/tests/godot/test_dependency_graph.py +0 -0
  253. {god_code-0.6.0 → god_code-0.9.2}/tests/godot/test_impact_analysis.py +0 -0
  254. {god_code-0.6.0 → god_code-0.9.2}/tests/godot/test_linter.py +0 -0
  255. {god_code-0.6.0 → god_code-0.9.2}/tests/godot/test_pattern_advisor.py +0 -0
  256. {god_code-0.6.0 → god_code-0.9.2}/tests/godot/test_resource_validator.py +0 -0
  257. {god_code-0.6.0 → god_code-0.9.2}/tests/godot/test_scene_writer.py +0 -0
  258. {god_code-0.6.0 → god_code-0.9.2}/tests/godot/test_tscn_validator.py +0 -0
  259. {god_code-0.6.0/tests/prompts → god_code-0.9.2/tests/llm}/__init__.py +0 -0
  260. {god_code-0.6.0 → god_code-0.9.2}/tests/llm/test_vision.py +0 -0
  261. {god_code-0.6.0/tests/runtime → god_code-0.9.2/tests/prompts}/__init__.py +0 -0
  262. {god_code-0.6.0 → god_code-0.9.2}/tests/prompts/test_knowledge_selector.py +0 -0
  263. {god_code-0.6.0 → god_code-0.9.2}/tests/prompts/test_system_prompt.py +0 -0
  264. {god_code-0.6.0/tests/tools → god_code-0.9.2/tests/runtime}/__init__.py +0 -0
  265. {god_code-0.6.0 → god_code-0.9.2}/tests/runtime/test_mode_restrictions.py +0 -0
  266. {god_code-0.6.0 → god_code-0.9.2}/tests/runtime/test_multi_agent_flow.py +0 -0
  267. {god_code-0.6.0 → god_code-0.9.2}/tests/security/test_classifier.py +0 -0
  268. {god_code-0.6.0 → god_code-0.9.2}/tests/security/test_permissions.py +0 -0
  269. {god_code-0.6.0 → god_code-0.9.2}/tests/security/test_tool_pipeline.py +0 -0
  270. {god_code-0.6.0 → god_code-0.9.2}/tests/test_cli_config_flow.py +0 -0
  271. {god_code-0.6.0 → god_code-0.9.2}/tests/test_e2e.py +0 -0
  272. {god_code-0.6.0 → god_code-0.9.2}/tests/test_runtime_switch_commands.py +0 -0
  273. {god_code-0.6.0 → god_code-0.9.2}/tests/tools/test_file_ops.py +0 -0
  274. {god_code-0.6.0 → god_code-0.9.2}/tests/tools/test_git.py +0 -0
  275. {god_code-0.6.0 → god_code-0.9.2}/tests/tools/test_list_dir.py +0 -0
  276. {god_code-0.6.0 → god_code-0.9.2}/tests/tools/test_registry.py +0 -0
  277. {god_code-0.6.0 → god_code-0.9.2}/tests/tools/test_script_tools.py +0 -0
  278. {god_code-0.6.0 → god_code-0.9.2}/tests/tools/test_search.py +0 -0
  279. {god_code-0.6.0 → god_code-0.9.2}/tests/tools/test_shell.py +0 -0
@@ -0,0 +1,208 @@
1
+ {
2
+ "last_scan": "2026-04-05",
3
+ "components": {
4
+ "cli": {
5
+ "path": "godot_agent/cli/",
6
+ "type": "entrypoint",
7
+ "description": "CLI package (Click) — commands, menus, engine wiring, helpers. Split from monolithic cli.py in v0.8.",
8
+ "last_modified": "2026-04-05",
9
+ "trace_refs": [
10
+ "2026-04-04_00-55_runtime-harness-skills-computer-use.md",
11
+ "2026-04-05_22-50_v08-implementation.md"
12
+ ],
13
+ "children": [
14
+ "godot_agent/cli/__init__.py",
15
+ "godot_agent/cli/__main__.py",
16
+ "godot_agent/cli/commands.py",
17
+ "godot_agent/cli/menus.py",
18
+ "godot_agent/cli/engine_wiring.py",
19
+ "godot_agent/cli/helpers.py"
20
+ ]
21
+ },
22
+ "mcp_server": {
23
+ "path": "godot_agent/mcp_server.py",
24
+ "type": "entrypoint",
25
+ "description": "MCP server for Claude Code integration (40+ tools)",
26
+ "last_modified": "2026-04-04",
27
+ "trace_refs": ["2026-04-04_00-55_runtime-harness-skills-computer-use.md"]
28
+ },
29
+ "tools": {
30
+ "path": "godot_agent/tools/",
31
+ "type": "module",
32
+ "description": "Tool implementations (41 tools: file_ops, search, shell, git, godot_cli, scene_tools, script_tools, vision_analysis, vision_scoring, sprite_qa, etc.)",
33
+ "last_modified": "2026-04-05",
34
+ "trace_refs": [
35
+ "2026-04-04_00-55_runtime-harness-skills-computer-use.md",
36
+ "2026-04-05_22-50_v08-implementation.md"
37
+ ],
38
+ "children": [
39
+ "godot_agent/tools/base.py",
40
+ "godot_agent/tools/registry.py",
41
+ "godot_agent/tools/file_ops.py",
42
+ "godot_agent/tools/search.py",
43
+ "godot_agent/tools/shell.py",
44
+ "godot_agent/tools/git.py",
45
+ "godot_agent/tools/list_dir.py",
46
+ "godot_agent/tools/godot_cli.py",
47
+ "godot_agent/tools/scene_tools.py",
48
+ "godot_agent/tools/script_tools.py",
49
+ "godot_agent/tools/analysis_tools.py",
50
+ "godot_agent/tools/editor_bridge.py",
51
+ "godot_agent/tools/memory_tool.py",
52
+ "godot_agent/tools/image_gen.py",
53
+ "godot_agent/tools/screenshot.py",
54
+ "godot_agent/tools/sprite_pipeline.py",
55
+ "godot_agent/tools/sprite_qa.py",
56
+ "godot_agent/tools/runtime_harness.py",
57
+ "godot_agent/tools/web_search.py",
58
+ "godot_agent/tools/vision_analysis.py",
59
+ "godot_agent/tools/vision_scoring.py"
60
+ ]
61
+ },
62
+ "llm": {
63
+ "path": "godot_agent/llm/",
64
+ "type": "module",
65
+ "description": "LLM client layer with provider adapters (Anthropic, OpenAI) + dual-path backend support + vision encoding",
66
+ "last_modified": "2026-04-05",
67
+ "trace_refs": [
68
+ "2026-04-04_00-55_runtime-harness-skills-computer-use.md",
69
+ "2026-04-05_22-50_v08-implementation.md"
70
+ ],
71
+ "children": [
72
+ "godot_agent/llm/client.py",
73
+ "godot_agent/llm/types.py",
74
+ "godot_agent/llm/streaming.py",
75
+ "godot_agent/llm/vision.py",
76
+ "godot_agent/llm/adapters/base.py",
77
+ "godot_agent/llm/adapters/anthropic.py",
78
+ "godot_agent/llm/adapters/openai.py"
79
+ ]
80
+ },
81
+ "godot": {
82
+ "path": "godot_agent/godot/",
83
+ "type": "module",
84
+ "description": "Godot engine integration (parsers, validators, linter, collision planner)",
85
+ "children": [
86
+ "godot_agent/godot/project.py",
87
+ "godot_agent/godot/scene_parser.py",
88
+ "godot_agent/godot/scene_writer.py",
89
+ "godot_agent/godot/resource_validator.py",
90
+ "godot_agent/godot/tscn_validator.py",
91
+ "godot_agent/godot/gdscript_linter.py",
92
+ "godot_agent/godot/collision_planner.py",
93
+ "godot_agent/godot/consistency_checker.py",
94
+ "godot_agent/godot/dependency_graph.py",
95
+ "godot_agent/godot/pattern_advisor.py",
96
+ "godot_agent/godot/impact_analysis.py"
97
+ ]
98
+ },
99
+ "runtime": {
100
+ "path": "godot_agent/runtime/",
101
+ "type": "module",
102
+ "description": "Agent runtime engine (session, config, modes, quality gates, reviewers, validation suite, visual regression, live bridge, playtest harness)",
103
+ "last_modified": "2026-04-05",
104
+ "trace_refs": [
105
+ "2026-04-04_00-55_runtime-harness-skills-computer-use.md",
106
+ "2026-04-05_22-50_v08-implementation.md"
107
+ ],
108
+ "children": [
109
+ "godot_agent/runtime/engine.py",
110
+ "godot_agent/runtime/session.py",
111
+ "godot_agent/runtime/config.py",
112
+ "godot_agent/runtime/modes.py",
113
+ "godot_agent/runtime/providers.py",
114
+ "godot_agent/runtime/events.py",
115
+ "godot_agent/runtime/context_manager.py",
116
+ "godot_agent/runtime/runtime_bridge.py",
117
+ "godot_agent/runtime/error_loop.py",
118
+ "godot_agent/runtime/quality_gate.py",
119
+ "godot_agent/runtime/design_memory.py",
120
+ "godot_agent/runtime/reviewer.py",
121
+ "godot_agent/runtime/gameplay_reviewer.py",
122
+ "godot_agent/runtime/playtest_harness.py",
123
+ "godot_agent/runtime/visual_regression.py",
124
+ "godot_agent/runtime/validation_checks.py",
125
+ "godot_agent/runtime/live_client.py",
126
+ "godot_agent/runtime/intent_resolver.py",
127
+ "godot_agent/runtime/auth.py",
128
+ "godot_agent/runtime/oauth.py"
129
+ ]
130
+ },
131
+ "prompts": {
132
+ "path": "godot_agent/prompts/",
133
+ "type": "module",
134
+ "description": "Prompt assembly, skill library, skill selector, vision templates",
135
+ "last_modified": "2026-04-05",
136
+ "trace_refs": [
137
+ "2026-04-04_00-55_runtime-harness-skills-computer-use.md",
138
+ "2026-04-05_22-50_v08-implementation.md"
139
+ ],
140
+ "children": [
141
+ "godot_agent/prompts/system.py",
142
+ "godot_agent/prompts/assembler.py",
143
+ "godot_agent/prompts/knowledge_selector.py",
144
+ "godot_agent/prompts/skill_selector.py",
145
+ "godot_agent/prompts/skill_library.py",
146
+ "godot_agent/prompts/godot_playbook.py",
147
+ "godot_agent/prompts/build_discipline.py",
148
+ "godot_agent/prompts/image_templates.py",
149
+ "godot_agent/prompts/vision_templates.py"
150
+ ]
151
+ },
152
+ "addons": {
153
+ "path": "godot_agent/addons/",
154
+ "type": "module",
155
+ "description": "Godot EditorPlugin addons (GodCodeBridge TCP JSON-RPC server)",
156
+ "last_modified": "2026-04-05",
157
+ "trace_refs": ["2026-04-05_22-50_v08-implementation.md"],
158
+ "children": [
159
+ "godot_agent/addons/god_code_bridge/god_code_bridge.gd",
160
+ "godot_agent/addons/god_code_bridge/plugin.cfg"
161
+ ]
162
+ },
163
+ "security": {
164
+ "path": "godot_agent/security/",
165
+ "type": "module",
166
+ "description": "Security layer (path protection, tool pipeline, policies, classifier)",
167
+ "children": [
168
+ "godot_agent/security/protected_paths.py",
169
+ "godot_agent/security/hooks.py",
170
+ "godot_agent/security/policies.py",
171
+ "godot_agent/security/tool_pipeline.py",
172
+ "godot_agent/security/classifier.py"
173
+ ]
174
+ },
175
+ "tui": {
176
+ "path": "godot_agent/tui/",
177
+ "type": "module",
178
+ "description": "Terminal UI (Rich display, input handling, skills panel)",
179
+ "last_modified": "2026-04-04",
180
+ "trace_refs": ["2026-04-04_00-55_runtime-harness-skills-computer-use.md"]
181
+ },
182
+ "agents": {
183
+ "path": "godot_agent/agents/",
184
+ "type": "module",
185
+ "description": "Multi-agent dispatcher and configs"
186
+ },
187
+ "testing": {
188
+ "path": "godot_agent/testing/",
189
+ "type": "module",
190
+ "description": "Scenario runner for automated testing",
191
+ "last_modified": "2026-04-04",
192
+ "trace_refs": ["2026-04-04_00-55_runtime-harness-skills-computer-use.md"]
193
+ }
194
+ },
195
+ "relationships": {
196
+ "cli -> prompts": "skill_selector imports for /skills command",
197
+ "cli -> tools": "engine_wiring registers all tools including vision tools",
198
+ "cli -> runtime": "engine_wiring builds engine, passes ValidationSuite config",
199
+ "runtime -> llm": "engine uses LLMClient dual-path (direct + backend)",
200
+ "runtime -> tools": "engine calls vision tools in RUN_VISUAL_ITERATION phase",
201
+ "runtime -> validation_checks": "quality_gate and reviewer share ValidationSuite cache",
202
+ "runtime -> live_client": "engine calls _try_live_bridge in PREPARE_CONTEXT",
203
+ "llm -> runtime": "adapters use providers.supports_computer_use()",
204
+ "prompts -> tools": "skill_selector narrows tool scope per active skill",
205
+ "addons -> runtime": "GodCodeBridge.gd serves data to LiveRuntimeClient via TCP",
206
+ "tools/vision -> prompts": "vision_analysis and vision_scoring use vision_templates"
207
+ }
208
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "project": "god-code",
3
+ "version": "0.8.1",
4
+ "language": "python",
5
+ "framework": "click+mcp+pydantic",
6
+ "component_roots": ["godot_agent"],
7
+ "test_roots": ["tests"],
8
+ "ignore_patterns": [
9
+ "__pycache__",
10
+ "*.pyc",
11
+ ".venv",
12
+ "dist",
13
+ "*.egg-info",
14
+ ".pytest_cache"
15
+ ],
16
+ "trace_format": "markdown",
17
+ "archive_after_days": 30
18
+ }
@@ -0,0 +1,3 @@
1
+ github: 888wing
2
+ custom:
3
+ - https://buymeacoffee.com/nano122090n
@@ -0,0 +1,41 @@
1
+ name: Deploy Docs
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+ pages: write
12
+ id-token: write
13
+
14
+ concurrency:
15
+ group: pages
16
+ cancel-in-progress: true
17
+
18
+ jobs:
19
+ build:
20
+ runs-on: ubuntu-latest
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ - uses: actions/setup-python@v5
24
+ with:
25
+ python-version: "3.12"
26
+ - run: pip install -e ".[docs]"
27
+ - run: mkdocs build --strict
28
+ - uses: actions/configure-pages@v5
29
+ - uses: actions/upload-pages-artifact@v3
30
+ with:
31
+ path: site
32
+
33
+ deploy:
34
+ needs: build
35
+ runs-on: ubuntu-latest
36
+ environment:
37
+ name: github-pages
38
+ url: ${{ steps.deployment.outputs.page_url }}
39
+ steps:
40
+ - id: deployment
41
+ uses: actions/deploy-pages@v4
@@ -10,3 +10,7 @@ auth.json
10
10
  *.pem
11
11
  .idea/
12
12
  .vscode/
13
+ .codetape/traces/
14
+ .codetape/drift.json
15
+ site/
16
+ .audit/
@@ -0,0 +1,60 @@
1
+ # Changelog
2
+
3
+ All notable changes to God Code will be documented in this file.
4
+
5
+ ## [Unreleased]
6
+
7
+ ### Security
8
+ - **run_shell hardened** against credential exfiltration: subprocess environment is now filtered to drop any variable whose name contains KEY/TOKEN/SECRET/PASSWORD/PASSWD/CREDENTIAL/AUTH/PRIVATE/CERT, and `env`, `printenv`, `set`, `export`, and reads of `.config/god-code`, `.codex/auth`, `.aws/credentials`, `.ssh/id_*`, `.ssh/authorized_keys`, `.netrc`, `.npmrc`, `.pypirc` are now blocked at all safety levels.
9
+ - **Session files** (`~/.agent_sessions/*.json`) are now `chmod 0o600` on write so tool outputs captured in conversation history are not world-readable.
10
+ - **Atomic secure writes** for `~/.config/god-code/config.json` and `~/.config/god-code/auth.json`: files are created via `tempfile` + `os.fchmod(0o600)` + `os.replace`, eliminating the TOCTOU window where an earlier `write_text` produced a briefly 0o644 file.
11
+ - **MCP server path containment**: every `file_path` argument to MCP tools is validated against the active project root with `Path.relative_to`, and a `.gd/.tscn/.tres/.cfg/.gdshader/.json/.md/.txt/.import` extension allowlist, preventing a misbehaving MCP client from reading or writing arbitrary files such as `~/.config/god-code/config.json`.
12
+ - **Prefix confusion fix** in `file_ops._validate_path`: `startswith` replaced with `Path.relative_to`, so a project rooted at `/proj/my-game` no longer accidentally permits access to `/proj/my-game-secrets/`.
13
+ - **Log redaction** (`godot_agent/llm/redact.py`): a new `redact_secrets` helper masks Bearer tokens, `sk-*` keys, `gc_live_*` keys, and JWT triples in any error string before it is handed to `log.error`/`log.warning`. Applied to backend, streaming, and computer-use error paths in `llm/client.py` and `llm/streaming.py`.
14
+
15
+ ### Added
16
+ - Workspace-style chat TUI with session snapshot, recent activity, and live streaming panels
17
+ - Interaction modes (`apply`, `plan`, `explain`, `review`, `fix`) with mode-aware tool availability
18
+ - Autosaved session metadata with `/sessions`, `/resume`, `/new`, and project-aware restore flow
19
+ - Gameplay intent resolver with persistent profile storage in design memory
20
+ - `/intent` commands and TUI intent panel for confirming genre/combat/enemy direction
21
+ - Genre-aware internal skills: `bullet_hell`, `topdown_shooter`, `platformer_enemy`, `tower_defense`, `stealth_guard`
22
+ - Profile-aware playtest selection and report context
23
+ - MkDocs documentation site skeleton with getting-started, TUI, validation, provider, and MCP guides
24
+
25
+ ### Changed
26
+ - Unified `ask` and `chat` rendering pipeline, including tool progress and validation feedback
27
+ - Improved post-tool validation visibility and tool result summaries in interactive sessions
28
+ - Session persistence now preserves assistant tool calls and richer metadata for restore
29
+ - Prompt assembly, skill routing, planner/reviewer/playtest flows, and workspace state now consume shared gameplay intent
30
+
31
+ ## [0.1.0] - 2026-04-02
32
+
33
+ ### Added
34
+ - CLI with `ask`, `chat`, `info`, `login`, `logout`, `status` commands
35
+ - 10 tools: read_file, write_file, edit_file, list_dir, grep, glob, git, run_shell, run_godot, screenshot_scene
36
+ - OpenAI-compatible API client with streaming and vision support
37
+ - OAuth login via Codex CLI refresh token
38
+ - Godot project parser (project.godot, autoloads, resolution)
39
+ - .tscn scene parser, writer, and format validator with auto-fix
40
+ - GDScript linter (naming, ordering, type annotations, anti-patterns)
41
+ - Collision layer planner (standard 8-layer scheme)
42
+ - Cross-file consistency checker (collision, signals, resource paths, groups)
43
+ - Project dependency graph builder
44
+ - Design pattern advisor (object pool, component, state machine)
45
+ - Godot Playbook knowledge system (17 sections, context-aware injection)
46
+ - Build discipline rules (incremental build-and-verify)
47
+ - Error detection loop with Godot output parsing and fix suggestions
48
+ - Conversation context compaction for long sessions
49
+ - Path containment security (file ops restricted to project root)
50
+ - Shell command sandboxing (dangerous pattern blocking)
51
+ - API retry with exponential backoff (429 rate limits)
52
+ - Content filter graceful handling (400 errors)
53
+ - Session persistence to JSON
54
+
55
+ ### Security
56
+ - File operations restricted to project root directory
57
+ - Shell commands blocked for dangerous patterns (rm -rf /, sudo, etc.)
58
+ - Git argument parsing via shlex.split()
59
+ - OAuth tokens stored with 600 permissions
60
+ - API key/token masked in status output