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 +76 -199
- package/bin/terminal-jarvis +0 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -6,223 +6,119 @@
|
|
|
6
6
|
[](https://www.npmjs.com/package/terminal-jarvis)
|
|
7
7
|
[](https://www.npmjs.com/package/terminal-jarvis)
|
|
8
8
|
|
|
9
|
-
A
|
|
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
|
-
|
|
11
|
+
<img src="screenshots/promo_image_for_readme.png" alt="Terminal Jarvis Interface" width="100%">
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
----
|
|
14
|
+
|
|
15
|
+
π **Try it instantly:** `npx terminal-jarvis`
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
β οΈ **Known Issues**: [View current limitations and workarounds](docs/LIMITATIONS.md)
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
16
20
|
|
|
17
21
|
```bash
|
|
18
|
-
# Try
|
|
22
|
+
# Try instantly (no installation required)
|
|
19
23
|
npx terminal-jarvis
|
|
20
24
|
|
|
21
|
-
# Install
|
|
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
|
-
|
|
32
|
+
**π Prerequisites:**
|
|
35
33
|
|
|
36
|
-
-
|
|
37
|
-
- **
|
|
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
|
-
|
|
37
|
+
**π Full installation guide:** [docs/INSTALLATION.md](docs/INSTALLATION.md)
|
|
41
38
|
|
|
42
|
-
##
|
|
39
|
+
## What Terminal Jarvis Does
|
|
43
40
|
|
|
44
|
-
Terminal Jarvis
|
|
41
|
+
Terminal Jarvis is your AI coding assistant command center:
|
|
45
42
|
|
|
46
|
-
- **π€ Interactive T.JARVIS Interface**:
|
|
47
|
-
-
|
|
48
|
-
-
|
|
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` -
|
|
55
|
-
- `llxprt` -
|
|
56
|
-
-
|
|
57
|
-
-
|
|
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
|
-
|
|
54
|
+
π§ͺ = _Looking for testers! These tools are new additions._
|
|
63
55
|
|
|
64
|
-
|
|
56
|
+
## How to Use Terminal Jarvis
|
|
65
57
|
|
|
66
|
-
|
|
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
|
-
#
|
|
78
|
-
|
|
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
|
-
|
|
65
|
+
Get the complete interface with:
|
|
89
66
|
|
|
90
|
-
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
##
|
|
100
|
+
## Supported AI Tools
|
|
146
101
|
|
|
147
|
-
|
|
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
|
-
|
|
112
|
+
## Configuration (Optional)
|
|
217
113
|
|
|
218
|
-
|
|
114
|
+
Terminal Jarvis works out-of-the-box, but you can customize behavior with configuration files:
|
|
219
115
|
|
|
220
|
-
|
|
116
|
+
**Locations** (in priority order):
|
|
221
117
|
|
|
222
|
-
|
|
223
|
-
|
|
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
|
-
##
|
|
136
|
+
## Documentation
|
|
240
137
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
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
|
|
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]
|
|
285
|
-
- [x]
|
|
286
|
-
- [x]
|
|
287
|
-
- [x]
|
|
288
|
-
- [ ] Enhanced
|
|
289
|
-
- [ ]
|
|
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
|
package/bin/terminal-jarvis
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "terminal-jarvis",
|
|
3
|
-
"version": "0.0.
|
|
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.
|
|
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",
|