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.
- ai_cli_launcher-3.0.3/CHANGELOG.md +172 -0
- ai_cli_launcher-3.0.3/LICENSE +21 -0
- ai_cli_launcher-3.0.3/MANIFEST.in +8 -0
- ai_cli_launcher-3.0.3/PKG-INFO +812 -0
- ai_cli_launcher-3.0.3/README.md +773 -0
- ai_cli_launcher-3.0.3/ai-cli.ico +0 -0
- ai_cli_launcher-3.0.3/ai_cli/__init__.py +4 -0
- ai_cli_launcher-3.0.3/ai_cli/app.py +890 -0
- ai_cli_launcher-3.0.3/ai_cli/cli.py +161 -0
- ai_cli_launcher-3.0.3/ai_cli/config.py +205 -0
- ai_cli_launcher-3.0.3/ai_cli/core/__init__.py +0 -0
- ai_cli_launcher-3.0.3/ai_cli/core/git.py +132 -0
- ai_cli_launcher-3.0.3/ai_cli/core/installer.py +168 -0
- ai_cli_launcher-3.0.3/ai_cli/core/projects.py +111 -0
- ai_cli_launcher-3.0.3/ai_cli/core/tools.py +229 -0
- ai_cli_launcher-3.0.3/ai_cli/i18n/__init__.py +4 -0
- ai_cli_launcher-3.0.3/ai_cli/i18n/manager.py +451 -0
- ai_cli_launcher-3.0.3/ai_cli/models.py +202 -0
- ai_cli_launcher-3.0.3/ai_cli/platform/__init__.py +0 -0
- ai_cli_launcher-3.0.3/ai_cli/platform/base.py +21 -0
- ai_cli_launcher-3.0.3/ai_cli/platform/factory.py +21 -0
- ai_cli_launcher-3.0.3/ai_cli/platform/linux.py +54 -0
- ai_cli_launcher-3.0.3/ai_cli/platform/macos.py +61 -0
- ai_cli_launcher-3.0.3/ai_cli/platform/windows.py +87 -0
- ai_cli_launcher-3.0.3/ai_cli/ui/__init__.py +0 -0
- ai_cli_launcher-3.0.3/ai_cli/ui/input.py +269 -0
- ai_cli_launcher-3.0.3/ai_cli/ui/menu.py +161 -0
- ai_cli_launcher-3.0.3/ai_cli/ui/theme.py +35 -0
- ai_cli_launcher-3.0.3/ai_cli/utils.py +83 -0
- ai_cli_launcher-3.0.3/ai_cli_launcher.egg-info/PKG-INFO +812 -0
- ai_cli_launcher-3.0.3/ai_cli_launcher.egg-info/SOURCES.txt +49 -0
- ai_cli_launcher-3.0.3/ai_cli_launcher.egg-info/dependency_links.txt +1 -0
- ai_cli_launcher-3.0.3/ai_cli_launcher.egg-info/entry_points.txt +2 -0
- ai_cli_launcher-3.0.3/ai_cli_launcher.egg-info/requires.txt +13 -0
- ai_cli_launcher-3.0.3/ai_cli_launcher.egg-info/top_level.txt +1 -0
- ai_cli_launcher-3.0.3/config.example.json +114 -0
- ai_cli_launcher-3.0.3/config.example.linux.json +71 -0
- ai_cli_launcher-3.0.3/config.example.win.json +200 -0
- ai_cli_launcher-3.0.3/pyproject.toml +90 -0
- ai_cli_launcher-3.0.3/setup.cfg +4 -0
- ai_cli_launcher-3.0.3/tests/test_app.py +109 -0
- ai_cli_launcher-3.0.3/tests/test_cli.py +100 -0
- ai_cli_launcher-3.0.3/tests/test_config.py +68 -0
- ai_cli_launcher-3.0.3/tests/test_features.py +166 -0
- ai_cli_launcher-3.0.3/tests/test_git.py +143 -0
- ai_cli_launcher-3.0.3/tests/test_models.py +315 -0
- ai_cli_launcher-3.0.3/tests/test_platform.py +181 -0
- ai_cli_launcher-3.0.3/tests/test_projects.py +58 -0
- ai_cli_launcher-3.0.3/tests/test_tools.py +58 -0
- ai_cli_launcher-3.0.3/tests/test_ui.py +121 -0
- 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.
|