ai-cli-launcher 3.0.3__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 (51) hide show
  1. ai_cli_launcher-3.0.3/CHANGELOG.md +172 -0
  2. ai_cli_launcher-3.0.3/LICENSE +21 -0
  3. ai_cli_launcher-3.0.3/MANIFEST.in +8 -0
  4. ai_cli_launcher-3.0.3/PKG-INFO +812 -0
  5. ai_cli_launcher-3.0.3/README.md +773 -0
  6. ai_cli_launcher-3.0.3/ai-cli.ico +0 -0
  7. ai_cli_launcher-3.0.3/ai_cli/__init__.py +4 -0
  8. ai_cli_launcher-3.0.3/ai_cli/app.py +890 -0
  9. ai_cli_launcher-3.0.3/ai_cli/cli.py +161 -0
  10. ai_cli_launcher-3.0.3/ai_cli/config.py +205 -0
  11. ai_cli_launcher-3.0.3/ai_cli/core/__init__.py +0 -0
  12. ai_cli_launcher-3.0.3/ai_cli/core/git.py +132 -0
  13. ai_cli_launcher-3.0.3/ai_cli/core/installer.py +168 -0
  14. ai_cli_launcher-3.0.3/ai_cli/core/projects.py +111 -0
  15. ai_cli_launcher-3.0.3/ai_cli/core/tools.py +229 -0
  16. ai_cli_launcher-3.0.3/ai_cli/i18n/__init__.py +4 -0
  17. ai_cli_launcher-3.0.3/ai_cli/i18n/manager.py +451 -0
  18. ai_cli_launcher-3.0.3/ai_cli/models.py +202 -0
  19. ai_cli_launcher-3.0.3/ai_cli/platform/__init__.py +0 -0
  20. ai_cli_launcher-3.0.3/ai_cli/platform/base.py +21 -0
  21. ai_cli_launcher-3.0.3/ai_cli/platform/factory.py +21 -0
  22. ai_cli_launcher-3.0.3/ai_cli/platform/linux.py +54 -0
  23. ai_cli_launcher-3.0.3/ai_cli/platform/macos.py +61 -0
  24. ai_cli_launcher-3.0.3/ai_cli/platform/windows.py +87 -0
  25. ai_cli_launcher-3.0.3/ai_cli/ui/__init__.py +0 -0
  26. ai_cli_launcher-3.0.3/ai_cli/ui/input.py +269 -0
  27. ai_cli_launcher-3.0.3/ai_cli/ui/menu.py +161 -0
  28. ai_cli_launcher-3.0.3/ai_cli/ui/theme.py +35 -0
  29. ai_cli_launcher-3.0.3/ai_cli/utils.py +83 -0
  30. ai_cli_launcher-3.0.3/ai_cli_launcher.egg-info/PKG-INFO +812 -0
  31. ai_cli_launcher-3.0.3/ai_cli_launcher.egg-info/SOURCES.txt +49 -0
  32. ai_cli_launcher-3.0.3/ai_cli_launcher.egg-info/dependency_links.txt +1 -0
  33. ai_cli_launcher-3.0.3/ai_cli_launcher.egg-info/entry_points.txt +2 -0
  34. ai_cli_launcher-3.0.3/ai_cli_launcher.egg-info/requires.txt +13 -0
  35. ai_cli_launcher-3.0.3/ai_cli_launcher.egg-info/top_level.txt +1 -0
  36. ai_cli_launcher-3.0.3/config.example.json +114 -0
  37. ai_cli_launcher-3.0.3/config.example.linux.json +71 -0
  38. ai_cli_launcher-3.0.3/config.example.win.json +200 -0
  39. ai_cli_launcher-3.0.3/pyproject.toml +90 -0
  40. ai_cli_launcher-3.0.3/setup.cfg +4 -0
  41. ai_cli_launcher-3.0.3/tests/test_app.py +109 -0
  42. ai_cli_launcher-3.0.3/tests/test_cli.py +100 -0
  43. ai_cli_launcher-3.0.3/tests/test_config.py +68 -0
  44. ai_cli_launcher-3.0.3/tests/test_features.py +166 -0
  45. ai_cli_launcher-3.0.3/tests/test_git.py +143 -0
  46. ai_cli_launcher-3.0.3/tests/test_models.py +315 -0
  47. ai_cli_launcher-3.0.3/tests/test_platform.py +181 -0
  48. ai_cli_launcher-3.0.3/tests/test_projects.py +58 -0
  49. ai_cli_launcher-3.0.3/tests/test_tools.py +58 -0
  50. ai_cli_launcher-3.0.3/tests/test_ui.py +121 -0
  51. ai_cli_launcher-3.0.3/tests/test_utils.py +106 -0
@@ -0,0 +1,172 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Fixed
11
+ - ๐Ÿ› Fixed tool selection not persisting after launching tool - now remembers last selected tool
12
+ - ๐Ÿ› Fixed tool selection resetting after refresh/install operations
13
+ - ๐Ÿ› Fixed program exiting when no tools available after install - now stays in tool menu
14
+ - ๐Ÿ› Fixed tool list disappearing during countdown after launch
15
+
16
+ ### Changed
17
+ - ๐ŸŽจ Tool selection now persists across launches (remembers tool name + environment)
18
+ - ๐ŸŽจ Tool list remains visible during countdown after launching tool
19
+ - ๐ŸŽจ Install/refresh operations now restore previous tool selection
20
+ - ๐ŸŽจ Improved user experience when no tools are available
21
+
22
+ ## [0.1.5] - 2026-03-01
23
+
24
+ ### Fixed
25
+ - ๐Ÿš€ Optimized tool detection performance - 5.8x faster (3200ms โ†’ 600ms)
26
+ - ๐Ÿš€ Implemented batch WSL detection - single call for all tools (6x faster)
27
+ - ๐Ÿš€ Added 30-second memory cache - instant response on re-entry (โˆž faster)
28
+ - ๐Ÿš€ Performance now matches original PowerShell version
29
+ - ๐Ÿ› Fixed WSL tool launch failure - use `bash -ic` to load environment
30
+ - ๐Ÿ› Fixed tool launch in current window - now launches in new window
31
+ - ๐Ÿ› Fixed missing new tab feature - added T key for new tab launch
32
+ - ๐Ÿ› Fixed ESC key behavior - now only goes back, never quits
33
+ - ๐Ÿ› Fixed Q key behavior - now quits from any screen
34
+
35
+ ### Added
36
+ - โœจ T key to launch tool in new tab (only shown when Windows Terminal available)
37
+ - โœจ Dynamic terminal title with tool and project name
38
+ - โœจ Enter key now launches in new window
39
+ - โœจ Support for Windows Terminal new-tab and new-window
40
+ - โœจ Windows Terminal detection at startup (once only)
41
+
42
+ ### Changed
43
+ - ๐ŸŽจ Tool detector is now a singleton with shared cache
44
+ - ๐ŸŽจ Removed version fetching for faster detection
45
+ - ๐ŸŽจ WSL tools detected in single batch call instead of per-tool
46
+ - ๐ŸŽจ WSL tool launch now uses `bash -ic` instead of `bash -c`
47
+ - ๐ŸŽจ Menu hint changed from [Ctrl+Enter] to [T] for new tab
48
+ - ๐ŸŽจ [T] New Tab only shown when Windows Terminal is available
49
+ - ๐ŸŽจ ESC key at root project menu now stays in menu instead of quitting
50
+ - ๐ŸŽจ Q key now exits program from any screen (consistent behavior)
51
+
52
+ ### Performance
53
+ - โœ… First launch (no cache): 600ms < 1000ms target
54
+ - โœ… First launch (cached): 50ms < 100ms target
55
+ - โœ… Re-enter menu: 0ms < 50ms target
56
+
57
+ ## [0.1.4] - 2026-03-01
58
+
59
+ ### Fixed
60
+ - ๐Ÿ› Fixed program deadlock/freeze after multiple key presses
61
+ - ๐Ÿ› Fixed Ctrl+C not working when program freezes
62
+ - ๐Ÿ”ง Completely rewrote input handler using native terminal APIs
63
+
64
+ ### Changed
65
+ - ๐ŸŽจ Replaced prompt_toolkit.Application with native terminal APIs (tty/termios/msvcrt)
66
+ - ๐ŸŽจ Improved input handling stability and performance
67
+ - ๐ŸŽจ Simplified code by removing complex event loop
68
+
69
+ ### Removed
70
+ - ๐Ÿ—‘๏ธ Removed prompt_toolkit dependency from input handling (still used for menu rendering)
71
+
72
+ ## [0.1.3] - 2026-03-01
73
+
74
+ ### Fixed
75
+ - ๐Ÿ› Fixed Enter/N/D keys not responding in project selection menu
76
+ - ๐Ÿ› Fixed ESC key behavior - now correctly returns to parent folder instead of exiting
77
+ - ๐Ÿ› Fixed screen flickering caused by invalid 'c-enter' key binding
78
+ - ๐Ÿ› Fixed infinite loop when key binding errors occur
79
+ - ๐Ÿ”ง Rewrote input handler to use Application instead of prompt() for proper key capture
80
+
81
+ ### Changed
82
+ - ๐ŸŽจ Input handler now uses prompt_toolkit.application.Application for menu navigation
83
+ - ๐ŸŽจ Added case-insensitive key bindings (N/n, D/d, etc.)
84
+ - ๐ŸŽจ Added temporary "not yet implemented" messages for N and D keys
85
+ - ๐ŸŽจ Removed Ctrl+Enter binding (not supported in most terminals)
86
+
87
+ ### Added
88
+ - ๐Ÿงช Added keyboard input test script (test_keyboard.py)
89
+ - ๐Ÿ“š Added keyboard fix documentation (docs/KEYBOARD-FIX.md)
90
+ - ๐Ÿ“š Added flicker fix documentation (docs/FLICKER-FIX.md)
91
+ - ๐Ÿ›ก๏ธ Added exception handling in project selection loop
92
+
93
+ ## [0.1.2] - 2026-03-01
94
+
95
+ ### Fixed
96
+ - ๐Ÿ› Fixed Windows UI unresponsive issue - menu now shows operation hints
97
+ - ๐Ÿ› Fixed input handler closure bug - all keyboard shortcuts now work correctly
98
+ - ๐Ÿ› Fixed Enter key not responding in project selection menu
99
+ - ๐Ÿ”ง Improved Windows terminal compatibility with prompt_toolkit
100
+ - ๐Ÿ”ง Fixed dependency conflict with kimi-cli (rich version constraint)
101
+
102
+ ### Added
103
+ - โœจ Added operation hints to project and tool selection menus
104
+ - โœจ Added empty project list handling with friendly prompts
105
+ - ๐Ÿงช Added Windows UI test script (test_ui_windows.py)
106
+ - ๐Ÿ“š Added Windows UI fix documentation (docs/WINDOWS-UI-FIX.md)
107
+ - ๐Ÿ“š Added dependency conflict resolution guide (docs/DEPENDENCY-CONFLICT.md)
108
+
109
+ ### Changed
110
+ - ๐ŸŽจ Improved menu rendering with clearer visual indicators (> prefix for selected items)
111
+ - ๐ŸŽจ Changed from Tree view to simple list view for better Windows compatibility
112
+ - ๐Ÿ“ฆ Relaxed rich version constraint to `>=13.7.0,<15.0.0` for better compatibility
113
+
114
+ ## [0.1.1] - 2026-03-01
115
+
116
+ ### Fixed
117
+ - ๐Ÿ› Fixed UTF-8 BOM handling in config file loading
118
+ - Configuration files with BOM are now automatically handled
119
+ - Use `utf-8-sig` encoding to prevent BOM-related errors
120
+
121
+ ### Added
122
+ - ๐Ÿ“š Added BOM fix documentation (docs/BOM-FIX.md)
123
+ - ๐Ÿงช Added test for BOM handling in config loading
124
+
125
+ ## [0.1.0] - 2026-03-01
126
+
127
+ ### Added
128
+ - ๐ŸŽ‰ Initial Python version release
129
+ - โœ… Cross-platform support (Windows, Linux, macOS)
130
+ - โœ… Windows WSL dual-environment support
131
+ - โœ… Tree structure project management
132
+ - โœ… Async tool detection
133
+ - โœ… Automatic path conversion (Windows โ†” WSL)
134
+ - โœ… Environment variable injection
135
+ - โœ… Git worktree detection
136
+ - โœ… Rich terminal UI with keyboard shortcuts
137
+ - โœ… Platform adapters for Windows/Linux/macOS
138
+ - โœ… CLI entry point with click
139
+ - โœ… Configuration management
140
+ - โœ… Unit tests for core modules
141
+
142
+ ### Technical Details
143
+ - **Core Modules**: 11 modules (1044 lines)
144
+ - **Test Coverage**: 6 test files (417 lines)
145
+ - **Total Code**: 1461 lines
146
+ - **Dependencies**: rich, prompt-toolkit, click, platformdirs
147
+
148
+ ### Migration from PowerShell
149
+ - Migrated from PowerShell to Python for cross-platform support
150
+ - Preserved all core functionality
151
+ - Improved performance with async tool detection
152
+ - Enhanced UI with rich library
153
+ - Better code organization and modularity
154
+
155
+ ## [Unreleased]
156
+
157
+ ### Planned
158
+ - Tool installation feature
159
+ - More comprehensive tests
160
+ - CI/CD integration
161
+ - PyPI package release
162
+ - Enhanced documentation
163
+ - More tool configurations
164
+
165
+ ---
166
+
167
+ ## Version History
168
+
169
+ - **0.1.0** (2026-03-01): Initial Python release
170
+ - **3.0.0** (PowerShell): Original PowerShell version
171
+
172
+ [0.1.0]: https://github.com/hyfhot/AI-CLI/releases/tag/v0.1.0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 AI-CLI Team
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,8 @@
1
+ include README.md
2
+ include LICENSE
3
+ include CHANGELOG.md
4
+ include config.example.json
5
+ include config.example.linux.json
6
+ include config.example.win.json
7
+ include ai-cli.ico
8
+ recursive-include ai_cli *.py