copilot-liku-cli 0.0.1
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.
- package/ARCHITECTURE.md +411 -0
- package/CONFIGURATION.md +302 -0
- package/CONTRIBUTING.md +225 -0
- package/ELECTRON_README.md +121 -0
- package/INSTALLATION.md +350 -0
- package/LICENSE.md +1 -0
- package/PROJECT_STATUS.md +229 -0
- package/QUICKSTART.md +255 -0
- package/README.md +167 -0
- package/TESTING.md +274 -0
- package/package.json +61 -0
- package/scripts/start.js +30 -0
- package/src/assets/tray-icon.png +0 -0
- package/src/cli/commands/agent.js +327 -0
- package/src/cli/commands/click.js +108 -0
- package/src/cli/commands/drag.js +85 -0
- package/src/cli/commands/find.js +109 -0
- package/src/cli/commands/keys.js +132 -0
- package/src/cli/commands/mouse.js +79 -0
- package/src/cli/commands/repl.js +290 -0
- package/src/cli/commands/screenshot.js +72 -0
- package/src/cli/commands/scroll.js +74 -0
- package/src/cli/commands/start.js +67 -0
- package/src/cli/commands/type.js +57 -0
- package/src/cli/commands/wait.js +84 -0
- package/src/cli/commands/window.js +104 -0
- package/src/cli/liku.js +249 -0
- package/src/cli/util/output.js +174 -0
- package/src/main/agents/base-agent.js +410 -0
- package/src/main/agents/builder.js +484 -0
- package/src/main/agents/index.js +62 -0
- package/src/main/agents/orchestrator.js +362 -0
- package/src/main/agents/researcher.js +511 -0
- package/src/main/agents/state-manager.js +344 -0
- package/src/main/agents/supervisor.js +365 -0
- package/src/main/agents/verifier.js +452 -0
- package/src/main/ai-service.js +1633 -0
- package/src/main/index.js +2208 -0
- package/src/main/inspect-service.js +467 -0
- package/src/main/system-automation.js +1186 -0
- package/src/main/ui-automation/config.js +76 -0
- package/src/main/ui-automation/core/helpers.js +41 -0
- package/src/main/ui-automation/core/index.js +15 -0
- package/src/main/ui-automation/core/powershell.js +82 -0
- package/src/main/ui-automation/elements/finder.js +274 -0
- package/src/main/ui-automation/elements/index.js +14 -0
- package/src/main/ui-automation/elements/wait.js +66 -0
- package/src/main/ui-automation/index.js +164 -0
- package/src/main/ui-automation/interactions/element-click.js +211 -0
- package/src/main/ui-automation/interactions/high-level.js +230 -0
- package/src/main/ui-automation/interactions/index.js +47 -0
- package/src/main/ui-automation/keyboard/index.js +15 -0
- package/src/main/ui-automation/keyboard/input.js +179 -0
- package/src/main/ui-automation/mouse/click.js +186 -0
- package/src/main/ui-automation/mouse/drag.js +88 -0
- package/src/main/ui-automation/mouse/index.js +30 -0
- package/src/main/ui-automation/mouse/movement.js +51 -0
- package/src/main/ui-automation/mouse/scroll.js +116 -0
- package/src/main/ui-automation/screenshot.js +183 -0
- package/src/main/ui-automation/window/index.js +23 -0
- package/src/main/ui-automation/window/manager.js +305 -0
- package/src/main/utils/time.js +62 -0
- package/src/main/visual-awareness.js +597 -0
- package/src/renderer/chat/chat.js +671 -0
- package/src/renderer/chat/index.html +725 -0
- package/src/renderer/chat/preload.js +112 -0
- package/src/renderer/overlay/index.html +648 -0
- package/src/renderer/overlay/overlay.js +782 -0
- package/src/renderer/overlay/preload.js +90 -0
- package/src/shared/grid-math.js +82 -0
- package/src/shared/inspect-types.js +230 -0
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
# Contributing to Copilot-Liku CLI
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing to Copilot-Liku CLI! This guide will help you get started with local development.
|
|
4
|
+
|
|
5
|
+
## Development Setup
|
|
6
|
+
|
|
7
|
+
### Prerequisites
|
|
8
|
+
|
|
9
|
+
- **Node.js** v22 or higher
|
|
10
|
+
- **npm** v10 or higher
|
|
11
|
+
- **Git**
|
|
12
|
+
- (On Windows) **PowerShell** v6 or higher
|
|
13
|
+
|
|
14
|
+
### Initial Setup
|
|
15
|
+
|
|
16
|
+
1. **Fork and clone the repository:**
|
|
17
|
+
```bash
|
|
18
|
+
git clone https://github.com/YOUR-USERNAME/copilot-Liku-cli.git
|
|
19
|
+
cd copilot-Liku-cli
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
2. **Install dependencies:**
|
|
23
|
+
```bash
|
|
24
|
+
npm install
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
3. **Link for global usage (recommended for testing):**
|
|
28
|
+
```bash
|
|
29
|
+
npm link
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
This creates a symlink from your global `node_modules` to your local development directory. Any changes you make will be immediately reflected when you run the `liku` command.
|
|
33
|
+
|
|
34
|
+
4. **Verify the setup:**
|
|
35
|
+
```bash
|
|
36
|
+
liku --version
|
|
37
|
+
liku --help
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Development Workflow
|
|
41
|
+
|
|
42
|
+
#### Testing Your Changes
|
|
43
|
+
|
|
44
|
+
After making changes to the CLI code:
|
|
45
|
+
|
|
46
|
+
1. **Test the CLI commands:**
|
|
47
|
+
```bash
|
|
48
|
+
liku --help # Test help output
|
|
49
|
+
liku start # Test starting the app
|
|
50
|
+
liku click "Button" # Test automation commands
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
2. **Run existing tests:**
|
|
54
|
+
```bash
|
|
55
|
+
npm test # Run test suite
|
|
56
|
+
npm run test:ui # Run UI automation tests
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
3. **Manual testing:**
|
|
60
|
+
```bash
|
|
61
|
+
# Start the application
|
|
62
|
+
liku start
|
|
63
|
+
|
|
64
|
+
# Test specific commands
|
|
65
|
+
liku screenshot
|
|
66
|
+
liku window "VS Code"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
#### Unlinking When Done
|
|
70
|
+
|
|
71
|
+
If you need to unlink your development version:
|
|
72
|
+
```bash
|
|
73
|
+
npm unlink -g copilot-liku-cli
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Or to install the published version:
|
|
77
|
+
```bash
|
|
78
|
+
npm unlink -g copilot-liku-cli
|
|
79
|
+
npm install -g copilot-liku-cli
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Project Structure
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
copilot-Liku-cli/
|
|
86
|
+
├── src/
|
|
87
|
+
│ ├── cli/ # CLI implementation
|
|
88
|
+
│ │ ├── liku.js # Main CLI entry point
|
|
89
|
+
│ │ ├── commands/ # Command implementations
|
|
90
|
+
│ │ └── util/ # CLI utilities
|
|
91
|
+
│ ├── main/ # Electron main process
|
|
92
|
+
│ ├── renderer/ # Electron renderer process
|
|
93
|
+
│ └── shared/ # Shared utilities
|
|
94
|
+
├── scripts/ # Build and test scripts
|
|
95
|
+
├── docs/ # Additional documentation
|
|
96
|
+
└── package.json # Package configuration with bin entry
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Making Changes
|
|
100
|
+
|
|
101
|
+
#### Adding a New CLI Command
|
|
102
|
+
|
|
103
|
+
1. Create a new command file in `src/cli/commands/`:
|
|
104
|
+
```javascript
|
|
105
|
+
// src/cli/commands/mycommand.js
|
|
106
|
+
async function run(args, options) {
|
|
107
|
+
// Command implementation
|
|
108
|
+
console.log('Running my command with args:', args);
|
|
109
|
+
return { success: true };
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
module.exports = { run };
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
2. Register the command in `src/cli/liku.js`:
|
|
116
|
+
```javascript
|
|
117
|
+
const COMMANDS = {
|
|
118
|
+
// ... existing commands
|
|
119
|
+
mycommand: {
|
|
120
|
+
desc: 'Description of my command',
|
|
121
|
+
file: 'mycommand',
|
|
122
|
+
args: '[optional-arg]'
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
3. Test your command:
|
|
128
|
+
```bash
|
|
129
|
+
liku mycommand --help
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
#### Modifying the CLI Parser
|
|
133
|
+
|
|
134
|
+
The main CLI logic is in `src/cli/liku.js`. Key functions:
|
|
135
|
+
- `parseArgs()` - Parses command-line arguments
|
|
136
|
+
- `executeCommand()` - Loads and runs command modules
|
|
137
|
+
- `showHelp()` - Displays help text
|
|
138
|
+
|
|
139
|
+
### Code Style
|
|
140
|
+
|
|
141
|
+
- Follow existing code conventions
|
|
142
|
+
- Use meaningful variable names
|
|
143
|
+
- Add comments for complex logic
|
|
144
|
+
- Keep functions focused and small
|
|
145
|
+
|
|
146
|
+
### Testing Guidelines
|
|
147
|
+
|
|
148
|
+
1. **Test your changes locally** before submitting a PR
|
|
149
|
+
2. **Ensure existing tests pass**: `npm test`
|
|
150
|
+
3. **Add tests for new features** when applicable
|
|
151
|
+
4. **Test cross-platform** if possible (Windows, macOS, Linux)
|
|
152
|
+
|
|
153
|
+
### Submitting Changes
|
|
154
|
+
|
|
155
|
+
1. **Create a feature branch:**
|
|
156
|
+
```bash
|
|
157
|
+
git checkout -b feature/my-feature
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
2. **Make your changes and commit:**
|
|
161
|
+
```bash
|
|
162
|
+
git add .
|
|
163
|
+
git commit -m "Add feature: description"
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
3. **Push to your fork:**
|
|
167
|
+
```bash
|
|
168
|
+
git push origin feature/my-feature
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
4. **Open a Pull Request** on GitHub with:
|
|
172
|
+
- Clear description of changes
|
|
173
|
+
- Reasoning for the changes
|
|
174
|
+
- Any testing performed
|
|
175
|
+
- Screenshots if UI changes
|
|
176
|
+
|
|
177
|
+
### Troubleshooting
|
|
178
|
+
|
|
179
|
+
#### `liku` command not found after `npm link`
|
|
180
|
+
|
|
181
|
+
Make sure npm's global bin directory is in your PATH:
|
|
182
|
+
```bash
|
|
183
|
+
npm bin -g
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Add the output directory to your PATH if needed.
|
|
187
|
+
|
|
188
|
+
#### Changes not reflected when running `liku`
|
|
189
|
+
|
|
190
|
+
1. Verify you're linked to the local version:
|
|
191
|
+
```bash
|
|
192
|
+
which liku # Unix/Mac
|
|
193
|
+
where liku # Windows
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
2. Re-link if needed:
|
|
197
|
+
```bash
|
|
198
|
+
npm unlink -g copilot-liku-cli
|
|
199
|
+
npm link
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
#### Permission errors with `npm link`
|
|
203
|
+
|
|
204
|
+
On some systems, you may need to configure npm to use a user-local prefix:
|
|
205
|
+
```bash
|
|
206
|
+
mkdir ~/.npm-global
|
|
207
|
+
npm config set prefix '~/.npm-global'
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Then add `~/.npm-global/bin` to your PATH.
|
|
211
|
+
|
|
212
|
+
### Additional Resources
|
|
213
|
+
|
|
214
|
+
- [npm link documentation](https://docs.npmjs.com/cli/v10/commands/npm-link)
|
|
215
|
+
- [npm bin configuration](https://docs.npmjs.com/cli/v10/configuring-npm/folders#executables)
|
|
216
|
+
- [Project Architecture](ARCHITECTURE.md)
|
|
217
|
+
- [Testing Guide](TESTING.md)
|
|
218
|
+
|
|
219
|
+
### Getting Help
|
|
220
|
+
|
|
221
|
+
- Check existing [GitHub Issues](https://github.com/TayDa64/copilot-Liku-cli/issues)
|
|
222
|
+
- Join discussions in the repository
|
|
223
|
+
- Review documentation files in the repo
|
|
224
|
+
|
|
225
|
+
Thank you for contributing! 🎉
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Electron Headless Agent + Ultra-Thin Overlay
|
|
2
|
+
|
|
3
|
+
This is an implementation of an Electron-based application with a headless agent architecture and ultra-thin overlay interface.
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+
The application consists of three main components:
|
|
8
|
+
|
|
9
|
+
### 1. Main Process (`src/main/index.js`)
|
|
10
|
+
- Manages overlay window (transparent, full-screen, always-on-top)
|
|
11
|
+
- Manages chat window (small, edge-docked)
|
|
12
|
+
- Handles system tray icon and context menu
|
|
13
|
+
- Registers global hotkeys:
|
|
14
|
+
- `Ctrl+Alt+Space` (or `Cmd+Alt+Space` on macOS): Toggle chat window
|
|
15
|
+
- `Ctrl+Shift+O` (or `Cmd+Shift+O` on macOS): Toggle overlay window
|
|
16
|
+
- Manages IPC communication between windows
|
|
17
|
+
|
|
18
|
+
### 2. Overlay Window (`src/renderer/overlay/`)
|
|
19
|
+
- Full-screen, transparent, always-on-top window
|
|
20
|
+
- Click-through by default (passive mode)
|
|
21
|
+
- Displays a coarse grid of dots (100px spacing)
|
|
22
|
+
- In selection mode, dots become interactive
|
|
23
|
+
- Minimal footprint with vanilla JavaScript
|
|
24
|
+
|
|
25
|
+
### 3. Chat Window (`src/renderer/chat/`)
|
|
26
|
+
- Small window positioned at bottom-right by default
|
|
27
|
+
- Contains:
|
|
28
|
+
- Chat history display
|
|
29
|
+
- Mode controls (Passive/Selection)
|
|
30
|
+
- Input field for commands
|
|
31
|
+
- Hidden by default, shown via hotkey or tray icon
|
|
32
|
+
|
|
33
|
+
## Installation
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm install
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Running the Application
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm start
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Usage
|
|
46
|
+
|
|
47
|
+
1. **Launch the application** - The overlay starts in passive mode (click-through)
|
|
48
|
+
2. **Open chat window** - Click tray icon or press `Ctrl+Alt+Space`
|
|
49
|
+
3. **Enable selection mode** - Click "Selection" button in chat window
|
|
50
|
+
4. **Select dots** - Click any dot on the overlay to select it
|
|
51
|
+
5. **Return to passive mode** - Automatically switches back after selection, or click "Passive" button
|
|
52
|
+
|
|
53
|
+
## Modes
|
|
54
|
+
|
|
55
|
+
### Passive Mode
|
|
56
|
+
- Overlay is completely click-through
|
|
57
|
+
- Users can interact with applications normally
|
|
58
|
+
- Overlay is invisible to mouse events
|
|
59
|
+
|
|
60
|
+
### Selection Mode
|
|
61
|
+
- Overlay captures mouse events
|
|
62
|
+
- Dots become interactive
|
|
63
|
+
- Click dots to select screen positions
|
|
64
|
+
- Automatically returns to passive mode after selection
|
|
65
|
+
|
|
66
|
+
## Platform-Specific Behavior
|
|
67
|
+
|
|
68
|
+
### macOS
|
|
69
|
+
- Uses `screen-saver` window level to float above fullscreen apps
|
|
70
|
+
- Hides from Dock
|
|
71
|
+
- Tray icon appears in menu bar
|
|
72
|
+
|
|
73
|
+
### Windows
|
|
74
|
+
- Uses standard `alwaysOnTop` behavior
|
|
75
|
+
- Tray icon appears in system tray
|
|
76
|
+
- Works with most windowed applications
|
|
77
|
+
|
|
78
|
+
## Architecture Benefits
|
|
79
|
+
|
|
80
|
+
1. **Minimal footprint**: Single overlay renderer with vanilla JS, no heavy frameworks
|
|
81
|
+
2. **Non-intrusive**: Overlay is transparent and sparse; chat is at screen edge
|
|
82
|
+
3. **Performance**: Click-through mode prevents unnecessary event processing
|
|
83
|
+
4. **Extensibility**: IPC message system ready for agent integration
|
|
84
|
+
5. **Cross-platform**: Works on macOS and Windows with appropriate adaptations
|
|
85
|
+
|
|
86
|
+
## Future Enhancements
|
|
87
|
+
|
|
88
|
+
- Agent integration (LLM-based reasoning)
|
|
89
|
+
- Screen capture and analysis
|
|
90
|
+
- Fine grid mode for precise targeting
|
|
91
|
+
- Highlight layers for suggested targets
|
|
92
|
+
- Persistent window positioning
|
|
93
|
+
- Custom tray icon
|
|
94
|
+
- Task list implementation
|
|
95
|
+
- Settings panel
|
|
96
|
+
|
|
97
|
+
## Development
|
|
98
|
+
|
|
99
|
+
The application follows Electron best practices:
|
|
100
|
+
- Context isolation enabled
|
|
101
|
+
- Node integration disabled in renderers
|
|
102
|
+
- Preload scripts for secure IPC
|
|
103
|
+
- Minimal renderer dependencies
|
|
104
|
+
- Single persistent windows (no repeated creation/destruction)
|
|
105
|
+
|
|
106
|
+
## File Structure
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
src/
|
|
110
|
+
├── main/
|
|
111
|
+
│ └── index.js # Main process
|
|
112
|
+
├── renderer/
|
|
113
|
+
│ ├── overlay/
|
|
114
|
+
│ │ ├── index.html # Overlay UI
|
|
115
|
+
│ │ └── preload.js # Overlay IPC bridge
|
|
116
|
+
│ └── chat/
|
|
117
|
+
│ ├── index.html # Chat UI
|
|
118
|
+
│ └── preload.js # Chat IPC bridge
|
|
119
|
+
└── assets/
|
|
120
|
+
└── tray-icon.png # System tray icon (placeholder)
|
|
121
|
+
```
|
package/INSTALLATION.md
ADDED
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
# Installation Guide
|
|
2
|
+
|
|
3
|
+
This guide covers multiple installation methods for the Copilot-Liku CLI across different platforms.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Quick Install (npm)](#quick-install-npm)
|
|
8
|
+
- [Platform-Specific Installation](#platform-specific-installation)
|
|
9
|
+
- [macOS](#macos)
|
|
10
|
+
- [Windows](#windows)
|
|
11
|
+
- [Linux](#linux)
|
|
12
|
+
- [Local Development](#local-development)
|
|
13
|
+
- [Troubleshooting](#troubleshooting)
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Quick Install (npm)
|
|
18
|
+
|
|
19
|
+
The fastest way to install Liku is via npm:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install -g copilot-liku-cli
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Verify installation:
|
|
26
|
+
```bash
|
|
27
|
+
liku --version
|
|
28
|
+
liku --help
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Start using Liku:
|
|
32
|
+
```bash
|
|
33
|
+
liku start
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Platform-Specific Installation
|
|
39
|
+
|
|
40
|
+
### macOS
|
|
41
|
+
|
|
42
|
+
#### Option 1: npm (Recommended)
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm install -g copilot-liku-cli
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
#### Option 2: Homebrew (Coming Soon)
|
|
49
|
+
|
|
50
|
+
Once we set up a Homebrew tap, you'll be able to install via:
|
|
51
|
+
```bash
|
|
52
|
+
brew tap TayDa64/liku
|
|
53
|
+
brew install liku
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Benefits of Homebrew:**
|
|
57
|
+
- Automatic updates via `brew upgrade`
|
|
58
|
+
- Better integration with macOS
|
|
59
|
+
- Easy uninstallation
|
|
60
|
+
|
|
61
|
+
#### Verify Installation
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
liku --version
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Windows
|
|
68
|
+
|
|
69
|
+
#### Option 1: npm (Recommended)
|
|
70
|
+
|
|
71
|
+
Open PowerShell or Command Prompt:
|
|
72
|
+
```powershell
|
|
73
|
+
npm install -g copilot-liku-cli
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
#### Option 2: Scoop (Coming Soon)
|
|
77
|
+
|
|
78
|
+
Once we set up a Scoop manifest, you'll be able to install via:
|
|
79
|
+
```powershell
|
|
80
|
+
scoop bucket add liku https://github.com/TayDa64/scoop-liku
|
|
81
|
+
scoop install liku
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
#### Option 3: Chocolatey (Coming Soon)
|
|
85
|
+
|
|
86
|
+
```powershell
|
|
87
|
+
choco install copilot-liku-cli
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Benefits of Scoop/Chocolatey:**
|
|
91
|
+
- Automatic updates
|
|
92
|
+
- System-wide installation
|
|
93
|
+
- Easy uninstallation
|
|
94
|
+
|
|
95
|
+
#### Verify Installation
|
|
96
|
+
|
|
97
|
+
```powershell
|
|
98
|
+
liku --version
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Linux
|
|
102
|
+
|
|
103
|
+
#### Option 1: npm (Recommended)
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
npm install -g copilot-liku-cli
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
#### Option 2: Distribution Packages (Future)
|
|
110
|
+
|
|
111
|
+
We plan to provide `.deb` and `.rpm` packages for easy installation on Debian/Ubuntu and Red Hat/Fedora systems.
|
|
112
|
+
|
|
113
|
+
**Ubuntu/Debian (Coming Soon):**
|
|
114
|
+
```bash
|
|
115
|
+
wget https://github.com/TayDa64/copilot-Liku-cli/releases/latest/download/liku.deb
|
|
116
|
+
sudo dpkg -i liku.deb
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Red Hat/Fedora (Coming Soon):**
|
|
120
|
+
```bash
|
|
121
|
+
wget https://github.com/TayDa64/copilot-Liku-cli/releases/latest/download/liku.rpm
|
|
122
|
+
sudo rpm -i liku.rpm
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### Verify Installation
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
liku --version
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Local Development
|
|
134
|
+
|
|
135
|
+
For contributors and developers who want to work on the Liku CLI source code:
|
|
136
|
+
|
|
137
|
+
### 1. Clone the Repository
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
git clone https://github.com/TayDa64/copilot-Liku-cli.git
|
|
141
|
+
cd copilot-Liku-cli
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### 2. Install Dependencies
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
npm install
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### 3. Link for Global Usage
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
npm link
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
This creates a symbolic link from your global `node_modules` to your local development directory. Any changes you make will be immediately available when you run `liku`.
|
|
157
|
+
|
|
158
|
+
### 4. Verify Setup
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
liku --version
|
|
162
|
+
liku --help
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
For more details on contributing, see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Troubleshooting
|
|
170
|
+
|
|
171
|
+
### Command Not Found
|
|
172
|
+
|
|
173
|
+
If you see `liku: command not found` after installation:
|
|
174
|
+
|
|
175
|
+
#### Check npm global path
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
npm bin -g
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
#### Add npm global bin to PATH
|
|
182
|
+
|
|
183
|
+
**macOS/Linux:**
|
|
184
|
+
Add this to your `~/.bashrc`, `~/.zshrc`, or `~/.profile`:
|
|
185
|
+
```bash
|
|
186
|
+
export PATH="$(npm bin -g):$PATH"
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**Windows PowerShell:**
|
|
190
|
+
Add to your PowerShell profile:
|
|
191
|
+
```powershell
|
|
192
|
+
$env:PATH += ";$(npm bin -g)"
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Or permanently via System Properties → Environment Variables.
|
|
196
|
+
|
|
197
|
+
### Permission Errors (npm global install)
|
|
198
|
+
|
|
199
|
+
#### Option 1: Use a Node version manager (Recommended)
|
|
200
|
+
|
|
201
|
+
Install Node via [nvm](https://github.com/nvm-sh/nvm) (Unix/Mac) or [nvm-windows](https://github.com/coreybutler/nvm-windows):
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# Unix/Mac
|
|
205
|
+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
|
|
206
|
+
nvm install 22
|
|
207
|
+
nvm use 22
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
#### Option 2: Configure npm to use a user directory
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
mkdir ~/.npm-global
|
|
214
|
+
npm config set prefix '~/.npm-global'
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Then add `~/.npm-global/bin` to your PATH.
|
|
218
|
+
|
|
219
|
+
#### Option 3: Use sudo (Not Recommended)
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
sudo npm install -g copilot-liku-cli
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Note:** Using sudo can cause permission issues later. We recommend Option 1 or 2.
|
|
226
|
+
|
|
227
|
+
### Package Version Issues
|
|
228
|
+
|
|
229
|
+
#### Update to Latest Version
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
npm update -g copilot-liku-cli
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
#### Force Reinstall
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
npm uninstall -g copilot-liku-cli
|
|
239
|
+
npm install -g copilot-liku-cli
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Multiple Node Versions
|
|
243
|
+
|
|
244
|
+
If you have multiple Node versions installed, ensure you're using the correct one:
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
node --version # Should be v22 or higher
|
|
248
|
+
which node # Shows which Node is in use
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### Windows-Specific Issues
|
|
252
|
+
|
|
253
|
+
#### PowerShell Execution Policy
|
|
254
|
+
|
|
255
|
+
If you see execution policy errors:
|
|
256
|
+
```powershell
|
|
257
|
+
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
#### Path Length Limitations
|
|
261
|
+
|
|
262
|
+
Windows has path length limitations. If you encounter errors, try:
|
|
263
|
+
1. Enable long path support (Windows 10 1607+)
|
|
264
|
+
2. Install in a shorter path
|
|
265
|
+
|
|
266
|
+
### Verifying Installation
|
|
267
|
+
|
|
268
|
+
Run these commands to verify everything is working:
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
# Check version
|
|
272
|
+
liku --version
|
|
273
|
+
|
|
274
|
+
# Show help
|
|
275
|
+
liku --help
|
|
276
|
+
|
|
277
|
+
# Test a simple command
|
|
278
|
+
liku screenshot --help
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## Updating Liku
|
|
284
|
+
|
|
285
|
+
### npm Installation
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
npm update -g copilot-liku-cli
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### Homebrew (macOS)
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
brew upgrade liku
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### Scoop (Windows)
|
|
298
|
+
|
|
299
|
+
```powershell
|
|
300
|
+
scoop update liku
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Local Development
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
cd copilot-Liku-cli
|
|
307
|
+
git pull origin main
|
|
308
|
+
npm install
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Uninstalling
|
|
314
|
+
|
|
315
|
+
### npm
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
npm uninstall -g copilot-liku-cli
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### Homebrew
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
brew uninstall liku
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Scoop
|
|
328
|
+
|
|
329
|
+
```powershell
|
|
330
|
+
scoop uninstall liku
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Local Development Link
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
npm unlink -g copilot-liku-cli
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
## Next Steps
|
|
342
|
+
|
|
343
|
+
After installation:
|
|
344
|
+
|
|
345
|
+
1. **Start the application:** `liku start`
|
|
346
|
+
2. **Read the Quick Start:** [QUICKSTART.md](QUICKSTART.md)
|
|
347
|
+
3. **Explore commands:** `liku --help`
|
|
348
|
+
4. **Read the full guide:** [README.md](README.md)
|
|
349
|
+
|
|
350
|
+
For issues or questions, please visit our [GitHub Issues](https://github.com/TayDa64/copilot-Liku-cli/issues).
|
package/LICENSE.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Copyright (c) GitHub 2025. All rights reserved. Use is subject to GitHub's [Pre-release License Terms](https://docs.github.com/en/site-policy/github-terms/github-pre-release-license-terms)
|