ace-git-copilot 0.3.0__tar.gz → 0.3.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 (121) hide show
  1. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/PKG-INFO +30 -1
  2. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/README.md +29 -0
  3. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/cli.py +10 -4
  4. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ui/dashboard.py +12 -10
  5. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ui/prompts.py +1 -1
  6. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/pyproject.toml +1 -1
  7. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/AGENTS.md +0 -0
  8. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/BRIEFING.md +0 -0
  9. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/ORIGINAL_REQUEST.md +0 -0
  10. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/e2e_testing_track/BRIEFING.md +0 -0
  11. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/e2e_testing_track/ORIGINAL_REQUEST.md +0 -0
  12. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/e2e_testing_track/SCOPE.md +0 -0
  13. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/e2e_testing_track/progress.md +0 -0
  14. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/BRIEFING.md +0 -0
  15. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/ORIGINAL_REQUEST.md +0 -0
  16. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/emojis_list.txt +0 -0
  17. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/find_unused_modules.py +0 -0
  18. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/handoff.md +0 -0
  19. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/measure_lazy_startup.py +0 -0
  20. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/measure_startup.py +0 -0
  21. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/profile_imports.py +0 -0
  22. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/progress.md +0 -0
  23. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/run_importtime.py +0 -0
  24. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/search_banner.py +0 -0
  25. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/search_emojis.py +0 -0
  26. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/search_git_usages.py +0 -0
  27. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/search_usages.py +0 -0
  28. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/test_import_profiler.py +0 -0
  29. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/explorer_init/test_mocked_sys.py +0 -0
  30. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/handoff.md +0 -0
  31. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/implementation_track/BRIEFING.md +0 -0
  32. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/implementation_track/ORIGINAL_REQUEST.md +0 -0
  33. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/implementation_track/explorer_initial_report.md +0 -0
  34. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/implementation_track/progress.md +0 -0
  35. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/orchestrator/.gitkeep +0 -0
  36. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/orchestrator/BRIEFING.md +0 -0
  37. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/orchestrator/ORIGINAL_REQUEST.md +0 -0
  38. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/orchestrator/PROJECT.md +0 -0
  39. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/orchestrator/progress.md +0 -0
  40. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/teamwork_preview_explorer_e2e_explore/BRIEFING.md +0 -0
  41. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/teamwork_preview_explorer_e2e_explore/ORIGINAL_REQUEST.md +0 -0
  42. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/teamwork_preview_explorer_e2e_explore/handoff.md +0 -0
  43. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/teamwork_preview_explorer_e2e_explore/progress.md +0 -0
  44. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/worker_e2e_testing/BRIEFING.md +0 -0
  45. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/worker_e2e_testing/ORIGINAL_REQUEST.md +0 -0
  46. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/worker_e2e_testing/progress.md +0 -0
  47. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/worker_m1_startup/BRIEFING.md +0 -0
  48. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/worker_m1_startup/ORIGINAL_REQUEST.md +0 -0
  49. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.agents/worker_m1_startup/progress.md +0 -0
  50. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.env.example +0 -0
  51. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.github/workflows/tests.yml +0 -0
  52. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/.gitignore +0 -0
  53. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/CODE_OF_CONDUCT.md +0 -0
  54. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/CONTRIBUTING.md +0 -0
  55. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/LICENSE +0 -0
  56. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/PROJECT.md +0 -0
  57. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/SECURITY.md +0 -0
  58. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/SUPPORT.md +0 -0
  59. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/TEST_INFRA.md +0 -0
  60. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/TEST_READY.md +0 -0
  61. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/__init__.py +0 -0
  62. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/__main__.py +0 -0
  63. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/changelog_generator.py +0 -0
  64. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/code_reviewer.py +0 -0
  65. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/commit_generator.py +0 -0
  66. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/conflict_resolver.py +0 -0
  67. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/gitignore_generator.py +0 -0
  68. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/history_analyzer.py +0 -0
  69. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/intent_parser.py +0 -0
  70. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/llm_factory.py +0 -0
  71. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/pr_drafter.py +0 -0
  72. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/prompts/changelog.py +0 -0
  73. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/prompts/commit.py +0 -0
  74. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/prompts/conflict.py +0 -0
  75. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/prompts/doctor.py +0 -0
  76. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/prompts/explain.py +0 -0
  77. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/prompts/ignore.py +0 -0
  78. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/prompts/intent.py +0 -0
  79. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/prompts/pr.py +0 -0
  80. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/prompts/rebase.py +0 -0
  81. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/prompts/review.py +0 -0
  82. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/prompts/search.py +0 -0
  83. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/prompts/undo.py +0 -0
  84. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ai/rebase_helper.py +0 -0
  85. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/core/config.py +0 -0
  86. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/core/context.py +0 -0
  87. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/core/diagnostics.py +0 -0
  88. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/core/git_ops.py +0 -0
  89. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/core/hooks.py +0 -0
  90. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/core/safety.py +0 -0
  91. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ui/banner.py +0 -0
  92. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ui/display.py +0 -0
  93. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/ui/themes.py +0 -0
  94. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/utils/conflict_parser.py +0 -0
  95. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/utils/diff_parser.py +0 -0
  96. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/ace/utils/json_utils.py +0 -0
  97. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/importtime.txt +0 -0
  98. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/importtime_optimized.txt +0 -0
  99. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/conftest.py +0 -0
  100. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/e2e/conftest.py +0 -0
  101. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/e2e/test_tier1_features.py +0 -0
  102. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/e2e/test_tier2_boundaries.py +0 -0
  103. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/e2e/test_tier3_combinations.py +0 -0
  104. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/e2e/test_tier4_workloads.py +0 -0
  105. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_changelog_generator.py +0 -0
  106. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_code_reviewer.py +0 -0
  107. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_conflict_resolver.py +0 -0
  108. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_diagnostics.py +0 -0
  109. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_diff_trimmer.py +0 -0
  110. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_git_ops.py +0 -0
  111. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_help.py +0 -0
  112. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_history_analyzer.py +0 -0
  113. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_hooks.py +0 -0
  114. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_ignore.py +0 -0
  115. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_intent_parser.py +0 -0
  116. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_llm_factory.py +0 -0
  117. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_pr_drafter.py +0 -0
  118. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_rebase_helper.py +0 -0
  119. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_safety.py +0 -0
  120. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_search.py +0 -0
  121. {ace_git_copilot-0.3.0 → ace_git_copilot-0.3.1}/tests/test_undo.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ace-git-copilot
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: AI-powered Git copilot — talk to Git in plain English
5
5
  Project-URL: Homepage, https://github.com/jachinsamuel/Ace
6
6
  Project-URL: Documentation, https://github.com/jachinsamuel/Ace#readme
@@ -193,3 +193,32 @@ The dashboard features:
193
193
  ## License
194
194
 
195
195
  Distributed under the MIT License. See [LICENSE](LICENSE) for more details.
196
+
197
+ ---
198
+
199
+ ## Changelog
200
+
201
+ ### v0.3.1 — Patch (2026-06-30)
202
+ * Fixed invisible key labels (`[c]`, `[r]`, etc.) in the dashboard and search menus caused by Rich markup tag conflicts.
203
+ * Fixed `[Y/n]` confirmation prompt rendering invisibly.
204
+
205
+ ### v0.3.0 — UI Polish (2026-06-30)
206
+ * Rewrote all UI output modules (`display.py`, `prompts.py`, `dashboard.py`, `themes.py`) for a polished, professional look.
207
+ * Removed all unprofessional emojis; replaced with clean ASCII status symbols (`>>`, `**`, `!!`, `EE`).
208
+ * Dashboard panels now use consistent `ROUNDED` borders, colour-coded file lists (`+` staged, `~` unstaged, `?` untracked), and a styled commit history table.
209
+ * Execution plan table uses `SIMPLE_HEAD` style with colour-highlighted `git` and `ace` command prefixes.
210
+ * Commit message panel shows character count badge coloured green/amber/red relative to the 72-char limit.
211
+ * AI code review score rendered as a styled badge based on score range.
212
+ * Added `[tool.ruff]` configuration to exclude `.agents/` scratch folder from lint checks.
213
+
214
+ ### v0.2.9 — Metadata & Build Fix (2026-06-30)
215
+ * Fixed broken `pyproject.toml` TOML syntax (invalid inline `urls` table).
216
+ * Added full `authors` and `[project.urls]` metadata visible on PyPI.
217
+
218
+ ### v0.2.6 — Startup Optimisation (2026-06-21)
219
+ * Implemented lazy-loading for all heavy LangChain imports — CLI startup under 200 ms.
220
+ * Added `ace switch` command for switching between sibling repositories from the dashboard.
221
+
222
+ ### v0.2.3 — Feature Expansion (2026-06-09)
223
+ * Added `ace doctor`, `ace hook`, and `ace squash` commands.
224
+ * Comprehensive E2E test suite added under `tests/e2e/`.
@@ -160,3 +160,32 @@ The dashboard features:
160
160
  ## License
161
161
 
162
162
  Distributed under the MIT License. See [LICENSE](LICENSE) for more details.
163
+
164
+ ---
165
+
166
+ ## Changelog
167
+
168
+ ### v0.3.1 — Patch (2026-06-30)
169
+ * Fixed invisible key labels (`[c]`, `[r]`, etc.) in the dashboard and search menus caused by Rich markup tag conflicts.
170
+ * Fixed `[Y/n]` confirmation prompt rendering invisibly.
171
+
172
+ ### v0.3.0 — UI Polish (2026-06-30)
173
+ * Rewrote all UI output modules (`display.py`, `prompts.py`, `dashboard.py`, `themes.py`) for a polished, professional look.
174
+ * Removed all unprofessional emojis; replaced with clean ASCII status symbols (`>>`, `**`, `!!`, `EE`).
175
+ * Dashboard panels now use consistent `ROUNDED` borders, colour-coded file lists (`+` staged, `~` unstaged, `?` untracked), and a styled commit history table.
176
+ * Execution plan table uses `SIMPLE_HEAD` style with colour-highlighted `git` and `ace` command prefixes.
177
+ * Commit message panel shows character count badge coloured green/amber/red relative to the 72-char limit.
178
+ * AI code review score rendered as a styled badge based on score range.
179
+ * Added `[tool.ruff]` configuration to exclude `.agents/` scratch folder from lint checks.
180
+
181
+ ### v0.2.9 — Metadata & Build Fix (2026-06-30)
182
+ * Fixed broken `pyproject.toml` TOML syntax (invalid inline `urls` table).
183
+ * Added full `authors` and `[project.urls]` metadata visible on PyPI.
184
+
185
+ ### v0.2.6 — Startup Optimisation (2026-06-21)
186
+ * Implemented lazy-loading for all heavy LangChain imports — CLI startup under 200 ms.
187
+ * Added `ace switch` command for switching between sibling repositories from the dashboard.
188
+
189
+ ### v0.2.3 — Feature Expansion (2026-06-09)
190
+ * Added `ace doctor`, `ace hook`, and `ace squash` commands.
191
+ * Comprehensive E2E test suite added under `tests/e2e/`.
@@ -1335,10 +1335,16 @@ def search_cmd(
1335
1335
 
1336
1336
  # Show options
1337
1337
  console.print("\n[bold]Select action:[/bold]")
1338
- console.print(" [bold cyan][d][/bold cyan] -> View diff of this commit")
1339
- console.print(" [bold cyan][c][/bold cyan] -> Checkout this commit (detached HEAD)")
1340
- console.print(" [bold cyan][b][/bold cyan] -> Create and switch to new branch at this commit")
1341
- console.print(" [bold cyan][s][/bold cyan] -> Skip/Quit")
1338
+ def _key(k: str, desc: str) -> None:
1339
+ from rich.text import Text
1340
+ console.print(Text.assemble(
1341
+ (" ", ""), (f"[{k}]", "bold #00D5FF"), (f" {desc}", "#BDBDBD")
1342
+ ))
1343
+ _key("d", "View diff of this commit")
1344
+ _key("c", "Checkout this commit (detached HEAD)")
1345
+ _key("b", "Create and switch to a new branch here")
1346
+ _key("s", "Skip / Quit")
1347
+
1342
1348
 
1343
1349
  action = click.getchar().lower().strip()
1344
1350
  console.print(action)
@@ -199,16 +199,18 @@ def show_dashboard(git_ops: GitOps, offline: bool = False):
199
199
  console.print()
200
200
 
201
201
  # ── Action menu ─────────────────────────────────────────────────────
202
- menu = Table(show_header=False, box=None, padding=(0, 3), expand=False)
203
- menu.add_column(style="bold #00D5FF", justify="right", width=4)
204
- menu.add_column(style="#BDBDBD", width=20)
205
- menu.add_column(style="bold #00D5FF", justify="right", width=4)
206
- menu.add_column(style="#BDBDBD")
207
-
208
- menu.add_row("[c]", "AI Commit", "[r]", "AI Code Review")
209
- menu.add_row("[u]", "Smart Undo", "[p]", "Plan Command (AI)")
210
- menu.add_row("[s]", "Repo Stats", "[w]", "Switch Repo")
211
- menu.add_row("[q]", "Quit", "", "")
202
+ menu = Table(show_header=False, box=None, padding=(0, 4), expand=False)
203
+ menu.add_column(min_width=22)
204
+ menu.add_column(min_width=22)
205
+
206
+
207
+ def _row(key: str, label: str) -> Text:
208
+ return Text.assemble((f"[{key}]", "bold #00D5FF"), (f" {label}", "#BDBDBD"))
209
+
210
+ menu.add_row(_row("c", "AI Commit"), _row("r", "AI Code Review"))
211
+ menu.add_row(_row("u", "Smart Undo"), _row("p", "Plan Command (AI)"))
212
+ menu.add_row(_row("s", "Repo Stats"), _row("w", "Switch Repo"))
213
+ menu.add_row(_row("q", "Quit"), Text(""))
212
214
 
213
215
  console.print(
214
216
  Panel(menu, title="[bold white]Actions[/bold white]",
@@ -13,7 +13,7 @@ def confirm(question: str, default: bool = True) -> bool:
13
13
  hint = "[Y/n]" if default else "[y/N]"
14
14
  console.print(
15
15
  Text.assemble(
16
- (" ", "bold #00D5FF"),
16
+ (" >> ", "bold #00D5FF"),
17
17
  (question + " ", "bold white"),
18
18
  (hint, "bold #666666"),
19
19
  (" ", ""),
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ace-git-copilot"
3
- version = "0.3.0"
3
+ version = "0.3.1"
4
4
  description = "AI-powered Git copilot — talk to Git in plain English"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
File without changes