@benzsiangco/jarvis 1.1.0 โ†’ 1.1.26

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/README.md CHANGED
@@ -1,65 +1,487 @@
1
- # Jarvis AI CLI
1
+ # JARVIS - AI Coding Assistant
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@benzsiangco/jarvis.svg)](https://www.npmjs.com/package/@benzsiangco/jarvis)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
 
6
- An AI coding agent with TUI, Web, and Desktop support.
6
+ **Just A Rather Very Intelligent System** - An advanced AI coding agent with Terminal UI, Web UI, and Desktop support.
7
7
 
8
- > **Note:** This tool requires [Bun](https://bun.sh) to be installed on your system.
8
+ > **Latest:** v1.1.1 - Now with Brain system, OAuth configuration, enhanced skills, and Electron desktop support!
9
9
 
10
- ## Installation
10
+ ## โœจ Features
11
11
 
12
- ### From npm (Stable)
12
+ - ๐Ÿง  **Brain System** - Customize JARVIS's core identity and personality
13
+ - ๐Ÿ” **OAuth Configuration** - Deploy in containers with Cloudflare Tunnel support
14
+ - ๐Ÿ“š **Enhanced Skills** - 10+ skill categories (DevOps, Security, Development, etc.)
15
+ - ๐Ÿ–ฅ๏ธ **Three Modes** - Terminal UI, Web UI, or Desktop app
16
+ - ๐Ÿค– **Multi-Provider** - OpenAI, Anthropic, Google AI, and more
17
+ - ๐Ÿ”ง **12 Built-in Tools** - bash, read, write, edit, grep, and more
18
+ - ๐ŸŽจ **Beautiful UI** - Modern, responsive design with dark theme
13
19
 
20
+ ## ๐Ÿš€ Quick Start
21
+
22
+ ### Installation
23
+
24
+ **Full Install (with Desktop app):**
25
+ ```bash
26
+ npm install -g @benzsiangco/jarvis electron
27
+ ```
28
+
29
+ **CLI Only (smaller install):**
14
30
  ```bash
15
31
  npm install -g @benzsiangco/jarvis
16
32
  ```
17
33
 
18
- ### From GitHub (Latest)
34
+ ### Launch JARVIS
35
+
36
+ **Terminal UI:**
37
+ ```bash
38
+ jarvis
39
+ # or
40
+ jarvis tui
41
+ ```
42
+
43
+ **Web UI:**
44
+ ```bash
45
+ jarvis web
46
+ # Opens at http://localhost:5533
47
+ ```
48
+
49
+ **Desktop App:**
50
+ ```bash
51
+ jarvis electron
52
+ # Requires: npm install -g electron
53
+ ```
54
+
55
+ ## ๐Ÿ“– Usage Guide
56
+
57
+ ### Terminal UI (TUI)
58
+
59
+ Launch the interactive terminal interface:
60
+
61
+ ```bash
62
+ jarvis tui
63
+ ```
64
+
65
+ **Key Bindings:**
66
+ - `Ctrl+P` - Open Commands Menu
67
+ - `Ctrl+T` - Switch Model Variants
68
+ - `Ctrl+L` - Clear Chat
69
+ - `Ctrl+N` - New Session
70
+ - `Ctrl+C` - Exit
71
+ - `Up/Down` - Cycle Prompt History
72
+
73
+ **Slash Commands:**
74
+ - `/skills` - Manage skills
75
+ - `/auth` - Connect AI providers
76
+ - `/help` - Show all commands
77
+
78
+ ### Web UI
79
+
80
+ Start the web interface:
81
+
82
+ ```bash
83
+ jarvis web --port 5533
84
+ ```
85
+
86
+ **Access at:** http://localhost:5533
87
+
88
+ **Features:**
89
+ - Modern chat interface
90
+ - Integrated terminal
91
+ - Settings panel
92
+ - Session management
93
+ - Model selector
94
+ - File operations
95
+
96
+ ### Desktop App
97
+
98
+ Launch the Electron desktop app:
99
+
100
+ ```bash
101
+ jarvis electron
102
+ ```
103
+
104
+ **Requirements:**
105
+ - Electron installed (`npm install -g electron`)
106
+
107
+ **Features:**
108
+ - Native window controls
109
+ - System tray integration
110
+ - All web UI features
111
+
112
+ ## ๐Ÿง  Brain System
113
+
114
+ Customize JARVIS's core identity and behavior:
115
+
116
+ ### Via Web UI (Recommended)
117
+ 1. Open `jarvis web`
118
+ 2. Click Settings (โš™๏ธ)
119
+ 3. Go to **Brain** tab
120
+ 4. Edit JARVIS.md
121
+ 5. Click **Commit** to save
122
+
123
+ ### Via File
124
+ Edit `JARVIS.md` in your project directory:
125
+
126
+ ```markdown
127
+ # JARVIS - Just A Rather Very Intelligent System
128
+
129
+ You are JARVIS, an advanced AI coding assistant...
130
+
131
+ ## Core Principles
132
+ - Be precise and thorough
133
+ - Explain your reasoning
134
+ - Prioritize security
135
+ ```
136
+
137
+ Changes apply to all new conversations.
138
+
139
+ ## ๐Ÿ“š Skills System
140
+
141
+ JARVIS includes 10+ skill categories:
142
+
143
+ - **DevOps & Infrastructure** - Linux, Docker, Proxmox
144
+ - **Security & Hacking** - Penetration testing, network security
145
+ - **Software Development** - TypeScript, React, APIs
146
+ - **Automation & Scripting** - SSH, CI/CD pipelines
147
+ - **Database Management** - PostgreSQL, Redis
148
+ - **Monitoring & Observability** - Logging, metrics
149
+
150
+ ### Customize Skills
151
+
152
+ 1. Open Settings โ†’ Intelligence tab
153
+ 2. Edit `skills.md`
154
+ 3. Add your own skills using markdown:
155
+
156
+ ```markdown
157
+ ### Your Skill Name
158
+ - Skill description
159
+ - Key capabilities
160
+ - Best practices
161
+ ```
162
+
163
+ ## ๐Ÿ” OAuth Configuration
164
+
165
+ Perfect for container deployments with Cloudflare Tunnel:
166
+
167
+ ### Setup Custom OAuth Callback
168
+
169
+ 1. **Configure in JARVIS:**
170
+ - Settings โ†’ Accounts โ†’ OAuth Callback Configuration
171
+ - Enter: `https://jarvis.yourdomain.com/oauth-callback`
172
+ - Save
173
+
174
+ 2. **Configure Cloudflare Tunnel:**
175
+ ```yaml
176
+ # ~/.cloudflared/config.yml
177
+ ingress:
178
+ - hostname: jarvis.yourdomain.com
179
+ service: http://localhost:5533
180
+
181
+ - hostname: jarvis.yourdomain.com
182
+ path: /oauth-callback
183
+ service: http://localhost:51121
184
+ ```
185
+
186
+ 3. **Test OAuth:**
187
+ - Settings โ†’ Accounts โ†’ Link Google
188
+ - Should redirect to your custom domain
189
+
190
+ ### Environment Variable
191
+ ```bash
192
+ export JARVIS_OAUTH_CALLBACK_URL="https://jarvis.yourdomain.com/oauth-callback"
193
+ jarvis web
194
+ ```
195
+
196
+ ## ๐Ÿณ Container Deployment
197
+
198
+ ### Docker
199
+
200
+ ```dockerfile
201
+ FROM oven/bun:1
202
+
203
+ WORKDIR /app
204
+
205
+ # Install JARVIS
206
+ RUN npm install -g @benzsiangco/jarvis
207
+
208
+ # Expose ports
209
+ EXPOSE 5533 51121
210
+
211
+ # Start web UI
212
+ CMD ["jarvis", "web"]
213
+ ```
19
214
 
215
+ Run:
20
216
  ```bash
21
- npm install -g git+https://github.com/benzsiangco/jarvis.git
217
+ docker build -t jarvis .
218
+ docker run -p 5533:5533 -p 51121:51121 \
219
+ -e JARVIS_OAUTH_CALLBACK_URL="https://jarvis.yourdomain.com/oauth-callback" \
220
+ jarvis
22
221
  ```
23
222
 
24
- ## Usage
223
+ ### Docker Compose
25
224
 
26
- Simply run:
225
+ ```yaml
226
+ version: '3.8'
227
+ services:
228
+ jarvis:
229
+ image: oven/bun:1
230
+ ports:
231
+ - "5533:5533"
232
+ - "51121:51121"
233
+ environment:
234
+ - JARVIS_OAUTH_CALLBACK_URL=https://jarvis.yourdomain.com/oauth-callback
235
+ command: >
236
+ sh -c "npm install -g @benzsiangco/jarvis && jarvis web"
237
+ ```
238
+
239
+ ## ๐Ÿ› ๏ธ CLI Commands
27
240
 
28
241
  ```bash
242
+ # Terminal UI (default)
29
243
  jarvis
244
+ jarvis tui
245
+
246
+ # Web UI
247
+ jarvis web [--port 5533]
248
+
249
+ # Desktop app
250
+ jarvis electron
251
+
252
+ # Single prompt
253
+ jarvis run "your question here"
254
+
255
+ # Account management
256
+ jarvis auth
257
+
258
+ # List providers
259
+ jarvis providers
260
+
261
+ # List models
262
+ jarvis models
263
+
264
+ # Configuration
265
+ jarvis config [--show] [--path]
266
+
267
+ # Sessions
268
+ jarvis sessions [--list] [--clear]
269
+
270
+ # Initialize project
271
+ jarvis init
272
+ ```
273
+
274
+ ## โš™๏ธ Configuration
275
+
276
+ ### Global Config Location
277
+
278
+ - **Linux/macOS:** `~/.config/jarvis/config.json`
279
+ - **Windows:** `%APPDATA%\jarvis\config.json`
280
+
281
+ ### View Config
282
+ ```bash
283
+ jarvis config --show
284
+ ```
285
+
286
+ ### Edit Config
287
+ Via Web UI: Settings โ†’ Config tab
288
+
289
+ Or edit directly:
290
+ ```json
291
+ {
292
+ "model": "gpt-4o",
293
+ "persona": "hacker",
294
+ "oauth": {
295
+ "callbackUrl": "https://jarvis.yourdomain.com/oauth-callback"
296
+ }
297
+ }
298
+ ```
299
+
300
+ ## ๐Ÿค– Supported AI Providers
301
+
302
+ - **OpenAI** - GPT-4, GPT-4 Turbo, GPT-3.5
303
+ - **Anthropic** - Claude 3.5 Sonnet, Claude 3 Opus
304
+ - **Google** - Gemini 1.5 Pro, Gemini 1.5 Flash
305
+ - **Local** - Ollama, LM Studio
306
+
307
+ ### Connect Provider
308
+
309
+ **Via Web UI:**
310
+ 1. Settings โ†’ Accounts
311
+ 2. Click "Setup Key" or "Link Google"
312
+ 3. Enter API key or authenticate
313
+
314
+ **Via CLI:**
315
+ ```bash
316
+ jarvis auth
30
317
  ```
31
318
 
32
- This will launch the Terminal User Interface (TUI) where you can:
33
- - Chat with AI models (Claude, GPT-4, Gemini, etc.)
34
- - Use slash commands (Type `/` to see options)
35
- - Manage skills (`/skills`)
36
- - Connect accounts (`/auth` or via menu)
319
+ ## ๐Ÿ”ง Built-in Tools
37
320
 
38
- ## Key Bindings
321
+ JARVIS has 12 powerful tools:
39
322
 
40
- - **Ctrl+P**: Open Commands Menu
41
- - **Ctrl+T**: Switch Model Variants (if available)
42
- - **Ctrl+L**: Clear Chat
43
- - **Ctrl+N**: New Session
44
- - **Ctrl+C**: Exit (with summary)
45
- - **Up/Down**: Cycle Prompt History
323
+ - `bash` - Execute shell commands
324
+ - `read` - Read file contents
325
+ - `write` - Create/overwrite files
326
+ - `edit` - Edit existing files
327
+ - `glob` - Find files by pattern
328
+ - `grep` - Search file contents
329
+ - `list` - List directory contents
330
+ - `webfetch` - Fetch web content
331
+ - `task` - Spawn sub-agents
332
+ - `question` - Ask user questions
333
+ - `todoread` - Read todo list
334
+ - `todowrite` - Manage todos
46
335
 
47
- ## Development
336
+ View in: Settings โ†’ Tools tab
48
337
 
49
- To install dependencies:
338
+ ## ๐Ÿ“ฆ Package Details
50
339
 
340
+ **Size:**
341
+ - CLI Only: 3.5 MB
342
+ - With Electron: ~200 MB
343
+
344
+ **What's Included:**
345
+ - Complete source code
346
+ - Web UI (built)
347
+ - Electron app (compiled)
348
+ - CLI bundle
349
+ - Enhanced skills
350
+ - Documentation
351
+
352
+ ## ๐Ÿงช Development
353
+
354
+ ### Prerequisites
355
+ - [Bun](https://bun.sh) runtime
356
+ - Node.js 20+
357
+ - TypeScript 5+
358
+
359
+ ### Install Dependencies
51
360
  ```bash
361
+ git clone https://github.com/benzsiangco/jarvis.git
362
+ cd jarvis
52
363
  bun install
53
364
  ```
54
365
 
55
- To run in development:
366
+ ### Development Mode
367
+ ```bash
368
+ bun run dev # TUI
369
+ bun run web # Web UI dev server
370
+ bun run electron:dev # Electron dev mode
371
+ ```
372
+
373
+ ### Build
374
+ ```bash
375
+ bun run build # CLI bundle
376
+ bun run web:build # Web UI
377
+ bun run electron:compile # Electron app
378
+ ```
56
379
 
380
+ ### Run Tests
57
381
  ```bash
58
- bun run dev
382
+ bun run typecheck
59
383
  ```
60
384
 
61
- To build:
385
+ ## ๐Ÿ“š Documentation
62
386
 
387
+ - [Installation Guide](./INSTALLATION.md) - Detailed installation instructions
388
+ - [Quick Reference](./QUICK_REFERENCE_v1.1.0.md) - Quick start guide
389
+ - [Release Notes](./RELEASE_v1.1.0.md) - Version history
390
+ - [Changelog](./CHANGELOG.md) - All changes
391
+
392
+ ## ๐Ÿ†˜ Troubleshooting
393
+
394
+ ### Electron not found
63
395
  ```bash
64
- bun run build
396
+ npm install -g electron
397
+ jarvis electron
65
398
  ```
399
+
400
+ ### OAuth callback not working
401
+ - Ensure server binds to `0.0.0.0` (automatic in v1.1.0+)
402
+ - Check Cloudflare Tunnel routes `/oauth-callback` to port 51121
403
+ - Verify firewall allows port 51121
404
+
405
+ ### Brain/Skills not applying
406
+ - Click "Commit" to save changes in Settings
407
+ - Start new conversation to see changes
408
+ - Check console for errors
409
+
410
+ ### Web UI won't start
411
+ ```bash
412
+ # Check if Bun is installed
413
+ bun --version
414
+
415
+ # Install Bun if needed
416
+ curl -fsSL https://bun.sh/install | bash
417
+ ```
418
+
419
+ ## ๐ŸŒŸ What's New
420
+
421
+ ### v1.1.1 (Latest)
422
+ - โœ… `jarvis electron` command
423
+ - โœ… Electron as optional dependency
424
+ - โœ… Installation guide
425
+ - โœ… Better error messages
426
+
427
+ ### v1.1.0
428
+ - โœ… Brain System (JARVIS.md editor)
429
+ - โœ… OAuth Callback Configuration
430
+ - โœ… Enhanced Skills (10+ categories)
431
+ - โœ… Tools Tab in Settings
432
+
433
+ ### v1.0.x
434
+ - โœ… Initial release
435
+ - โœ… TUI, Web, Desktop modes
436
+ - โœ… Multi-provider support
437
+
438
+ ## ๐Ÿค Contributing
439
+
440
+ Contributions welcome! Please:
441
+
442
+ 1. Fork the repository
443
+ 2. Create a feature branch
444
+ 3. Make your changes
445
+ 4. Submit a pull request
446
+
447
+ ## ๐Ÿ“„ License
448
+
449
+ MIT License - see [LICENSE](./LICENSE) file for details
450
+
451
+ ## ๐Ÿ”— Links
452
+
453
+ - **NPM Package:** https://www.npmjs.com/package/@benzsiangco/jarvis
454
+ - **GitHub:** https://github.com/benzsiangco/jarvis
455
+ - **Issues:** https://github.com/benzsiangco/jarvis/issues
456
+ - **Releases:** https://github.com/benzsiangco/jarvis/releases
457
+
458
+ ## ๐Ÿ’ก Tips
459
+
460
+ **Customize Brain:**
461
+ ```bash
462
+ jarvis web
463
+ # Settings โ†’ Brain โ†’ Edit JARVIS.md
464
+ ```
465
+
466
+ **Add Domain Skills:**
467
+ ```bash
468
+ # Settings โ†’ Intelligence โ†’ Edit skills.md
469
+ ```
470
+
471
+ **Deploy with Custom Domain:**
472
+ ```bash
473
+ # Settings โ†’ Accounts โ†’ OAuth Config
474
+ # Enter: https://jarvis.yourdomain.com/oauth-callback
475
+ ```
476
+
477
+ **Use Desktop App:**
478
+ ```bash
479
+ npm install -g @benzsiangco/jarvis electron
480
+ jarvis electron
481
+ ```
482
+
483
+ ---
484
+
485
+ **Made with โค๏ธ by Benz Siangco**
486
+
487
+ For help: `jarvis --help` or visit [Documentation](./INSTALLATION.md)