terminal-jarvis 0.0.78 → 0.0.80

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
@@ -11,6 +11,8 @@ Manage Claude, Gemini, Qwen, and 19 more AI assistants from one terminal interfa
11
11
  [![Homebrew](https://img.shields.io/badge/Homebrew-Available-blue.svg?logo=homebrew&style=flat-square)](https://github.com/BA-CalderonMorales/homebrew-terminal-jarvis)
12
12
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
13
13
  [![Mentioned in Awesome](https://img.shields.io/badge/Mentioned%20in-Awesome-6f42c1?style=flat-square)](https://github.com/Piebald-AI/awesome-gemini-cli)
14
+ [![Docs](https://img.shields.io/badge/docs-latest-blue.svg?style=flat-square)](https://ba-calderonmorales.github.io/my-life-as-a-dev/latest/projects/active/terminal-jarvis/)
15
+ [![Coverage](https://img.shields.io/badge/coverage-report-green.svg?style=flat-square)](/coverage)
14
16
 
15
17
  <img src="https://raw.githubusercontent.com/BA-CalderonMorales/terminal-jarvis/docs/screenshots_and_demos/screenshots_and_demo/promo_image_for_readme.png" alt="Terminal Jarvis Interface" width="100%">
16
18
 
@@ -22,6 +24,19 @@ Manage Claude, Gemini, Qwen, and 19 more AI assistants from one terminal interfa
22
24
 
23
25
  ---
24
26
 
27
+ ## Table of Contents
28
+
29
+ - [Quick Start](#quick-start)
30
+ - [What It Does](#what-it-does)
31
+ - [Documentation](#documentation)
32
+ - [Project Structure](#project-structure)
33
+ - [Development](#development)
34
+ - [Contributing](#contributing)
35
+ - [License](#license)
36
+
37
+
38
+ > *Note: If these links do not respond in the GitHub Mobile app, try viewing in a browser. This is a known platform limitation.*
39
+
25
40
  ## Quick Start
26
41
 
27
42
  ```bash
package/index.d.ts ADDED
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Terminal Jarvis - TypeScript Type Definitions
3
+ *
4
+ * A thin wrapper that provides a unified interface for managing
5
+ * and running AI coding tools including Claude, Gemini, Qwen,
6
+ * OpenCode, Codex, Aider, Goose, Amp, Crush, LLXPRT, and more.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+
11
+ /**
12
+ * Options for running Terminal Jarvis
13
+ */
14
+ export interface JarvisOptions {
15
+ /** Run in headless mode without interactive prompts */
16
+ headless?: boolean;
17
+ /** UI theme to use */
18
+ theme?: "default" | "classic" | "matrix";
19
+ /** Enable verbose logging */
20
+ verbose?: boolean;
21
+ /** Configuration file path */
22
+ config?: string;
23
+ }
24
+
25
+ /**
26
+ * Execute a terminal-jarvis command with the specified tool
27
+ *
28
+ * @param tool - The AI tool to run (e.g., "claude", "gemini", "codex")
29
+ * @param options - Optional configuration for the execution
30
+ * @returns Promise that resolves when the command completes
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * import { run } from "terminal-jarvis";
35
+ *
36
+ * await run("claude", { theme: "matrix" });
37
+ * ```
38
+ */
39
+ export function run(tool: string, options?: JarvisOptions): Promise<void>;
40
+
41
+ /**
42
+ * Execute terminal-jarvis with raw command arguments
43
+ *
44
+ * @param args - Array of command-line arguments to pass to terminal-jarvis
45
+ * @returns Promise that resolves with the exit code
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * import { runRaw } from "terminal-jarvis";
50
+ *
51
+ * const exitCode = await runRaw(["--version"]);
52
+ * ```
53
+ */
54
+ export function runRaw(args: string[]): Promise<number>;
55
+
56
+ /**
57
+ * Get the path to the bundled Rust binary
58
+ *
59
+ * @returns The absolute path to the binary, or null if not found
60
+ */
61
+ export function getBinaryPath(): string | null;
62
+
63
+ /**
64
+ * Check if terminal-jarvis is properly installed and available
65
+ *
66
+ * @returns Promise that resolves to true if available
67
+ */
68
+ export function isAvailable(): Promise<boolean>;
69
+
70
+ /**
71
+ * Supported AI tools that can be managed through Terminal Jarvis
72
+ */
73
+ export type SupportedTool =
74
+ | "claude"
75
+ | "gemini"
76
+ | "qwen"
77
+ | "opencode"
78
+ | "codex"
79
+ | "aider"
80
+ | "goose"
81
+ | "amp"
82
+ | "crush"
83
+ | "llxprt"
84
+ | string;
85
+
86
+ /**
87
+ * Version information for Terminal Jarvis
88
+ */
89
+ export interface VersionInfo {
90
+ /** NPM wrapper version */
91
+ npmVersion: string;
92
+ /** Core Rust binary version */
93
+ coreVersion: string;
94
+ /** Platform binary was built for */
95
+ platform: string;
96
+ }
97
+
98
+ /**
99
+ * Get version information for Terminal Jarvis
100
+ *
101
+ * @returns Promise that resolves with version information
102
+ */
103
+ export function getVersion(): Promise<VersionInfo>;
package/package.json CHANGED
@@ -1,17 +1,19 @@
1
1
  {
2
2
  "name": "terminal-jarvis",
3
- "version": "0.0.78",
3
+ "version": "0.0.80",
4
4
  "description": "AI Coding Tools Wrapper - Unified interface for claude-code, gemini-cli, qwen-code, opencode, llxprt, codex, crush, goose, amp, and aider",
5
5
  "bin": {
6
6
  "terminal-jarvis": "bin/terminal-jarvis"
7
7
  },
8
+ "types": "index.d.ts",
8
9
  "files": [
9
10
  "lib/",
10
11
  "bin/",
11
12
  "scripts/",
12
13
  "config/",
13
14
  "README.md",
14
- "package.json"
15
+ "package.json",
16
+ "index.d.ts"
15
17
  ],
16
18
  "scripts": {
17
19
  "generate-tools": "../../scripts/utils/generate-readme-tools.sh",
@@ -30,6 +32,7 @@
30
32
  "test:watch": "vitest",
31
33
  "test:ui": "vitest --ui",
32
34
  "test:coverage": "vitest run --coverage",
35
+ "typecheck": "tsc --noEmit && echo 'TypeScript type check passed'",
33
36
  "test:e2e": "npm run build-rust && vitest run",
34
37
  "build": "npm run copy-configs && npm run sync-readme-npm",
35
38
  "prepack": "npm run build",
@@ -56,14 +59,14 @@
56
59
  },
57
60
  "homepage": "https://github.com/BA-CalderonMorales/terminal-jarvis#readme",
58
61
  "devDependencies": {
59
- "@biomejs/biome": "^2.1.3",
60
- "@types/node": "^24.7.0",
61
- "@vitest/ui": "^3.2.4",
62
- "cli-testing-library": "^3.0.1",
63
- "string-width": "^8.1.0",
64
- "typescript": "^5.9.2",
65
- "vitest": "^3.2.4",
66
- "zod": "^4.1.11"
62
+ "@biomejs/biome": "2.1.4",
63
+ "@types/node": "22.15.3",
64
+ "@vitest/ui": "3.2.4",
65
+ "cli-testing-library": "3.0.1",
66
+ "string-width": "8.1.0",
67
+ "typescript": "5.9.3",
68
+ "vitest": "3.2.4",
69
+ "zod": "3.25.56"
67
70
  },
68
71
  "engines": {
69
72
  "node": ">=16.0.0"
@@ -8,7 +8,7 @@
8
8
  - Verify installation
9
9
 
10
10
  Version Hint (used by CI for consistency checks):
11
- Terminal Jarvis v0.0.78
11
+ Terminal Jarvis v0.0.79
12
12
  */
13
13
 
14
14
  const fs = require('fs');
@@ -218,6 +218,13 @@ function checkPrerequisites() {
218
218
  (async () => {
219
219
  const startTime = Date.now();
220
220
 
221
+ // Skip binary download in CI environments - binary hasn't been released yet
222
+ if (process.env.CI || process.env.SKIP_POSTINSTALL) {
223
+ log('CI environment detected - skipping binary download');
224
+ log('Binary will be built from source or downloaded on first use');
225
+ process.exit(0);
226
+ }
227
+
221
228
  try {
222
229
  // Detect platform
223
230
  const platformInfo = getPlatformInfo();
Binary file