terminal-jarvis 0.0.34 β 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 +72 -199
- package/bin/terminal-jarvis +0 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -6,223 +6,115 @@
|
|
|
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
|
+
π **Try it instantly:** `npx terminal-jarvis`
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
β οΈ **Known Issues**: [View current limitations and workarounds](docs/LIMITATIONS.md)
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
## Quick Start
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
# Try
|
|
18
|
+
# Try instantly (no installation required)
|
|
19
19
|
npx terminal-jarvis
|
|
20
20
|
|
|
21
|
-
# Install
|
|
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
|
-
|
|
28
|
+
**π Prerequisites:**
|
|
35
29
|
|
|
36
|
-
-
|
|
37
|
-
- **
|
|
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
|
-
|
|
33
|
+
**π Full installation guide:** [docs/INSTALLATION.md](docs/INSTALLATION.md)
|
|
41
34
|
|
|
42
|
-
##
|
|
35
|
+
## What Terminal Jarvis Does
|
|
43
36
|
|
|
44
|
-
Terminal Jarvis
|
|
37
|
+
Terminal Jarvis is your AI coding assistant command center:
|
|
45
38
|
|
|
46
|
-
- **π€ Interactive T.JARVIS Interface**:
|
|
47
|
-
-
|
|
48
|
-
-
|
|
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` -
|
|
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
|
|
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
|
-
|
|
50
|
+
π§ͺ = _Looking for testers! These tools are new additions._
|
|
63
51
|
|
|
64
|
-
|
|
52
|
+
## How to Use Terminal Jarvis
|
|
65
53
|
|
|
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
|
|
54
|
+
### Interactive Mode (Recommended)
|
|
75
55
|
|
|
76
56
|
```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 .
|
|
57
|
+
# Launch the full T.JARVIS experience
|
|
58
|
+
terminal-jarvis
|
|
86
59
|
```
|
|
87
60
|
|
|
88
|
-
|
|
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
|
-
###
|
|
69
|
+
### Direct Commands
|
|
91
70
|
|
|
92
71
|
```bash
|
|
93
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
##
|
|
96
|
+
## Supported AI Tools
|
|
146
97
|
|
|
147
|
-
|
|
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
|
-
|
|
108
|
+
## Configuration (Optional)
|
|
164
109
|
|
|
165
|
-
|
|
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
|
-
|
|
112
|
+
**Locations** (in priority order):
|
|
175
113
|
|
|
176
|
-
|
|
114
|
+
- `./terminal-jarvis.toml` (project-specific)
|
|
115
|
+
- `~/.config/terminal-jarvis/config.toml` (user-wide)
|
|
177
116
|
|
|
178
|
-
|
|
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
|
-
##
|
|
132
|
+
## Documentation
|
|
240
133
|
|
|
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.
|
|
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
|
|
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]
|
|
285
|
-
- [x]
|
|
286
|
-
- [x]
|
|
287
|
-
- [x]
|
|
288
|
-
- [ ] Enhanced
|
|
289
|
-
- [ ]
|
|
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
|
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.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.
|
|
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",
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
"claude",
|
|
37
37
|
"gemini",
|
|
38
38
|
"qwen",
|
|
39
|
-
"opencode"
|
|
39
|
+
"opencode",
|
|
40
|
+
"llxprt"
|
|
40
41
|
],
|
|
41
42
|
"author": "BA-CalderonMorales",
|
|
42
43
|
"license": "MIT",
|