god-code 0.6.0__tar.gz → 0.6.1__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 (160) hide show
  1. {god_code-0.6.0 → god_code-0.6.1}/PKG-INFO +1 -1
  2. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/cli.py +53 -1
  3. {god_code-0.6.0 → god_code-0.6.1}/pyproject.toml +1 -1
  4. {god_code-0.6.0 → god_code-0.6.1}/.github/workflows/publish.yml +0 -0
  5. {god_code-0.6.0 → god_code-0.6.1}/.gitignore +0 -0
  6. {god_code-0.6.0 → god_code-0.6.1}/AGENTS.md +0 -0
  7. {god_code-0.6.0 → god_code-0.6.1}/CHANGELOG.md +0 -0
  8. {god_code-0.6.0 → god_code-0.6.1}/CLAUDE.md +0 -0
  9. {god_code-0.6.0 → god_code-0.6.1}/CONTRIBUTING.md +0 -0
  10. {god_code-0.6.0 → god_code-0.6.1}/LICENSE +0 -0
  11. {god_code-0.6.0 → god_code-0.6.1}/README.md +0 -0
  12. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/__init__.py +0 -0
  13. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/agents/__init__.py +0 -0
  14. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/agents/configs.py +0 -0
  15. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/agents/dispatcher.py +0 -0
  16. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/agents/results.py +0 -0
  17. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/godot/__init__.py +0 -0
  18. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/godot/collision_planner.py +0 -0
  19. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/godot/consistency_checker.py +0 -0
  20. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/godot/dependency_graph.py +0 -0
  21. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/godot/gdscript_linter.py +0 -0
  22. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/godot/impact_analysis.py +0 -0
  23. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/godot/pattern_advisor.py +0 -0
  24. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/godot/project.py +0 -0
  25. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/godot/resource_validator.py +0 -0
  26. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/godot/scene_parser.py +0 -0
  27. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/godot/scene_writer.py +0 -0
  28. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/godot/tscn_validator.py +0 -0
  29. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/llm/__init__.py +0 -0
  30. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/llm/adapters/__init__.py +0 -0
  31. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/llm/adapters/anthropic.py +0 -0
  32. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/llm/adapters/base.py +0 -0
  33. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/llm/adapters/openai.py +0 -0
  34. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/llm/client.py +0 -0
  35. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/llm/streaming.py +0 -0
  36. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/llm/types.py +0 -0
  37. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/llm/vision.py +0 -0
  38. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/mcp_server.py +0 -0
  39. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/prompts/__init__.py +0 -0
  40. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/prompts/assembler.py +0 -0
  41. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/prompts/build_discipline.py +0 -0
  42. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/prompts/godot_playbook.py +0 -0
  43. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/prompts/image_templates.py +0 -0
  44. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/prompts/knowledge_selector.py +0 -0
  45. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/prompts/skill_library.py +0 -0
  46. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/prompts/skill_selector.py +0 -0
  47. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/prompts/system.py +0 -0
  48. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/py.typed +0 -0
  49. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/__init__.py +0 -0
  50. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/auth.py +0 -0
  51. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/config.py +0 -0
  52. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/context_manager.py +0 -0
  53. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/design_memory.py +0 -0
  54. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/engine.py +0 -0
  55. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/error_loop.py +0 -0
  56. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/events.py +0 -0
  57. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/gameplay_reviewer.py +0 -0
  58. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/modes.py +0 -0
  59. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/oauth.py +0 -0
  60. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/playtest_harness.py +0 -0
  61. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/providers.py +0 -0
  62. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/quality_gate.py +0 -0
  63. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/reviewer.py +0 -0
  64. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/runtime_bridge.py +0 -0
  65. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/scenario_specs/hud_feedback.json +0 -0
  66. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/scenario_specs/player_movement.json +0 -0
  67. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/scenario_specs/scene_transition.json +0 -0
  68. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/runtime/session.py +0 -0
  69. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/security/__init__.py +0 -0
  70. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/security/classifier.py +0 -0
  71. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/security/hooks.py +0 -0
  72. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/security/policies.py +0 -0
  73. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/security/protected_paths.py +0 -0
  74. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/security/tool_pipeline.py +0 -0
  75. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/testing/__init__.py +0 -0
  76. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/testing/scenario_runner.py +0 -0
  77. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/__init__.py +0 -0
  78. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/analysis_tools.py +0 -0
  79. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/base.py +0 -0
  80. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/editor_bridge.py +0 -0
  81. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/file_ops.py +0 -0
  82. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/git.py +0 -0
  83. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/godot_cli.py +0 -0
  84. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/image_gen.py +0 -0
  85. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/list_dir.py +0 -0
  86. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/memory_tool.py +0 -0
  87. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/registry.py +0 -0
  88. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/scene_tools.py +0 -0
  89. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/screenshot.py +0 -0
  90. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/script_tools.py +0 -0
  91. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/search.py +0 -0
  92. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/shell.py +0 -0
  93. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tools/web_search.py +0 -0
  94. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tui/__init__.py +0 -0
  95. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tui/display.py +0 -0
  96. {god_code-0.6.0 → god_code-0.6.1}/godot_agent/tui/input_handler.py +0 -0
  97. {god_code-0.6.0 → god_code-0.6.1}/skills/god-code-setup/SKILL.md +0 -0
  98. {god_code-0.6.0 → god_code-0.6.1}/tests/__init__.py +0 -0
  99. {god_code-0.6.0 → god_code-0.6.1}/tests/agents/test_dispatcher.py +0 -0
  100. {god_code-0.6.0 → god_code-0.6.1}/tests/agents/test_playtest_analyst.py +0 -0
  101. {god_code-0.6.0 → god_code-0.6.1}/tests/e2e/test_planner_worker_reviewer_flow.py +0 -0
  102. {god_code-0.6.0 → god_code-0.6.1}/tests/e2e/test_policy_enforcement.py +0 -0
  103. {god_code-0.6.0 → god_code-0.6.1}/tests/e2e/test_scenario_runner.py +0 -0
  104. {god_code-0.6.0 → god_code-0.6.1}/tests/godot/__init__.py +0 -0
  105. {god_code-0.6.0 → god_code-0.6.1}/tests/godot/test_collision_planner.py +0 -0
  106. {god_code-0.6.0 → god_code-0.6.1}/tests/godot/test_consistency.py +0 -0
  107. {god_code-0.6.0 → god_code-0.6.1}/tests/godot/test_dependency_graph.py +0 -0
  108. {god_code-0.6.0 → god_code-0.6.1}/tests/godot/test_impact_analysis.py +0 -0
  109. {god_code-0.6.0 → god_code-0.6.1}/tests/godot/test_linter.py +0 -0
  110. {god_code-0.6.0 → god_code-0.6.1}/tests/godot/test_pattern_advisor.py +0 -0
  111. {god_code-0.6.0 → god_code-0.6.1}/tests/godot/test_project.py +0 -0
  112. {god_code-0.6.0 → god_code-0.6.1}/tests/godot/test_resource_validator.py +0 -0
  113. {god_code-0.6.0 → god_code-0.6.1}/tests/godot/test_scene_parser.py +0 -0
  114. {god_code-0.6.0 → god_code-0.6.1}/tests/godot/test_scene_writer.py +0 -0
  115. {god_code-0.6.0 → god_code-0.6.1}/tests/godot/test_tscn_validator.py +0 -0
  116. {god_code-0.6.0 → god_code-0.6.1}/tests/llm/__init__.py +0 -0
  117. {god_code-0.6.0 → god_code-0.6.1}/tests/llm/test_adapters.py +0 -0
  118. {god_code-0.6.0 → god_code-0.6.1}/tests/llm/test_client.py +0 -0
  119. {god_code-0.6.0 → god_code-0.6.1}/tests/llm/test_vision.py +0 -0
  120. {god_code-0.6.0 → god_code-0.6.1}/tests/prompts/__init__.py +0 -0
  121. {god_code-0.6.0 → god_code-0.6.1}/tests/prompts/test_knowledge_selector.py +0 -0
  122. {god_code-0.6.0 → god_code-0.6.1}/tests/prompts/test_prompt_assembler.py +0 -0
  123. {god_code-0.6.0 → god_code-0.6.1}/tests/prompts/test_skill_selector.py +0 -0
  124. {god_code-0.6.0 → god_code-0.6.1}/tests/prompts/test_system_prompt.py +0 -0
  125. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/__init__.py +0 -0
  126. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_config.py +0 -0
  127. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_context_manager.py +0 -0
  128. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_design_memory.py +0 -0
  129. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_engine.py +0 -0
  130. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_error_loop.py +0 -0
  131. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_gameplay_reviewer.py +0 -0
  132. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_mode_restrictions.py +0 -0
  133. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_multi_agent_flow.py +0 -0
  134. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_playtest_harness.py +0 -0
  135. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_quality_gate.py +0 -0
  136. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_reviewer.py +0 -0
  137. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_runtime_bridge.py +0 -0
  138. {god_code-0.6.0 → god_code-0.6.1}/tests/runtime/test_session.py +0 -0
  139. {god_code-0.6.0 → god_code-0.6.1}/tests/security/test_classifier.py +0 -0
  140. {god_code-0.6.0 → god_code-0.6.1}/tests/security/test_hooks.py +0 -0
  141. {god_code-0.6.0 → god_code-0.6.1}/tests/security/test_permissions.py +0 -0
  142. {god_code-0.6.0 → god_code-0.6.1}/tests/security/test_tool_pipeline.py +0 -0
  143. {god_code-0.6.0 → god_code-0.6.1}/tests/test_cli_config_flow.py +0 -0
  144. {god_code-0.6.0 → god_code-0.6.1}/tests/test_e2e.py +0 -0
  145. {god_code-0.6.0 → god_code-0.6.1}/tests/test_package_compatibility.py +0 -0
  146. {god_code-0.6.0 → god_code-0.6.1}/tests/test_runtime_switch_commands.py +0 -0
  147. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/__init__.py +0 -0
  148. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/test_analysis_tools.py +0 -0
  149. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/test_editor_bridge.py +0 -0
  150. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/test_file_ops.py +0 -0
  151. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/test_git.py +0 -0
  152. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/test_godot_cli.py +0 -0
  153. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/test_list_dir.py +0 -0
  154. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/test_memory_tool.py +0 -0
  155. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/test_registry.py +0 -0
  156. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/test_scene_tools.py +0 -0
  157. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/test_script_tools.py +0 -0
  158. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/test_search.py +0 -0
  159. {god_code-0.6.0 → god_code-0.6.1}/tests/tools/test_shell.py +0 -0
  160. {god_code-0.6.0 → god_code-0.6.1}/tests/tui/test_input_handler.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: god-code
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: AI coding agent specialized for Godot game development
5
5
  Project-URL: Homepage, https://github.com/888wing/god-code
6
6
  Project-URL: Repository, https://github.com/888wing/god-code
@@ -702,7 +702,7 @@ def _run_setup_wizard(config_path: Path | None = None) -> None:
702
702
  click.echo()
703
703
 
704
704
 
705
- _VERSION = "0.6.0"
705
+ _VERSION = "0.6.1"
706
706
 
707
707
 
708
708
  def _check_update() -> None:
@@ -1680,5 +1680,57 @@ def mcp_command(project: str):
1680
1680
  run_mcp_server(project_path=project)
1681
1681
 
1682
1682
 
1683
+ @main.command()
1684
+ def tools():
1685
+ """List all available MCP tools with descriptions."""
1686
+ from rich.console import Console
1687
+ from rich.table import Table
1688
+ from rich.panel import Panel
1689
+
1690
+ console = Console()
1691
+
1692
+ try:
1693
+ from godot_agent.mcp_server import mcp as mcp_instance
1694
+ mcp_tools = mcp_instance._tool_manager._tools
1695
+ except Exception:
1696
+ console.print("[red]MCP not available. Install with: pip install god-code[mcp][/]")
1697
+ return
1698
+
1699
+ t = Table(show_header=True, padding=(0, 1))
1700
+ t.add_column("#", style="dim", width=3)
1701
+ t.add_column("Tool", style="green bold")
1702
+ t.add_column("Description", style="dim")
1703
+
1704
+ for i, (name, tool) in enumerate(sorted(mcp_tools.items()), 1):
1705
+ desc = (tool.description or "").split("\n")[0][:80]
1706
+ t.add_row(str(i), name, desc)
1707
+
1708
+ console.print(Panel(t, title=f"[cyan]God Code MCP Tools ({len(mcp_tools)})[/]", border_style="cyan"))
1709
+ console.print()
1710
+ console.print("[dim]Use these tools via MCP in Claude Code, or directly in god-code chat.[/]")
1711
+
1712
+
1713
+ @main.command("update-skill")
1714
+ def update_skill():
1715
+ """Download/update the god-code-setup skill for Claude Code."""
1716
+ from pathlib import Path
1717
+ import httpx
1718
+
1719
+ skill_dir = Path.home() / ".claude" / "skills" / "god-code-setup"
1720
+ skill_dir.mkdir(parents=True, exist_ok=True)
1721
+ skill_file = skill_dir / "SKILL.md"
1722
+ url = "https://raw.githubusercontent.com/888wing/god-code/main/skills/god-code-setup/SKILL.md"
1723
+
1724
+ click.echo(f"Downloading skill from {url}...")
1725
+ try:
1726
+ resp = httpx.get(url, timeout=10, follow_redirects=True)
1727
+ resp.raise_for_status()
1728
+ skill_file.write_text(resp.text)
1729
+ click.secho(f"Skill updated: {skill_file}", fg="green")
1730
+ click.echo("Restart Claude Code to activate.")
1731
+ except Exception as e:
1732
+ click.secho(f"Failed: {e}", fg="red")
1733
+
1734
+
1683
1735
  if __name__ == "__main__":
1684
1736
  main()
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "god-code"
3
- version = "0.6.0"
3
+ version = "0.6.1"
4
4
  description = "AI coding agent specialized for Godot game development"
5
5
  requires-python = ">=3.9"
6
6
  license = {text = "GPL-3.0-or-later"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes