titan-cli 0.1.0__tar.gz → 0.1.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.
Files changed (145) hide show
  1. {titan_cli-0.1.0 → titan_cli-0.1.1}/PKG-INFO +3 -6
  2. {titan_cli-0.1.0 → titan_cli-0.1.1}/pyproject.toml +1 -2
  3. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/__init__.py +1 -1
  4. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/config.py +12 -7
  5. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/__init__.py +9 -8
  6. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/icons.py +7 -7
  7. {titan_cli-0.1.0 → titan_cli-0.1.1}/LICENSE +0 -0
  8. {titan_cli-0.1.0 → titan_cli-0.1.1}/README.md +0 -0
  9. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/__init__.py +0 -0
  10. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/clients/__init__.py +0 -0
  11. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/clients/git_client.py +0 -0
  12. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/exceptions.py +0 -0
  13. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/messages.py +0 -0
  14. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/models.py +0 -0
  15. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/plugin.py +0 -0
  16. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/steps/__init__.py +0 -0
  17. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/steps/ai_commit_message_step.py +0 -0
  18. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/steps/branch_steps.py +0 -0
  19. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/steps/commit_step.py +0 -0
  20. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/steps/push_step.py +0 -0
  21. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/steps/status_step.py +0 -0
  22. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/workflows/__previews__/__init__.py +0 -0
  23. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/workflows/__previews__/commit_ai_preview.py +0 -0
  24. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-git/titan_plugin_git/workflows/commit-ai.yaml +0 -0
  25. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/__init__.py +0 -0
  26. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/agents/__init__.py +0 -0
  27. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/agents/config_loader.py +0 -0
  28. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/agents/issue_generator.py +0 -0
  29. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/agents/pr_agent.py +0 -0
  30. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/clients/__init__.py +0 -0
  31. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/clients/github_client.py +0 -0
  32. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/config/__init__.py +0 -0
  33. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/config/pr_agent.toml +0 -0
  34. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/exceptions.py +0 -0
  35. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/messages.py +0 -0
  36. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/models.py +0 -0
  37. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/plugin.py +0 -0
  38. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/steps/__init__.py +0 -0
  39. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/steps/ai_pr_step.py +0 -0
  40. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/steps/create_pr_step.py +0 -0
  41. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/steps/github_prompt_steps.py +0 -0
  42. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/steps/issue_steps.py +0 -0
  43. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/steps/preview_step.py +0 -0
  44. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/utils.py +0 -0
  45. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/workflows/__previews__/__init__.py +0 -0
  46. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/workflows/__previews__/create_pr_ai_preview.py +0 -0
  47. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/workflows/create-issue-ai.yaml +0 -0
  48. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-github/titan_plugin_github/workflows/create-pr-ai.yaml +0 -0
  49. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/__init__.py +0 -0
  50. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/agents/__init__.py +0 -0
  51. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/agents/config_loader.py +0 -0
  52. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/agents/jira_agent.py +0 -0
  53. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/agents/prompts.py +0 -0
  54. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/agents/response_parser.py +0 -0
  55. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/agents/token_tracker.py +0 -0
  56. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/agents/validators.py +0 -0
  57. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/clients/jira_client.py +0 -0
  58. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/config/jira_agent.toml +0 -0
  59. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/config/templates/issue_analysis.md.j2 +0 -0
  60. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/exceptions.py +0 -0
  61. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/formatters/__init__.py +0 -0
  62. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/formatters/markdown_formatter.py +0 -0
  63. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/messages.py +0 -0
  64. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/models.py +0 -0
  65. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/plugin.py +0 -0
  66. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/steps/ai_analyze_issue_step.py +0 -0
  67. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/steps/get_issue_step.py +0 -0
  68. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/steps/prompt_select_issue_step.py +0 -0
  69. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/steps/search_saved_query_step.py +0 -0
  70. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/utils/__init__.py +0 -0
  71. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/utils/issue_sorter.py +0 -0
  72. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/utils/saved_queries.py +0 -0
  73. {titan_cli-0.1.0 → titan_cli-0.1.1}/plugins/titan-plugin-jira/titan_plugin_jira/workflows/analyze-jira-issues.yaml +0 -0
  74. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/__main__.py +0 -0
  75. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ai/__init__.py +0 -0
  76. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ai/agents/__init__.py +0 -0
  77. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ai/agents/base.py +0 -0
  78. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ai/client.py +0 -0
  79. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ai/constants.py +0 -0
  80. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ai/exceptions.py +0 -0
  81. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ai/models.py +0 -0
  82. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ai/oauth_helper.py +0 -0
  83. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ai/providers/__init__.py +0 -0
  84. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ai/providers/anthropic.py +0 -0
  85. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ai/providers/base.py +0 -0
  86. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ai/providers/gemini.py +0 -0
  87. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/cli.py +0 -0
  88. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/clients/__init__.py +0 -0
  89. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/clients/gcloud_client.py +0 -0
  90. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/__init__.py +0 -0
  91. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/discovery.py +0 -0
  92. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/errors.py +0 -0
  93. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/models.py +0 -0
  94. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/plugins/available.py +0 -0
  95. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/plugins/models.py +0 -0
  96. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/plugins/plugin_base.py +0 -0
  97. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/plugins/plugin_registry.py +0 -0
  98. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/secrets.py +0 -0
  99. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/workflows/__init__.py +0 -0
  100. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/workflows/models.py +0 -0
  101. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/workflows/project_step_source.py +0 -0
  102. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/workflows/workflow_exceptions.py +0 -0
  103. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/workflows/workflow_filter_service.py +0 -0
  104. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/workflows/workflow_registry.py +0 -0
  105. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/core/workflows/workflow_sources.py +0 -0
  106. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/engine/__init__.py +0 -0
  107. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/engine/builder.py +0 -0
  108. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/engine/context.py +0 -0
  109. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/engine/mock_context.py +0 -0
  110. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/engine/results.py +0 -0
  111. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/engine/steps/ai_assistant_step.py +0 -0
  112. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/engine/steps/command_step.py +0 -0
  113. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/engine/utils/__init__.py +0 -0
  114. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/engine/utils/venv.py +0 -0
  115. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/engine/workflow_executor.py +0 -0
  116. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/external_cli/__init__.py +0 -0
  117. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/external_cli/configs.py +0 -0
  118. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/external_cli/launcher.py +0 -0
  119. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/messages.py +0 -0
  120. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/__previews__/statusbar_preview.py +0 -0
  121. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/app.py +0 -0
  122. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/screens/__init__.py +0 -0
  123. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/screens/ai_config.py +0 -0
  124. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/screens/ai_config_wizard.py +0 -0
  125. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/screens/base.py +0 -0
  126. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/screens/cli_launcher.py +0 -0
  127. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/screens/global_setup_wizard.py +0 -0
  128. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/screens/main_menu.py +0 -0
  129. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/screens/plugin_config_wizard.py +0 -0
  130. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/screens/plugin_management.py +0 -0
  131. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/screens/project_setup_wizard.py +0 -0
  132. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/screens/workflow_execution.py +0 -0
  133. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/screens/workflows.py +0 -0
  134. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/textual_components.py +0 -0
  135. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/textual_workflow_executor.py +0 -0
  136. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/theme.py +0 -0
  137. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/widgets/__init__.py +0 -0
  138. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/widgets/button.py +0 -0
  139. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/widgets/header.py +0 -0
  140. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/widgets/panel.py +0 -0
  141. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/widgets/status_bar.py +0 -0
  142. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/widgets/table.py +0 -0
  143. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/ui/tui/widgets/text.py +0 -0
  144. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/utils/__init__.py +0 -0
  145. {titan_cli-0.1.0 → titan_cli-0.1.1}/titan_cli/utils/autoupdate.py +0 -0
@@ -1,9 +1,9 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.1
2
2
  Name: titan-cli
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: Modular development tools orchestrator - Streamline your workflows with AI integration and intuitive terminal UI
5
+ Home-page: https://github.com/masmovil/titan-cli
5
6
  License: MIT
6
- License-File: LICENSE
7
7
  Keywords: cli,workflow,orchestrator,automation,devtools,ai
8
8
  Author: finxo
9
9
  Author-email: finxeto@gmail.com
@@ -19,8 +19,6 @@ Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3.10
20
20
  Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
- Classifier: Programming Language :: Python :: 3.13
23
- Classifier: Programming Language :: Python :: 3.14
24
22
  Requires-Dist: anthropic (>=0.75.0,<0.76.0)
25
23
  Requires-Dist: google-auth (>=2.43.0,<3.0.0)
26
24
  Requires-Dist: google-genai (>=1.58.0,<2.0.0)
@@ -36,7 +34,6 @@ Requires-Dist: tomli (>=2.0.0,<3.0.0)
36
34
  Requires-Dist: tomli-w (>=1.0.0,<2.0.0)
37
35
  Requires-Dist: typer (>=0.20.0,<1.0.0)
38
36
  Project-URL: Documentation, https://github.com/masmovil/titan-cli
39
- Project-URL: Homepage, https://github.com/masmovil/titan-cli
40
37
  Project-URL: Repository, https://github.com/masmovil/titan-cli
41
38
  Description-Content-Type: text/markdown
42
39
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "titan-cli"
3
- version = "0.1.0"
3
+ version = "0.1.1"
4
4
  description = "Modular development tools orchestrator - Streamline your workflows with AI integration and intuitive terminal UI"
5
5
  authors = ["finxo <finxeto@gmail.com>", "r-pedraza <raulpedrazaleon@gmail.com>"]
6
6
  maintainers = ["r-pedraza <raulpedrazaleon@gmail.com>"]
@@ -61,7 +61,6 @@ build-backend = "poetry.core.masonry.api"
61
61
 
62
62
  [tool.poetry.scripts]
63
63
  titan = "titan_cli.cli:app"
64
- titan-dev = "titan_cli.cli:app"
65
64
 
66
65
  [tool.poetry.plugins."titan.plugins"]
67
66
  git = "titan_plugin_git.plugin:GitPlugin"
@@ -1,3 +1,3 @@
1
1
  """Titan CLI - Modular development tools orchestrator."""
2
2
 
3
- __version__ = "0.1.0"
3
+ __version__ = "0.1.1"
@@ -16,7 +16,8 @@ class TitanConfig:
16
16
  def __init__(
17
17
  self,
18
18
  registry: Optional[PluginRegistry] = None,
19
- global_config_path: Optional[Path] = None
19
+ global_config_path: Optional[Path] = None,
20
+ skip_plugin_init: bool = False
20
21
  ):
21
22
  # Core dependencies
22
23
  self.registry = registry or PluginRegistry()
@@ -32,12 +33,15 @@ class TitanConfig:
32
33
  self._global_config_path = global_config_path or self.GLOBAL_CONFIG
33
34
 
34
35
  # Initial load
35
- self.load()
36
+ self.load(skip_plugin_init=skip_plugin_init)
36
37
 
37
- def load(self):
38
+ def load(self, skip_plugin_init: bool = False):
38
39
  """
39
40
  Reloads the entire configuration from disk, including global config
40
41
  and the project config from the current working directory.
42
+
43
+ Args:
44
+ skip_plugin_init: If True, skip plugin initialization. Useful during setup wizards.
41
45
  """
42
46
  # Load global config
43
47
  self.global_config = self._load_toml(self._global_config_path)
@@ -61,10 +65,11 @@ class TitanConfig:
61
65
  secrets_path = Path.cwd()
62
66
  self.secrets = SecretManager(project_path=secrets_path if secrets_path.is_dir() else None)
63
67
 
64
- # Reset and re-initialize plugins
65
- self.registry.reset()
66
- self.registry.initialize_plugins(config=self, secrets=self.secrets)
67
- self._plugin_warnings = self.registry.list_failed()
68
+ # Reset and re-initialize plugins (unless skipped during setup)
69
+ if not skip_plugin_init:
70
+ self.registry.reset()
71
+ self.registry.initialize_plugins(config=self, secrets=self.secrets)
72
+ self._plugin_warnings = self.registry.list_failed()
68
73
 
69
74
  # Re-initialize WorkflowRegistry
70
75
  # Use current working directory for workflows
@@ -32,8 +32,9 @@ def launch_tui():
32
32
 
33
33
  if not global_config_path.exists():
34
34
  # First-time setup: Launch global setup wizard
35
+ # Skip plugin initialization until after setup completes
35
36
  plugin_registry = PluginRegistry()
36
- config = TitanConfig(registry=plugin_registry)
37
+ config = TitanConfig(registry=plugin_registry, skip_plugin_init=True)
37
38
 
38
39
  # We'll create a special wrapper screen that handles the wizard flow
39
40
  from .screens.base import BaseScreen
@@ -136,15 +137,13 @@ def launch_tui():
136
137
  app.run()
137
138
  return
138
139
 
139
- # Global config exists, initialize normally
140
- plugin_registry = PluginRegistry()
141
- config = TitanConfig(registry=plugin_registry)
142
-
143
- # Check if project config exists in current directory
140
+ # Global config exists, check if project config exists in current directory
144
141
  project_config_path = Path.cwd() / ".titan" / "config.toml"
145
142
 
146
143
  if not project_config_path.exists():
147
- # Project not configured: Launch project setup wizard
144
+ # Project not configured: Skip plugin initialization until after setup
145
+ plugin_registry = PluginRegistry()
146
+ config = TitanConfig(registry=plugin_registry, skip_plugin_init=True)
148
147
  # Create a wrapper screen similar to global wizard flow
149
148
  from .screens.base import BaseScreen
150
149
  from textual.app import ComposeResult
@@ -200,6 +199,8 @@ def launch_tui():
200
199
  app.run()
201
200
  return
202
201
 
203
- # Both global and project configs exist: Run normally
202
+ # Both global and project configs exist: Initialize normally with plugins
203
+ plugin_registry = PluginRegistry()
204
+ config = TitanConfig(registry=plugin_registry) # Plugins will initialize here
204
205
  app = TitanApp(config=config)
205
206
  app.run()
@@ -17,16 +17,16 @@ class Icons:
17
17
  # Status indicators
18
18
  SUCCESS = "✅"
19
19
  ERROR = "❌"
20
- WARNING = "⚠️"
21
- INFO = "ℹ️ "
20
+ WARNING = ""
21
+ INFO = " "
22
22
  QUESTION = "❓"
23
23
 
24
24
  # Progress states
25
- PENDING = "⏸️ "
25
+ PENDING = " "
26
26
  RUNNING = "⏳"
27
27
  COMPLETED = SUCCESS # Alias
28
28
  FAILED = ERROR # Alias
29
- SKIPPED = "⏭️ "
29
+ SKIPPED = " "
30
30
 
31
31
  # Workflow & execution
32
32
  WORKFLOW = "⚡"
@@ -51,8 +51,8 @@ class Icons:
51
51
  # Git & VCS
52
52
  GIT_BRANCH = "🌿"
53
53
  GIT_COMMIT = "💾"
54
- GIT_PULL = "⬇️"
55
- GIT_PUSH = "⬆️"
54
+ GIT_PULL = ""
55
+ GIT_PUSH = ""
56
56
 
57
57
  # AI & Automation
58
58
  AI = "🤖"
@@ -61,7 +61,7 @@ class Icons:
61
61
 
62
62
  # General UI
63
63
  MENU = "☰"
64
- SETTINGS = "⚙️ "
64
+ SETTINGS = " "
65
65
  SEARCH = "🔍"
66
66
  STAR = "⭐"
67
67
  CHECK = "✓"
File without changes
File without changes
File without changes