scalix 1.4.1 → 1.5.0

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.
@@ -1,301 +0,0 @@
1
- # Scalix Coder — Distribution Guide
2
-
3
- This document covers how to build, distribute, and install Scalix Coder for end users **without exposing source code**.
4
-
5
- ---
6
-
7
- ## Table of Contents
8
-
9
- 1. [Overview](#overview)
10
- 2. [Building a Release](#building-a-release)
11
- 3. [What's in the Release](#whats-in-the-release)
12
- 4. [Hosting the Release](#hosting-the-release)
13
- 5. [One-Line Installer Setup](#one-line-installer-setup)
14
- 6. [Manual Installation](#manual-installation)
15
- 7. [VS Code Extension](#vs-code-extension)
16
- 8. [Updating Users](#updating-users)
17
- 9. [Troubleshooting](#troubleshooting)
18
-
19
- ---
20
-
21
- ## Overview
22
-
23
- Scalix Coder is distributed as **compiled JavaScript** — no TypeScript source code is included. Users receive:
24
-
25
- - Pre-compiled `.js` files (from `dist/`)
26
- - A CLI entry point (`bin/scalix.js`)
27
- - One-click install scripts for Windows and Mac/Linux
28
- - The VS Code extension (`.vsix` file)
29
-
30
- **What's included:**
31
- - 31 built-in tools (shell, file, git, web, browser, vision, voice, and more)
32
- - Security sandbox with path restriction, command blocklist, and injection detection
33
- - IPC server mode for VS Code extension integration
34
-
35
- **Requirements for end users:**
36
- - Node.js 18 or higher
37
- - npm (comes with Node.js)
38
- - Windows 10+, macOS 12+, or Linux
39
-
40
- ---
41
-
42
- ## Building a Release
43
-
44
- From the project root, run:
45
-
46
- ```bash
47
- npm run release
48
- ```
49
-
50
- This will:
51
- 1. Compile TypeScript to JavaScript (`tsc`)
52
- 2. Package everything into `release/` directory
53
- 3. Create both `.tar.gz` (Mac/Linux) and `.zip` (Windows) archives
54
- 4. Include the VS Code extension `.vsix` if available
55
- 5. Strip `devDependencies` and dev scripts from `package.json`
56
-
57
- **Output:**
58
- ```
59
- release/
60
- ├── scalix-coder-v3.0.0/ # Extracted release folder
61
- │ ├── dist/ # Compiled JavaScript (NO source code)
62
- │ ├── bin/scalix.js # CLI entry point
63
- │ ├── package.json # Dependencies only
64
- │ ├── package-lock.json # Lockfile
65
- │ ├── install.bat # Windows installer
66
- │ ├── install.sh # Mac/Linux installer
67
- │ ├── scalix-coder-0.2.0.vsix # VS Code extension
68
- │ ├── README.md
69
- │ ├── LICENSE
70
- │ └── CHANGELOG.md
71
- ├── scalix-coder-v3.0.0.tar.gz # Mac/Linux archive
72
- └── scalix-coder-v3.0.0.zip # Windows archive
73
- ```
74
-
75
- ---
76
-
77
- ## What's in the Release
78
-
79
- ### Included
80
- | Item | Description |
81
- |---|---|
82
- | `dist/*.js` | Compiled JavaScript (agent, tools, CLI, etc.) |
83
- | `bin/scalix.js` | CLI entry point — runs `dist/cli.js` |
84
- | `package.json` | Production dependencies only |
85
- | `install.bat` | One-click Windows installer |
86
- | `install.sh` | One-click Mac/Linux installer |
87
- | `*.vsix` | VS Code extension package |
88
- | `README.md` | User documentation |
89
- | `LICENSE` | License file |
90
-
91
- ### NOT Included (Protected)
92
- | Item | Why excluded |
93
- |---|---|
94
- | `src/*.ts` / `src/*.tsx` | Source code — proprietary |
95
- | `tests/` | Internal test suite |
96
- | `tsconfig.json` | Build configuration |
97
- | `eslint.config.js` | Lint configuration |
98
- | `vitest.config.ts` | Test configuration |
99
- | `scripts/` | Build scripts |
100
- | `.claude/` | Claude Code settings |
101
- | `.scalix/` | Project memory |
102
- | `devDependencies` | Development tools |
103
-
104
- ---
105
-
106
- ## Hosting the Release
107
-
108
- Upload the release archives to any file hosting. Options:
109
-
110
- ### Option A: Your Own Website / Server
111
- ```
112
- https://scalix.world/releases/scalix-coder-v3.0.0.tar.gz
113
- https://scalix.world/releases/scalix-coder-v3.0.0.zip
114
- https://scalix.world/install.sh
115
- https://scalix.world/install.ps1
116
- ```
117
-
118
- ### Option B: AWS S3 / Google Cloud Storage
119
- ```bash
120
- # Upload to S3
121
- aws s3 cp release/scalix-coder-v3.0.0.tar.gz s3://your-bucket/releases/
122
- aws s3 cp release/scalix-coder-v3.0.0.zip s3://your-bucket/releases/
123
- aws s3 cp scripts/install-remote.sh s3://your-bucket/install.sh
124
- aws s3 cp scripts/install-remote.ps1 s3://your-bucket/install.ps1
125
- ```
126
-
127
- ### Option C: GitHub Releases (on a separate public repo)
128
- Create a public repo (e.g., `scalix-coder-releases`) and upload the archives as release assets.
129
-
130
- **After uploading, update the URLs in:**
131
- - `scripts/install-remote.sh` — change `your-domain.com` to your actual URL
132
- - `scripts/install-remote.ps1` — change `your-domain.com` to your actual URL
133
-
134
- ---
135
-
136
- ## One-Line Installer Setup
137
-
138
- Once files are hosted, users install with a single command:
139
-
140
- ### Mac / Linux
141
- ```bash
142
- curl -fsSL https://scalix.world/install.sh | bash
143
- ```
144
-
145
- ### Windows (PowerShell)
146
- ```powershell
147
- irm https://scalix.world/install.ps1 | iex
148
- ```
149
-
150
- ### What the installer does:
151
- 1. Checks Node.js 18+ is installed
152
- 2. Downloads the release archive
153
- 3. Extracts to `~/.scalix-coder/`
154
- 4. Runs `npm install --omit=dev`
155
- 5. Runs `npm link` to register the `scalix` command globally
156
- 6. Done — user types `scalix` in any terminal
157
-
158
- ### Custom Download URL
159
- Users can override the download URL:
160
- ```bash
161
- SCALIX_DOWNLOAD_URL=https://internal.company.com/scalix.tar.gz curl -fsSL https://scalix.world/install.sh | bash
162
- ```
163
-
164
- ---
165
-
166
- ## Manual Installation
167
-
168
- If users prefer manual installation:
169
-
170
- ### Windows
171
- 1. Download `scalix-coder-v3.0.0.zip`
172
- 2. Extract the zip file
173
- 3. Open the extracted folder
174
- 4. Double-click `install.bat`
175
- 5. Open any terminal and type `scalix`
176
-
177
- ### Mac / Linux
178
- ```bash
179
- tar -xzf scalix-coder-v3.0.0.tar.gz
180
- cd scalix-coder-v3.0.0
181
- ./install.sh
182
- ```
183
-
184
- ### Manual (No Installer Script)
185
- ```bash
186
- tar -xzf scalix-coder-v3.0.0.tar.gz
187
- cd scalix-coder-v3.0.0
188
- npm install --omit=dev --legacy-peer-deps
189
- sudo npm link # or without sudo on Windows
190
- scalix
191
- ```
192
-
193
- ---
194
-
195
- ## VS Code Extension
196
-
197
- The VS Code extension (`.vsix` file) is bundled in the release.
198
-
199
- ### Install
200
- 1. Open VS Code
201
- 2. Press `Ctrl+Shift+P` (or `Cmd+Shift+P` on Mac)
202
- 3. Type **"Extensions: Install from VSIX"**
203
- 4. Select `scalix-coder-0.2.0.vsix` from the extracted folder
204
- 5. Reload VS Code
205
-
206
- ### Features
207
- - Sidebar chat panel with AI assistant
208
- - Right-click: Explain / Fix / Refactor code selection
209
- - Model picker and mode selector via slash commands
210
- - Integrated terminal (`Ctrl+Shift+T`)
211
- - Open chat in editor area (`Ctrl+Shift+K`)
212
-
213
- ### Configure
214
- 1. Press `Ctrl+,` to open Settings
215
- 2. Search for "Scalix"
216
- 3. Enter your API key
217
- 4. Or type `/setup` in the chat
218
-
219
- ---
220
-
221
- ## Updating Users
222
-
223
- When releasing a new version:
224
-
225
- 1. Update `version` in `package.json`
226
- 2. Run `npm run release`
227
- 3. Upload new archives to your hosting (overwrite or add new version)
228
- 4. Update version number in `scripts/install-remote.sh` and `scripts/install-remote.ps1`
229
- 5. Users re-run the one-liner to update:
230
- ```bash
231
- curl -fsSL https://scalix.world/install.sh | bash
232
- ```
233
-
234
- ### Versioning
235
- - CLI version: `package.json` → `version` (currently `3.1.0`)
236
- - Extension version: `vscode-extension/package.json` → `version` (currently `0.2.0`)
237
- - Both versions should be bumped together for coordinated releases
238
-
239
- ---
240
-
241
- ## Troubleshooting
242
-
243
- ### "scalix" command not found after install
244
- ```bash
245
- # Check if npm global bin is in PATH
246
- npm bin -g
247
-
248
- # On Mac/Linux, add to ~/.bashrc or ~/.zshrc:
249
- export PATH="$(npm bin -g):$PATH"
250
-
251
- # On Windows, npm global bin is usually already in PATH.
252
- # If not, run install.bat as Administrator.
253
- ```
254
-
255
- ### Permission denied on Mac/Linux
256
- ```bash
257
- sudo npm link
258
- # or
259
- sudo ./install.sh
260
- ```
261
-
262
- ### Node.js version too old
263
- ```bash
264
- node -v # Must be v18+
265
- ```
266
- Download latest from https://nodejs.org/
267
-
268
- ### API key not working
269
- - Run `/setup` in the chat to re-enter your key
270
- - Or set the environment variable: `export SCALIX_API_KEY=sk-...`
271
- - Check Settings in VS Code: `Ctrl+,` → search "Scalix"
272
-
273
- ### Rate limited
274
- The agent retries automatically up to 5 times with backoff. If you still see rate limit errors, wait 60 seconds and try again.
275
-
276
- ---
277
-
278
- ## Security Notes
279
-
280
- - **No source code** is distributed — only compiled JavaScript
281
- - API keys are stored locally at `~/.scalix-coder/config.json` (file permissions: 600)
282
- - Shell commands have a blocklist for destructive patterns
283
- - Path traversal is blocked — tools cannot access files outside the workspace
284
- - All buffers and collections are bounded to prevent memory exhaustion
285
- - Background processes auto-cleanup after 5 minutes
286
- - The VS Code extension uses VS Code's Content Security Policy for the webview
287
- - All webview user content is HTML-escaped before rendering
288
-
289
- ---
290
-
291
- ## Quick Reference
292
-
293
- | Task | Command |
294
- |---|---|
295
- | Build release | `npm run release` |
296
- | Build TypeScript | `npm run build` |
297
- | Run tests | `npm run test` |
298
- | Type-check | `npm run typecheck` |
299
- | Lint | `npm run lint` |
300
- | All checks | `npm run check` |
301
- | Build VS Code ext | `cd vscode-extension && npm run build && npm run package` |