terminal-jarvis 0.0.35 β†’ 0.0.36

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,115 @@
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
+ πŸŽ‰ **Try it instantly:** `npx terminal-jarvis`
12
12
 
13
- ## Quick Start
13
+ ⚠️ **Known Issues**: [View current limitations and workarounds](docs/LIMITATIONS.md)
14
14
 
15
- ### Choose Your Installation Channel
15
+ ## Quick Start
16
16
 
17
17
  ```bash
18
- # Try it instantly with npx (no installation required)
18
+ # Try instantly (no installation required)
19
19
  npx terminal-jarvis
20
20
 
21
- # Install latest version (default)
21
+ # Install globally for regular use
22
22
  npm install -g terminal-jarvis
23
23
 
24
24
  # Install stable version (recommended for production)
25
25
  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
26
  ```
33
27
 
34
- ### Installation Channels Explained
28
+ **πŸ“‹ Prerequisites:**
35
29
 
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
30
+ - Node.js and NPM
31
+ - **macOS users**: [Rust toolchain required](docs/INSTALLATION.md#macos-prerequisites)
39
32
 
40
- > **Note**: The current NPM version (0.0.23) includes full binary functionality with the complete T.JARVIS interface. No additional installation required!
33
+ **πŸ“– Full installation guide:** [docs/INSTALLATION.md](docs/INSTALLATION.md)
41
34
 
42
- ## Features
35
+ ## What Terminal Jarvis Does
43
36
 
44
- Terminal Jarvis serves as your AI coding assistant command center, providing:
37
+ Terminal Jarvis is your AI coding assistant command center:
45
38
 
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**:
39
+ - **πŸ€– Interactive T.JARVIS Interface**: Beautiful ASCII art terminal UI with responsive design
40
+ - **⚑ One-Click Tool Management**: Install, update, and run AI coding tools seamlessly
41
+ - **οΏ½ Supported Tools**:
51
42
  - `claude` - Anthropic's Claude for code assistance
52
43
  - `gemini` - Google's Gemini CLI tool
53
44
  - `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
45
+ - `opencode` - Terminal-based AI coding agent πŸ§ͺ
46
+ - `llxprt` - Multi-provider AI coding assistant πŸ§ͺ
47
+ - **πŸ“Š Smart Status Detection**: See which tools are installed and ready to use
48
+ - **οΏ½ Interactive Workflows**: Guided prompts for running tools with the right arguments
61
49
 
62
- ## Installation
50
+ πŸ§ͺ = _Looking for testers! These tools are new additions._
63
51
 
64
- ### NPM (Recommended)
52
+ ## How to Use Terminal Jarvis
65
53
 
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
54
+ ### Interactive Mode (Recommended)
75
55
 
76
56
  ```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 .
57
+ # Launch the full T.JARVIS experience
58
+ terminal-jarvis
86
59
  ```
87
60
 
88
- ## Usage
61
+ Get the complete interface with:
62
+
63
+ - 🎨 Beautiful ASCII art welcome screen
64
+ - πŸ“Š Real-time tool status dashboard
65
+ - ⚑ Quick tool selection and launching
66
+ - πŸ”§ Built-in management options
67
+ - πŸ’‘ Smart guidance and tips
89
68
 
90
- ### Basic Commands
69
+ ### Direct Commands
91
70
 
92
71
  ```bash
93
- # Launch interactive T.JARVIS interface (recommended)
94
- terminal-jarvis
72
+ # Install and manage tools
73
+ terminal-jarvis install claude
74
+ terminal-jarvis update # Update all tools
75
+ terminal-jarvis list # Show tool status
76
+ terminal-jarvis info claude # Tool details
95
77
 
96
- # Or use direct commands:
78
+ # Run tools directly
97
79
  terminal-jarvis run claude --prompt "Refactor this function"
98
80
  terminal-jarvis run gemini --file src/main.rs
99
81
  terminal-jarvis run qwen --analyze
100
82
  terminal-jarvis run opencode --generate
101
83
  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
84
  ```
118
85
 
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
86
  ### Template Management
130
87
 
131
88
  ```bash
132
- # Initialize template repository (requires gh CLI)
133
- terminal-jarvis templates init
134
-
135
- # Create a new template
89
+ # Template workflow (requires gh CLI)
90
+ terminal-jarvis templates init # Setup templates repo
136
91
  terminal-jarvis templates create my-template
137
-
138
- # List available templates
139
92
  terminal-jarvis templates list
140
-
141
- # Use a template
142
93
  terminal-jarvis templates apply my-template
143
94
  ```
144
95
 
145
- ## Project Structure
96
+ ## Supported AI Tools
146
97
 
147
- The project follows a modular architecture designed for maintainability and extensibility:
98
+ | Tool | Description | Status | Package |
99
+ | ---------- | -------------------------------------- | ---------------- | --------------------------- |
100
+ | `claude` | Anthropic's Claude for code assistance | βœ… Stable | `@anthropic-ai/claude-code` |
101
+ | `gemini` | Google's Gemini CLI tool | ⚠️ Auth Issues\* | `@google/gemini-cli` |
102
+ | `qwen` | Qwen coding assistant | ⚠️ Auth Issues\* | `@qwen-code/qwen-code` |
103
+ | `opencode` | Terminal-based AI coding agent | πŸ§ͺ Testing | Install script |
104
+ | `llxprt` | Multi-provider AI coding assistant | πŸ§ͺ Testing | NPM package |
148
105
 
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
- ```
106
+ \*See [limitations](docs/LIMITATIONS.md) for authentication workarounds
162
107
 
163
- ### Architecture Philosophy
108
+ ## Configuration (Optional)
164
109
 
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)
110
+ Terminal Jarvis works out-of-the-box, but you can customize behavior with configuration files:
173
111
 
174
- The interactive mode provides a complete T.JARVIS experience with real-time tool status, installation management, and a beautiful terminal interface.
112
+ **Locations** (in priority order):
175
113
 
176
- ## Supported Tools
114
+ - `./terminal-jarvis.toml` (project-specific)
115
+ - `~/.config/terminal-jarvis/config.toml` (user-wide)
177
116
 
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
215
-
216
- Terminal Jarvis automatically detects missing dependencies and provides helpful installation guidance.
217
-
218
- ## Configuration
219
-
220
- Terminal Jarvis looks for configuration in the following locations:
221
-
222
- 1. `~/.config/terminal-jarvis/config.toml`
223
- 2. `./terminal-jarvis.toml` (project-specific)
224
-
225
- Example configuration:
117
+ **Example configuration:**
226
118
 
227
119
  ```toml
228
120
  [tools]
@@ -230,65 +122,46 @@ claude = { enabled = true, auto_update = true }
230
122
  gemini = { enabled = true, auto_update = false }
231
123
  qwen = { enabled = true, auto_update = true }
232
124
  opencode = { enabled = false, auto_update = false }
125
+ llxprt = { enabled = true, auto_update = true }
233
126
 
234
127
  [templates]
235
128
  repository = "your-username/jarvis-templates"
236
129
  auto_sync = true
237
130
  ```
238
131
 
239
- ## Package Information
132
+ ## Documentation
240
133
 
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.
134
+ - **πŸ“‹ [Installation Guide](docs/INSTALLATION.md)** - Platform-specific setup instructions
135
+ - **⚠️ [Known Limitations](docs/LIMITATIONS.md)** - Current issues and workarounds
136
+ - **πŸ—οΈ [Architecture Guide](docs/ARCHITECTURE.md)** - Technical details and development info
137
+ - **πŸ§ͺ [Testing Guide](docs/TESTING.md)** - How to test and contribute
253
138
 
254
139
  ## Contributing
255
140
 
141
+ We welcome contributions! Here's how to get started:
142
+
256
143
  1. Fork the repository
257
144
  2. Create a feature branch (`git checkout -b feature/amazing-feature`)
258
- 3. Make your changes following the project structure
145
+ 3. Make your changes following the [architecture guide](docs/ARCHITECTURE.md)
259
146
  4. Ensure tests pass (`cargo test`)
260
147
  5. Commit your changes (`git commit -m 'Add amazing feature'`)
261
148
  6. Push to the branch (`git push origin feature/amazing-feature`)
262
149
  7. Open a Pull Request
263
150
 
151
+ **πŸ“– See [Architecture Guide](docs/ARCHITECTURE.md)** for technical details and development setup.
152
+
264
153
  ## License
265
154
 
266
155
  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
267
156
 
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
157
  ## Roadmap
283
158
 
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
159
+ - [x] Interactive T.JARVIS Interface with ASCII art
160
+ - [x] Smart tool detection and status reporting
161
+ - [x] One-click installation with NPM validation
162
+ - [x] Responsive terminal design
163
+ - [ ] Enhanced authentication flows (addressing current login issues)
164
+ - [ ] Improved wrapper layer stability
290
165
  - [ ] Plugin system for custom tools
291
166
  - [ ] Shell completion scripts
292
- - [ ] Docker container support
293
167
  - [ ] 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.36",
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",