shotgun-sh 0.2.1.dev5__tar.gz → 0.2.2__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 shotgun-sh might be problematic. Click here for more details.

Files changed (154) hide show
  1. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/PKG-INFO +1 -1
  2. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/pyproject.toml +1 -1
  3. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/build_constants.py +2 -2
  4. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/codebase/core/ingestor.py +22 -3
  5. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/codebase/core/manager.py +7 -3
  6. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/chat.py +2 -2
  7. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/.gitignore +0 -0
  8. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/LICENSE +0 -0
  9. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/README.md +0 -0
  10. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/hatch_build.py +0 -0
  11. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/__init__.py +0 -0
  12. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/__init__.py +0 -0
  13. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/agent_manager.py +0 -0
  14. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/common.py +0 -0
  15. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/config/__init__.py +0 -0
  16. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/config/constants.py +0 -0
  17. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/config/manager.py +0 -0
  18. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/config/models.py +0 -0
  19. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/config/provider.py +0 -0
  20. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/conversation_history.py +0 -0
  21. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/conversation_manager.py +0 -0
  22. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/export.py +0 -0
  23. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/__init__.py +0 -0
  24. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/compaction.py +0 -0
  25. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/constants.py +0 -0
  26. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/context_extraction.py +0 -0
  27. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/history_building.py +0 -0
  28. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/history_processors.py +0 -0
  29. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/message_utils.py +0 -0
  30. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/token_counting/__init__.py +0 -0
  31. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/token_counting/anthropic.py +0 -0
  32. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/token_counting/base.py +0 -0
  33. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/token_counting/openai.py +0 -0
  34. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/token_counting/sentencepiece_counter.py +0 -0
  35. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/token_counting/tokenizer_cache.py +0 -0
  36. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/token_counting/utils.py +0 -0
  37. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/history/token_estimation.py +0 -0
  38. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/llm.py +0 -0
  39. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/messages.py +0 -0
  40. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/models.py +0 -0
  41. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/plan.py +0 -0
  42. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/research.py +0 -0
  43. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/specify.py +0 -0
  44. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tasks.py +0 -0
  45. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/__init__.py +0 -0
  46. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/codebase/__init__.py +0 -0
  47. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/codebase/codebase_shell.py +0 -0
  48. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/codebase/directory_lister.py +0 -0
  49. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/codebase/file_read.py +0 -0
  50. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/codebase/models.py +0 -0
  51. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/codebase/query_graph.py +0 -0
  52. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/codebase/retrieve_code.py +0 -0
  53. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/file_management.py +0 -0
  54. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/user_interaction.py +0 -0
  55. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/web_search/__init__.py +0 -0
  56. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/web_search/anthropic.py +0 -0
  57. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/web_search/gemini.py +0 -0
  58. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/web_search/openai.py +0 -0
  59. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/tools/web_search/utils.py +0 -0
  60. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/agents/usage_manager.py +0 -0
  61. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/__init__.py +0 -0
  62. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/codebase/__init__.py +0 -0
  63. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/codebase/commands.py +0 -0
  64. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/codebase/models.py +0 -0
  65. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/config.py +0 -0
  66. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/export.py +0 -0
  67. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/feedback.py +0 -0
  68. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/models.py +0 -0
  69. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/plan.py +0 -0
  70. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/research.py +0 -0
  71. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/specify.py +0 -0
  72. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/tasks.py +0 -0
  73. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/update.py +0 -0
  74. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/cli/utils.py +0 -0
  75. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/codebase/__init__.py +0 -0
  76. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/codebase/core/__init__.py +0 -0
  77. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/codebase/core/change_detector.py +0 -0
  78. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/codebase/core/code_retrieval.py +0 -0
  79. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/codebase/core/cypher_models.py +0 -0
  80. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/codebase/core/language_config.py +0 -0
  81. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/codebase/core/nl_query.py +0 -0
  82. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/codebase/core/parser_loader.py +0 -0
  83. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/codebase/models.py +0 -0
  84. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/codebase/service.py +0 -0
  85. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/llm_proxy/__init__.py +0 -0
  86. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/llm_proxy/clients.py +0 -0
  87. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/llm_proxy/constants.py +0 -0
  88. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/logging_config.py +0 -0
  89. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/main.py +0 -0
  90. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/posthog_telemetry.py +0 -0
  91. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/__init__.py +0 -0
  92. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/agents/__init__.py +0 -0
  93. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/agents/export.j2 +0 -0
  94. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/agents/partials/codebase_understanding.j2 +0 -0
  95. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/agents/partials/common_agent_system_prompt.j2 +0 -0
  96. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/agents/partials/content_formatting.j2 +0 -0
  97. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/agents/partials/interactive_mode.j2 +0 -0
  98. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/agents/plan.j2 +0 -0
  99. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/agents/research.j2 +0 -0
  100. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/agents/specify.j2 +0 -0
  101. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/agents/state/codebase/codebase_graphs_available.j2 +0 -0
  102. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/agents/state/system_state.j2 +0 -0
  103. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/agents/tasks.j2 +0 -0
  104. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/codebase/__init__.py +0 -0
  105. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/codebase/cypher_query_patterns.j2 +0 -0
  106. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/codebase/cypher_system.j2 +0 -0
  107. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/codebase/enhanced_query_context.j2 +0 -0
  108. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/codebase/partials/cypher_rules.j2 +0 -0
  109. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/codebase/partials/graph_schema.j2 +0 -0
  110. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/codebase/partials/temporal_context.j2 +0 -0
  111. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/history/__init__.py +0 -0
  112. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/history/incremental_summarization.j2 +0 -0
  113. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/history/summarization.j2 +0 -0
  114. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/prompts/loader.py +0 -0
  115. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/py.typed +0 -0
  116. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/sdk/__init__.py +0 -0
  117. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/sdk/codebase.py +0 -0
  118. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/sdk/exceptions.py +0 -0
  119. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/sdk/models.py +0 -0
  120. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/sdk/services.py +0 -0
  121. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/sentry_telemetry.py +0 -0
  122. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/shotgun_web/__init__.py +0 -0
  123. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/shotgun_web/client.py +0 -0
  124. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/shotgun_web/constants.py +0 -0
  125. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/shotgun_web/models.py +0 -0
  126. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/telemetry.py +0 -0
  127. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/__init__.py +0 -0
  128. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/app.py +0 -0
  129. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/commands/__init__.py +0 -0
  130. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/components/prompt_input.py +0 -0
  131. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/components/spinner.py +0 -0
  132. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/components/splash.py +0 -0
  133. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/components/vertical_tail.py +0 -0
  134. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/filtered_codebase_service.py +0 -0
  135. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/chat.tcss +0 -0
  136. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/chat_screen/__init__.py +0 -0
  137. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/chat_screen/command_providers.py +0 -0
  138. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/chat_screen/hint_message.py +0 -0
  139. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/chat_screen/history.py +0 -0
  140. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/directory_setup.py +0 -0
  141. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/feedback.py +0 -0
  142. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/model_picker.py +0 -0
  143. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/provider_config.py +0 -0
  144. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/shotgun_auth.py +0 -0
  145. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/splash.py +0 -0
  146. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/screens/welcome.py +0 -0
  147. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/styles.tcss +0 -0
  148. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/utils/__init__.py +0 -0
  149. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/tui/utils/mode_progress.py +0 -0
  150. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/utils/__init__.py +0 -0
  151. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/utils/env_utils.py +0 -0
  152. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/utils/file_system_utils.py +0 -0
  153. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/utils/source_detection.py +0 -0
  154. {shotgun_sh-0.2.1.dev5 → shotgun_sh-0.2.2}/src/shotgun/utils/update_checker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shotgun-sh
3
- Version: 0.2.1.dev5
3
+ Version: 0.2.2
4
4
  Summary: AI-powered research, planning, and task management CLI tool
5
5
  Project-URL: Homepage, https://shotgun.sh/
6
6
  Project-URL: Repository, https://github.com/shotgun-sh/shotgun
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "shotgun-sh"
3
- version = "0.2.1.dev5"
3
+ version = "0.2.2"
4
4
  description = "AI-powered research, planning, and task management CLI tool"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -12,8 +12,8 @@ POSTHOG_API_KEY = ''
12
12
  POSTHOG_PROJECT_ID = '191396'
13
13
 
14
14
  # Logfire configuration embedded at build time (only for dev builds)
15
- LOGFIRE_ENABLED = 'true'
16
- LOGFIRE_TOKEN = 'pylf_v1_us_KZ5NM1pP3NwgJkbBJt6Ftdzk8mMhmrXcGJHQQgDJ1LfK'
15
+ LOGFIRE_ENABLED = ''
16
+ LOGFIRE_TOKEN = ''
17
17
 
18
18
  # Build metadata
19
19
  BUILD_TIME_ENV = "production" if SENTRY_DSN else "development"
@@ -56,6 +56,23 @@ BUILD_ARTIFACT_DIRECTORIES = {
56
56
  # Default ignore patterns combines base directories and build artifacts
57
57
  IGNORE_PATTERNS = BASE_IGNORE_DIRECTORIES | BUILD_ARTIFACT_DIRECTORIES
58
58
 
59
+ # Directory prefixes that should always be ignored
60
+ IGNORED_DIRECTORY_PREFIXES = (".",)
61
+
62
+
63
+ def should_ignore_directory(name: str, ignore_patterns: set[str] | None = None) -> bool:
64
+ """Return True if the directory name should be ignored."""
65
+ patterns = IGNORE_PATTERNS if ignore_patterns is None else ignore_patterns
66
+ if name in patterns:
67
+ return True
68
+ return name.startswith(IGNORED_DIRECTORY_PREFIXES)
69
+
70
+
71
+ def is_path_ignored(path: Path, ignore_patterns: set[str] | None = None) -> bool:
72
+ """Return True if any part of the path should be ignored."""
73
+ patterns = IGNORE_PATTERNS if ignore_patterns is None else ignore_patterns
74
+ return any(should_ignore_directory(part, patterns) for part in path.parts)
75
+
59
76
 
60
77
  class Ingestor:
61
78
  """Handles all communication and ingestion with the Kuzu database."""
@@ -627,7 +644,9 @@ class SimpleGraphBuilder:
627
644
  """First pass: Walk directory to find packages and folders."""
628
645
  dir_count = 0
629
646
  for root_str, dirs, _ in os.walk(self.repo_path, topdown=True):
630
- dirs[:] = [d for d in dirs if d not in self.ignore_dirs]
647
+ dirs[:] = [
648
+ d for d in dirs if not should_ignore_directory(d, self.ignore_dirs)
649
+ ]
631
650
  root = Path(root_str)
632
651
  relative_root = root.relative_to(self.repo_path)
633
652
 
@@ -760,7 +779,7 @@ class SimpleGraphBuilder:
760
779
  root = Path(root_str)
761
780
 
762
781
  # Skip ignored directories
763
- if any(part in self.ignore_dirs for part in root.parts):
782
+ if is_path_ignored(root, self.ignore_dirs):
764
783
  continue
765
784
 
766
785
  for filename in files:
@@ -777,7 +796,7 @@ class SimpleGraphBuilder:
777
796
  root = Path(root_str)
778
797
 
779
798
  # Skip ignored directories
780
- if any(part in self.ignore_dirs for part in root.parts):
799
+ if is_path_ignored(root, self.ignore_dirs):
781
800
  continue
782
801
 
783
802
  for filename in files:
@@ -51,9 +51,13 @@ class CodebaseFileHandler(FileSystemEventHandler):
51
51
  self.pending_changes: list[FileChange] = []
52
52
  self._lock = anyio.Lock()
53
53
  # Import default ignore patterns from ingestor
54
- from shotgun.codebase.core.ingestor import IGNORE_PATTERNS
54
+ from shotgun.codebase.core.ingestor import (
55
+ IGNORE_PATTERNS,
56
+ should_ignore_directory,
57
+ )
55
58
 
56
59
  self.ignore_patterns = ignore_patterns or IGNORE_PATTERNS
60
+ self._should_ignore_directory = should_ignore_directory
57
61
 
58
62
  def on_any_event(self, event: FileSystemEvent) -> None:
59
63
  """Handle any file system event."""
@@ -71,7 +75,7 @@ class CodebaseFileHandler(FileSystemEventHandler):
71
75
 
72
76
  # Check if any parent directory should be ignored
73
77
  for parent in path.parents:
74
- if parent.name in self.ignore_patterns:
78
+ if self._should_ignore_directory(parent.name, self.ignore_patterns):
75
79
  logger.debug(
76
80
  f"Ignoring file in ignored directory: {parent.name} - path: {src_path_str}"
77
81
  )
@@ -106,7 +110,7 @@ class CodebaseFileHandler(FileSystemEventHandler):
106
110
  )
107
111
  dest_path = Path(dest_path_str)
108
112
  for parent in dest_path.parents:
109
- if parent.name in self.ignore_patterns:
113
+ if self._should_ignore_directory(parent.name, self.ignore_patterns):
110
114
  logger.debug(
111
115
  f"Ignoring move to ignored directory: {parent.name} - dest_path: {dest_path_str}"
112
116
  )
@@ -114,9 +114,9 @@ class StatusBar(Widget):
114
114
 
115
115
  def render(self) -> str:
116
116
  if self.working:
117
- return """[$foreground-muted][bold $text]esc[/] to stop • [bold $text]enter[/] to send • [bold $text]ctrl+p[/] command palette • [bold $text]shift+tab[/] cycle modes • /help for commands[/]"""
117
+ return """[$foreground-muted][bold $text]esc[/] to stop • [bold $text]enter[/] to send • [bold $text]ctrl+j[/] for newline • [bold $text]ctrl+p[/] command palette • [bold $text]shift+tab[/] cycle modes • /help for commands[/]"""
118
118
  else:
119
- return """[$foreground-muted][bold $text]enter[/] to send • [bold $text]ctrl+p[/] command palette • [bold $text]shift+tab[/] cycle modes • /help for commands[/]"""
119
+ return """[$foreground-muted][bold $text]enter[/] to send • [bold $text]ctrl+j[/] for newline • [bold $text]ctrl+p[/] command palette • [bold $text]shift+tab[/] cycle modes • /help for commands[/]"""
120
120
 
121
121
 
122
122
  class ModeIndicator(Widget):
File without changes
File without changes
File without changes