terminal-jarvis 0.0.35 β†’ 0.0.37

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
@@ -6,223 +6,119 @@
6
6
  [![NPM Stable](https://img.shields.io/npm/v/terminal-jarvis/stable.svg?label=stable&color=green)](https://www.npmjs.com/package/terminal-jarvis)
7
7
  [![NPM Beta](https://img.shields.io/npm/v/terminal-jarvis/beta.svg?label=beta&color=orange)](https://www.npmjs.com/package/terminal-jarvis)
8
8
 
9
- A thin Rust wrapper that provides a unified interface for managing and running AI coding tools like claude-code, gemini-cli, qwen-code, and opencode. Think of it as a package manager and runner for AI coding assistants.
9
+ A unified command center for AI coding tools. Manage and run claude-code, gemini-cli, qwen-code, opencode, and llxprt from one beautiful terminal interface.
10
10
 
11
- πŸŽ‰ **Now available on NPM!** Get started instantly with `npx terminal-jarvis`
11
+ <img src="screenshots/promo_image_for_readme.png" alt="Terminal Jarvis Interface" width="100%">
12
12
 
13
- ## Quick Start
13
+ ----
14
+
15
+ πŸŽ‰ **Try it instantly:** `npx terminal-jarvis`
14
16
 
15
- ### Choose Your Installation Channel
17
+ ⚠️ **Known Issues**: [View current limitations and workarounds](docs/LIMITATIONS.md)
18
+
19
+ ## Quick Start
16
20
 
17
21
  ```bash
18
- # Try it instantly with npx (no installation required)
22
+ # Try instantly (no installation required)
19
23
  npx terminal-jarvis
20
24
 
21
- # Install latest version (default)
25
+ # Install globally for regular use
22
26
  npm install -g terminal-jarvis
23
27
 
24
28
  # Install stable version (recommended for production)
25
29
  npm install -g terminal-jarvis@stable
26
-
27
- # Install beta version (for testing new features)
28
- npm install -g terminal-jarvis@beta
29
-
30
- # For full functionality, install from source:
31
- cargo install --git https://github.com/BA-CalderonMorales/terminal-jarvis
32
30
  ```
33
31
 
34
- ### Installation Channels Explained
32
+ **πŸ“‹ Prerequisites:**
35
33
 
36
- - **Latest** (`terminal-jarvis`): Most recently published version
37
- - **Stable** (`terminal-jarvis@stable`): Production-ready, thoroughly tested releases
38
- - **Beta** (`terminal-jarvis@beta`): Preview versions with experimental features
34
+ - Node.js and NPM
35
+ - **macOS users**: [Rust toolchain required](docs/INSTALLATION.md#macos-prerequisites)
39
36
 
40
- > **Note**: The current NPM version (0.0.23) includes full binary functionality with the complete T.JARVIS interface. No additional installation required!
37
+ **πŸ“– Full installation guide:** [docs/INSTALLATION.md](docs/INSTALLATION.md)
41
38
 
42
- ## Features
39
+ ## What Terminal Jarvis Does
43
40
 
44
- Terminal Jarvis serves as your AI coding assistant command center, providing:
41
+ Terminal Jarvis is your AI coding assistant command center:
45
42
 
46
- - **πŸ€– Interactive T.JARVIS Interface**: Sleek terminal UI with ASCII art logo and responsive design
47
- - **πŸš€ One-Click Tool Management**: Install, update, and run AI coding tools seamlessly
48
- - **πŸ“¦ Smart Installation Detection**: Automatically detects installed tools and their status
49
- - **⚑ Quick Launch Mode**: Run tools directly from the interactive interface
50
- - **πŸ”§ Built-in Tool Support**:
43
+ - **πŸ€– Interactive T.JARVIS Interface**: Beautiful ASCII art terminal UI with responsive design
44
+ - **⚑ One-Click Tool Management**: Install, update, and run AI coding tools seamlessly
45
+ - **οΏ½ Supported Tools**:
51
46
  - `claude` - Anthropic's Claude for code assistance
52
47
  - `gemini` - Google's Gemini CLI tool
53
48
  - `qwen` - Qwen coding assistant
54
- - `opencode` - OpenCode AI coding agent built for the terminal
55
- - `llxprt` - LLxprt Code multi-provider AI coding assistant with enhanced features
56
- - **🎯 Intelligent NPM Validation**: Warns about missing dependencies and provides installation guidance
57
- - **πŸ“± Responsive Design**: Adapts to your terminal width for optimal display
58
- - **πŸ”„ Background Process Support**: Handles long-running tools appropriately
59
- - **πŸ’¬ Interactive Argument Input**: Prompt-based argument collection for tools
60
- - **πŸ› οΈ Management Menu**: Organized options for installing, updating, and getting tool information
49
+ - `opencode` - Terminal-based AI coding agent πŸ§ͺ
50
+ - `llxprt` - Multi-provider AI coding assistant πŸ§ͺ
51
+ - **πŸ“Š Smart Status Detection**: See which tools are installed and ready to use
52
+ - **οΏ½ Interactive Workflows**: Guided prompts for running tools with the right arguments
61
53
 
62
- ## Installation
54
+ πŸ§ͺ = _Looking for testers! These tools are new additions._
63
55
 
64
- ### NPM (Recommended)
56
+ ## How to Use Terminal Jarvis
65
57
 
66
- ```bash
67
- # Install globally via NPM
68
- npm install -g terminal-jarvis
69
-
70
- # Or run directly with npx (no installation required)
71
- npx terminal-jarvis
72
- ```
73
-
74
- ### From Source
58
+ ### Interactive Mode (Recommended)
75
59
 
76
60
  ```bash
77
- # Clone the repository
78
- git clone https://github.com/BA-CalderonMorales/terminal-jarvis.git
79
- cd terminal-jarvis
80
-
81
- # Build the project
82
- cargo build --release
83
-
84
- # Install globally (optional)
85
- cargo install --path .
61
+ # Launch the full T.JARVIS experience
62
+ terminal-jarvis
86
63
  ```
87
64
 
88
- ## Usage
65
+ Get the complete interface with:
89
66
 
90
- ### Basic Commands
67
+ - 🎨 Beautiful ASCII art welcome screen
68
+ - πŸ“Š Real-time tool status dashboard
69
+ - ⚑ Quick tool selection and launching
70
+ - πŸ”§ Built-in management options
71
+ - πŸ’‘ Smart guidance and tips
72
+
73
+ ### Direct Commands
91
74
 
92
75
  ```bash
93
- # Launch interactive T.JARVIS interface (recommended)
94
- terminal-jarvis
76
+ # Install and manage tools
77
+ terminal-jarvis install claude
78
+ terminal-jarvis update # Update all tools
79
+ terminal-jarvis list # Show tool status
80
+ terminal-jarvis info claude # Tool details
95
81
 
96
- # Or use direct commands:
82
+ # Run tools directly
97
83
  terminal-jarvis run claude --prompt "Refactor this function"
98
84
  terminal-jarvis run gemini --file src/main.rs
99
85
  terminal-jarvis run qwen --analyze
100
86
  terminal-jarvis run opencode --generate
101
87
  terminal-jarvis run llxprt --help
102
-
103
- # Install specific tools
104
- terminal-jarvis install claude
105
- terminal-jarvis install gemini
106
- terminal-jarvis install llxprt
107
-
108
- # Update packages
109
- terminal-jarvis update # Update all packages
110
- terminal-jarvis update claude # Update specific package
111
-
112
- # List available tools with status
113
- terminal-jarvis list
114
-
115
- # Show detailed tool information
116
- terminal-jarvis info claude
117
88
  ```
118
89
 
119
- ### Interactive Mode Features
120
-
121
- When you run `terminal-jarvis` without arguments, you get the full T.JARVIS experience:
122
-
123
- - **🎨 Beautiful ASCII Art Interface**: Clean, centered T.JARVIS logo
124
- - **πŸ“Š Real-time Tool Status**: See which tools are installed and ready to launch
125
- - **⚑ Quick Launch**: Select tools and provide arguments interactively
126
- - **πŸ”§ Management Options**: Install, update, and get information about tools
127
- - **πŸ’‘ Smart Guidance**: Helpful tips and warnings about missing dependencies
128
-
129
90
  ### Template Management
130
91
 
131
92
  ```bash
132
- # Initialize template repository (requires gh CLI)
133
- terminal-jarvis templates init
134
-
135
- # Create a new template
93
+ # Template workflow (requires gh CLI)
94
+ terminal-jarvis templates init # Setup templates repo
136
95
  terminal-jarvis templates create my-template
137
-
138
- # List available templates
139
96
  terminal-jarvis templates list
140
-
141
- # Use a template
142
97
  terminal-jarvis templates apply my-template
143
98
  ```
144
99
 
145
- ## Project Structure
100
+ ## Supported AI Tools
146
101
 
147
- The project follows a modular architecture designed for maintainability and extensibility:
102
+ | Tool | Description | Status | Package |
103
+ | ---------- | -------------------------------------- | ---------------- | --------------------------- |
104
+ | `claude` | Anthropic's Claude for code assistance | βœ… Stable | `@anthropic-ai/claude-code` |
105
+ | `gemini` | Google's Gemini CLI tool | ⚠️ Auth Issues\* | `@google/gemini-cli` |
106
+ | `qwen` | Qwen coding assistant | ⚠️ Auth Issues\* | `@qwen-code/qwen-code` |
107
+ | `opencode` | Terminal-based AI coding agent | πŸ§ͺ Testing | Install script |
108
+ | `llxprt` | Multi-provider AI coding assistant | πŸ§ͺ Testing | NPM package |
148
109
 
149
- ```
150
- src/
151
- β”œβ”€β”€ main.rs # Entry point - minimal code, delegates to CLI
152
- β”œβ”€β”€ cli.rs # Clean, expressive CLI interface definitions
153
- β”œβ”€β”€ cli_logic.rs # Business logic with interactive T.JARVIS interface
154
- β”œβ”€β”€ tools.rs # Tool management and detection logic
155
- β”œβ”€β”€ installation_arguments.rs # Installation commands and NPM validation
156
- β”œβ”€β”€ services.rs # Service layer for external tools (gh CLI, etc.)
157
- β”œβ”€β”€ config.rs # TOML configuration management
158
- β”œβ”€β”€ api.rs # Modular API endpoint definitions (future use)
159
- β”œβ”€β”€ api_base.rs # Base API route configurations (future use)
160
- └── api_client.rs # HTTP client abstraction layer (future use)
161
- ```
162
-
163
- ### Architecture Philosophy
164
-
165
- - **`main.rs`**: Entry point with minimal code - simply bootstraps the CLI
166
- - **`cli.rs`**: Expressive command definitions with optional subcommands (defaults to interactive mode)
167
- - **`cli_logic.rs`**: Complete business logic including the interactive T.JARVIS interface with ASCII art
168
- - **`tools.rs`**: Comprehensive tool detection using multiple verification methods (`which`, `--version`, `--help`)
169
- - **`installation_arguments.rs`**: Centralized installation commands with NPM dependency validation
170
- - **`services.rs`**: Service layer for external integrations (GitHub CLI, package managers)
171
- - **`config.rs`**: TOML configuration file management
172
- - **API modules**: Framework code for future web integrations (currently unused)
173
-
174
- The interactive mode provides a complete T.JARVIS experience with real-time tool status, installation management, and a beautiful terminal interface.
175
-
176
- ## Supported Tools
177
-
178
- | Tool | Description | NPM Package | Status |
179
- | ---------- | ----------------------------------------------- | --------------------------- | ------------ |
180
- | `claude` | Anthropic's Claude for code assistance | `@anthropic-ai/claude-code` | βœ… Supported |
181
- | `gemini` | Google's Gemini CLI tool | `@google/gemini-cli` | βœ… Supported |
182
- | `qwen` | Qwen coding assistant | `@qwen-code/qwen-code` | βœ… Supported |
183
- | `opencode` | OpenCode AI coding agent built for the terminal | Install script | βœ… Supported |
184
-
185
- ## Adding New Tools
186
-
187
- Terminal Jarvis is designed to make adding new CLI tools straightforward:
188
-
189
- 1. Define the tool configuration in `cli_logic.rs`
190
- 2. Add the command interface in `cli.rs`
191
- 3. Implement any required services in `services.rs`
192
- 4. Update the tool registry
193
-
194
- Example structure for adding a new tool:
195
-
196
- ```rust
197
- // In cli_logic.rs
198
- pub fn handle_new_tool(args: &NewToolArgs) -> Result<()> {
199
- // Tool-specific logic here
200
- }
201
-
202
- // In cli.rs
203
- #[derive(Parser)]
204
- pub struct NewToolArgs {
205
- // Tool arguments
206
- }
207
- ```
208
-
209
- ## Requirements
210
-
211
- - **Node.js and NPM**: Required for most AI coding tools (automatic validation included)
212
- - **Rust 1.70 or later**: For building from source
213
- - **`gh` CLI**: Optional, for template management features
214
- - **Internet connection**: For package updates and installations
110
+ \*See [limitations](docs/LIMITATIONS.md) for authentication workarounds
215
111
 
216
- Terminal Jarvis automatically detects missing dependencies and provides helpful installation guidance.
112
+ ## Configuration (Optional)
217
113
 
218
- ## Configuration
114
+ Terminal Jarvis works out-of-the-box, but you can customize behavior with configuration files:
219
115
 
220
- Terminal Jarvis looks for configuration in the following locations:
116
+ **Locations** (in priority order):
221
117
 
222
- 1. `~/.config/terminal-jarvis/config.toml`
223
- 2. `./terminal-jarvis.toml` (project-specific)
118
+ - `./terminal-jarvis.toml` (project-specific)
119
+ - `~/.config/terminal-jarvis/config.toml` (user-wide)
224
120
 
225
- Example configuration:
121
+ **Example configuration:**
226
122
 
227
123
  ```toml
228
124
  [tools]
@@ -230,65 +126,46 @@ claude = { enabled = true, auto_update = true }
230
126
  gemini = { enabled = true, auto_update = false }
231
127
  qwen = { enabled = true, auto_update = true }
232
128
  opencode = { enabled = false, auto_update = false }
129
+ llxprt = { enabled = true, auto_update = true }
233
130
 
234
131
  [templates]
235
132
  repository = "your-username/jarvis-templates"
236
133
  auto_sync = true
237
134
  ```
238
135
 
239
- ## Package Information
136
+ ## Documentation
240
137
 
241
- **NPM Package Size**: ~1.2MB compressed / ~2.9MB unpacked
242
-
243
- The NPM package includes pre-compiled Rust binaries for immediate functionality without requiring a Rust toolchain. This ensures you get the complete T.JARVIS experience out-of-the-box with `npx terminal-jarvis`.
244
-
245
- **What's Included:**
246
-
247
- - Full interactive T.JARVIS interface
248
- - Pre-compiled binary for your platform
249
- - Zero additional dependencies
250
- - Complete tool management capabilities
251
-
252
- Future versions will include size optimizations and platform-specific packages.
138
+ - **πŸ“‹ [Installation Guide](docs/INSTALLATION.md)** - Platform-specific setup instructions
139
+ - **⚠️ [Known Limitations](docs/LIMITATIONS.md)** - Current issues and workarounds
140
+ - **πŸ—οΈ [Architecture Guide](docs/ARCHITECTURE.md)** - Technical details and development info
141
+ - **πŸ§ͺ [Testing Guide](docs/TESTING.md)** - How to test and contribute
253
142
 
254
143
  ## Contributing
255
144
 
145
+ We welcome contributions! Here's how to get started:
146
+
256
147
  1. Fork the repository
257
148
  2. Create a feature branch (`git checkout -b feature/amazing-feature`)
258
- 3. Make your changes following the project structure
149
+ 3. Make your changes following the [architecture guide](docs/ARCHITECTURE.md)
259
150
  4. Ensure tests pass (`cargo test`)
260
151
  5. Commit your changes (`git commit -m 'Add amazing feature'`)
261
152
  6. Push to the branch (`git push origin feature/amazing-feature`)
262
153
  7. Open a Pull Request
263
154
 
155
+ **πŸ“– See [Architecture Guide](docs/ARCHITECTURE.md)** for technical details and development setup.
156
+
264
157
  ## License
265
158
 
266
159
  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
267
160
 
268
- ## NPM Distribution
269
-
270
- Terminal Jarvis is also available as an NPM package for easy installation and usage:
271
-
272
- ```bash
273
- # Install globally via NPM
274
- npm install -g terminal-jarvis
275
-
276
- # Or run directly with npx
277
- npx terminal-jarvis --help
278
- ```
279
-
280
- The NPM packaging approach follows the excellent guidance from [Packaging Rust Applications for the NPM Registry](https://blog.orhun.dev/packaging-rust-for-npm/) by Orhun ParmaksΔ±z. This allows us to distribute platform-specific binaries through NPM while maintaining the convenience of `npx` for quick execution.
281
-
282
161
  ## Roadmap
283
162
 
284
- - [x] **Interactive T.JARVIS Interface**: Complete ASCII art terminal UI
285
- - [x] **Smart Tool Detection**: Multi-method tool installation verification
286
- - [x] **One-Click Installation**: Seamless tool installation with NPM validation
287
- - [x] **Responsive Terminal Design**: Adaptive width and centered interface
288
- - [ ] Enhanced error handling and logging
289
- - [ ] Configuration file validation
163
+ - [x] Interactive T.JARVIS Interface with ASCII art
164
+ - [x] Smart tool detection and status reporting
165
+ - [x] One-click installation with NPM validation
166
+ - [x] Responsive terminal design
167
+ - [ ] Enhanced authentication flows (addressing current login issues)
168
+ - [ ] Improved wrapper layer stability
290
169
  - [ ] Plugin system for custom tools
291
170
  - [ ] Shell completion scripts
292
- - [ ] Docker container support
293
171
  - [ ] Web dashboard for tool management
294
- - [ ] Automated GitHub Actions builds for platform-specific NPM binaries
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "terminal-jarvis",
3
- "version": "0.0.35",
3
+ "version": "0.0.37",
4
4
  "description": "A thin Rust wrapper that provides a unified interface for managing and running AI coding tools",
5
5
  "bin": {
6
6
  "terminal-jarvis": "bin/terminal-jarvis"
@@ -26,7 +26,7 @@
26
26
  "build": "npm run sync-readme && npm run copy-binary && npx tsc",
27
27
  "prepublishOnly": "npm run build",
28
28
  "dev": "npm run build && node lib/index.js",
29
- "postinstall": "node -e \"console.log('\\nπŸ€– Terminal Jarvis v0.0.34 installed successfully!\\n\\nβœ… Full T.JARVIS interface ready to use!\\n\\nRun: npx terminal-jarvis\\n')\""
29
+ "postinstall": "node -e \"console.log('\\nπŸ€– Terminal Jarvis v0.0.35 installed successfully!\\n\\nβœ… Full T.JARVIS interface ready to use!\\n\\nRun: npx terminal-jarvis\\n')\""
30
30
  },
31
31
  "keywords": [
32
32
  "cli",