claude-code-generator 0.4.1__tar.gz → 0.4.3__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 (169) hide show
  1. {claude_code_generator-0.4.1/src/claude_code_generator.egg-info → claude_code_generator-0.4.3}/PKG-INFO +3 -3
  2. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/pyproject.toml +6 -3
  3. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3/src/claude_code_generator.egg-info}/PKG-INFO +3 -3
  4. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/claude_code_generator.egg-info/requires.txt +2 -2
  5. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/__init__.py +1 -1
  6. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/_client_lifecycle.py +6 -0
  7. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/phase2_review.py +3 -3
  8. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/phase3_4_implement.py +2 -1
  9. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/phase5_closure.py +1 -1
  10. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/repomap.py +7 -3
  11. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_repomap.py +2 -1
  12. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/LICENSE +0 -0
  13. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/README.md +0 -0
  14. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/setup.cfg +0 -0
  15. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/claude_code_generator.egg-info/SOURCES.txt +0 -0
  16. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/claude_code_generator.egg-info/dependency_links.txt +0 -0
  17. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/claude_code_generator.egg-info/entry_points.txt +0 -0
  18. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/claude_code_generator.egg-info/top_level.txt +0 -0
  19. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/agents.py +0 -0
  20. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/cli.py +0 -0
  21. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/__init__.py +0 -0
  22. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/_bench_io.py +0 -0
  23. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/_crash_recovery.py +0 -0
  24. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/_detect.py +0 -0
  25. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/_dispatch.py +0 -0
  26. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/_resume.py +0 -0
  27. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/_validators.py +0 -0
  28. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/bench.py +0 -0
  29. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/bench_compare.py +0 -0
  30. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/bench_export.py +0 -0
  31. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/generate.py +0 -0
  32. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/init.py +0 -0
  33. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/optimize.py +0 -0
  34. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/review.py +0 -0
  35. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/commands/status.py +0 -0
  36. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/effort.py +0 -0
  37. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/env.py +0 -0
  38. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/gh/__init__.py +0 -0
  39. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/gh/core.py +0 -0
  40. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/gh/issues.py +0 -0
  41. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/gh/labels.py +0 -0
  42. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/gh/milestones.py +0 -0
  43. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/git_ops.py +0 -0
  44. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/logging_setup.py +0 -0
  45. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/memory.py +0 -0
  46. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/__init__.py +0 -0
  47. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/_comments.py +0 -0
  48. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/_memory_writers.py +0 -0
  49. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/_phase5_precommit.py +0 -0
  50. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/cycle_loop.py +0 -0
  51. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/phase0_complexity.py +0 -0
  52. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/phase1_plan.py +0 -0
  53. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/phase6_test.py +0 -0
  54. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/orchestrator/phase7_commit.py +0 -0
  55. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/preflight.py +0 -0
  56. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/prompts/__init__.py +0 -0
  57. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/prompts/hashes.py +0 -0
  58. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/prompts/prompt-optimize-requirements.md +0 -0
  59. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/prompts/prompt-phase-0-complexity.md +0 -0
  60. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/prompts/prompt-phase-1-planning.md +0 -0
  61. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/prompts/prompt-phase-2-issue-review.md +0 -0
  62. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/prompts/prompt-phase-3-implementation.md +0 -0
  63. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/prompts/prompt-phase-5-final-review.md +0 -0
  64. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/prompts/prompt-phase-6-test.md +0 -0
  65. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/prompts/prompt-phase-7-commit.md +0 -0
  66. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/prompts/prompt-review.md +0 -0
  67. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/repo_info.py +0 -0
  68. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/requirements_structure.py +0 -0
  69. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/__init__.py +0 -0
  70. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/_telemetry.py +0 -0
  71. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/batch.py +0 -0
  72. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/fake_runner.py +0 -0
  73. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/mcp.py +0 -0
  74. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/message_parsing.py +0 -0
  75. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/options.py +0 -0
  76. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/protocol.py +0 -0
  77. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/rate_limit.py +0 -0
  78. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/retry.py +0 -0
  79. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/sdk_runner.py +0 -0
  80. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/soft_reset.py +0 -0
  81. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/state_guard.py +0 -0
  82. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/subprocess_runner.py +0 -0
  83. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/types.py +0 -0
  84. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/runner/utils.py +0 -0
  85. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/state.py +0 -0
  86. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/state_retention.py +0 -0
  87. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/templates/__init__.py +0 -0
  88. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/templates/angular.md +0 -0
  89. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/templates/base.md +0 -0
  90. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/templates/fastapi.md +0 -0
  91. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/templates/finance.md +0 -0
  92. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/templates/fullstack.md +0 -0
  93. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/templates/nestjs.md +0 -0
  94. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/src/code_generator/templates/python-cli.md +0 -0
  95. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_agents.py +0 -0
  96. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_bench.py +0 -0
  97. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_bench_compare.py +0 -0
  98. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_bench_export.py +0 -0
  99. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_bench_fixture.py +0 -0
  100. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_bench_regression.py +0 -0
  101. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_changelog.py +0 -0
  102. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_claude_md.py +0 -0
  103. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_client_lifecycle.py +0 -0
  104. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_comments.py +0 -0
  105. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_commit_message.py +0 -0
  106. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_crash_recovery.py +0 -0
  107. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_cycle_loop.py +0 -0
  108. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_cycle_loop_multicycle.py +0 -0
  109. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_delta_planning.py +0 -0
  110. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_dependencies.py +0 -0
  111. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_detect.py +0 -0
  112. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_docs_no_default_max_turns.py +0 -0
  113. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_effort.py +0 -0
  114. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_env.py +0 -0
  115. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_generate.py +0 -0
  116. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_generate_resume.py +0 -0
  117. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_gh.py +0 -0
  118. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_gh_labels.py +0 -0
  119. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_gh_milestones.py +0 -0
  120. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_gh_repo_threading.py +0 -0
  121. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_gh_submodules.py +0 -0
  122. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_git_ops.py +0 -0
  123. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_init.py +0 -0
  124. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_logging_setup.py +0 -0
  125. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_max_turns_cli_flag.py +0 -0
  126. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_mcp.py +0 -0
  127. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_memory.py +0 -0
  128. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_memory_writers.py +0 -0
  129. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_message_parsing.py +0 -0
  130. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_no_max_turns_in_call_sites.py +0 -0
  131. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_no_max_turns_literal.py +0 -0
  132. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_non_goals_grep_guard.py +0 -0
  133. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_optimize.py +0 -0
  134. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_options.py +0 -0
  135. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_phase0.py +0 -0
  136. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_phase1.py +0 -0
  137. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_phase2.py +0 -0
  138. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_phase2_batch.py +0 -0
  139. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_phase3_4.py +0 -0
  140. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_phase5.py +0 -0
  141. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_phase5_precommit.py +0 -0
  142. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_phase6.py +0 -0
  143. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_phase7.py +0 -0
  144. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_phase_mcp_regression.py +0 -0
  145. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_phase_token_logging.py +0 -0
  146. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_preflight.py +0 -0
  147. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_prompt_drift.py +0 -0
  148. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_prompt_prefix_snapshots.py +0 -0
  149. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_prompt_prefix_stability.py +0 -0
  150. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_prompts.py +0 -0
  151. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_rate_limit.py +0 -0
  152. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_repo_info.py +0 -0
  153. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_requirements_structure.py +0 -0
  154. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_retry.py +0 -0
  155. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_review.py +0 -0
  156. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_runner_protocol.py +0 -0
  157. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_runner_protocol_annotations.py +0 -0
  158. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_runner_types.py +0 -0
  159. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_runner_utils.py +0 -0
  160. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_sdk_runner.py +0 -0
  161. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_sdk_runner_shared.py +0 -0
  162. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_session_mode.py +0 -0
  163. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_state.py +0 -0
  164. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_state_guard.py +0 -0
  165. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_state_retention.py +0 -0
  166. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_status.py +0 -0
  167. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_subprocess_runner.py +0 -0
  168. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_telemetry.py +0 -0
  169. {claude_code_generator-0.4.1 → claude_code_generator-0.4.3}/tests/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-code-generator
3
- Version: 0.4.1
3
+ Version: 0.4.3
4
4
  Summary: Orchestrator CLI that drives Claude Code end-to-end to generate whole projects from a requirements.md file.
5
5
  Author: Silvio Baratto
6
6
  License: MIT
@@ -28,8 +28,8 @@ Requires-Dist: pytest; extra == "dev"
28
28
  Requires-Dist: pytest-asyncio; extra == "dev"
29
29
  Requires-Dist: ruff; extra == "dev"
30
30
  Provides-Extra: repomap
31
- Requires-Dist: tree-sitter<0.22,>=0.21; extra == "repomap"
32
- Requires-Dist: tree-sitter-languages>=1.10; extra == "repomap"
31
+ Requires-Dist: tree-sitter>=0.23; extra == "repomap"
32
+ Requires-Dist: tree-sitter-language-pack>=0.5; extra == "repomap"
33
33
  Provides-Extra: mcp
34
34
  Requires-Dist: mcp<2.0,>=1.0; extra == "mcp"
35
35
  Provides-Extra: batch
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "claude-code-generator"
7
- version = "0.4.1"
7
+ version = "0.4.3"
8
8
  description = "Orchestrator CLI that drives Claude Code end-to-end to generate whole projects from a requirements.md file."
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -40,8 +40,11 @@ dev = [
40
40
  "ruff",
41
41
  ]
42
42
  repomap = [
43
- "tree-sitter>=0.21,<0.22",
44
- "tree-sitter-languages>=1.10",
43
+ # Migrated from the unmaintained tree-sitter-languages (1.10, late 2023)
44
+ # to its actively-maintained successor tree-sitter-language-pack
45
+ # (released April 2026, 305+ grammars, modern Python/TS syntax).
46
+ "tree-sitter>=0.23",
47
+ "tree-sitter-language-pack>=0.5",
45
48
  ]
46
49
  mcp = [
47
50
  # Python MCP client library — the codebase-memory-mcp and serena binaries
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-code-generator
3
- Version: 0.4.1
3
+ Version: 0.4.3
4
4
  Summary: Orchestrator CLI that drives Claude Code end-to-end to generate whole projects from a requirements.md file.
5
5
  Author: Silvio Baratto
6
6
  License: MIT
@@ -28,8 +28,8 @@ Requires-Dist: pytest; extra == "dev"
28
28
  Requires-Dist: pytest-asyncio; extra == "dev"
29
29
  Requires-Dist: ruff; extra == "dev"
30
30
  Provides-Extra: repomap
31
- Requires-Dist: tree-sitter<0.22,>=0.21; extra == "repomap"
32
- Requires-Dist: tree-sitter-languages>=1.10; extra == "repomap"
31
+ Requires-Dist: tree-sitter>=0.23; extra == "repomap"
32
+ Requires-Dist: tree-sitter-language-pack>=0.5; extra == "repomap"
33
33
  Provides-Extra: mcp
34
34
  Requires-Dist: mcp<2.0,>=1.0; extra == "mcp"
35
35
  Provides-Extra: batch
@@ -17,5 +17,5 @@ ruff
17
17
  mcp<2.0,>=1.0
18
18
 
19
19
  [repomap]
20
- tree-sitter<0.22,>=0.21
21
- tree-sitter-languages>=1.10
20
+ tree-sitter>=0.23
21
+ tree-sitter-language-pack>=0.5
@@ -1,3 +1,3 @@
1
1
  """code-generator: orchestrator CLI for end-to-end project generation."""
2
2
 
3
- __version__ = "0.4.1"
3
+ __version__ = "0.4.3"
@@ -41,6 +41,12 @@ _SHARED_CLIENT_ALLOWED_TOOLS: tuple[str, ...] = (
41
41
  "Bash",
42
42
  "Glob",
43
43
  "Grep",
44
+ # Web access — Phase 3/4 prompt instructs the model to consult upstream
45
+ # docs for unfamiliar libraries before guessing. WebFetch is sandboxed by
46
+ # the API: it can only retrieve URLs already in conversation context (no
47
+ # arbitrary model-generated URLs), which closes the exfiltration vector.
48
+ "WebSearch",
49
+ "WebFetch",
44
50
  )
45
51
 
46
52
  # Guard SDK import so this module can be loaded without the SDK installed
@@ -169,7 +169,7 @@ async def run_batch(
169
169
  warmup_options = make_agent_options(
170
170
  model="claude-opus-4-7",
171
171
  effort=effort_level,
172
- allowed_tools=["Read", "Bash", "Glob", "Grep"] + mcp_tools,
172
+ allowed_tools=["Read", "Bash", "Glob", "Grep", "WebSearch", "WebFetch"] + mcp_tools,
173
173
  cwd=str(project_dir),
174
174
  mcp_servers=mcp_servers,
175
175
  context_management=None,
@@ -419,7 +419,7 @@ async def _run_fallback_review(
419
419
  options = make_agent_options(
420
420
  model="claude-opus-4-7",
421
421
  effort=effort_level,
422
- allowed_tools=["Read", "Bash", "Glob", "Grep"] + mcp_tools,
422
+ allowed_tools=["Read", "Bash", "Glob", "Grep", "WebSearch", "WebFetch"] + mcp_tools,
423
423
  cwd=str(project_dir),
424
424
  mcp_servers=mcp_servers,
425
425
  context_management=None,
@@ -579,7 +579,7 @@ async def run(
579
579
  options = make_agent_options(
580
580
  model="claude-opus-4-7",
581
581
  effort=effort_level,
582
- allowed_tools=["Read", "Bash", "Glob", "Grep"] + mcp_tools,
582
+ allowed_tools=["Read", "Bash", "Glob", "Grep", "WebSearch", "WebFetch"] + mcp_tools,
583
583
  cwd=str(project_dir),
584
584
  mcp_servers=mcp_servers,
585
585
  context_management=cm_block,
@@ -242,7 +242,8 @@ async def _implement_single_issue(
242
242
  options = make_agent_options(
243
243
  model="claude-sonnet-4-6",
244
244
  effort=effort_level,
245
- allowed_tools=["Read", "Edit", "Write", "Bash", "Glob", "Grep"] + mcp_tools,
245
+ allowed_tools=["Read", "Edit", "Write", "Bash", "Glob", "Grep", "WebSearch", "WebFetch"]
246
+ + mcp_tools,
246
247
  cwd=str(project_dir),
247
248
  mcp_servers=mcp_servers,
248
249
  context_management_enabled=True,
@@ -338,7 +338,7 @@ async def run(
338
338
  options = make_agent_options(
339
339
  model="claude-opus-4-7",
340
340
  effort=effort_level,
341
- allowed_tools=["Read", "Bash", "Glob", "Grep"] + mcp_tools,
341
+ allowed_tools=["Read", "Bash", "Glob", "Grep", "WebSearch", "WebFetch"] + mcp_tools,
342
342
  cwd=str(project_dir),
343
343
  mcp_servers=mcp_servers,
344
344
  **max_turns_kwargs(max_turns),
@@ -73,10 +73,14 @@ def compute_repomap(
73
73
  is not installed.
74
74
  """
75
75
  try:
76
- from tree_sitter_languages import get_parser # type: ignore[import]
76
+ from tree_sitter_language_pack import get_parser # type: ignore[import]
77
77
  except ImportError:
78
- _log.warning(_FALLBACK_WARNING)
79
- return _FALLBACK
78
+ # Fall back to the legacy package when only the old extra is installed.
79
+ try:
80
+ from tree_sitter_languages import get_parser # type: ignore[import]
81
+ except ImportError:
82
+ _log.warning(_FALLBACK_WARNING)
83
+ return _FALLBACK
80
84
 
81
85
  skip_dirs = _SKIP_DIRS - {"tests"} if include_tests else _SKIP_DIRS
82
86
 
@@ -57,7 +57,8 @@ def test_fallback_when_tree_sitter_import_error(
57
57
  caplog: pytest.LogCaptureFixture,
58
58
  monkeypatch: pytest.MonkeyPatch,
59
59
  ) -> None:
60
- """When tree_sitter_languages is unavailable, the fallback string is returned."""
60
+ """When neither tree-sitter package is importable, the fallback string is returned."""
61
+ monkeypatch.setitem(sys.modules, "tree_sitter_language_pack", None)
61
62
  monkeypatch.setitem(sys.modules, "tree_sitter_languages", None)
62
63
 
63
64
  # Import after patching so the lazy import sees the None entry.