tunacode-cli 0.0.69__tar.gz → 0.0.70__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.
Potentially problematic release.
This version of tunacode-cli might be problematic. Click here for more details.
- tunacode_cli-0.0.70/.claude/settings.local.json +122 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/CHANGELOG.md +26 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/PKG-INFO +1 -1
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/pyproject.toml +2 -2
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/constants.py +1 -1
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/config_setup.py +4 -0
- tunacode_cli-0.0.69/.claude/settings.local.json +0 -131
- tunacode_cli-0.0.69/SEARCH_ENHANCEMENT_PLAN.md +0 -287
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/MEMORY_ANCHOR_SPEC.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/NEXT_PR_RULES.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/README.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/bug-context-analyzer.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/code-synthesis-analyzer.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/documentation-synthesis-qa.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/expert-debugger.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/phased-task-processor.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/prompt-engineer.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/rapid-code-synthesis-qa.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/agents/tech-docs-maintainer.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/anchors.json +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/commands/deploy.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/commands/github-issue.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/commands/smells.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/commands/work.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/commands/workflow.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/delta/2025-01-05-baseline.yml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/delta/fix-text-alignment-layout-task3.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/delta/task4_ui_formatting_fix.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/delta/v0.0.53_to_v0.0.54.diff +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/always-on-display-implementation.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/cli-json-recovery-incident.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/directory-caching-optimization.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/esc-investigation/ESC_KEY_INVESTIGATION.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/esc-investigation/ESC_KEY_STREAMING_ANALYSIS.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/hatch-commands.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/model-updates-2025.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/onboarding-improvements.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/phase5-prompt-injection-system.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/slash-commands.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/uv-hatch-setup.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/uv-installer-updates.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/metadata/components.yml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/metadata/hotspots.txt +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/patterns/json_retry_implementation.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/qa/fix-agent-errors.yml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/qa/fix-publish-script.yml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/qa/fix-runtime-warnings.yml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/README.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/active/task_json_retry_implementation_summary_2025-07-24_13-05-40.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/active/task_standardize_ui_formatting_patterns_2025-07-23_20-43-28.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/agents/default/spinner-enhancement-2025-08-07.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/agents/esc-investigation/scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/agents/phase5-recovery/scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/agents/tech-docs-maintainer/scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/code-synthesis-analyzer_ESC_Double-Press_REPL_Abort_Analysis_2025-08-06_134859_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Add_Prompt_Injection_to_Remaining_Tools_-_Continuation_2025-08-13_152542_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Add_Prompt_Injection_to_Remaining_Tools_2025-08-13_152352_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124206_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124727_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Completely_remove_TUNACODE_TASK_COMPLETE_from_plan_mode_2025-08-09_091836_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Debug_ESC_key_still_not_working_in_approval_prompt_2025-08-09_033534_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Debug_persistent_KeyboardInterrupt_in_event_loop_2025-08-09_034136_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Debug_present_plan_tool_registration_and_model_capability_2025-08-09_092923_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Debug_stuck_double_escape_in_plan_approval_2025-08-09_033214_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_Application.exit()_failed_error_in_ESC_keybinding_2025-08-09_075607_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_ESC_double-tap_and_plan_display_issues_2025-08-09_090055_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_ESC_exceptions_and_missing_present_plan_tool_2025-08-09_081700_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_agent_not_calling_present_plan_tool_2025-08-09_090827_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_double_escape_for_planning_mode_approval_prompt_2025-08-09_032759_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_unhandled_KeyboardInterrupt_exception_in_event_loop_2025-08-09_033843_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fix_wizard_UI_-_branch_safety_interference_2025-08-20_222738_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Fixed_Thinking_dots_animation_2025-08-11_121009_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Force_agent_to_actually_call_present_plan_tool_2025-08-09_091334_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_GitHub_Directory_Review_2025-08-11_122451_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Implementing_ESC_key_double-press_for_REPL_abort_2025-08-06_124754_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_JSON_Recovery_Implementation_2025-08-12_130251_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Makefile_to_Hatch_Migration_2025-08-07_192356_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Performance_Optimization_-_Agent_Initialization_2025-08-13_160447_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Phase_3_-_Glob_Tool_Optimization_2025-08-13_142601_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Replace_entire_system_prompt_with_tool-only_instructions_2025-08-09_112839_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_TunaCode_Search_Enhancement_Implementation_2025-08-13_140905_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Update_Documentation_for_JSON_Recovery_System_2025-08-12_131127_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_Update_documentation_for_always-on_display_UX_improvements_2025-08-12_154818_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/default_slash_command_system_implementation_2025-08-14_034024_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/archived/phase5-recovery_Phase_5_Recovery_Analysis_2025-08-13_145339_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/locks/code-synthesis-analyzer.lock +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/locks/default.lock +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/locks/esc-investigation.lock +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/locks/phase5-recovery.lock +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/locks/tech-docs-maintainer.lock +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/code-synthesis-analyzer_ESC_Double-Press_REPL_Abort_Analysis_2025-08-06_134859_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Add_Prompt_Injection_to_Remaining_Tools_-_Continuation_2025-08-13_152542_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Add_Prompt_Injection_to_Remaining_Tools_2025-08-13_152352_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124206_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124727_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Completely_remove_TUNACODE_TASK_COMPLETE_from_plan_mode_2025-08-09_091836_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Debug_ESC_key_still_not_working_in_approval_prompt_2025-08-09_033534_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Debug_persistent_KeyboardInterrupt_in_event_loop_2025-08-09_034136_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Debug_present_plan_tool_registration_and_model_capability_2025-08-09_092923_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Debug_stuck_double_escape_in_plan_approval_2025-08-09_033214_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_Application.exit()_failed_error_in_ESC_keybinding_2025-08-09_075607_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_ESC_double-tap_and_plan_display_issues_2025-08-09_090055_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_ESC_exceptions_and_missing_present_plan_tool_2025-08-09_081700_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_agent_not_calling_present_plan_tool_2025-08-09_090827_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_double_escape_for_planning_mode_approval_prompt_2025-08-09_032759_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_unhandled_KeyboardInterrupt_exception_in_event_loop_2025-08-09_033843_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fix_wizard_UI_-_branch_safety_interference_2025-08-20_222738_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Fixed_Thinking_dots_animation_2025-08-11_121009_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Force_agent_to_actually_call_present_plan_tool_2025-08-09_091334_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_GitHub_Directory_Review_2025-08-11_122451_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Implementing_ESC_key_double-press_for_REPL_abort_2025-08-06_124754_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_JSON_Recovery_Implementation_2025-08-12_130251_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Makefile_to_Hatch_Migration_2025-08-07_192356_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Performance_Optimization_-_Agent_Initialization_2025-08-13_160447_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Phase_3_-_Glob_Tool_Optimization_2025-08-13_142601_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Replace_entire_system_prompt_with_tool-only_instructions_2025-08-09_112839_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_TunaCode_Search_Enhancement_Implementation_2025-08-13_140905_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Update_Documentation_for_JSON_Recovery_System_2025-08-12_131127_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/default_Update_documentation_for_always-on_display_UX_improvements_2025-08-12_154818_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/scratchpad/shared/done_tasks/phase5-recovery_Phase_5_Recovery_Analysis_2025-08-13_145339_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/tech-docs-maintainer.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/test_suite_issues_resolved.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.env.example +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.github/pull_request_template.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.github/scripts/check_file_size.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.github/workflows/lint.yml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.gitignore +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.pre-commit-config.yaml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/CLAUDE.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/config.json +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/docs/prd.txt +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/state.json +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/task_001.txt +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/task_002.txt +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/task_003.txt +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/task_004.txt +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/task_005.txt +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/task_006.txt +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/tasks/tasks.json +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.taskmaster/templates/example_prd.txt +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/CLAUDE.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/LICENSE +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/MANIFEST.in +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/README.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/TUNACODE.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/assets/tunacode_example.png +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/README.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/agent/TOOLS_WORKFLOW.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/agent/agent-inspo.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/agent/how-tunacode-agent-works.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/agent/main-agent-architecture.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/agent/swepmini-example.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/configuration/config-file-example.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/configuration/logging-configuration.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/development/codebase-hygiene.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/development/command-system-architecture.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/development/creating-custom-commands.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/development/hatch-build-system.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/development/performance-optimizations.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/development/prompt-principles.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/ui/ui-architecture.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/user/commands.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/user/getting-started.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/documentation/user/tools.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/example.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/activeContext.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/claude.lock +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/default.lock +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/main.lock +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/task-15.lock +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/task17.lock +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/tunacode.lock +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/locks/workflow.lock +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/memory-bank.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/productContext.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/progress.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/projectbrief.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/claude_Task_18:_Create_comprehensive_test_suite_for_multi-turn_retry_bug_fix_2025-07-29_153844_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_11:_Create_template_directory_structure_for_TunaCode_2025-08-02_132101_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_11:_Update_setup_dev_env.sh_script_-_COMPLETED_2025-07-29_111547_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_12:_Create_Template_dataclass_and_TemplateLoader_class_2025-08-02_132215_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_12:_pyproject.toml_updates_2025-07-29_112303_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_13:_Add_active_template_property_to_ToolHandler_2025-08-02_132326_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_14:_Create_TemplateCommand_class_with_subcommands_2025-08-02_132621_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Task_15:_Create_example_JSON_templates_2025-08-02_132813_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/default_Tasks_11-13:_Setup_robustness_and_documentation_2025-07-29_113044_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/main_Task_16:_Error_synthesis_system_implementation_complete_2025-07-29_150745_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/task-15_Task_15:_Implement_retry_limit_mechanism_2025-07-29_145737_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/task17_Task_17:_Fix_message_history_cleanup_in_patch_tool_messages()_2025-07-29_152006_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/tunacode_Task_14_Completed:_Defensive_Type_Checking_in__attempt_tool_recovery()_2025-07-29_144542_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/shared/done_tasks/workflow_Task_6:_Implement_Multi-Turn_Recursive_Loop_for_Complex_Task_Decomposition_2025-07-23_213518_scratchpad.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/systemPatterns.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/memory-bank/techContext.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/pytest.ini +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/check-file-length.sh +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/download_ripgrep.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/install_linux.sh +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/playwright_cache.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/publish_to_pip.sh +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/setup_dev_env.sh +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/startup_timer.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/uninstall.sh +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/utils/vulture_whitelist.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/scripts/verify_dev_env.sh +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/setup.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/README.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/base.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/command_reload.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/conversation.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/debug.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/development.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/model.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/plan.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/quickstart.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/system.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/template.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/implementations/todo.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/registry.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/slash/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/slash/command.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/slash/loader.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/slash/processor.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/slash/types.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/slash/validator.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/commands/template_shortcut.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/main.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/repl.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/repl_components/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/repl_components/command_parser.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/repl_components/error_recovery.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/repl_components/output_display.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/cli/repl_components/tool_executor.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/configuration/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/configuration/defaults.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/configuration/models.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/configuration/settings.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/context.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/agent_config.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/agent_helpers.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/json_tool_parser.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/message_handler.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/node_processor.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/response_state.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/result_wrapper.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/task_completion.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/tool_buffer.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/tool_executor.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/agent_components/truncation_checker.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/main.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/agents/utils.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/background/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/background/manager.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/code_index.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/llm/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/logging/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/logging/config.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/logging/formatters.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/logging/handlers.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/logging/logger.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/agent_setup.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/base.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/coordinator.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/environment_setup.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/git_safety_setup.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/setup/template_setup.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/state.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/token_usage/api_response_parser.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/token_usage/cost_calculator.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/token_usage/usage_tracker.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/core/tool_handler.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/exceptions.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/prompts/system.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/prompts/system.md.bak +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/py.typed +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/services/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/services/mcp.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/setup.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/templates/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/templates/loader.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/base.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/bash.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/exit_plan_mode.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/glob.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/grep.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/grep_components/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/grep_components/file_filter.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/grep_components/pattern_matcher.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/grep_components/result_formatter.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/grep_components/search_result.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/list_dir.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/present_plan.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/bash_prompt.xml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/exit_plan_mode_prompt.xml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/glob_prompt.xml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/grep_prompt.xml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/list_dir_prompt.xml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/present_plan_prompt.xml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/read_file_prompt.xml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/run_command_prompt.xml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/todo_prompt.xml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/update_file_prompt.xml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/prompts/write_file_prompt.xml +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/read_file.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/run_command.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/schema_assembler.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/todo.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/update_file.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/write_file.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tools/xml_helper.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tutorial/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tutorial/content.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tutorial/manager.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/tutorial/steps.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/types.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/completers.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/console.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/constants.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/decorators.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/input.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/keybindings.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/lexers.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/logging_compat.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/output.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/panels.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/prompt_manager.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/tool_descriptions.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/tool_ui.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/utils.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/ui/validators.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/bm25.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/diff_utils.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/file_utils.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/import_cache.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/json_utils.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/message_utils.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/retry.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/ripgrep.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/security.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/system.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/text_utils.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/token_counter.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/src/tunacode/utils/user_configuration.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/CHARACTERIZATION_README.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/CHARACTERIZATION_TEST_PLAN.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/CHARACTERIZATION_TEST_PLAN_AGENT_MAIN.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/CHARACTERIZATION_TEST_PLAN_COMMANDS.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/FILE_OPERATIONS_TEST_GUIDE.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/conftest.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/test_agent_creation.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/test_json_tool_parsing.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/test_process_node.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/test_process_request.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/agent/test_tool_message_patching.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/background/test_background_edge_cases.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/background/test_cleanup.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/background/test_task_cancellation.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/background/test_task_creation.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/background/test_task_execution.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/code_index/test_cache_management.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/code_index/test_file_scanning.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/code_index/test_index_building.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/code_index/test_search_operations.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/code_index/test_symbol_extraction.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/commands/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/commands/test_init_command.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/conftest.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/context/README.md +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/context/__init__.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/context/test_context_acceptance.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/context/test_context_integration.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/context/test_context_loading.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/context/test_tunacode_logging.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_command_parsing.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_error_handling.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_escape_key_behavior.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_input_handling.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_keyboard_interrupts.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_multiline_input.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_output_display_logic.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_repl_initialization.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/repl/test_session_flow.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/services/test_error_recovery.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/services/test_llm_routing.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/services/test_mcp_integration.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/services/test_service_lifecycle.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/state/test_agent_tracking.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/state/test_message_history.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/state/test_permissions.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/state/test_session_management.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/state/test_state_initialization.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/state/test_user_config.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/test_characterization_commands.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/test_characterization_grep.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/test_characterization_main.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/test_characterization_repl.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/ui/test_async_ui.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/ui/test_console_output.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/ui/test_diff_display.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/ui/test_prompt_rendering.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/ui/test_spinner_messages.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/ui/test_tool_confirmations.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/utils/test_expand_file_refs.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/utils/test_file_operations.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/utils/test_git_commands.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/utils/test_token_counting.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/characterization/utils/test_utils_edge_cases.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/conftest.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_agent_output_formatting.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_command_parser_retry.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_completion_detection.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_glob_phase3.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_json_concatenation_recovery.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_json_retry.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_logging_config.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_onboarding_features.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_phase2_type_hints.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_plan_mode.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_prompt_changes_validation.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_prompt_injection.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_security.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_slash_commands_comprehensive.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_slash_commands_functional.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_slash_commands_integration.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_slash_commands_isolated.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_spinner_updates.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/test_tool_batching_retry.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tests/unit/test_constants_enums.py +0 -0
- {tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/tools/emoji_cleaner.py +0 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(grep:*)",
|
|
5
|
+
"Bash(python test:*)",
|
|
6
|
+
"Bash(python3:*)",
|
|
7
|
+
"Bash(mv:*)",
|
|
8
|
+
"Bash(source:*)",
|
|
9
|
+
"Bash(pip install:*)",
|
|
10
|
+
"Bash(tunacode:*)",
|
|
11
|
+
"Bash(make lint)",
|
|
12
|
+
"Bash(flake8)",
|
|
13
|
+
"Bash(flake8:*)",
|
|
14
|
+
"Bash(git add:*)",
|
|
15
|
+
"Bash(git commit:*)",
|
|
16
|
+
"Bash(cat:*)",
|
|
17
|
+
"Bash(gh label create:*)",
|
|
18
|
+
"Bash(find:*)",
|
|
19
|
+
"Bash(rg:*)",
|
|
20
|
+
"Bash(gh issue create:*)",
|
|
21
|
+
"Bash(python -m pytest tests/test_escape_mechanism.py -v)",
|
|
22
|
+
"Bash(python -m pytest tests/test_escape_mechanism.py::test_state_manager_has_interrupt_flag -v)",
|
|
23
|
+
"Bash(true)",
|
|
24
|
+
"Bash(ls:*)",
|
|
25
|
+
"Bash(python:*)",
|
|
26
|
+
"Bash(gh api:*)",
|
|
27
|
+
"Bash(bash:*)",
|
|
28
|
+
"Bash(git reset:*)",
|
|
29
|
+
"Bash(./scripts/publish_to_pip.sh:*)",
|
|
30
|
+
"Bash(gh pr view:*)",
|
|
31
|
+
"Bash(gh pr checkout:*)",
|
|
32
|
+
"Bash(pytest:*)",
|
|
33
|
+
"Bash(rm:*)",
|
|
34
|
+
"Bash(make test:*)",
|
|
35
|
+
"Bash(mkdir:*)",
|
|
36
|
+
"Bash(./.test_venv/bin/pip install:*)",
|
|
37
|
+
"Bash(time:*)",
|
|
38
|
+
"Bash(git checkout:*)",
|
|
39
|
+
"Bash(git for-each-ref:*)",
|
|
40
|
+
"Bash(git pull:*)",
|
|
41
|
+
"Bash(git rebase:*)",
|
|
42
|
+
"Bash(venv/bin/pytest tests/test_agent_initialization.py -v)",
|
|
43
|
+
"Bash(venv/bin/pip install -e \".[dev]\")",
|
|
44
|
+
"Bash(venv/bin/flake8:*)",
|
|
45
|
+
"Bash(sed:*)",
|
|
46
|
+
"Bash(git tag:*)",
|
|
47
|
+
"Bash(git push:*)",
|
|
48
|
+
"Bash(venv/bin/python:*)",
|
|
49
|
+
"Bash(git fetch:*)",
|
|
50
|
+
"Bash(git stash:*)",
|
|
51
|
+
"WebFetch(domain:github.com)",
|
|
52
|
+
"Bash(gh issue view:*)",
|
|
53
|
+
"Bash(PYTHONPATH=/home/tuna/tunacode/src python3 test_request_analyzer.py)",
|
|
54
|
+
"Bash(chmod:*)",
|
|
55
|
+
"Bash(./test_architect_simple.sh:*)",
|
|
56
|
+
"Bash(kill:*)",
|
|
57
|
+
"Bash(awk:*)",
|
|
58
|
+
"Bash(./agent-tools/wakeup.sh:*)",
|
|
59
|
+
"Bash(./agent-tools/scratchpad.sh:*)",
|
|
60
|
+
"Bash(./agent-tools/check_workflow.sh:*)",
|
|
61
|
+
"Bash(black:*)",
|
|
62
|
+
"Bash(isort:*)",
|
|
63
|
+
"WebFetch(domain:api.pepy.tech)",
|
|
64
|
+
"WebFetch(domain:pypi.org)",
|
|
65
|
+
"Bash(./llm-tooling/wakeup.sh:*)",
|
|
66
|
+
"Bash(tree:*)",
|
|
67
|
+
"Bash(./context.sh)",
|
|
68
|
+
"Bash(./context.sh:*)",
|
|
69
|
+
"Bash(./scratchpad-multi.sh:*)",
|
|
70
|
+
"Bash(gh issue comment:*)",
|
|
71
|
+
"Bash(gh pr list:*)",
|
|
72
|
+
"Bash(gh auth:*)",
|
|
73
|
+
"Bash(pre-commit:*)",
|
|
74
|
+
"Bash(ruff format:*)",
|
|
75
|
+
"Bash(ruff check:*)",
|
|
76
|
+
"mcp__task-master__get_task",
|
|
77
|
+
"Bash(./scratchpad.sh:*)",
|
|
78
|
+
"mcp__task-master__get_tasks",
|
|
79
|
+
"mcp__task-master__set_task_status",
|
|
80
|
+
"mcp__task-master__update_task",
|
|
81
|
+
"Bash(git remote set-url:*)",
|
|
82
|
+
"mcp__task-master__next_task",
|
|
83
|
+
"Bash(gh issue list:*)",
|
|
84
|
+
"Bash(gh issue close:*)",
|
|
85
|
+
"mcp__task-master__add_task",
|
|
86
|
+
"mcp__task-master__expand_task",
|
|
87
|
+
"mcp__task-master__update_subtask",
|
|
88
|
+
"Bash(./llm-agent-tools/scratchpad-multi.sh:*)",
|
|
89
|
+
"Bash(test:*)",
|
|
90
|
+
"Bash(gh pr create:*)",
|
|
91
|
+
"Bash(gh pr merge:*)",
|
|
92
|
+
"WebFetch(domain:docs.anthropic.com)",
|
|
93
|
+
"Bash(gh:*)",
|
|
94
|
+
"Bash(radon cc:*)",
|
|
95
|
+
"Bash(pip uninstall:*)",
|
|
96
|
+
"Bash(git log:*)",
|
|
97
|
+
"Bash(venv/bin/pytest -q tests/characterization tests/test_security.py tests/test_agent_output_formatting.py tests/test_prompt_changes_validation.py)",
|
|
98
|
+
"Bash(hatch run test:*)",
|
|
99
|
+
"Bash(git merge:*)",
|
|
100
|
+
"Bash(git branch:*)",
|
|
101
|
+
"Bash(hatch run lint:*)",
|
|
102
|
+
"Bash(venv/bin/ruff check:*)",
|
|
103
|
+
"Bash(git worktree:*)",
|
|
104
|
+
"Bash(hatch env:*)",
|
|
105
|
+
"Bash(venv/bin/hatch run test)",
|
|
106
|
+
"Bash(uv sync:*)",
|
|
107
|
+
"Bash(uv tool install:*)",
|
|
108
|
+
"Bash(uv tool:*)",
|
|
109
|
+
"Bash(command -v:*)",
|
|
110
|
+
"Bash(/dev/null)",
|
|
111
|
+
"Bash(shellcheck:*)",
|
|
112
|
+
"Bash(hatch run python:*)",
|
|
113
|
+
"Bash(hatch run tunacode:*)",
|
|
114
|
+
"Read(//home/tuna/.claude/**)",
|
|
115
|
+
"Read(//home/tuna/.claude/**)",
|
|
116
|
+
"Read(//home/tuna/.config/**)"
|
|
117
|
+
],
|
|
118
|
+
"deny": [],
|
|
119
|
+
"defaultMode": "acceptEdits"
|
|
120
|
+
},
|
|
121
|
+
"enableAllProjectMcpServers": false
|
|
122
|
+
}
|
|
@@ -5,6 +5,32 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.0.69] - 2025-08-21
|
|
9
|
+
|
|
10
|
+
### Summary
|
|
11
|
+
This release includes comprehensive command system documentation, updated model configurations, and builds upon recent community contributions including the slash command system by @Lftobs (#85) and onboarding improvements by @ryumacodes (#88).
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- Updated OpenRouter GPT model reference from `gpt-4o` to `gpt-4.1` in setup configuration
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
- Additional development documentation in `.claude/` directory
|
|
18
|
+
- Model updates documentation
|
|
19
|
+
- Slash commands documentation
|
|
20
|
+
- Onboarding improvements documentation
|
|
21
|
+
|
|
22
|
+
## [0.0.68] - 2025-08-21
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
- **Comprehensive Command System Documentation**
|
|
26
|
+
- Created `command-system-architecture.md` with technical overview of command infrastructure
|
|
27
|
+
- Created `creating-custom-commands.md` with step-by-step guide for developers
|
|
28
|
+
- Updated user documentation with slash command information
|
|
29
|
+
- Added `/command-reload` command documentation
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
- Removed broken link to non-existent `templates.md` file in documentation
|
|
33
|
+
|
|
8
34
|
## [Unreleased] - 2025-08-20
|
|
9
35
|
|
|
10
36
|
### Added
|
|
@@ -5,7 +5,7 @@ build-backend = "hatchling.build"
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tunacode-cli"
|
|
7
7
|
|
|
8
|
-
version = "0.0.
|
|
8
|
+
version = "0.0.70"
|
|
9
9
|
description = "Your agentic CLI developer."
|
|
10
10
|
keywords = ["cli", "agent", "development", "automation"]
|
|
11
11
|
readme = "README.md"
|
|
@@ -170,7 +170,7 @@ typecheck = "mypy src/"
|
|
|
170
170
|
security = "bandit -r src/ -ll"
|
|
171
171
|
|
|
172
172
|
# Version management
|
|
173
|
-
version = "0.0.
|
|
173
|
+
version = "0.0.70"
|
|
174
174
|
|
|
175
175
|
# Release workflow
|
|
176
176
|
release = [
|
|
@@ -44,6 +44,10 @@ class ConfigSetup(BaseSetup):
|
|
|
44
44
|
self.state_manager.session.device_id = system.get_device_id()
|
|
45
45
|
loaded_config = user_configuration.load_config()
|
|
46
46
|
|
|
47
|
+
# Set the loaded config to session BEFORE initializing first-time user
|
|
48
|
+
if loaded_config:
|
|
49
|
+
self.state_manager.session.user_config = loaded_config
|
|
50
|
+
|
|
47
51
|
# Initialize first-time user settings if needed
|
|
48
52
|
user_configuration.initialize_first_time_user(self.state_manager)
|
|
49
53
|
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"permissions": {
|
|
3
|
-
"allow": [
|
|
4
|
-
"Bash(git add:*)",
|
|
5
|
-
"Bash(git commit:*)",
|
|
6
|
-
"Bash(find:*)",
|
|
7
|
-
"Bash(grep:*)",
|
|
8
|
-
"Bash(cat:*)",
|
|
9
|
-
"Bash(source:*)",
|
|
10
|
-
"Bash(pip show:*)",
|
|
11
|
-
"Bash(python:*)",
|
|
12
|
-
"Bash(pip install:*)",
|
|
13
|
-
"Bash(tunacode:*)",
|
|
14
|
-
"Bash(rg:*)",
|
|
15
|
-
"Bash(rm:*)",
|
|
16
|
-
"Bash(git fetch:*)",
|
|
17
|
-
"Bash(pipx list:*)",
|
|
18
|
-
"Bash(pipx uninstall:*)",
|
|
19
|
-
"Bash(ls:*)",
|
|
20
|
-
"Bash(make:*)",
|
|
21
|
-
"Bash(gh issue close:*)",
|
|
22
|
-
"Bash(true)",
|
|
23
|
-
"Bash(gh issue create:*)",
|
|
24
|
-
"Bash(venv/bin/python:*)",
|
|
25
|
-
"Bash(gh pr view:*)",
|
|
26
|
-
"Bash(git merge:*)",
|
|
27
|
-
"WebFetch(domain:github.com)",
|
|
28
|
-
"WebFetch(domain:ai.pydantic.dev)",
|
|
29
|
-
"WebFetch(domain:til.simonwillison.net)",
|
|
30
|
-
"Bash(./scripts/publish_to_pip.sh:*)",
|
|
31
|
-
"Bash(pytest:*)",
|
|
32
|
-
"Bash(git push:*)",
|
|
33
|
-
"Bash(git checkout:*)",
|
|
34
|
-
"Bash(git tag:*)",
|
|
35
|
-
"Bash(git pull:*)",
|
|
36
|
-
"Bash(git rebase:*)",
|
|
37
|
-
"Bash(bash:*)",
|
|
38
|
-
"Bash(chmod:*)",
|
|
39
|
-
"Bash(gh pr list:*)",
|
|
40
|
-
"Bash(gh api:*)",
|
|
41
|
-
"Bash(gh issue:*)",
|
|
42
|
-
"Bash(/dev/null)",
|
|
43
|
-
"Bash(PYTHONPATH=/root/tunacode/src python -c \"import sys; print(sys.path)\")",
|
|
44
|
-
"Bash(PYTHONPATH=/root/tunacode/src python -m pytest tests/test_list_dir.py::test_list_empty_directory -v)",
|
|
45
|
-
"Bash(PYTHONPATH=/root/tunacode/src python -m pytest tests/characterization/repl/test_command_parsing.py -v)",
|
|
46
|
-
"Bash(./agent-tools/scratchpad.sh:*)",
|
|
47
|
-
"Bash(./agent-tools/wakeup.sh:*)",
|
|
48
|
-
"Bash(awk:*)",
|
|
49
|
-
"Bash(sed:*)",
|
|
50
|
-
"Bash(./agent-tools/check_workflow.sh:*)",
|
|
51
|
-
"Bash(venv/bin/pytest tests/test_parallel_tool_execution.py -xvs)",
|
|
52
|
-
"Bash(venv/bin/pytest tests/test_parallel_read_only_tools.py -xvs)",
|
|
53
|
-
"Bash(venv/bin/pytest tests/test_parallel_read_only_tools.py::test_read_only_tools_execute_in_parallel -xvs)",
|
|
54
|
-
"Bash(black:*)",
|
|
55
|
-
"Bash(./wakeup.sh:*)",
|
|
56
|
-
"Bash(./scratchpad.sh:*)",
|
|
57
|
-
"Bash(mkdir:*)",
|
|
58
|
-
"Bash(./llm-agent-tools/context.sh:*)",
|
|
59
|
-
"Bash(./llm-agent-tools/scratchpad-multi.sh:*)",
|
|
60
|
-
"Bash(repolinter lint:*)",
|
|
61
|
-
"Bash(./llm-agent-tools/knowledge.sh:*)",
|
|
62
|
-
"Bash(./llm-agent-tools/codemap.sh:*)",
|
|
63
|
-
"Bash(./llm-agent-tools/researcher.sh:*)",
|
|
64
|
-
"Bash(flake8:*)",
|
|
65
|
-
"Bash(isort:*)",
|
|
66
|
-
"Bash(gh pr checkout:*)",
|
|
67
|
-
"Bash(gh pr diff:*)",
|
|
68
|
-
"Bash(gh pr merge:*)",
|
|
69
|
-
"Bash(git branch:*)",
|
|
70
|
-
"Bash(gh pr close:*)",
|
|
71
|
-
"Bash(git remote:*)",
|
|
72
|
-
"Bash(venv/bin/black:*)",
|
|
73
|
-
"Bash(venv/bin/isort:*)",
|
|
74
|
-
"Bash(git restore:*)",
|
|
75
|
-
"Bash(ruff check:*)",
|
|
76
|
-
"Bash(./scratchpad-multi.sh:*)",
|
|
77
|
-
"Bash(ruff format:*)",
|
|
78
|
-
"Bash(venv/bin/ruff check:*)",
|
|
79
|
-
"Bash(./scripts/fix_simple_errors.sh:*)",
|
|
80
|
-
"Bash(venv/bin/ruff:*)",
|
|
81
|
-
"Bash(venv/bin/pytest --version)",
|
|
82
|
-
"Bash(git reset:*)",
|
|
83
|
-
"Bash(git gc:*)",
|
|
84
|
-
"Bash(git clean:*)",
|
|
85
|
-
"Bash(./codemap.sh)",
|
|
86
|
-
"Bash(./codemap.sh:*)",
|
|
87
|
-
"Bash(../llm-agent-tools/codemap.sh:*)",
|
|
88
|
-
"Bash(gh pr create:*)",
|
|
89
|
-
"Bash(cp:*)",
|
|
90
|
-
"Bash(gh pr comment:*)",
|
|
91
|
-
"Bash(pip3 list:*)",
|
|
92
|
-
"Bash(gh pr checks:*)",
|
|
93
|
-
"Bash(git cherry-pick:*)",
|
|
94
|
-
"Bash(gh pr push:*)",
|
|
95
|
-
"Bash(mv:*)",
|
|
96
|
-
"Bash(./run_recursive_branch.sh:*)",
|
|
97
|
-
"mcp__task-master__add_task",
|
|
98
|
-
"mcp__task-master__set_task_status",
|
|
99
|
-
"mcp__task-master__update_task",
|
|
100
|
-
"mcp__task-master__get_task",
|
|
101
|
-
"Bash(pre-commit:*)",
|
|
102
|
-
"Bash(pre-commit run:*)",
|
|
103
|
-
"Bash(vulture:*)",
|
|
104
|
-
"Bash(git stash:*)",
|
|
105
|
-
"Bash(venv/bin/unimport:*)",
|
|
106
|
-
"Bash(time venv/bin/unimport:*)",
|
|
107
|
-
"Bash(timeout:*)",
|
|
108
|
-
"Bash(/root/tunacode/llm-agent-tools/scratchpad-multi.sh:*)",
|
|
109
|
-
"Bash(PYTHONPATH=/root/tunacode/src venv/bin/python test_spinner_demo.py)",
|
|
110
|
-
"Bash(hatch run test:*)",
|
|
111
|
-
"Bash(/tmp/test_detection.sh:*)",
|
|
112
|
-
"Bash(/root/tunacode/scripts/uninstall.sh:*)",
|
|
113
|
-
"Bash(~/.local/bin/tunacode:*)",
|
|
114
|
-
"Bash(pip uninstall:*)",
|
|
115
|
-
"Bash(/root/.tunacode-venv/bin/pip list)",
|
|
116
|
-
"Bash(uv pip list:*)",
|
|
117
|
-
"Bash(uv pip install:*)",
|
|
118
|
-
"Bash(uv venv:*)",
|
|
119
|
-
"Bash(test-env/bin/tunacode:*)",
|
|
120
|
-
"Bash(hatch env remove:*)",
|
|
121
|
-
"Bash(hatch env:*)",
|
|
122
|
-
"Bash(hatch run pip:*)",
|
|
123
|
-
"Bash(./scripts/install_linux.sh:*)",
|
|
124
|
-
"Bash(hatch run pre-commit run:*)"
|
|
125
|
-
]
|
|
126
|
-
},
|
|
127
|
-
"enableAllProjectMcpServers": true,
|
|
128
|
-
"enabledMcpjsonServers": [
|
|
129
|
-
"task-master-ai"
|
|
130
|
-
]
|
|
131
|
-
}
|
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
# TunaCode Search Architecture Enhancement Plan
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
This document outlines the phased implementation plan for enhancing TunaCode's search capabilities to achieve Claude Code-level performance through ripgrep integration, parallel processing, and intelligent caching.
|
|
5
|
-
|
|
6
|
-
## Implementation Status
|
|
7
|
-
- ✅ **Phase 1**: Foundation - Ripgrep Binary Management (COMPLETED)
|
|
8
|
-
- ✅ **Phase 2**: Search Tool Core Enhancements (COMPLETED)
|
|
9
|
-
- ✅ **Phase 3**: Glob Tool Optimization (COMPLETED)
|
|
10
|
-
- ⏳ **Phase 4**: Caching Layer Enhancement (PENDING)
|
|
11
|
-
- ✅ **Phase 5**: Tool Prompt Micro-Injection System (COMPLETED)
|
|
12
|
-
- ⏳ **Phase 6**: Integration and Optimization (PENDING)
|
|
13
|
-
- ⏳ **Phase 7**: Testing and Documentation (PENDING)
|
|
14
|
-
|
|
15
|
-
## Phase 1: Foundation - Ripgrep Binary Management ✅
|
|
16
|
-
|
|
17
|
-
### 1.1 Binary Distribution Setup ✅
|
|
18
|
-
- ✅ Created `vendor/ripgrep/` directory structure
|
|
19
|
-
- ✅ Created download script (`scripts/download_ripgrep.py`) with:
|
|
20
|
-
- Platform-specific binary downloads from GitHub releases
|
|
21
|
-
- SHA256 checksum verification
|
|
22
|
-
- Support for all major platforms (Linux, macOS, Windows)
|
|
23
|
-
- CI/CD integration ready
|
|
24
|
-
|
|
25
|
-
### 1.2 Binary Path Resolution (`src/tunacode/utils/ripgrep.py`) ✅
|
|
26
|
-
- ✅ Implemented platform detection logic with `get_platform_identifier()`
|
|
27
|
-
- ✅ Created binary path resolver with fallback chain:
|
|
28
|
-
1. Environment variable override (`TUNACODE_RIPGREP_PATH`)
|
|
29
|
-
2. System ripgrep (if version >= 14.0.0)
|
|
30
|
-
3. Bundled ripgrep binary
|
|
31
|
-
4. Python-based fallback search
|
|
32
|
-
- ✅ Added `@functools.lru_cache` memoization for path resolution
|
|
33
|
-
- ✅ Implemented `RipgrepExecutor` class with comprehensive error handling
|
|
34
|
-
|
|
35
|
-
### 1.3 Configuration Management ✅
|
|
36
|
-
- ✅ Added ripgrep settings to `configuration/defaults.py`:
|
|
37
|
-
- `use_bundled`: Control bundled vs system binary
|
|
38
|
-
- `timeout`: Configurable search timeout
|
|
39
|
-
- `max_buffer_size`: 1MB output buffer limit
|
|
40
|
-
- `max_results`: Result count limit
|
|
41
|
-
- `enable_metrics`: Performance metrics toggle
|
|
42
|
-
- `debug`: Debug logging toggle
|
|
43
|
-
- ✅ Implemented `RipgrepMetrics` class for performance tracking
|
|
44
|
-
- ✅ Added binary version checking with `_check_ripgrep_version()`
|
|
45
|
-
|
|
46
|
-
## Phase 2: Search Tool Core Enhancements ✅
|
|
47
|
-
|
|
48
|
-
### 2.1 Grep Tool Resource Management (`src/tunacode/tools/grep.py`) ✅
|
|
49
|
-
- ✅ Integrated `RipgrepExecutor` with grep tool
|
|
50
|
-
- ✅ Implemented timeout management:
|
|
51
|
-
- Configurable timeout (default 10 seconds)
|
|
52
|
-
- 3-second first match deadline maintained
|
|
53
|
-
- `TooBroadPatternError` for slow patterns
|
|
54
|
-
- ✅ Added buffer limits:
|
|
55
|
-
- 1MB max buffer from configuration
|
|
56
|
-
- 100-result limit with proper handling
|
|
57
|
-
- ✅ Resource cleanup with graceful fallback to Python search
|
|
58
|
-
- ✅ Efficient result processing with early termination
|
|
59
|
-
|
|
60
|
-
### 2.2 Parallel Processing Architecture ✅
|
|
61
|
-
- ✅ ThreadPoolExecutor with 8 workers maintained
|
|
62
|
-
- ✅ Work distribution strategies preserved:
|
|
63
|
-
- Pre-filtering with fast_glob
|
|
64
|
-
- Smart strategy selection (python/ripgrep/hybrid)
|
|
65
|
-
- ✅ Result aggregation and deduplication in place
|
|
66
|
-
- ✅ First match monitoring for performance tracking
|
|
67
|
-
|
|
68
|
-
### 2.3 Context and Filtering Features ✅
|
|
69
|
-
- ✅ Context lines support:
|
|
70
|
-
- `context_before` and `context_after` parameters
|
|
71
|
-
- Context preserved in search results
|
|
72
|
-
- ✅ Enhanced `ResultFormatter` with multiple output modes:
|
|
73
|
-
- `content`: Full results with context (default)
|
|
74
|
-
- `files_with_matches`: File paths only
|
|
75
|
-
- `count`: Match counts per file
|
|
76
|
-
- `json`: Structured JSON output
|
|
77
|
-
- ✅ Regex and pattern support maintained
|
|
78
|
-
- ✅ Include/exclude patterns functional
|
|
79
|
-
|
|
80
|
-
## Phase 3: Glob Tool Optimization
|
|
81
|
-
|
|
82
|
-
### 3.1 Performance Enhancements (`src/tunacode/tools/glob.py`)
|
|
83
|
-
- Integrate with CodeIndex for pre-filtered candidates
|
|
84
|
-
- Add results sorting options:
|
|
85
|
-
- Modification time (default)
|
|
86
|
-
- File size
|
|
87
|
-
- Alphabetical
|
|
88
|
-
- Path depth
|
|
89
|
-
- Implement smart pagination for large result sets
|
|
90
|
-
|
|
91
|
-
### 3.2 Pattern Matching Improvements
|
|
92
|
-
- Add case-insensitive matching by default
|
|
93
|
-
- Support extended glob patterns:
|
|
94
|
-
- Brace expansion (`{a,b,c}`)
|
|
95
|
-
- Extended wildcards (`**`, `?(pattern)`)
|
|
96
|
-
- Implement negative patterns (exclusions)
|
|
97
|
-
|
|
98
|
-
### 3.3 Git Integration
|
|
99
|
-
- Parse and respect `.gitignore` patterns
|
|
100
|
-
- Support `.ignore` and `.rgignore` files
|
|
101
|
-
- Add `--no-ignore` override option
|
|
102
|
-
- Cache gitignore patterns per repository
|
|
103
|
-
|
|
104
|
-
## Phase 4: Caching Layer Enhancement
|
|
105
|
-
|
|
106
|
-
### 4.1 Multi-Level Cache Architecture
|
|
107
|
-
- Extend existing CodeIndex with search-specific caches:
|
|
108
|
-
- File encoding detection cache (UTF-8, ASCII, etc.)
|
|
109
|
-
- Line ending detection cache (LF, CRLF, CR)
|
|
110
|
-
- Repository configuration cache
|
|
111
|
-
- Configure cache parameters:
|
|
112
|
-
- 1000 entries maximum per cache
|
|
113
|
-
- 5-minute TTL for freshness
|
|
114
|
-
- LRU eviction policy
|
|
115
|
-
- Implement cache warming strategies
|
|
116
|
-
|
|
117
|
-
### 4.2 Cache Performance Monitoring
|
|
118
|
-
- Add cache hit rate tracking
|
|
119
|
-
- Implement memory usage monitoring
|
|
120
|
-
- Create cache effectiveness metrics
|
|
121
|
-
- Add debug logging for cache operations
|
|
122
|
-
|
|
123
|
-
### 4.3 Thread Safety and Concurrency
|
|
124
|
-
- Ensure all cache operations are async-safe
|
|
125
|
-
- Implement read-write locks for cache updates
|
|
126
|
-
- Add atomic cache operations
|
|
127
|
-
- Create cache consistency checks
|
|
128
|
-
|
|
129
|
-
## Phase 5: Tool Prompt Micro-Injection System ✅
|
|
130
|
-
|
|
131
|
-
### 5.1 Base Tool Enhancement (`src/tunacode/tools/base.py`) ✅
|
|
132
|
-
- ✅ Added `prompt()` method to BaseTool for dynamic prompt generation
|
|
133
|
-
- ✅ Implemented prompt caching with context-based cache keys
|
|
134
|
-
- ✅ Created `get_tool_schema()` method for API integration
|
|
135
|
-
- ✅ Added abstract `_get_parameters_schema()` for tool parameters
|
|
136
|
-
|
|
137
|
-
### 5.2 Dynamic Prompt Generation ✅
|
|
138
|
-
- ✅ Created XML-based prompt system in `tools/prompts/` directory
|
|
139
|
-
- ✅ Updated existing tools (grep.py, glob.py) with XML loading:
|
|
140
|
-
- Added `_get_base_prompt()` method to load from XML files
|
|
141
|
-
- Enhanced `_get_parameters_schema()` to parse XML parameters
|
|
142
|
-
- Fallback to hardcoded prompts if XML loading fails
|
|
143
|
-
- ✅ Dynamic loading of prompts from XML files
|
|
144
|
-
- ✅ Support for prompt updates without code changes
|
|
145
|
-
|
|
146
|
-
### 5.3 Security and Type Safety ✅
|
|
147
|
-
- ✅ Used defusedxml instead of xml.etree for secure XML parsing
|
|
148
|
-
- ✅ Fixed type hints for proper mypy compliance
|
|
149
|
-
- ✅ Added proper error handling with fallbacks
|
|
150
|
-
|
|
151
|
-
### 5.4 Testing and Validation ✅
|
|
152
|
-
- ✅ Updated tests to use regular tools (not tools_v2 approach)
|
|
153
|
-
- ✅ All Phase 5 tests passing
|
|
154
|
-
- ✅ Created `ToolSchemaAssembler` for managing tool schemas
|
|
155
|
-
- ✅ JSON-serializable schema format for API calls
|
|
156
|
-
|
|
157
|
-
### 5.5 Known Issues
|
|
158
|
-
- glob.py file is 618 lines (exceeds 600 line recommendation)
|
|
159
|
-
- Should be refactored in future to reduce file size
|
|
160
|
-
|
|
161
|
-
## Phase 6: Integration and Optimization
|
|
162
|
-
|
|
163
|
-
### 6.1 Cross-Tool Integration
|
|
164
|
-
- Create unified search interface
|
|
165
|
-
- Implement tool chaining capabilities
|
|
166
|
-
- Add result format standardization
|
|
167
|
-
- Create cross-tool result deduplication
|
|
168
|
-
|
|
169
|
-
### 6.2 Performance Optimization
|
|
170
|
-
- Profile and optimize hot paths
|
|
171
|
-
- Implement lazy loading for heavy operations
|
|
172
|
-
- Add result streaming for real-time feedback
|
|
173
|
-
- Create adaptive timeout strategies
|
|
174
|
-
|
|
175
|
-
### 6.3 Error Handling and Fallbacks
|
|
176
|
-
- Implement graceful degradation:
|
|
177
|
-
- Ripgrep failure → Python fallback
|
|
178
|
-
- Cache miss → Direct filesystem access
|
|
179
|
-
- Timeout → Partial results with warning
|
|
180
|
-
- Add comprehensive error logging
|
|
181
|
-
- Create recovery strategies for common failures
|
|
182
|
-
|
|
183
|
-
## Phase 7: Testing and Documentation
|
|
184
|
-
|
|
185
|
-
### 7.1 Test Coverage
|
|
186
|
-
- Unit tests for each component
|
|
187
|
-
- Integration tests for tool interactions
|
|
188
|
-
- Performance benchmarks
|
|
189
|
-
- Stress tests for large repositories
|
|
190
|
-
- Thread safety validation
|
|
191
|
-
- Cache effectiveness tests
|
|
192
|
-
|
|
193
|
-
### 7.2 Documentation
|
|
194
|
-
- Update tool documentation
|
|
195
|
-
- Create performance tuning guide
|
|
196
|
-
- Add troubleshooting section
|
|
197
|
-
- Write migration guide for existing users
|
|
198
|
-
|
|
199
|
-
### 7.3 Monitoring and Metrics
|
|
200
|
-
- Implement performance dashboards
|
|
201
|
-
- Add usage analytics
|
|
202
|
-
- Create debugging tools
|
|
203
|
-
- Set up continuous performance monitoring
|
|
204
|
-
|
|
205
|
-
## Success Metrics
|
|
206
|
-
|
|
207
|
-
### Performance Targets
|
|
208
|
-
- **Search Speed**: 10-100x improvement over current implementation
|
|
209
|
-
- **Cache Hit Rate**: >80% for active projects
|
|
210
|
-
- **First Result Time**: <100ms for most searches
|
|
211
|
-
- **Memory Overhead**: <10MB for typical projects
|
|
212
|
-
|
|
213
|
-
### Functionality Goals
|
|
214
|
-
- Full ripgrep feature parity
|
|
215
|
-
- Zero-configuration setup
|
|
216
|
-
- Platform-independent behavior
|
|
217
|
-
- Backward compatibility maintained
|
|
218
|
-
|
|
219
|
-
## Dependencies and Prerequisites
|
|
220
|
-
|
|
221
|
-
### External Dependencies
|
|
222
|
-
- ripgrep binaries (v14.0+)
|
|
223
|
-
- Python 3.8+ (for async features)
|
|
224
|
-
- cachetools or similar LRU cache library
|
|
225
|
-
- Platform-specific libraries for OS detection
|
|
226
|
-
|
|
227
|
-
### Internal Dependencies
|
|
228
|
-
- Existing CodeIndex infrastructure
|
|
229
|
-
- Current tool base classes
|
|
230
|
-
- Configuration management system
|
|
231
|
-
- Logging framework
|
|
232
|
-
|
|
233
|
-
## Risk Mitigation
|
|
234
|
-
|
|
235
|
-
### Technical Risks
|
|
236
|
-
- **Binary distribution size**: Use compression, optional downloads
|
|
237
|
-
- **Platform compatibility**: Extensive testing, fallback mechanisms
|
|
238
|
-
- **Performance regression**: Benchmark suite, gradual rollout
|
|
239
|
-
- **Cache invalidation**: TTL strategy, filesystem watching option
|
|
240
|
-
|
|
241
|
-
### Operational Risks
|
|
242
|
-
- **Increased complexity**: Modular design, clear interfaces
|
|
243
|
-
- **Debugging difficulty**: Comprehensive logging, debug modes
|
|
244
|
-
- **Resource consumption**: Configurable limits, monitoring
|
|
245
|
-
|
|
246
|
-
## Implementation Notes
|
|
247
|
-
|
|
248
|
-
### Completed Work (Phases 1-2)
|
|
249
|
-
- **Ripgrep Binary Management**: Full infrastructure for binary distribution and fallback
|
|
250
|
-
- **Enhanced Search Tool**: Integrated ripgrep with graceful Python fallback
|
|
251
|
-
- **Configuration System**: Added comprehensive ripgrep settings
|
|
252
|
-
- **Performance Metrics**: Built-in metrics collection for monitoring
|
|
253
|
-
- **Multiple Output Formats**: Extended ResultFormatter for flexible output
|
|
254
|
-
|
|
255
|
-
### Known Limitations
|
|
256
|
-
- Ripgrep binary needs to be downloaded separately (not bundled)
|
|
257
|
-
- File candidate filtering not fully integrated with ripgrep executor
|
|
258
|
-
- Test failure with timeout handling needs investigation
|
|
259
|
-
|
|
260
|
-
### Next Steps (Phase 3+)
|
|
261
|
-
1. Glob tool optimization with ripgrep integration
|
|
262
|
-
2. Enhanced caching layer for search results
|
|
263
|
-
3. Tool prompt micro-injection system
|
|
264
|
-
4. Full integration and optimization
|
|
265
|
-
5. Comprehensive testing and documentation
|
|
266
|
-
|
|
267
|
-
### Priority Order
|
|
268
|
-
1. ✅ Ripgrep integration (foundation for speed)
|
|
269
|
-
2. ✅ Resource management (reliability)
|
|
270
|
-
3. ✅ Glob tool optimization (file searching)
|
|
271
|
-
4. ✅ Micro-injection system (extensibility)
|
|
272
|
-
5. ⏳ Caching enhancements (performance)
|
|
273
|
-
6. ⏳ Advanced features (functionality)
|
|
274
|
-
|
|
275
|
-
### Backward Compatibility
|
|
276
|
-
- All enhancements maintain existing API
|
|
277
|
-
- New features are opt-in through configuration
|
|
278
|
-
- Python fallback ensures functionality without ripgrep
|
|
279
|
-
- Existing grep tool interface unchanged
|
|
280
|
-
|
|
281
|
-
### Performance Considerations
|
|
282
|
-
- Startup overhead minimized with lazy loading
|
|
283
|
-
- Memoization used for expensive operations
|
|
284
|
-
- Async operations maintained throughout
|
|
285
|
-
- Graceful degradation on binary unavailability
|
|
286
|
-
|
|
287
|
-
This implementation has successfully laid the foundation for Claude Code-level search performance while maintaining TunaCode's architecture and principles.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/delta/fix-text-alignment-layout-task3.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tunacode_cli-0.0.69 → tunacode_cli-0.0.70}/.claude/development/always-on-display-implementation.md
RENAMED
|
File without changes
|