tunacode-cli 0.0.76__tar.gz → 0.0.76.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tunacode-cli might be problematic. Click here for more details.
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.github/workflows/publish.yml +0 -2
- tunacode_cli-0.0.76.1/CLAUDE.md +132 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/PKG-INFO +63 -6
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/README.md +62 -5
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/README.md +6 -2
- tunacode_cli-0.0.76.1/documentation/configuration/config-flow-diagram.md +65 -0
- tunacode_cli-0.0.76.1/documentation/configuration/config-touch-points.md +21 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/development/hatch-build-system.md +38 -35
- tunacode_cli-0.0.76.1/documentation/development/streaming-text-prefix-fix.md +199 -0
- tunacode_cli-0.0.76.1/documentation/user/getting-started.md +251 -0
- tunacode_cli-0.0.76.1/memory-bank/execute/2025-09-15_12-30-00_configuration_dashboard_implementation.md +121 -0
- tunacode_cli-0.0.76.1/memory-bank/execute/2025-09-15_configuration_dashboard_ux_improvements.md +177 -0
- tunacode_cli-0.0.76.1/memory-bank/plan/2025-09-15_12-29-04_configuration_dashboard_implementation.md +485 -0
- tunacode_cli-0.0.76.1/memory-bank/research/2025-09-15_12-19-00_configuration_system_and_dashboard.md +184 -0
- tunacode_cli-0.0.76.1/memory-bank/research/2025-09-15_13-54-11_first-chunk_character_loss_investigation.md +109 -0
- tunacode_cli-0.0.76.1/memory-bank/research/2025-09-16_11-12-45_setup_py_usage_and_location_analysis.md +145 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/pyproject.toml +2 -2
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/scripts/setup_dev_env.sh +28 -27
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/main.py +10 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/repl.py +17 -1
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/configuration/defaults.py +2 -2
- tunacode_cli-0.0.76.1/src/tunacode/configuration/key_descriptions.py +275 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/constants.py +1 -1
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/node_processor.py +24 -3
- tunacode_cli-0.0.76.1/src/tunacode/core/agents/agent_components/streaming.py +268 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/main.py +15 -46
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/setup/config_wizard.py +2 -1
- tunacode_cli-0.0.76.1/src/tunacode/ui/config_dashboard.py +567 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/panels.py +92 -9
- tunacode_cli-0.0.76.1/src/tunacode/utils/config_comparator.py +340 -0
- tunacode_cli-0.0.76.1/tests/integration/test_startup_dashboard.py +221 -0
- tunacode_cli-0.0.76.1/tests/ui/test_config_dashboard.py +404 -0
- tunacode_cli-0.0.76.1/tests/utils/test_config_comparator.py +246 -0
- tunacode_cli-0.0.76/CLAUDE.md +0 -114
- tunacode_cli-0.0.76/documentation/user/getting-started.md +0 -103
- tunacode_cli-0.0.76/setup.py +0 -10
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/MEMORY_ANCHOR_SPEC.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/NEXT_PR_RULES.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/README.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/agents/antipattern-sniffer.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/agents/bug-context-analyzer.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/agents/code-synthesis-analyzer.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/agents/codebase-analyzer.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/agents/codebase-locator.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/agents/context-synthesis.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/agents/documentation-synthesis-qa.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/agents/expert-debugger.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/agents/phased-task-processor.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/agents/prompt-engineer.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/agents/rapid-code-synthesis-qa.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/agents/tech-docs-maintainer.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/anchors.json +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/CE/QA.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/CE/documentation-synthesis.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/CE/execute.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/CE/plan.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/CE/research.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/context-engineer/QA.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/context-engineer/documentation-synthesis.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/context-engineer/execute.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/context-engineer/plan.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/context-engineer/research.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/deploy.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/github-issue.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/phaser.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/smart-git.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/smells.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/work.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/commands/workflow.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/delta/2025-01-05-baseline.yml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/delta/fix-text-alignment-layout-task3.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/delta/task4_ui_formatting_fix.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/delta/v0.0.53_to_v0.0.54.diff +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/always-on-display-implementation.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/cli-json-recovery-incident.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/directory-caching-optimization.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/esc-investigation/ESC_KEY_INVESTIGATION.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/esc-investigation/ESC_KEY_STREAMING_ANALYSIS.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/hatch-commands.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/model-updates-2025.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/onboarding-improvements.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/openai_tool_calling_evaluation.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/phase5-prompt-injection-system.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/slash-commands.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/uv-hatch-setup.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/development/uv-installer-updates.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/metadata/components.yml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/metadata/hotspots.txt +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/patterns/json_retry_implementation.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/qa/fix-agent-errors.yml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/qa/fix-publish-script.yml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/qa/fix-runtime-warnings.yml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/README.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/active/task_json_retry_implementation_summary_2025-07-24_13-05-40.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/active/task_standardize_ui_formatting_patterns_2025-07-23_20-43-28.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/agents/default/spinner-enhancement-2025-08-07.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/agents/esc-investigation/scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/agents/phase5-recovery/scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/agents/tech-docs-maintainer/scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/code-synthesis-analyzer_ESC_Double-Press_REPL_Abort_Analysis_2025-08-06_134859_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Add_Prompt_Injection_to_Remaining_Tools_-_Continuation_2025-08-13_152542_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Add_Prompt_Injection_to_Remaining_Tools_2025-08-13_152352_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124206_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124727_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Completely_remove_TUNACODE_TASK_COMPLETE_from_plan_mode_2025-08-09_091836_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Debug_persistent_KeyboardInterrupt_in_event_loop_2025-08-09_034136_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Debug_present_plan_tool_registration_and_model_capability_2025-08-09_092923_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Debug_stuck_double_escape_in_plan_approval_2025-08-09_033214_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Fix_Application.exit()_failed_error_in_ESC_keybinding_2025-08-09_075607_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Fix_ESC_double-tap_and_plan_display_issues_2025-08-09_090055_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Fix_ESC_exceptions_and_missing_present_plan_tool_2025-08-09_081700_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Fix_agent_not_calling_present_plan_tool_2025-08-09_090827_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Fix_double_escape_for_planning_mode_approval_prompt_2025-08-09_032759_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Fix_unhandled_KeyboardInterrupt_exception_in_event_loop_2025-08-09_033843_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Fix_wizard_UI_-_branch_safety_interference_2025-08-20_222738_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Fixed_Thinking_dots_animation_2025-08-11_121009_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Force_agent_to_actually_call_present_plan_tool_2025-08-09_091334_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_GitHub_Directory_Review_2025-08-11_122451_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Implementing_ESC_key_double-press_for_REPL_abort_2025-08-06_124754_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_JSON_Recovery_Implementation_2025-08-12_130251_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Makefile_to_Hatch_Migration_2025-08-07_192356_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Performance_Optimization_-_Agent_Initialization_2025-08-13_160447_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Phase_3_-_Glob_Tool_Optimization_2025-08-13_142601_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Replace_entire_system_prompt_with_tool-only_instructions_2025-08-09_112839_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_TunaCode_Search_Enhancement_Implementation_2025-08-13_140905_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Update_Documentation_for_JSON_Recovery_System_2025-08-12_131127_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_Update_documentation_for_always-on_display_UX_improvements_2025-08-12_154818_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/default_slash_command_system_implementation_2025-08-14_034024_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/archived/phase5-recovery_Phase_5_Recovery_Analysis_2025-08-13_145339_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/locks/code-synthesis-analyzer.lock +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/locks/default.lock +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/locks/esc-investigation.lock +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/locks/phase5-recovery.lock +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/locks/tech-docs-maintainer.lock +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_Add_Prompt_Injection_to_Remaining_Tools_2025-08-13_152352_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124206_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124727_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_Debug_persistent_KeyboardInterrupt_in_event_loop_2025-08-09_034136_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_Fix_wizard_UI_-_branch_safety_interference_2025-08-20_222738_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_Fixed_Thinking_dots_animation_2025-08-11_121009_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_GitHub_Directory_Review_2025-08-11_122451_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_JSON_Recovery_Implementation_2025-08-12_130251_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_Makefile_to_Hatch_Migration_2025-08-07_192356_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_Performance_Optimization_-_Agent_Initialization_2025-08-13_160447_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_Phase_3_-_Glob_Tool_Optimization_2025-08-13_142601_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_TunaCode_Search_Enhancement_Implementation_2025-08-13_140905_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/default_Update_Documentation_for_JSON_Recovery_System_2025-08-12_131127_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.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.76 → tunacode_cli-0.0.76.1}/.claude/scratchpad/shared/done_tasks/phase5-recovery_Phase_5_Recovery_Analysis_2025-08-13_145339_scratchpad.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/tech-docs-maintainer.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.claude/test_suite_issues_resolved.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.github/pull_request_template.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.github/scripts/check_file_size.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.github/workflows/lint.yml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.gitignore +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/.pre-commit-config.yaml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/LICENSE +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/MANIFEST.in +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/TUNACODE.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/assets/tunacode_example.png +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/agent/TOOLS_WORKFLOW.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/agent/agent-flow.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/agent/agent-inspo.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/agent/how-tunacode-agent-works.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/agent/main-agent-architecture.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/agent/swepmini-example.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/agent/tunacode-tool-system.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/agent-tools/tools-architecture.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/changelog/CHANGELOG.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/configuration/.env.example +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/configuration/config-file-example.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/configuration/environment-variables.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/configuration/local-models.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/configuration/logging-configuration.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/configuration/tunacode-json-example.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/configuration/tunacode.json.example +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/development/codebase-hygiene.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/development/command-system-architecture.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/development/creating-custom-commands.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/development/performance-optimizations.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/development/prompt-principles.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/development/publishing-workflow.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/tests/README.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/tests/characterization-testing.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/tests/mocking-strategies.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/tests/troubleshooting.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/ui/ui-architecture.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/user/commands.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/user/tools.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/memory-bank/execute/2025-09-12_15-20-00_model_selection_config_persistence_fix.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/memory-bank/plan/2025-09-11_13-30-00_agent_loop_architecture_enhancement.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/memory-bank/plan/2025-09-11_14-00-00_enum_state_machine_implementation.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/memory-bank/plan/2025-09-11_14-15-00_automated_cli_tool_testing_framework.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/memory-bank/plan/2025-09-12_12-20-00_global_graceful_error_handling_implementation.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/memory-bank/plan/2025-09-12_15-08-14_model_selection_config_persistence_fix.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/memory-bank/research/2025-09-07_21-13-37_agent_loop_architecture.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/memory-bank/research/2025-09-11_13-14-06_agent_loop_enhancement_analysis.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/memory-bank/research/2025-09-12_12-15-48_global_graceful_error_handling_analysis.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/memory-bank/research/2025-09-12_14-54-43_model_configuration_crash_analysis.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/memory-bank/research/2025-09-12_15-06-58_model_selection_config_update_issue.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/memory-bank/research/2025-09-12_ai-agent-tools-architecture.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/pytest.ini +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/scripts/check-file-length.sh +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/scripts/download_ripgrep.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/scripts/install_linux.sh +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/scripts/playwright_cache.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/scripts/startup_timer.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/scripts/uninstall.sh +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/scripts/utils/vulture_whitelist.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/scripts/verify_dev_env.sh +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/README.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/base.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/implementations/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/implementations/command_reload.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/implementations/conversation.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/implementations/debug.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/implementations/development.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/implementations/model.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/implementations/plan.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/implementations/quickstart.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/implementations/system.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/implementations/template.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/implementations/todo.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/registry.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/slash/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/slash/command.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/slash/loader.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/slash/processor.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/slash/types.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/slash/validator.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/commands/template_shortcut.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/repl_components/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/repl_components/command_parser.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/repl_components/error_recovery.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/repl_components/output_display.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/cli/repl_components/tool_executor.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/configuration/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/configuration/models.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/configuration/settings.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/context.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/agent_config.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/agent_helpers.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/json_tool_parser.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/message_handler.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/response_state.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/result_wrapper.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/state_transition.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/task_completion.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/tool_buffer.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/tool_executor.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/agent_components/truncation_checker.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/agents/utils.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/background/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/background/manager.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/code_index.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/llm/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/logging/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/logging/config.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/logging/formatters.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/logging/handlers.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/logging/logger.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/setup/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/setup/agent_setup.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/setup/base.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/setup/config_setup.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/setup/coordinator.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/setup/environment_setup.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/setup/git_safety_setup.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/setup/template_setup.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/state.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/token_usage/api_response_parser.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/token_usage/cost_calculator.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/token_usage/usage_tracker.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/core/tool_handler.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/exceptions.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/prompts/system.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/prompts/system.md.bak +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/py.typed +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/services/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/services/mcp.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/setup.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/templates/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/templates/loader.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/base.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/bash.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/exit_plan_mode.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/glob.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/grep.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/grep_components/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/grep_components/file_filter.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/grep_components/pattern_matcher.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/grep_components/result_formatter.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/grep_components/search_result.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/list_dir.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/present_plan.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/prompts/bash_prompt.xml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/prompts/exit_plan_mode_prompt.xml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/prompts/glob_prompt.xml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/prompts/grep_prompt.xml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/prompts/list_dir_prompt.xml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/prompts/present_plan_prompt.xml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/prompts/read_file_prompt.xml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/prompts/run_command_prompt.xml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/prompts/todo_prompt.xml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/prompts/update_file_prompt.xml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/prompts/write_file_prompt.xml +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/read_file.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/run_command.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/schema_assembler.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/todo.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/update_file.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/write_file.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tools/xml_helper.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tutorial/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tutorial/content.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tutorial/manager.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/tutorial/steps.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/types.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/completers.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/console.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/constants.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/decorators.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/input.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/keybindings.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/lexers.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/logging_compat.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/model_selector.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/output.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/prompt_manager.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/tool_descriptions.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/tool_ui.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/utils.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/ui/validators.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/api_key_validation.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/bm25.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/diff_utils.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/file_utils.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/import_cache.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/json_utils.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/message_utils.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/models_registry.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/retry.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/ripgrep.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/security.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/system.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/text_utils.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/token_counter.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/src/tunacode/utils/user_configuration.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/CHARACTERIZATION_README.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/CHARACTERIZATION_TEST_PLAN.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/CHARACTERIZATION_TEST_PLAN_AGENT_MAIN.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/CHARACTERIZATION_TEST_PLAN_COMMANDS.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/FILE_OPERATIONS_TEST_GUIDE.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/agent/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/agent/conftest.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/agent/test_agent_creation.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/agent/test_json_tool_parsing.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/agent/test_process_node.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/agent/test_process_request.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/agent/test_tool_message_patching.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/background/test_background_edge_cases.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/background/test_cleanup.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/background/test_task_cancellation.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/background/test_task_creation.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/background/test_task_execution.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/code_index/test_cache_management.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/code_index/test_file_scanning.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/code_index/test_index_building.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/code_index/test_search_operations.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/code_index/test_symbol_extraction.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/commands/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/commands/test_init_command.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/commands/test_model_selection_persistence.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/conftest.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/context/README.md +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/context/__init__.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/context/test_context_acceptance.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/context/test_context_integration.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/context/test_context_loading.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/context/test_tunacode_logging.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/repl/test_command_parsing.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/repl/test_error_handling.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/repl/test_escape_key_behavior.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/repl/test_input_handling.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/repl/test_keyboard_interrupts.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/repl/test_multiline_input.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/repl/test_output_display_logic.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/repl/test_repl_initialization.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/repl/test_session_flow.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/services/test_error_recovery.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/services/test_llm_routing.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/services/test_mcp_integration.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/services/test_service_lifecycle.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/state/test_agent_tracking.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/state/test_message_history.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/state/test_permissions.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/state/test_session_management.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/state/test_state_initialization.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/state/test_user_config.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/test_characterization_commands.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/test_characterization_grep.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/test_characterization_main.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/test_characterization_repl.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/ui/test_async_ui.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/ui/test_console_output.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/ui/test_diff_display.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/ui/test_prompt_rendering.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/ui/test_spinner_messages.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/ui/test_tool_confirmations.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/utils/test_expand_file_refs.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/utils/test_file_operations.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/utils/test_git_commands.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/utils/test_token_counting.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/characterization/utils/test_utils_edge_cases.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/conftest.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_agent_output_formatting.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_command_parser_retry.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_completion_detection.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_glob_phase3.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_json_concatenation_recovery.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_json_retry.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_logging_config.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_onboarding_features.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_phase2_type_hints.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_plan_mode.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_prompt_changes_validation.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_prompt_injection.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_security.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_slash_commands_comprehensive.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_slash_commands_functional.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_slash_commands_integration.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_slash_commands_isolated.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_spinner_updates.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/test_tool_batching_retry.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/unit/commands/test_model_selection_persistence_new.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/unit/config/test_user_configuration_permissions.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tests/unit/test_constants_enums.py +0 -0
- {tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/tools/emoji_cleaner.py +0 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
|
|
2
|
+
### Workflow
|
|
3
|
+
Make this repository perfectly optimized for you and future instances of Claude working with it. Implement the following structure and instructions precisely:
|
|
4
|
+
|
|
5
|
+
### Directory Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
claude/
|
|
9
|
+
├── metadata/
|
|
10
|
+
│ ├── dependency_graphs/
|
|
11
|
+
│ ├── file_classifications.json (implementation vs. interface)
|
|
12
|
+
│ └── intent_classifications.json
|
|
13
|
+
├── semantic_index/
|
|
14
|
+
│ ├── function_call_graphs.json
|
|
15
|
+
│ ├── intent_mappings.json
|
|
16
|
+
│ └── type_relationships.json
|
|
17
|
+
├── debug_history/
|
|
18
|
+
│ ├── error_solution_logs.json (categorized by component and error type)
|
|
19
|
+
│ └── context_and_versions.json
|
|
20
|
+
├── patterns/
|
|
21
|
+
│ ├── canonical_patterns/
|
|
22
|
+
│ ├── empirical_interface_patterns/
|
|
23
|
+
│ └── reliability_metrics.json
|
|
24
|
+
├── cheatsheets/
|
|
25
|
+
│ └── component_cheatsheets.md (quick-reference guides, known pitfalls, Claude-specific behaviors)
|
|
26
|
+
├── qa/
|
|
27
|
+
│ ├── solved_problems/
|
|
28
|
+
│ ├── context_logs/
|
|
29
|
+
│ └── reasoning_docs/
|
|
30
|
+
├── debug_history/
|
|
31
|
+
│ └── debug_sessions.json (error→solution pairs, context, code versions)
|
|
32
|
+
├── docs_model_friendly/
|
|
33
|
+
│ ├── component_purpose.md
|
|
34
|
+
│ └── component_relationships.md
|
|
35
|
+
├── delta_summaries/
|
|
36
|
+
│ ├── api_change_logs.json
|
|
37
|
+
│ ├── behavior_changes.json
|
|
38
|
+
│ └── reasoning_logs/
|
|
39
|
+
└── memory_anchors/
|
|
40
|
+
├── anchors.json (UUID-based anchors with semantic structure)
|
|
41
|
+
|
|
42
|
+
To perfectly optimize this repository for you and future instances of Claude working with it, implement the following explicit instructions:
|
|
43
|
+
|
|
44
|
+
1. **Claude-specific Metadata Directory**
|
|
45
|
+
- Maintain normalized metadata about the codebase, including dependency graphs, file types (implementation/interface), and intent classifications.
|
|
46
|
+
|
|
47
|
+
2. **Semantic Code Indexing**
|
|
48
|
+
- Create a semantic index with intent classification and pre-analyzed semantic relationships.
|
|
49
|
+
- Document detailed function-to-function call graphs and intent mappings.
|
|
50
|
+
|
|
51
|
+
3. **Debug History Database**
|
|
52
|
+
- Log all debugging sessions explicitly, including error-solution pairs, context, code versions, and categorization by component/error type.
|
|
53
|
+
|
|
54
|
+
4. **Pattern and Industry Database**
|
|
55
|
+
- Provide canonical implementation patterns and empirical interface examples.
|
|
56
|
+
- Include explicit reliability metrics for assessing robustness.
|
|
57
|
+
|
|
58
|
+
4. **Component-specific Cheat Sheets**
|
|
59
|
+
- Create quick-reference guides documenting common operations, pitfalls, edge cases, and Claude-specific behaviors clearly.
|
|
60
|
+
|
|
61
|
+
5. **Queries-and-Answers Database**
|
|
62
|
+
- Store solved queries explicitly indexed by component, file, error type, with context and detailed reasoning.
|
|
63
|
+
|
|
64
|
+
6. **Claude-specific Model-Friendly Documentation**
|
|
65
|
+
- Include clear, explicit documentation on component purposes and relationships optimized for Claude.
|
|
66
|
+
|
|
67
|
+
7. **Delta Summaries**
|
|
68
|
+
- Clearly document semantic change logs, highlighting API changes, behavior shifts, and reasoning behind these changes.
|
|
69
|
+
|
|
70
|
+
7. **Explicit Memory Anchors**
|
|
71
|
+
- Embed special "memory anchor" comments with UUID-based identifiers and semantic structure for easy and precise future reference.
|
|
72
|
+
|
|
73
|
+
Implementing these changes ensures an optimized, efficient, and highly actionable Claude-specific repository structure for current and future Claude interactions
|
|
74
|
+
|
|
75
|
+
- **CRITICAL: WORKTREE REQUIREMENT** - When user requests a worktree, you MUST:
|
|
76
|
+
1. Create the worktree with `git worktree add -b branch-name ../dirname`
|
|
77
|
+
2. If access is blocked, immediately ask: "I cannot access the worktree directory. Should I: a) Work in a subdirectory instead, b) Use a branch in the main directory, or c) Another solution?"
|
|
78
|
+
3. NEVER proceed without a worktree if user specifically requested one
|
|
79
|
+
|
|
80
|
+
- before any updates make a git commit rollback point, clearly labeled for future agents
|
|
81
|
+
|
|
82
|
+
- the clear outline of the objective MUST be established before we begin ANY coding, do not under any circumstance begin any updates untill this is clearly understood, if you have any ambiuguity or quesiton, the user can be brought in or use best practises
|
|
83
|
+
|
|
84
|
+
- pre-commit hooks can NOT be skipped, you will be punished for skipping the
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
- grep documentation and .claude as needed BOTH of these have a README.md that ahs a direcoty map, you MUST read these before any bigger grep or context searches
|
|
88
|
+
|
|
89
|
+
- in general gather as much context as needed, unless specified by the user
|
|
90
|
+
|
|
91
|
+
- this is the most important part of this prompt: Synthesis context aggressively and heuristically AS NEEDED ONLY You can deploy the appropriate subagent for complex tasks agents list below
|
|
92
|
+
|
|
93
|
+
### Documentation
|
|
94
|
+
|
|
95
|
+
- update the documents @documentation and in .claude after any update.
|
|
96
|
+
|
|
97
|
+
- use the subagent tech-docs-maintainer to update the documentation you MUST instruct the subagent to keep doc updates short you will be PUNISHED for not telling the documentation agent to keep it to only the most distilled information
|
|
98
|
+
|
|
99
|
+
- always follow best practices with git commits naming and gh cli workflows
|
|
100
|
+
|
|
101
|
+
- commit frequently
|
|
102
|
+
|
|
103
|
+
- always be on the side of safety, if you have any question consult the user
|
|
104
|
+
|
|
105
|
+
### Python Coding Standards
|
|
106
|
+
|
|
107
|
+
- always use the .venv
|
|
108
|
+
- Use type hints (PEP 484) for all function signatures
|
|
109
|
+
- Prefer f-strings (PEP 498) over %-formatting or .format()
|
|
110
|
+
- Use pathlib.Path instead of os.path for filesystem operations
|
|
111
|
+
- Structure imports: stdlib → third-party → local (PEP 8)
|
|
112
|
+
- Use dataclasses (PEP 557) for simple data containers
|
|
113
|
+
- Prefer context managers (with) for resource handling
|
|
114
|
+
- Use structural pattern matching (PEP 634) for complex
|
|
115
|
+
- run ruff frequently for both linting and formatting
|
|
116
|
+
|
|
117
|
+
### Testing
|
|
118
|
+
|
|
119
|
+
- "hatch run test" command for testing suite
|
|
120
|
+
|
|
121
|
+
- anytime a new feature or refactor is done, we MUST find or make the golden/character test FIRST as a baseline standaard BEFORE starting, under no circumstance are you to NOT follow this TDD pattern
|
|
122
|
+
|
|
123
|
+
- if a test for a feature does not exist you MUST create one FIRST to capture current behavior
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
## Available Agents:
|
|
129
|
+
|
|
130
|
+
1. **bug-context-analyzer** - Investigates precise context around bugs without suggesting fixes
|
|
131
|
+
2. **code-synthesis-analyzer** - Analyzes recent code changes to identify issues needing fixes
|
|
132
|
+
3. **documentation-synthesis-qa** - Creates comprehensive docs via multi-agent orchestration
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tunacode-cli
|
|
3
|
-
Version: 0.0.76
|
|
3
|
+
Version: 0.0.76.1
|
|
4
4
|
Summary: Your agentic CLI developer.
|
|
5
5
|
Project-URL: Homepage, https://tunacode.xyz/
|
|
6
6
|
Project-URL: Repository, https://github.com/alchemiststudiosDOTai/tunacode
|
|
@@ -75,6 +75,27 @@ pip install tunacode-cli
|
|
|
75
75
|
|
|
76
76
|
For detailed installation and configuration instructions, see the [**Getting Started Guide**](documentation/user/getting-started.md).
|
|
77
77
|
|
|
78
|
+
## Quickstart
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# 1) Install
|
|
82
|
+
pip install tunacode-cli
|
|
83
|
+
|
|
84
|
+
# 2) Launch the CLI
|
|
85
|
+
tunacode --wizard # guided setup (enter an API key, pick a model)
|
|
86
|
+
|
|
87
|
+
# 3) Try common commands in the REPL
|
|
88
|
+
/help # see commands
|
|
89
|
+
/model # explore models and set a default
|
|
90
|
+
/plan # enter read-only Plan Mode
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Tip: You can also skip the wizard and set everything via flags:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
tunacode --model openai:gpt-4.1 --key sk-your-key
|
|
97
|
+
```
|
|
98
|
+
|
|
78
99
|
## Development Installation
|
|
79
100
|
|
|
80
101
|
For contributors and developers who want to work on TunaCode:
|
|
@@ -87,13 +108,13 @@ cd tunacode
|
|
|
87
108
|
# Quick setup (recommended)
|
|
88
109
|
./scripts/setup_dev_env.sh
|
|
89
110
|
|
|
90
|
-
# Or manual setup
|
|
91
|
-
|
|
92
|
-
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
93
|
-
pip install -e ".[dev]"
|
|
111
|
+
# Or manual setup with UV (recommended)
|
|
112
|
+
uv venv
|
|
113
|
+
source .venv/bin/activate # On Windows: .venv\Scripts\activate
|
|
114
|
+
uv pip install -e ".[dev]"
|
|
94
115
|
|
|
95
116
|
# Verify installation
|
|
96
|
-
|
|
117
|
+
tunacode --version
|
|
97
118
|
```
|
|
98
119
|
|
|
99
120
|
See the [Hatch Build System Guide](documentation/development/hatch-build-system.md) for detailed instructions on the development environment.
|
|
@@ -102,6 +123,42 @@ See the [Hatch Build System Guide](documentation/development/hatch-build-system.
|
|
|
102
123
|
|
|
103
124
|
Choose your AI provider and set your API key. For more details, see the [Configuration Section](documentation/user/getting-started.md#2-configuration) in the Getting Started Guide. For local models (LM Studio, Ollama, etc.), see the [Local Models Setup Guide](documentation/configuration/local-models.md).
|
|
104
125
|
|
|
126
|
+
### New: Enhanced Model Selection
|
|
127
|
+
|
|
128
|
+
TunaCode now automatically saves your model selection for future sessions. When you choose a model using `/model <provider:name>`, it will be remembered across restarts.
|
|
129
|
+
|
|
130
|
+
**If you encounter API key errors**, you can manually create a configuration file that matches the current schema:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# Create the config file
|
|
134
|
+
cat > ~/.config/tunacode.json << 'EOF'
|
|
135
|
+
{
|
|
136
|
+
"default_model": "openai:gpt-4.1",
|
|
137
|
+
"env": {
|
|
138
|
+
"OPENAI_API_KEY": "your-openai-api-key-here",
|
|
139
|
+
"ANTHROPIC_API_KEY": "",
|
|
140
|
+
"GEMINI_API_KEY": "",
|
|
141
|
+
"OPENROUTER_API_KEY": ""
|
|
142
|
+
},
|
|
143
|
+
"settings": {
|
|
144
|
+
"enable_streaming": true,
|
|
145
|
+
"max_iterations": 40,
|
|
146
|
+
"context_window_size": 200000
|
|
147
|
+
},
|
|
148
|
+
"mcpServers": {}
|
|
149
|
+
}
|
|
150
|
+
EOF
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Replace the model and API key with your preferred provider and credentials. Examples:
|
|
154
|
+
- `openai:gpt-4.1` (requires OPENAI_API_KEY)
|
|
155
|
+
- `anthropic:claude-4-sonnet-20250522` (requires ANTHROPIC_API_KEY)
|
|
156
|
+
- `google:gemini-2.5-pro` (requires GEMINI_API_KEY)
|
|
157
|
+
|
|
158
|
+
### ⚠️ Important Notice
|
|
159
|
+
|
|
160
|
+
I apologize for any recent issues with model selection and configuration. I'm actively working to fix these problems and improve the overall stability of TunaCode. Your patience and feedback are greatly appreciated as I work to make the tool more reliable.
|
|
161
|
+
|
|
105
162
|
### Recommended Models
|
|
106
163
|
|
|
107
164
|
Based on extensive testing, these models provide the best performance:
|
|
@@ -27,6 +27,27 @@ pip install tunacode-cli
|
|
|
27
27
|
|
|
28
28
|
For detailed installation and configuration instructions, see the [**Getting Started Guide**](documentation/user/getting-started.md).
|
|
29
29
|
|
|
30
|
+
## Quickstart
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# 1) Install
|
|
34
|
+
pip install tunacode-cli
|
|
35
|
+
|
|
36
|
+
# 2) Launch the CLI
|
|
37
|
+
tunacode --wizard # guided setup (enter an API key, pick a model)
|
|
38
|
+
|
|
39
|
+
# 3) Try common commands in the REPL
|
|
40
|
+
/help # see commands
|
|
41
|
+
/model # explore models and set a default
|
|
42
|
+
/plan # enter read-only Plan Mode
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Tip: You can also skip the wizard and set everything via flags:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
tunacode --model openai:gpt-4.1 --key sk-your-key
|
|
49
|
+
```
|
|
50
|
+
|
|
30
51
|
## Development Installation
|
|
31
52
|
|
|
32
53
|
For contributors and developers who want to work on TunaCode:
|
|
@@ -39,13 +60,13 @@ cd tunacode
|
|
|
39
60
|
# Quick setup (recommended)
|
|
40
61
|
./scripts/setup_dev_env.sh
|
|
41
62
|
|
|
42
|
-
# Or manual setup
|
|
43
|
-
|
|
44
|
-
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
45
|
-
pip install -e ".[dev]"
|
|
63
|
+
# Or manual setup with UV (recommended)
|
|
64
|
+
uv venv
|
|
65
|
+
source .venv/bin/activate # On Windows: .venv\Scripts\activate
|
|
66
|
+
uv pip install -e ".[dev]"
|
|
46
67
|
|
|
47
68
|
# Verify installation
|
|
48
|
-
|
|
69
|
+
tunacode --version
|
|
49
70
|
```
|
|
50
71
|
|
|
51
72
|
See the [Hatch Build System Guide](documentation/development/hatch-build-system.md) for detailed instructions on the development environment.
|
|
@@ -54,6 +75,42 @@ See the [Hatch Build System Guide](documentation/development/hatch-build-system.
|
|
|
54
75
|
|
|
55
76
|
Choose your AI provider and set your API key. For more details, see the [Configuration Section](documentation/user/getting-started.md#2-configuration) in the Getting Started Guide. For local models (LM Studio, Ollama, etc.), see the [Local Models Setup Guide](documentation/configuration/local-models.md).
|
|
56
77
|
|
|
78
|
+
### New: Enhanced Model Selection
|
|
79
|
+
|
|
80
|
+
TunaCode now automatically saves your model selection for future sessions. When you choose a model using `/model <provider:name>`, it will be remembered across restarts.
|
|
81
|
+
|
|
82
|
+
**If you encounter API key errors**, you can manually create a configuration file that matches the current schema:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Create the config file
|
|
86
|
+
cat > ~/.config/tunacode.json << 'EOF'
|
|
87
|
+
{
|
|
88
|
+
"default_model": "openai:gpt-4.1",
|
|
89
|
+
"env": {
|
|
90
|
+
"OPENAI_API_KEY": "your-openai-api-key-here",
|
|
91
|
+
"ANTHROPIC_API_KEY": "",
|
|
92
|
+
"GEMINI_API_KEY": "",
|
|
93
|
+
"OPENROUTER_API_KEY": ""
|
|
94
|
+
},
|
|
95
|
+
"settings": {
|
|
96
|
+
"enable_streaming": true,
|
|
97
|
+
"max_iterations": 40,
|
|
98
|
+
"context_window_size": 200000
|
|
99
|
+
},
|
|
100
|
+
"mcpServers": {}
|
|
101
|
+
}
|
|
102
|
+
EOF
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Replace the model and API key with your preferred provider and credentials. Examples:
|
|
106
|
+
- `openai:gpt-4.1` (requires OPENAI_API_KEY)
|
|
107
|
+
- `anthropic:claude-4-sonnet-20250522` (requires ANTHROPIC_API_KEY)
|
|
108
|
+
- `google:gemini-2.5-pro` (requires GEMINI_API_KEY)
|
|
109
|
+
|
|
110
|
+
### ⚠️ Important Notice
|
|
111
|
+
|
|
112
|
+
I apologize for any recent issues with model selection and configuration. I'm actively working to fix these problems and improve the overall stability of TunaCode. Your patience and feedback are greatly appreciated as I work to make the tool more reliable.
|
|
113
|
+
|
|
57
114
|
### Recommended Models
|
|
58
115
|
|
|
59
116
|
Based on extensive testing, these models provide the best performance:
|
|
@@ -4,7 +4,7 @@ Project documentation for tunacode.
|
|
|
4
4
|
|
|
5
5
|
## Directory Structure
|
|
6
6
|
|
|
7
|
-
```
|
|
7
|
+
```text
|
|
8
8
|
documentation/
|
|
9
9
|
├── agent/ # Agent architecture and workflows
|
|
10
10
|
│ ├── TOOLS_WORKFLOW.md
|
|
@@ -12,6 +12,8 @@ documentation/
|
|
|
12
12
|
│ └── main-agent-architecture.md
|
|
13
13
|
├── configuration/ # System configuration docs
|
|
14
14
|
│ ├── config-file-example.md
|
|
15
|
+
│ ├── config-flow-diagram.md
|
|
16
|
+
│ ├── config-touch-points.md
|
|
15
17
|
│ ├── local-models.md
|
|
16
18
|
│ └── logging-configuration.md
|
|
17
19
|
├── development/ # Development practices
|
|
@@ -21,7 +23,8 @@ documentation/
|
|
|
21
23
|
│ ├── hatch-build-system.md
|
|
22
24
|
│ ├── performance-optimizations.md
|
|
23
25
|
│ ├── publishing-workflow.md
|
|
24
|
-
│
|
|
26
|
+
│ ├── prompt-principles.md
|
|
27
|
+
│ └── streaming-text-prefix-fix.md
|
|
25
28
|
│── user/ # user guides
|
|
26
29
|
│── getting-started.md
|
|
27
30
|
│── commands.md
|
|
@@ -41,3 +44,4 @@ General project documentation for features, architecture, and best practices.
|
|
|
41
44
|
- [Configuration File Example](configuration/config-file-example.md) - Complete example of `~/.config/tunacode.json` with all available settings.
|
|
42
45
|
- [Local Models Setup](configuration/local-models.md) - Guide for using local models with LM Studio or any OpenAI-compatible API.
|
|
43
46
|
- [Performance Optimizations](development/performance-optimizations.md) - Major performance improvements and optimization strategies.
|
|
47
|
+
- [Streaming Text Prefix Fix](development/streaming-text-prefix-fix.md) - Technical documentation for the streaming text truncation fix.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
graph TD
|
|
2
|
+
%% Configuration Sources
|
|
3
|
+
A[User Config File<br/>~/.config/tunacode.json] --> B[load_config()]
|
|
4
|
+
C[CLI Arguments<br/>--model, --key] --> D[CLI Override Logic]
|
|
5
|
+
E[Environment Variables<br/>OPENAI_API_KEY, etc.] --> F[Environment Setup]
|
|
6
|
+
G[Default Config<br/>src/tunacode/configuration/defaults.py] --> H[Config Merging]
|
|
7
|
+
|
|
8
|
+
%% Loading and Validation
|
|
9
|
+
B --> I[SHA-1 Fingerprint Check]
|
|
10
|
+
I --> J{Config Changed?}
|
|
11
|
+
J -->|No| K[Use Cached Config]
|
|
12
|
+
J -->|Yes| L[JSON Validation]
|
|
13
|
+
L --> M[Merge with Defaults]
|
|
14
|
+
D --> M
|
|
15
|
+
M --> N[Configuration Validation]
|
|
16
|
+
|
|
17
|
+
%% Configuration Distribution
|
|
18
|
+
N --> O[StateManager.session.user_config]
|
|
19
|
+
O --> P[Export Environment Variables]
|
|
20
|
+
P --> Q[Agent Configuration]
|
|
21
|
+
O --> R[Tool Configuration]
|
|
22
|
+
O --> S[Model Selection Logic]
|
|
23
|
+
O --> T[MCP Server Setup]
|
|
24
|
+
|
|
25
|
+
%% Runtime Updates
|
|
26
|
+
U[/model command] --> V{Has 'default' keyword?}
|
|
27
|
+
V -->|Yes| W[set_default_model()]
|
|
28
|
+
V -->|No| X[session.current_model only]
|
|
29
|
+
W --> Y[save_config()]
|
|
30
|
+
Y --> A
|
|
31
|
+
X --> Z[Session Only - NOT PERSISTED]
|
|
32
|
+
|
|
33
|
+
%% Tool-Specific Config Paths
|
|
34
|
+
R --> AA[tool_ignore list]
|
|
35
|
+
R --> BB[ripgrep settings]
|
|
36
|
+
R --> CC[tool_strict_validation]
|
|
37
|
+
AA --> DD[Tool Filtering]
|
|
38
|
+
BB --> EE[Search Tool Config]
|
|
39
|
+
CC --> FF[Parameter Validation]
|
|
40
|
+
|
|
41
|
+
%% Agent Setup Flow
|
|
42
|
+
Q --> GG[System Prompt Loading]
|
|
43
|
+
Q --> HH[Tool Initialization]
|
|
44
|
+
Q --> II[Model Client Setup]
|
|
45
|
+
S --> II
|
|
46
|
+
|
|
47
|
+
%% Configuration Persistence Issues
|
|
48
|
+
JJ[Setup Wizard] --> KK[Interactive Config Changes]
|
|
49
|
+
KK --> LL[save_config() called]
|
|
50
|
+
LL --> A
|
|
51
|
+
|
|
52
|
+
MM[Runtime Model Switch] --> X
|
|
53
|
+
NN[Runtime Setting Change] --> OO{Explicit save?}
|
|
54
|
+
OO -->|No| PP[Lost on Exit]
|
|
55
|
+
OO -->|Yes| Y
|
|
56
|
+
|
|
57
|
+
%% Potential Issue Points
|
|
58
|
+
style Z fill:#ffcccc
|
|
59
|
+
style PP fill:#ffcccc
|
|
60
|
+
style X fill:#ffcccc
|
|
61
|
+
|
|
62
|
+
%% Legend
|
|
63
|
+
QQ[Legend:]
|
|
64
|
+
RR[Red boxes = Config not persisted]
|
|
65
|
+
SS[Normal boxes = Config persisted]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
## Configuration Touch Points
|
|
2
|
+
|
|
3
|
+
### Loading & Validation
|
|
4
|
+
- `src/tunacode/utils/user_configuration.py:33-58` - Main config loading
|
|
5
|
+
- `src/tunacode/configuration/defaults.py:11-38` - Default values
|
|
6
|
+
- `src/tunacode/core/setup/config_setup.py` - Setup wizard & validation
|
|
7
|
+
|
|
8
|
+
### Distribution Points
|
|
9
|
+
- `src/tunacode/core/setup/coordinator.py` - Setup orchestration
|
|
10
|
+
- `src/tunacode/core/setup/environment_setup.py:29-49` - Env var export
|
|
11
|
+
- `src/tunacode/core/agents/agent_config.py:45-67` - Agent configuration
|
|
12
|
+
|
|
13
|
+
### Runtime Updates
|
|
14
|
+
- `src/tunacode/cli/commands/implementations/model.py:162-170` - Model switching
|
|
15
|
+
- `src/tunacode/utils/user_configuration.py:89-97` - Config persistence
|
|
16
|
+
- Session state in `StateManager.session.user_config`
|
|
17
|
+
|
|
18
|
+
### Tool Configuration
|
|
19
|
+
- `src/tunacode/tools/base.py:23-41` - Tool schema validation
|
|
20
|
+
- `src/tunacode/services/mcp.py:61-108` - MCP server config
|
|
21
|
+
- Individual tool settings in `settings.ripgrep`, `tool_ignore`, etc.
|
{tunacode_cli-0.0.76 → tunacode_cli-0.0.76.1}/documentation/development/hatch-build-system.md
RENAMED
|
@@ -7,7 +7,7 @@ TunaCode uses [Hatch](https://hatch.pypa.io/) as its build system and developmen
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
|
|
10
|
+
uv install hatch
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
## Common Commands
|
|
@@ -15,64 +15,65 @@ pip install hatch
|
|
|
15
15
|
### Development
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
+
# Create virtual environment with UV
|
|
19
|
+
uv venv
|
|
20
|
+
|
|
18
21
|
# Install development dependencies
|
|
19
|
-
|
|
22
|
+
source .venv/bin/activate && uv pip install -e ".[dev]"
|
|
20
23
|
|
|
21
24
|
# Run the application
|
|
22
|
-
|
|
25
|
+
source .venv/bin/activate && tunacode
|
|
23
26
|
|
|
24
27
|
# Start development mode
|
|
25
|
-
|
|
28
|
+
source .venv/bin/activate && tunacode
|
|
26
29
|
```
|
|
27
30
|
|
|
28
31
|
### Testing
|
|
29
32
|
|
|
30
33
|
```bash
|
|
31
34
|
# Run test suite
|
|
32
|
-
|
|
35
|
+
source .venv/bin/activate && pytest
|
|
33
36
|
|
|
34
37
|
# Run tests with coverage
|
|
35
|
-
|
|
38
|
+
source .venv/bin/activate && pytest --cov=src/tunacode
|
|
36
39
|
|
|
37
40
|
# Test specific Python version
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
source .venv/bin/activate && python3.10 -m pytest
|
|
42
|
+
source .venv/bin/activate && python3.11 -m pytest
|
|
43
|
+
source .venv/bin/activate && python3.12 -m pytest
|
|
41
44
|
```
|
|
42
45
|
|
|
43
46
|
### Code Quality
|
|
44
47
|
|
|
45
48
|
```bash
|
|
46
49
|
# Lint and format code
|
|
47
|
-
|
|
50
|
+
source .venv/bin/activate && ruff check . && ruff format .
|
|
48
51
|
|
|
49
52
|
# Check without modifying
|
|
50
|
-
|
|
53
|
+
source .venv/bin/activate && ruff check . && ruff format --check .
|
|
51
54
|
|
|
52
55
|
# Type checking
|
|
53
|
-
|
|
56
|
+
source .venv/bin/activate && mypy src/
|
|
54
57
|
|
|
55
58
|
# Security analysis
|
|
56
|
-
|
|
59
|
+
source .venv/bin/activate && bandit -r src/ -ll
|
|
57
60
|
|
|
58
61
|
# Dead code analysis
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
hatch run dead-code-clean
|
|
62
|
-
hatch run dead-code-report
|
|
62
|
+
source .venv/bin/activate && python -m vulture --config pyproject.toml
|
|
63
|
+
source .venv/bin/activate && python -c "print('Running comprehensive dead code analysis...')"
|
|
63
64
|
```
|
|
64
65
|
|
|
65
66
|
### Building & Publishing
|
|
66
67
|
|
|
67
68
|
```bash
|
|
68
69
|
# Build distribution packages
|
|
69
|
-
|
|
70
|
+
source .venv/bin/activate && python -m build
|
|
70
71
|
|
|
71
72
|
# Clean build artifacts
|
|
72
|
-
|
|
73
|
+
source .venv/bin/activate && python -c "import shutil, pathlib; dirs=['build', 'dist']; [shutil.rmtree(d, ignore_errors=True) for d in dirs]; print('Cleaned build artifacts')"
|
|
73
74
|
|
|
74
75
|
# Publish to PyPI
|
|
75
|
-
|
|
76
|
+
source .venv/bin/activate && twine upload dist/*
|
|
76
77
|
```
|
|
77
78
|
|
|
78
79
|
## Environment Management
|
|
@@ -113,36 +114,38 @@ All Hatch configuration is in `pyproject.toml`:
|
|
|
113
114
|
|
|
114
115
|
| Old Command | New Command |
|
|
115
116
|
|------------|-------------|
|
|
116
|
-
| `make install` | `
|
|
117
|
-
| `make test` | `
|
|
118
|
-
| `make lint` | `
|
|
119
|
-
| `make build` | `
|
|
120
|
-
| `make clean` | `
|
|
121
|
-
| `make coverage` | `
|
|
122
|
-
| `make vulture` | `
|
|
117
|
+
| `make install` | `source .venv/bin/activate && uv pip install -e ".[dev]"` |
|
|
118
|
+
| `make test` | `source .venv/bin/activate && pytest` |
|
|
119
|
+
| `make lint` | `source .venv/bin/activate && ruff check . && ruff format .` |
|
|
120
|
+
| `make build` | `source .venv/bin/activate && python -m build` |
|
|
121
|
+
| `make clean` | `source .venv/bin/activate && python -c "import shutil; dirs=['build', 'dist']; [shutil.rmtree(d, ignore_errors=True) for d in dirs]"` |
|
|
122
|
+
| `make coverage` | `source .venv/bin/activate && pytest --cov=src/tunacode` |
|
|
123
|
+
| `make vulture` | `source .venv/bin/activate && python -m vulture --config pyproject.toml` |
|
|
123
124
|
|
|
124
125
|
## Troubleshooting
|
|
125
126
|
|
|
126
|
-
###
|
|
127
|
+
### UV not found
|
|
127
128
|
|
|
128
|
-
|
|
129
|
+
Install UV for faster package management:
|
|
129
130
|
```bash
|
|
130
|
-
|
|
131
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
131
132
|
```
|
|
132
133
|
|
|
133
|
-
###
|
|
134
|
+
### Virtual environment issues
|
|
134
135
|
|
|
135
|
-
|
|
136
|
+
Recreate virtual environment:
|
|
136
137
|
```bash
|
|
137
|
-
|
|
138
|
+
rm -rf .venv
|
|
139
|
+
uv venv
|
|
140
|
+
source .venv/bin/activate && uv pip install -e ".[dev]"
|
|
138
141
|
```
|
|
139
142
|
|
|
140
143
|
### Build errors
|
|
141
144
|
|
|
142
145
|
Clean and rebuild:
|
|
143
146
|
```bash
|
|
144
|
-
|
|
145
|
-
|
|
147
|
+
source .venv/bin/activate && python -c "import shutil; dirs=['build', 'dist']; [shutil.rmtree(d, ignore_errors=True) for d in dirs]"
|
|
148
|
+
source .venv/bin/activate && python -m build
|
|
146
149
|
```
|
|
147
150
|
|
|
148
151
|
## Advanced Usage
|