cecli-dev 0.95.6.dev1__tar.gz → 0.95.8__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 (555) hide show
  1. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.github/workflows/ubuntu-tests.yml +2 -0
  2. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.github/workflows/windows-tests.yml +2 -0
  3. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/CONTRIBUTING.md +7 -9
  4. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/PKG-INFO +20 -11
  5. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/README.md +20 -11
  6. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/__init__.py +1 -1
  7. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/_version.py +3 -3
  8. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/args.py +36 -10
  9. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/agent_coder.py +50 -38
  10. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/base_coder.py +26 -10
  11. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/__init__.py +3 -0
  12. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/core.py +10 -7
  13. cecli_dev-0.95.8/cecli/commands/terminal_setup.py +365 -0
  14. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/helpers/model_providers.py +51 -2
  15. cecli_dev-0.95.8/cecli/helpers/nested.py +83 -0
  16. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/io.py +9 -6
  17. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/main.py +12 -4
  18. cecli_dev-0.95.8/cecli/prompts/utils/registry.py +203 -0
  19. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/resources/providers.json +9 -0
  20. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/app.py +2 -5
  21. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/urls.py +2 -2
  22. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/versioncheck.py +1 -1
  23. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/custom-commands.md +4 -2
  24. cecli_dev-0.95.8/cecli/website/docs/config/custom-system-prompts.md +162 -0
  25. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/tui.md +5 -5
  26. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli_dev.egg-info/PKG-INFO +20 -11
  27. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli_dev.egg-info/SOURCES.txt +4 -1
  28. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/pytest.ini +1 -1
  29. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_commands.py +11 -0
  30. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_model_provider_manager.py +118 -0
  31. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_prompts.py +139 -77
  32. cecli_dev-0.95.6.dev1/cecli/prompts/utils/prompt_registry.py +0 -167
  33. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.dockerignore +0 -0
  34. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.flake8 +0 -0
  35. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.gitattributes +0 -0
  36. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  37. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.github/workflows/check_pypi_version.yml +0 -0
  38. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.github/workflows/docker-build-test.yml +0 -0
  39. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.github/workflows/docker-release.yml +0 -0
  40. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.github/workflows/issues.yml +0 -0
  41. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.github/workflows/pages.yml +0 -0
  42. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.github/workflows/pre-commit.yml +0 -0
  43. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.github/workflows/release.yml +0 -0
  44. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.github/workflows/windows_check_pypi_version.yml +0 -0
  45. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.gitignore +0 -0
  46. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/.pre-commit-config.yaml +0 -0
  47. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/CHANGELOG.md +0 -0
  48. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/CNAME +0 -0
  49. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/HISTORY.md +0 -0
  50. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/LICENSE.txt +0 -0
  51. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/MANIFEST.in +0 -0
  52. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/Dockerfile +0 -0
  53. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/README.md +0 -0
  54. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/__init__.py +0 -0
  55. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/benchmark.py +0 -0
  56. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/benchmark_classic.py +0 -0
  57. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/clone-exercism.sh +0 -0
  58. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/cpp-test.sh +0 -0
  59. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/docker.sh +0 -0
  60. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/docker_build.sh +0 -0
  61. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/install-docker-ubuntu.sh +0 -0
  62. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/npm-test.sh +0 -0
  63. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/over_time.py +0 -0
  64. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/plot.sh +0 -0
  65. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/plots.py +0 -0
  66. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/problem_stats.py +0 -0
  67. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/prompts.py +0 -0
  68. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/refactor_tools.py +0 -0
  69. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/rsync.sh +0 -0
  70. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/rungrid.py +0 -0
  71. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/swe-bench-lite.txt +0 -0
  72. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/swe-bench.txt +0 -0
  73. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/swe_bench.py +0 -0
  74. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/benchmark/test_benchmark.py +0 -0
  75. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/__main__.py +0 -0
  76. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/args_formatter.py +0 -0
  77. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/change_tracker.py +0 -0
  78. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/__init__.py +0 -0
  79. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/architect_coder.py +0 -0
  80. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/ask_coder.py +0 -0
  81. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/chat_chunks.py +0 -0
  82. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/context_coder.py +0 -0
  83. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/copypaste_coder.py +0 -0
  84. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/editblock_coder.py +0 -0
  85. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/editblock_fenced_coder.py +0 -0
  86. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/editblock_func_coder.py +0 -0
  87. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  88. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/editor_editblock_coder.py +0 -0
  89. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/editor_whole_coder.py +0 -0
  90. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/help_coder.py +0 -0
  91. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/patch_coder.py +0 -0
  92. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/search_replace.py +0 -0
  93. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/shell.py +0 -0
  94. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/single_wholefile_func_coder.py +0 -0
  95. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/udiff_coder.py +0 -0
  96. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/udiff_simple.py +0 -0
  97. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/wholefile_coder.py +0 -0
  98. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/coders/wholefile_func_coder.py +0 -0
  99. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/add.py +0 -0
  100. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/agent.py +0 -0
  101. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/architect.py +0 -0
  102. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/ask.py +0 -0
  103. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/chat_mode.py +0 -0
  104. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/clear.py +0 -0
  105. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/code.py +0 -0
  106. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/command_prefix.py +0 -0
  107. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/commit.py +0 -0
  108. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/context.py +0 -0
  109. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/context_blocks.py +0 -0
  110. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/context_management.py +0 -0
  111. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/copy.py +0 -0
  112. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/copy_context.py +0 -0
  113. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/diff.py +0 -0
  114. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/drop.py +0 -0
  115. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/editor.py +0 -0
  116. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/exit.py +0 -0
  117. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/git.py +0 -0
  118. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/help.py +0 -0
  119. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/history_search.py +0 -0
  120. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/lint.py +0 -0
  121. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/list_sessions.py +0 -0
  122. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/load.py +0 -0
  123. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/load_session.py +0 -0
  124. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/load_skill.py +0 -0
  125. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/ls.py +0 -0
  126. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/map.py +0 -0
  127. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/map_refresh.py +0 -0
  128. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/model.py +0 -0
  129. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/models.py +0 -0
  130. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/multiline_mode.py +0 -0
  131. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/paste.py +0 -0
  132. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/quit.py +0 -0
  133. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/read_only.py +0 -0
  134. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/read_only_stub.py +0 -0
  135. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/reasoning_effort.py +0 -0
  136. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/remove_skill.py +0 -0
  137. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/report.py +0 -0
  138. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/reset.py +0 -0
  139. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/run.py +0 -0
  140. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/save.py +0 -0
  141. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/save_session.py +0 -0
  142. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/settings.py +0 -0
  143. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/test.py +0 -0
  144. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/think_tokens.py +0 -0
  145. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/tokens.py +0 -0
  146. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/undo.py +0 -0
  147. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/utils/__init__.py +0 -0
  148. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/utils/base_command.py +0 -0
  149. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/utils/helpers.py +0 -0
  150. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/utils/registry.py +0 -0
  151. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/utils/save_load_manager.py +0 -0
  152. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/voice.py +0 -0
  153. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/weak_model.py +0 -0
  154. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/commands/web.py +0 -0
  155. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/deprecated_args.py +0 -0
  156. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/diffs.py +0 -0
  157. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/dump.py +0 -0
  158. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/editor.py +0 -0
  159. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/exceptions.py +0 -0
  160. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/format_settings.py +0 -0
  161. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/help.py +0 -0
  162. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/help_pats.py +0 -0
  163. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/helpers/__init__.py +0 -0
  164. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/helpers/copypaste.py +0 -0
  165. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/helpers/coroutines.py +0 -0
  166. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/helpers/file_searcher.py +0 -0
  167. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/helpers/plugin_manager.py +0 -0
  168. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/helpers/profiler.py +0 -0
  169. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/helpers/requests.py +0 -0
  170. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/helpers/similarity.py +0 -0
  171. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/helpers/skills.py +0 -0
  172. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/history.py +0 -0
  173. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/linter.py +0 -0
  174. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/llm.py +0 -0
  175. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/mcp/__init__.py +0 -0
  176. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/mcp/oauth.py +0 -0
  177. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/mcp/server.py +0 -0
  178. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/mdstream.py +0 -0
  179. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/models.py +0 -0
  180. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/onboarding.py +0 -0
  181. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/__init__.py +0 -0
  182. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/agent.yml +0 -0
  183. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/architect.yml +0 -0
  184. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/ask.yml +0 -0
  185. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/base.yml +0 -0
  186. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/context.yml +0 -0
  187. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/copypaste.yml +0 -0
  188. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/editblock.yml +0 -0
  189. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/editblock_fenced.yml +0 -0
  190. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/editblock_func.yml +0 -0
  191. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/editor_diff_fenced.yml +0 -0
  192. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/editor_editblock.yml +0 -0
  193. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/editor_whole.yml +0 -0
  194. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/help.yml +0 -0
  195. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/patch.yml +0 -0
  196. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/single_wholefile_func.yml +0 -0
  197. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/udiff.yml +0 -0
  198. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/udiff_simple.yml +0 -0
  199. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/utils/__init__.py +0 -0
  200. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/utils/system.py +0 -0
  201. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/wholefile.yml +0 -0
  202. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/prompts/wholefile_func.yml +0 -0
  203. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  204. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  205. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  206. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  207. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  208. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  209. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  210. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  211. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  212. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  213. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  214. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  215. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  216. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  217. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  218. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  219. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  220. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  221. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  222. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  223. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  224. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  225. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  226. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  227. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  228. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  229. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  230. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  231. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  232. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  233. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  234. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/README.md +0 -0
  235. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  236. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  237. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  238. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  239. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  240. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  241. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  242. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  243. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  244. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  245. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  246. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  247. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  248. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  249. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  250. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  251. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  252. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  253. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  254. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  255. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  256. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  257. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  258. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  259. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  260. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  261. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/reasoning_tags.py +0 -0
  262. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/repo.py +0 -0
  263. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/repomap.py +0 -0
  264. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/report.py +0 -0
  265. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/resources/__init__.py +0 -0
  266. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/resources/model-metadata.json +0 -0
  267. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/resources/model-settings.yml +0 -0
  268. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/run_cmd.py +0 -0
  269. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/scrape.py +0 -0
  270. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/sendchat.py +0 -0
  271. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/sessions.py +0 -0
  272. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/special.py +0 -0
  273. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/__init__.py +0 -0
  274. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/command.py +0 -0
  275. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/command_interactive.py +0 -0
  276. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/context_manager.py +0 -0
  277. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/delete_block.py +0 -0
  278. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/delete_line.py +0 -0
  279. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/delete_lines.py +0 -0
  280. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/extract_lines.py +0 -0
  281. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/finished.py +0 -0
  282. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/git_branch.py +0 -0
  283. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/git_diff.py +0 -0
  284. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/git_log.py +0 -0
  285. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/git_remote.py +0 -0
  286. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/git_show.py +0 -0
  287. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/git_status.py +0 -0
  288. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/grep.py +0 -0
  289. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/indent_lines.py +0 -0
  290. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/insert_block.py +0 -0
  291. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/list_changes.py +0 -0
  292. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/load_skill.py +0 -0
  293. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/ls.py +0 -0
  294. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/remove_skill.py +0 -0
  295. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/replace_all.py +0 -0
  296. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/replace_line.py +0 -0
  297. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/replace_lines.py +0 -0
  298. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/replace_text.py +0 -0
  299. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/show_numbered_context.py +0 -0
  300. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/thinking.py +0 -0
  301. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/undo_change.py +0 -0
  302. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/update_todo_list.py +0 -0
  303. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/utils/base_tool.py +0 -0
  304. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/utils/helpers.py +0 -0
  305. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/utils/output.py +0 -0
  306. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/utils/registry.py +0 -0
  307. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/view_files_matching.py +0 -0
  308. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tools/view_files_with_symbol.py +0 -0
  309. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/__init__.py +0 -0
  310. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/io.py +3 -3
  311. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/styles.tcss +0 -0
  312. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/widgets/__init__.py +0 -0
  313. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/widgets/completion_bar.py +0 -0
  314. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/widgets/file_list.py +0 -0
  315. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/widgets/footer.py +0 -0
  316. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/widgets/input_area.py +0 -0
  317. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/widgets/key_hints.py +0 -0
  318. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/widgets/output.py +0 -0
  319. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/widgets/status_bar.py +0 -0
  320. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/tui/worker.py +0 -0
  321. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/utils.py +0 -0
  322. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/voice.py +0 -0
  323. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/waiting.py +0 -0
  324. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/watch.py +0 -0
  325. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/watch_prompts.py +0 -0
  326. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/Gemfile +0 -0
  327. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/blame.md +0 -0
  328. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/get-started.md +0 -0
  329. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/help-tip.md +0 -0
  330. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/help.md +0 -0
  331. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/install.md +0 -0
  332. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/keys.md +0 -0
  333. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/model-warnings.md +0 -0
  334. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/multi-line.md +0 -0
  335. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/python-m-aider.md +0 -0
  336. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/recording.css +0 -0
  337. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/recording.md +0 -0
  338. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/replit-pipx.md +0 -0
  339. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_includes/works-best.md +0 -0
  340. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/_sass/custom/custom.scss +0 -0
  341. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/adv-model-settings.md +0 -0
  342. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/agent-mode.md +0 -0
  343. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/aider_conf.md +0 -0
  344. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/api-keys.md +0 -0
  345. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/dotenv.md +0 -0
  346. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/editor.md +0 -0
  347. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/mcp.md +0 -0
  348. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/model-aliases.md +0 -0
  349. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/options.md +0 -0
  350. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/reasoning.md +0 -0
  351. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config/skills.md +0 -0
  352. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/config.md +0 -0
  353. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/faq.md +0 -0
  354. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/git.md +0 -0
  355. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/index.md +0 -0
  356. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/install/codespaces.md +0 -0
  357. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/install/docker.md +0 -0
  358. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/install/optional.md +0 -0
  359. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/install/replit.md +0 -0
  360. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/install.md +0 -0
  361. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/languages.md +0 -0
  362. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  363. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/legal/privacy.md +0 -0
  364. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/anthropic.md +0 -0
  365. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/azure.md +0 -0
  366. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/bedrock.md +0 -0
  367. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/cohere.md +0 -0
  368. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/deepseek.md +0 -0
  369. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/gemini.md +0 -0
  370. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/github.md +0 -0
  371. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/groq.md +0 -0
  372. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/lm-studio.md +0 -0
  373. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/ollama.md +0 -0
  374. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/openai-compat.md +0 -0
  375. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/openai.md +0 -0
  376. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/openrouter.md +0 -0
  377. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/other.md +0 -0
  378. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/vertex.md +0 -0
  379. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/warnings.md +0 -0
  380. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms/xai.md +0 -0
  381. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/llms.md +0 -0
  382. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/more/analytics.md +0 -0
  383. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/more/edit-formats.md +0 -0
  384. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/more/infinite-output.md +0 -0
  385. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/more-info.md +0 -0
  386. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/recordings/auto-accept-architect.md +0 -0
  387. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/recordings/dont-drop-original-read-files.md +0 -0
  388. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/recordings/index.md +0 -0
  389. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/recordings/model-accepts-settings.md +0 -0
  390. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/recordings/tree-sitter-language-pack.md +0 -0
  391. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/repomap.md +0 -0
  392. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/scripting.md +0 -0
  393. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/sessions.md +0 -0
  394. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/troubleshooting/aider-not-found.md +0 -0
  395. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  396. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/troubleshooting/imports.md +0 -0
  397. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  398. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/troubleshooting/support.md +0 -0
  399. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  400. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  401. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/troubleshooting.md +0 -0
  402. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/browser.md +0 -0
  403. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/caching.md +0 -0
  404. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/commands.md +0 -0
  405. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/conventions.md +0 -0
  406. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/copypaste.md +0 -0
  407. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/images-urls.md +0 -0
  408. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/lint-test.md +0 -0
  409. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/modes.md +0 -0
  410. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/not-code.md +0 -0
  411. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/notifications.md +0 -0
  412. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/tips.md +0 -0
  413. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/tutorials.md +0 -0
  414. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/voice.md +0 -0
  415. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage/watch.md +0 -0
  416. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/docs/usage.md +0 -0
  417. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli/website/share/index.md +0 -0
  418. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli_dev.egg-info/dependency_links.txt +0 -0
  419. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli_dev.egg-info/entry_points.txt +0 -0
  420. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli_dev.egg-info/requires.txt +0 -0
  421. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/cecli_dev.egg-info/top_level.txt +0 -0
  422. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/docker/Dockerfile +0 -0
  423. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  424. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/pyproject.toml +0 -0
  425. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/requirements/common-constraints.txt +0 -0
  426. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/requirements/requirements-dev.in +0 -0
  427. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/requirements/requirements-dev.txt +0 -0
  428. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/requirements/requirements-help.in +0 -0
  429. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/requirements/requirements-help.txt +0 -0
  430. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/requirements/requirements-playwright.in +0 -0
  431. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/requirements/requirements-playwright.txt +0 -0
  432. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/requirements/requirements.in +0 -0
  433. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/requirements/tree-sitter.in +0 -0
  434. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/requirements.txt +0 -0
  435. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/30k-image.py +0 -0
  436. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/Dockerfile.jekyll +0 -0
  437. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/__init__.py +0 -0
  438. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/blame.py +0 -0
  439. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/clean_metadata.py +0 -0
  440. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/cost_analyzer.py +0 -0
  441. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/dl_icons.py +0 -0
  442. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/filter-chat-mode.js +0 -0
  443. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/generate_providers.py +0 -0
  444. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/get_contributor_list.js +0 -0
  445. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/history_prompts.py +0 -0
  446. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/homepage.py +0 -0
  447. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/issues.py +0 -0
  448. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/jekyll_build.sh +0 -0
  449. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/jekyll_run.sh +0 -0
  450. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/logo_svg.py +0 -0
  451. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/pip-compile.sh +0 -0
  452. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/recording_audio.py +0 -0
  453. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/redact-cast.py +0 -0
  454. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/rename_to_cecli.py +0 -0
  455. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/tmux_record.sh +0 -0
  456. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/tsl_pack_langs.py +0 -0
  457. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/update-blame.sh +0 -0
  458. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/update-docs.sh +0 -0
  459. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/update-history.py +0 -0
  460. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/versionbump.py +0 -0
  461. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/scripts/yank-old-versions.py +0 -0
  462. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/setup.cfg +0 -0
  463. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/shim.pyproject.toml +0 -0
  464. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/__init__.py +0 -0
  465. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/__init__.py +0 -0
  466. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_aws_credentials.py +0 -0
  467. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_coder.py +0 -0
  468. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_deprecated.py +0 -0
  469. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_editblock.py +0 -0
  470. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_editor.py +0 -0
  471. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_exceptions.py +0 -0
  472. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_find_or_blocks.py +0 -0
  473. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_history.py +0 -0
  474. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_io.py +0 -0
  475. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_linter.py +0 -0
  476. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_main.py +0 -0
  477. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_model_info_manager.py +0 -0
  478. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_models.py +0 -0
  479. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_onboarding.py +0 -0
  480. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_plugin_manager.py +0 -0
  481. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_reasoning.py +0 -0
  482. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_repo.py +0 -0
  483. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_repomap.py +0 -0
  484. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_run_cmd.py +0 -0
  485. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_sanity_check_repo.py +0 -0
  486. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_scripting.py +0 -0
  487. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_sendchat.py +0 -0
  488. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_sessions.py +0 -0
  489. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_skills.py +0 -0
  490. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_special.py +0 -0
  491. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_ssl_verification.py +0 -0
  492. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_udiff.py +0 -0
  493. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_urls.py +0 -0
  494. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_voice.py +0 -0
  495. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_watch.py +0 -0
  496. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/basic/test_wholefile.py +0 -0
  497. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/coders/test_copypaste_coder.py +0 -0
  498. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/conftest.py +0 -0
  499. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  500. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/chat-history.md +0 -0
  501. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/arduino/test.ino +0 -0
  502. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/c/test.c +0 -0
  503. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/chatito/test.chatito +0 -0
  504. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/clojure/test.clj +0 -0
  505. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  506. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/cpp/test.cpp +0 -0
  507. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/csharp/test.cs +0 -0
  508. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/d/test.d +0 -0
  509. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/dart/test.dart +0 -0
  510. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/elisp/test.el +0 -0
  511. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/elixir/test.ex +0 -0
  512. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/elm/test.elm +0 -0
  513. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/gleam/test.gleam +0 -0
  514. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/go/test.go +0 -0
  515. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/haskell/test.hs +0 -0
  516. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/hcl/test.tf +0 -0
  517. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/java/test.java +0 -0
  518. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/javascript/test.js +0 -0
  519. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/kotlin/test.kt +0 -0
  520. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/lua/test.lua +0 -0
  521. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/matlab/test.m +0 -0
  522. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/ocaml/test.ml +0 -0
  523. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  524. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/php/test.php +0 -0
  525. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/pony/test.pony +0 -0
  526. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/properties/test.properties +0 -0
  527. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/python/test.py +0 -0
  528. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/ql/test.ql +0 -0
  529. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/r/test.r +0 -0
  530. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/racket/test.rkt +0 -0
  531. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/ruby/test.rb +0 -0
  532. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/rust/test.rs +0 -0
  533. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/scala/test.scala +0 -0
  534. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/solidity/test.sol +0 -0
  535. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/swift/test.swift +0 -0
  536. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/tsx/test.tsx +0 -0
  537. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/typescript/test.ts +0 -0
  538. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/udev/test.rules +0 -0
  539. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/languages/zig/test.zig +0 -0
  540. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/sample-code-base/sample.js +0 -0
  541. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/sample-code-base/sample.py +0 -0
  542. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  543. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/watch.js +0 -0
  544. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/watch.lisp +0 -0
  545. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/watch.py +0 -0
  546. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/fixtures/watch_question.js +0 -0
  547. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/help/test_help.py +0 -0
  548. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/scrape/test_playwright_disable.py +0 -0
  549. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/scrape/test_scrape.py +0 -0
  550. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/tools/test_git_branch.py +0 -0
  551. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/tools/test_git_diff.py +0 -0
  552. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/tools/test_grep.py +0 -0
  553. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/tools/test_insert_block.py +0 -0
  554. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/tools/test_registry.py +0 -0
  555. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.8}/tests/tools/test_show_numbered_context.py +0 -0
@@ -59,3 +59,5 @@ jobs:
59
59
  - name: Run tests
60
60
  run: |
61
61
  pytest
62
+ env:
63
+ CECLI_TUI: "false"
@@ -47,3 +47,5 @@ jobs:
47
47
  - name: Run tests
48
48
  run: |
49
49
  pytest
50
+ env:
51
+ CECLI_TUI: "false"
@@ -1,4 +1,3 @@
1
-
2
1
  # Contributing to the Project
3
2
 
4
3
  We welcome contributions in the form of bug reports, feature requests,
@@ -24,30 +23,29 @@ ensure that your contributions can be integrated smoothly.
24
23
 
25
24
  ```bash
26
25
  # Clone the repository
27
- git clone https://github.com/dwash96/aider-ce.git
28
- cd aider-ce
26
+ git clone https://github.com/dwash96/cecli.git
27
+ cd cecli
29
28
 
30
29
  # Make a venv
31
30
  python3 -m venv venv
32
31
  source venv/bin/activate
33
32
 
34
- # Install UV because it's superior
33
+ # Install UV because it's superior (skip if you already have it installed globally)
35
34
  pip install uv
36
35
 
37
36
  # Build Project
38
37
  uv pip install --native-tls -e .
39
38
 
40
39
  # Add tool chain
41
- uv install --native-tls pre-commit
40
+ uv pip install --native-tls pre-commit
42
41
  pre-commit install
43
42
 
44
43
  # Run Program
45
- aider-ce
46
-
47
- # OR!
48
-
49
44
  cecli
50
45
 
46
+ # OR! (legacy)
47
+ aider-ce
48
+
51
49
  ```
52
50
 
53
51
  ### Building the Docker Image
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cecli-dev
3
- Version: 0.95.6.dev1
3
+ Version: 0.95.8
4
4
  Summary: we also can't pronounce cecli
5
5
  Project-URL: Homepage, https://github.com/dwash96/cecli
6
6
  Project-URL: Documentation, https://github.com/dwash96/cecli
@@ -99,14 +99,15 @@ LLMs are a part of our lives from here on out so join us in learning about and c
99
99
 
100
100
  ## Documentation/Other Notes:
101
101
 
102
- * [Agent Mode](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/agent-mode.md)
103
- * [MCP Configuration](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/mcp.md)
104
- * [TUI Configuration](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/tui.md)
105
- * [Skills](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/skills.md)
106
- * [Session Management](https://github.com/dwash96/cecli/blob/main/aider/website/docs/sessions.md)
102
+ * [Agent Mode](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/agent-mode.md)
103
+ * [MCP Configuration](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/mcp.md)
104
+ * [TUI Configuration](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/tui.md)
105
+ * [Skills](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/skills.md)
106
+ * [Session Management](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/sessions.md)
107
107
  * [Custom Commands](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/custom-commands.md)
108
+ * [Custom System Prompts](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/custom-system-prompts.md)
108
109
  * [Custom Tools](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/agent-mode.md#creating-custom-tools)
109
- * [Advanced Model Configuration](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/model-aliases.md#advanced-model-settings)
110
+ * [Advanced Model Configuration](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/model-aliases.md#advanced-model-settings)
110
111
  * [Aider Original Documentation (still mostly applies)](https://aider.chat/)
111
112
 
112
113
  You can see a selection of the enhancements and updates by comparing the help output:
@@ -120,20 +121,20 @@ This project can be installed using several methods:
120
121
 
121
122
  ### Package Installation
122
123
  ```bash
123
- pip install cecli.dev
124
+ pip install cecli-dev
124
125
  ```
125
126
 
126
127
  or
127
128
 
128
129
  ```bash
129
- uv pip install --native-tls cecli.dev
130
+ uv pip install --native-tls cecli-dev
130
131
  ```
131
132
 
132
133
  The package exports a `cecli` command that accepts all of Aider's configuration options
133
134
 
134
135
  ### Tool Installation
135
136
  ```bash
136
- uv tool install --native-tls --python python3.12 cecli.dev
137
+ uv tool install --native-tls --python python3.12 cecli-dev
137
138
  ```
138
139
 
139
140
  Use the tool installation so aider doesn't interfere with your development environment
@@ -183,7 +184,15 @@ DEEPSEEK_API_KEY="..."
183
184
 
184
185
  ### Run Program
185
186
 
186
- If you are in the directory with your .aider.conf.yml file, then simply running `cecli` or `aider-ce` will start the agent with your configuration. If you want additional sandboxing, we publish a docker container that can be ran as follows:
187
+ If you are in the directory with your .aider.conf.yml file, then simply running `cecli` or `aider-ce` will start the agent with your configuration. For best results, since terminal emulators can be finicky, we highly suggest running:
188
+
189
+ ```bash
190
+ cecli --terminal-setup
191
+ ```
192
+
193
+ On first run to configure keybindings for the program (notably `shift+enter`). Support for terminals is ongoing so feel free to make a github issue or chat in the discord for us to figure out what's needed to support automatically setting up a given terminal.
194
+
195
+ If you want additional sandboxing, we publish a docker container that can be ran as follows:
187
196
 
188
197
  ```bash
189
198
  docker pull dustinwashington/aider-ce
@@ -16,14 +16,15 @@ LLMs are a part of our lives from here on out so join us in learning about and c
16
16
 
17
17
  ## Documentation/Other Notes:
18
18
 
19
- * [Agent Mode](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/agent-mode.md)
20
- * [MCP Configuration](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/mcp.md)
21
- * [TUI Configuration](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/tui.md)
22
- * [Skills](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/skills.md)
23
- * [Session Management](https://github.com/dwash96/cecli/blob/main/aider/website/docs/sessions.md)
19
+ * [Agent Mode](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/agent-mode.md)
20
+ * [MCP Configuration](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/mcp.md)
21
+ * [TUI Configuration](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/tui.md)
22
+ * [Skills](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/skills.md)
23
+ * [Session Management](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/sessions.md)
24
24
  * [Custom Commands](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/custom-commands.md)
25
+ * [Custom System Prompts](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/custom-system-prompts.md)
25
26
  * [Custom Tools](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/agent-mode.md#creating-custom-tools)
26
- * [Advanced Model Configuration](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/model-aliases.md#advanced-model-settings)
27
+ * [Advanced Model Configuration](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/model-aliases.md#advanced-model-settings)
27
28
  * [Aider Original Documentation (still mostly applies)](https://aider.chat/)
28
29
 
29
30
  You can see a selection of the enhancements and updates by comparing the help output:
@@ -37,20 +38,20 @@ This project can be installed using several methods:
37
38
 
38
39
  ### Package Installation
39
40
  ```bash
40
- pip install cecli.dev
41
+ pip install cecli-dev
41
42
  ```
42
43
 
43
44
  or
44
45
 
45
46
  ```bash
46
- uv pip install --native-tls cecli.dev
47
+ uv pip install --native-tls cecli-dev
47
48
  ```
48
49
 
49
50
  The package exports a `cecli` command that accepts all of Aider's configuration options
50
51
 
51
52
  ### Tool Installation
52
53
  ```bash
53
- uv tool install --native-tls --python python3.12 cecli.dev
54
+ uv tool install --native-tls --python python3.12 cecli-dev
54
55
  ```
55
56
 
56
57
  Use the tool installation so aider doesn't interfere with your development environment
@@ -100,7 +101,15 @@ DEEPSEEK_API_KEY="..."
100
101
 
101
102
  ### Run Program
102
103
 
103
- If you are in the directory with your .aider.conf.yml file, then simply running `cecli` or `aider-ce` will start the agent with your configuration. If you want additional sandboxing, we publish a docker container that can be ran as follows:
104
+ If you are in the directory with your .aider.conf.yml file, then simply running `cecli` or `aider-ce` will start the agent with your configuration. For best results, since terminal emulators can be finicky, we highly suggest running:
105
+
106
+ ```bash
107
+ cecli --terminal-setup
108
+ ```
109
+
110
+ On first run to configure keybindings for the program (notably `shift+enter`). Support for terminals is ongoing so feel free to make a github issue or chat in the discord for us to figure out what's needed to support automatically setting up a given terminal.
111
+
112
+ If you want additional sandboxing, we publish a docker container that can be ran as follows:
104
113
 
105
114
  ```bash
106
115
  docker pull dustinwashington/aider-ce
@@ -463,4 +472,4 @@ The current priorities are to improve core capabilities and user experience of t
463
472
  <td></td>
464
473
  </tr>
465
474
  </tbody>
466
- </table>
475
+ </table>
@@ -1,6 +1,6 @@
1
1
  from packaging import version
2
2
 
3
- __version__ = "0.93.0.dev"
3
+ __version__ = "0.95.8.dev"
4
4
  safe_version = __version__
5
5
 
6
6
  try:
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.95.6.dev1'
32
- __version_tuple__ = version_tuple = (0, 95, 6, 'dev1')
31
+ __version__ = version = '0.95.8'
32
+ __version_tuple__ = version_tuple = (0, 95, 8)
33
33
 
34
- __commit_id__ = commit_id = 'gb8df37217'
34
+ __commit_id__ = commit_id = 'g930eeb2cb'
@@ -242,13 +242,34 @@ def get_parser(default_config_files, git_root):
242
242
  ),
243
243
  )
244
244
 
245
+ #######
246
+ group = parser.add_argument_group("Customization Settings")
247
+ group.add_argument(
248
+ "--custom",
249
+ metavar="CUSTOM_JSON",
250
+ help=(
251
+ "Specify cecli customizations configurations (for prompts, commands, etc.) as a JSON"
252
+ " string"
253
+ ),
254
+ default=None,
255
+ )
245
256
  ########
246
257
  group = parser.add_argument_group("TUI Settings")
258
+
259
+ env_val = os.environ.get("CECLI_TUI")
260
+
261
+ if env_val is not None and env_val.lower() == "false":
262
+ tui_default = False
263
+ linear_output_default = True
264
+ else:
265
+ tui_default = None
266
+ linear_output_default = None
267
+
247
268
  group.add_argument(
248
269
  "--tui",
249
270
  action=argparse.BooleanOptionalAction,
250
- default=None,
251
- help="Launch Textual TUI interface (experimental)",
271
+ default=tui_default,
272
+ help="Launch Textual TUI interface",
252
273
  )
253
274
  group.add_argument(
254
275
  "--tui-config",
@@ -435,6 +456,17 @@ def get_parser(default_config_files, git_root):
435
456
  default=False,
436
457
  help="Restore the previous chat history messages (default: False)",
437
458
  )
459
+ #########
460
+ group = parser.add_argument_group("Input settings")
461
+ group.add_argument(
462
+ "--terminal-setup",
463
+ action=argparse.BooleanOptionalAction,
464
+ default=False,
465
+ help=(
466
+ "Auto-configure terminal emulator for shift+enter support for new lines (default:"
467
+ " False)"
468
+ ),
469
+ )
438
470
  ##########
439
471
  group = parser.add_argument_group("Output settings")
440
472
  group.add_argument(
@@ -803,8 +835,8 @@ def get_parser(default_config_files, git_root):
803
835
  group.add_argument(
804
836
  "--linear-output",
805
837
  action=argparse.BooleanOptionalAction,
806
- help="Run input and output sequentially instead of us simultaneous streams (default: True)",
807
- default=True,
838
+ help="Run input and output sequentially instead of us simultaneous streams (default: None)",
839
+ default=linear_output_default,
808
840
  )
809
841
  group.add_argument(
810
842
  "--debug",
@@ -975,12 +1007,6 @@ def get_parser(default_config_files, git_root):
975
1007
  " specified, a default command for your OS may be used."
976
1008
  ),
977
1009
  )
978
- group.add_argument(
979
- "--command-paths",
980
- help="JSON array of paths to custom commands files",
981
- action="append",
982
- default=None,
983
- )
984
1010
  group.add_argument(
985
1011
  "--command-prefix",
986
1012
  default=None,
@@ -16,6 +16,7 @@ from litellm import experimental_mcp_client
16
16
 
17
17
  from cecli import urls, utils
18
18
  from cecli.change_tracker import ChangeTracker
19
+ from cecli.helpers import nested
19
20
  from cecli.helpers.similarity import (
20
21
  cosine_similarity,
21
22
  create_bigram_vector,
@@ -105,50 +106,61 @@ class AgentCoder(Coder):
105
106
  self.io.tool_warning(f"Failed to parse agent-config JSON: {e}")
106
107
  return {}
107
108
 
108
- if "large_file_token_threshold" not in config:
109
- config["large_file_token_threshold"] = 25000
110
-
111
- if "tools_paths" not in config:
112
- config["tools_paths"] = []
113
- if "tools_includelist" not in config:
114
- config["tools_includelist"] = []
115
- if "tools_excludelist" not in config:
116
- config["tools_excludelist"] = []
109
+ config["large_file_token_threshold"] = nested.getter(
110
+ config, "large_file_token_threshold", 25000
111
+ )
112
+ config["skip_cli_confirmations"] = nested.getter(
113
+ config, "skip_cli_confirmations", nested.getter(config, "yolo", [])
114
+ )
117
115
 
118
- if "include_context_blocks" in config:
119
- self.allowed_context_blocks = set(config["include_context_blocks"])
120
- else:
121
- self.allowed_context_blocks = {
122
- "context_summary",
123
- "directory_structure",
124
- "environment_info",
125
- "git_status",
126
- "symbol_outline",
127
- "todo_list",
128
- "skills",
129
- }
116
+ config["tools_paths"] = nested.getter(config, "tools_paths", [])
117
+ config["tools_includelist"] = nested.getter(
118
+ config, ["tools_includelist", "tools_whitelist"], []
119
+ )
120
+ config["tools_excludelist"] = nested.getter(
121
+ config, ["tools_excludelist", "tools_blacklist"], []
122
+ )
130
123
 
131
- if "exclude_context_blocks" in config:
132
- for context_block in config["exclude_context_blocks"]:
133
- try:
134
- self.allowed_context_blocks.remove(context_block)
135
- except KeyError:
136
- pass
124
+ config["include_context_blocks"] = set(
125
+ nested.getter(
126
+ config,
127
+ "include_context_blocks",
128
+ {
129
+ "context_summary",
130
+ "directory_structure",
131
+ "environment_info",
132
+ "git_status",
133
+ "symbol_outline",
134
+ "todo_list",
135
+ "skills",
136
+ },
137
+ )
138
+ )
139
+ config["exclude_context_blocks"] = set(nested.getter(config, "exclude_context_blocks", []))
137
140
 
138
141
  self.large_file_token_threshold = config["large_file_token_threshold"]
139
- self.skip_cli_confirmations = config.get(
140
- "skip_cli_confirmations", config.get("yolo", False)
141
- )
142
+ self.skip_cli_confirmations = config["skip_cli_confirmations"]
143
+
144
+ self.allowed_context_blocks = config["include_context_blocks"]
145
+
146
+ for context_block in config["exclude_context_blocks"]:
147
+ try:
148
+ self.allowed_context_blocks.remove(context_block)
149
+ except KeyError:
150
+ pass
142
151
 
143
152
  if "skills" in self.allowed_context_blocks:
144
- if "skills_paths" not in config:
145
- config["skills_paths"] = []
146
- if "skills_includelist" not in config:
147
- config["skills_includelist"] = []
148
- if "skills_excludelist" not in config:
149
- config["skills_excludelist"] = []
150
-
151
- if "skills" not in self.allowed_context_blocks or not config.get("skills_paths", []):
153
+ config["skills_paths"] = nested.getter(config, "skills_paths", [])
154
+ config["skills_includelist"] = nested.getter(
155
+ config, ["skills_includelist", "skills_whitelist"], []
156
+ )
157
+ config["skills_excludelist"] = nested.getter(
158
+ config, ["skills_excludelist", "skills_blacklist"], []
159
+ )
160
+
161
+ if "skills" not in self.allowed_context_blocks or not nested.getter(
162
+ config, "skills_paths", []
163
+ ):
152
164
  config["tools_excludelist"].append("loadskill")
153
165
  config["tools_excludelist"].append("removeskill")
154
166
 
@@ -38,7 +38,7 @@ import cecli.prompts.utils.system as prompts
38
38
  from cecli import __version__, models, urls, utils
39
39
  from cecli.commands import Commands, SwitchCoderSignal
40
40
  from cecli.exceptions import LiteLLMExceptions
41
- from cecli.helpers import coroutines
41
+ from cecli.helpers import coroutines, nested
42
42
  from cecli.helpers.profiler import TokenProfiler
43
43
  from cecli.history import ChatSummary
44
44
  from cecli.io import ConfirmGroup, InputOutput
@@ -61,7 +61,7 @@ from cecli.tools.utils.registry import ToolRegistry
61
61
  from cecli.utils import format_tokens, is_image_file
62
62
 
63
63
  from ..dump import dump # noqa: F401
64
- from ..prompts.utils.prompt_registry import registry
64
+ from ..prompts.utils.registry import PromptObject, PromptRegistry
65
65
  from .chat_chunks import ChatChunks
66
66
 
67
67
 
@@ -564,6 +564,29 @@ class Coder:
564
564
  except Exception as e:
565
565
  self.io.tool_warning(f"Could not remove todo list file {todo_file_path}: {e}")
566
566
 
567
+ customizations = dict()
568
+ try:
569
+ if self.args:
570
+ customizations = nested.getter(self.args, "custom", "{}")
571
+ customizations = json.loads(customizations)
572
+ except (json.JSONDecodeError, TypeError):
573
+ customizations = dict()
574
+ pass
575
+
576
+ self.custom = customizations
577
+
578
+ if nested.getter(self.custom, "prompt_map.all", None):
579
+ prompts = PromptRegistry.get_prompt(nested.getter(self.custom, "prompt_map.all"))
580
+ prompt_obj = PromptObject(prompts)
581
+ Coder._prompt_cache[self.prompt_format] = prompt_obj
582
+
583
+ if nested.getter(self.custom, f"prompt_map.{self.prompt_format}", None):
584
+ prompts = PromptRegistry.get_prompt(
585
+ nested.getter(self.custom, f"prompt_map.{self.prompt_format}")
586
+ )
587
+ prompt_obj = PromptObject(prompts)
588
+ Coder._prompt_cache[self.prompt_format] = prompt_obj
589
+
567
590
  # validate the functions jsonschema
568
591
  if self.functions:
569
592
  from jsonschema import Draft7Validator
@@ -600,14 +623,7 @@ class Coder:
600
623
  return Coder._prompt_cache[prompt_name]
601
624
 
602
625
  # Get prompts from registry
603
- prompts = registry.get_prompt(prompt_name)
604
-
605
- # Create a simple object that allows attribute access
606
- class PromptObject:
607
- def __init__(self, prompts_dict):
608
- for key, value in prompts_dict.items():
609
- setattr(self, key, value)
610
-
626
+ prompts = PromptRegistry.get_prompt(prompt_name)
611
627
  # Cache the prompt object
612
628
  prompt_obj = PromptObject(prompts)
613
629
  Coder._prompt_cache[prompt_name] = prompt_obj
@@ -51,6 +51,7 @@ from .run import RunCommand
51
51
  from .save import SaveCommand
52
52
  from .save_session import SaveSessionCommand
53
53
  from .settings import SettingsCommand
54
+ from .terminal_setup import TerminalSetupCommand
54
55
  from .test import TestCommand
55
56
  from .think_tokens import ThinkTokensCommand
56
57
  from .tokens import TokensCommand
@@ -123,6 +124,7 @@ CommandRegistry.register(CopyContextCommand)
123
124
  CommandRegistry.register(CommandPrefixCommand)
124
125
  CommandRegistry.register(LoadSkillCommand)
125
126
  CommandRegistry.register(RemoveSkillCommand)
127
+ CommandRegistry.register(TerminalSetupCommand)
126
128
 
127
129
 
128
130
  __all__ = [
@@ -187,6 +189,7 @@ __all__ = [
187
189
  "CommandPrefixCommand",
188
190
  "LoadSkillCommand",
189
191
  "RemoveSkillCommand",
192
+ "TerminalSetupCommand",
190
193
  "SwitchCoderSignal",
191
194
  "Commands",
192
195
  ]
@@ -5,7 +5,7 @@ import sys
5
5
  from pathlib import Path
6
6
 
7
7
  from cecli.commands.utils.registry import CommandRegistry
8
- from cecli.helpers import plugin_manager
8
+ from cecli.helpers import nested, plugin_manager
9
9
  from cecli.helpers.file_searcher import handle_core_files
10
10
  from cecli.repo import ANY_GIT_ERROR
11
11
 
@@ -80,13 +80,16 @@ class Commands:
80
80
  self.editor = editor
81
81
  self.original_read_only_fnames = set(original_read_only_fnames or [])
82
82
 
83
+ customizations = dict()
83
84
  try:
84
- self.custom_commands = json.loads(getattr(self.args, "command_paths", "[]"))
85
- except (json.JSONDecodeError, TypeError) as e:
86
- self.io.tool_warning(f"Failed to parse command paths JSON: {e}")
87
- self.custom_commands = []
88
-
89
- # Load custom commands from plugin paths
85
+ if self.args:
86
+ customizations = nested.getter(self.args, "custom", "{}")
87
+ customizations = json.loads(customizations)
88
+ except (json.JSONDecodeError, TypeError):
89
+ customizations = dict()
90
+ pass
91
+
92
+ self.custom_commands = nested.getter(customizations, "command-paths", [])
90
93
  self._load_custom_commands(self.custom_commands)
91
94
 
92
95
  self.cmd_running_event = asyncio.Event()