xminal 0.1.1 → 0.1.2

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/CHANGELOG.md CHANGED
@@ -4,8 +4,20 @@ All notable changes to XMINAL are documented here. Format: [Keep a Changelog](ht
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.1.2] — 2026-11-08
8
+
9
+ **Published on npm: `xminal@0.1.2`** (`npm install -g xminal`).
10
+
11
+ ### Added
12
+
13
+ - Self-hosted landing page at `GET /landing` on `xminal serve` — full product showcase (hero, stats, 12 features, quickstart, 47-provider grid, safety model, comparison, roadmap, FAQ, npm/GitHub CTAs). Built via XMINAL's own headless agent (dogfooded), completed after OpenRouter free-tier daily quota exhausted.
14
+ - `site/` ships inside the npm package; `/landing` resolves the bundled asset first, cwd fallback for development.
15
+
16
+
7
17
  ## [0.1.1] — 2026-11-08
8
18
 
19
+ **Published on npm: `xminal@0.1.1`** (`npm install -g xminal`).
20
+
9
21
  Patch release: hardening + distribution fixes + community-ready install path.
10
22
 
11
23
  ### Added
package/README.md CHANGED
@@ -36,7 +36,10 @@ XMINAL is a provider-agnostic terminal coding agent and orchestration platform.
36
36
  ## Quickstart
37
37
 
38
38
  ```bash
39
- # single command — no npm account needed:
39
+ # single command (npm registry):
40
+ npm install -g xminal
41
+
42
+ # or from the GitHub release asset without npm:
40
43
  npm install -g https://github.com/quitsaurabhverma2008-sketch/xminal/releases/download/v0.1.1/xminal-0.1.1.tgz
41
44
 
42
45
  # or from source:
@@ -127,7 +127,7 @@ class Agent {
127
127
  this.callbacks.onReasoning?.(event.text);
128
128
  }
129
129
  else if (event.type === "tool_call") {
130
- toolCalls.push(event.call);
130
+ toolCalls.push({ ...event.call, arguments: normalizeToolArguments(event.call.arguments) });
131
131
  }
132
132
  else if (event.type === "usage") {
133
133
  const actualModel = event.model ?? model;
@@ -335,6 +335,18 @@ function compactHistory(messages, keepRecent) {
335
335
  ...recent,
336
336
  ];
337
337
  }
338
+ function normalizeToolArguments(raw) {
339
+ const trimmed = (raw ?? "").trim();
340
+ if (!trimmed)
341
+ return "{}";
342
+ try {
343
+ const parsed = JSON.parse(trimmed);
344
+ return parsed && typeof parsed === "object" && !Array.isArray(parsed) ? JSON.stringify(parsed) : "{}";
345
+ }
346
+ catch {
347
+ return "{}";
348
+ }
349
+ }
338
350
  function safeParseArgs(text) {
339
351
  if (!text || !text.trim())
340
352
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -33,15 +33,20 @@ class Runtime {
33
33
  this.tools = new registry_1.ToolRegistry();
34
34
  this.tools.registerAll((0, index_1.allTools)());
35
35
  const mode = this.options.mode ?? (this.config.permissions.mode === "full" ? "yolo" : "build");
36
+ const effectiveModel = this.options.model ?? this.config.defaultModel;
36
37
  if (this.options.sessionId) {
37
38
  this.session = session_1.Session.load(cwd, this.options.sessionId);
39
+ if (this.options.model)
40
+ this.session.setModel(this.options.model);
38
41
  }
39
42
  else if (!this.options.newSession) {
40
43
  const latest = session_1.Session.latest(cwd);
41
- this.session = latest ?? session_1.Session.create(cwd, { model: this.config.defaultModel, mode: this.config.permissions.mode, agentMode: mode });
44
+ this.session = latest ?? session_1.Session.create(cwd, { model: effectiveModel, mode: this.config.permissions.mode, agentMode: mode });
45
+ if (this.options.model && this.session.meta.model !== this.options.model)
46
+ this.session.setModel(this.options.model);
42
47
  }
43
48
  else {
44
- this.session = session_1.Session.create(cwd, { model: this.config.defaultModel, mode: this.config.permissions.mode, agentMode: mode });
49
+ this.session = session_1.Session.create(cwd, { model: effectiveModel, mode: this.config.permissions.mode, agentMode: mode });
45
50
  }
46
51
  const permissionMode = mode === "yolo" ? "full" : this.config.permissions.mode;
47
52
  this.permissions = new permissions_1.PermissionManager(cwd, permissionMode, this.config.permissions.protectedPaths, this.options.askHandler);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.startServer = startServer;
7
7
  const node_http_1 = __importDefault(require("node:http"));
8
+ const node_fs_1 = __importDefault(require("node:fs"));
9
+ const node_path_1 = __importDefault(require("node:path"));
8
10
  const node_url_1 = require("node:url");
9
11
  const runtime_1 = require("../runtime");
10
12
  const session_1 = require("../core/session");
@@ -23,7 +25,7 @@ async function startServer(options) {
23
25
  return;
24
26
  }
25
27
  const url = new node_url_1.URL(req.url ?? "/", `http://${req.headers.host ?? "localhost"}`);
26
- const publicPaths = new Set(["/health", "/", "/web"]);
28
+ const publicPaths = new Set(["/health", "/", "/web", "/landing"]);
27
29
  if (options.token && !publicPaths.has(url.pathname) && req.headers.authorization !== `Bearer ${options.token}`) {
28
30
  sendJson(res, 401, { error: { message: "unauthorized", type: "auth_error" } });
29
31
  return;
@@ -35,6 +37,29 @@ async function startServer(options) {
35
37
  res.end(body);
36
38
  return;
37
39
  }
40
+ if (req.method === "GET" && url.pathname === "/landing") {
41
+ const packageSite = node_path_1.default.resolve(__dirname, "../../site/index.html");
42
+ const cwdSite = node_path_1.default.join(options.cwd, "site", "index.html");
43
+ let body;
44
+ try {
45
+ body = node_fs_1.default.readFileSync(packageSite, "utf8");
46
+ }
47
+ catch {
48
+ try {
49
+ body = node_fs_1.default.readFileSync(cwdSite, "utf8");
50
+ }
51
+ catch {
52
+ body = undefined;
53
+ }
54
+ }
55
+ if (body === undefined) {
56
+ sendJson(res, 404, { error: { message: "site/index.html not found (build it first)", type: "not_found" } });
57
+ return;
58
+ }
59
+ res.writeHead(200, { "content-type": "text/html; charset=utf-8", "content-length": Buffer.byteLength(body) });
60
+ res.end(body);
61
+ return;
62
+ }
38
63
  if (req.method === "GET" && url.pathname === "/health") {
39
64
  sendJson(res, 200, { status: "ok", name: "xminal", version: version_1.VERSION });
40
65
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"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"}
package/dist/version.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TAGLINE = exports.DISPLAY_NAME = exports.NAME = exports.VERSION = void 0;
4
- exports.VERSION = "0.1.1";
4
+ exports.VERSION = "0.1.2";
5
5
  exports.NAME = "xminal";
6
6
  exports.DISPLAY_NAME = "XMINAL";
7
7
  exports.TAGLINE = "EVERY CODING AGENT. ONE TERMINAL.";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xminal",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "XMINAL \u2014 Every coding agent. One terminal. Provider-agnostic terminal coding agent and orchestration platform.",
5
5
  "license": "MIT",
6
6
  "author": "XMINAL contributors",
@@ -19,7 +19,8 @@
19
19
  "assets",
20
20
  "scripts",
21
21
  "SECURITY.md",
22
- "AGENTS.md"
22
+ "AGENTS.md",
23
+ "site"
23
24
  ],
24
25
  "scripts": {
25
26
  "build": "tsc -p tsconfig.json",
@@ -0,0 +1,561 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>XMINAL — Every coding agent. One terminal.</title>
7
+ <meta name="description" content="Provider-agnostic terminal coding agent & orchestration platform — 125 MIT projects fused into one hackable CLI">
8
+ <style>
9
+ :root {
10
+ --bg: #0b0f19;
11
+ --surface: #0f172a;
12
+ --border: #1e293b;
13
+ --text: #e2e8f0;
14
+ --muted: #94a3b8;
15
+ --accent-cyan: #22d3ee;
16
+ --accent-blue: #38bdf8;
17
+ --accent-violet: #a78bfa;
18
+ }
19
+ * { box-sizing: border-box; margin: 0; padding: 0; }
20
+ html { scroll-behavior: smooth; }
21
+ body {
22
+ font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
23
+ background: var(--bg);
24
+ color: var(--text);
25
+ line-height: 1.6;
26
+ }
27
+ a { color: var(--accent-cyan); text-decoration: none; }
28
+ a:hover { color: var(--accent-blue); }
29
+ img { max-width: 100%; height: auto; }
30
+ /* Custom scrollbar */
31
+ ::-webkit-scrollbar { width: 8px; height: 8px; }
32
+ ::-webkit-scrollbar-track { background: var(--surface); }
33
+ ::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
34
+ ::-webkit-scrollbar-thumb:hover { background: var(--muted); }
35
+ /* Focus visible */
36
+ :focus-visible { outline: 2px solid var(--accent-cyan); outline-offset: 2px; }
37
+ /* Reduced motion */
38
+ @media (prefers-reduced-motion: reduce) {
39
+ * { transition: none !important; animation: none !important; }
40
+ }
41
+ /* ===== STICKY NAV ===== */
42
+ nav {
43
+ position: sticky;
44
+ top: 0;
45
+ background: rgba(11, 15, 25, 0.8);
46
+ backdrop-filter: blur(12px);
47
+ z-index: 100;
48
+ border-bottom: 1px solid var(--border);
49
+ }
50
+ .nav-container {
51
+ max-width: max(1200px, 100% - 2rem);
52
+ margin: 0 auto;
53
+ padding: 1rem 1.5rem;
54
+ display: flex;
55
+ justify-content: space-between;
56
+ align-items: center;
57
+ }
58
+ .nav-logo { font-size: 1.25rem; font-weight: 700; letter-spacing: 0.05em; }
59
+ .nav-links { display: flex; gap: 2rem; }
60
+ .nav-links a { color: var(--muted); transition: color 0.2s; }
61
+ .nav-links a:hover { color: var(--text); }
62
+ .nav-chip { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; background: var(--accent-cyan); color: var(--bg); font-weight: 600; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; }
63
+ /* ===== HERO ===== */
64
+ .hero { min-height: 80vh; display: flex; align-items: center; justify-content: center; position: relative; padding: 2rem 1.5rem; }
65
+ .hero-content { max-width: max(800px, 100% - 2rem); width: 100%; display: flex; flex-direction: column; gap: 1.5rem; }
66
+ .headline { font-size: clamp(3rem, 8vw, 5rem); font-weight: 900; line-height: 1.1; }
67
+ .headline .gradient { background: linear-gradient(135deg, var(--accent-cyan), var(--accent-blue), var(--accent-violet)); background-size: 200% 200%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: gradientShift 3s ease-in-out infinite; }
68
+ @keyframes gradientShift { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
69
+ .subhead { font-size: clamp(1rem, 2vw, 1.25rem); color: var(--muted); max-width: 600px; }
70
+ .cta-row { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
71
+ .cta-btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.5rem; background: var(--accent-blue); color: var(--bg); font-weight: 600; border: none; border-radius: 4px; cursor: pointer; font-size: 0.9rem; transition: background 0.2s; }
72
+ .cta-btn:hover { background: var(--accent-violet); }
73
+ .cta-btn .copy-icon { width: 1em; height: 1em; }
74
+ /* Terminal mock */
75
+ .terminal-mock {
76
+ position: relative;
77
+ width: 100%;
78
+ max-width: 600px;
79
+ margin-top: 2rem;
80
+ background: var(--surface);
81
+ border: 1px solid var(--border);
82
+ border-radius: 8px;
83
+ overflow: hidden;
84
+ }
85
+ .terminal-mock .title-bar {
86
+ display: flex;
87
+ background: var(--border);
88
+ padding: 4px 8px;
89
+ }
90
+ .terminal-mock .title-bar .dot {
91
+ width: 12px; height: 12px; border-radius: 50%; margin-right: 4px;
92
+ flex-shrink: 0;
93
+ }
94
+ .terminal-mock .dot-accent { background: var(--accent-cyan); }
95
+ .terminal-mock .dot-warning { background: #f87171; }
96
+ .terminal-mock .dot-info { background: #fbbf24; }
97
+ .terminal-mock .terminal-body {
98
+ padding: 1rem;
99
+ font-family: ui-monospace, Menlo, Monaco, monospace;
100
+ font-size: 0.85rem;
101
+ color: var(--muted);
102
+ white-space: pre;
103
+ line-height: 1.6;
104
+ }
105
+ </style>
106
+ </head>
107
+ <body>
108
+ <!-- ===== NAV ===== -->
109
+ <nav>
110
+ <div class="nav-container">
111
+ <span class="nav-logo">XMINAL</span>
112
+ <div class="nav-links">
113
+ <a href="#features">Features</a>
114
+ <a href="#providers">Providers</a>
115
+ <a href="#quickstart">Quickstart</a>
116
+ <a href="#safety">Safety</a>
117
+ </div>
118
+ <button class="nav-chip" id="installChip">npm i -g xminal</button>
119
+ </div>
120
+ </nav>
121
+
122
+ <!-- ===== HERO ===== -->
123
+ <section class="hero" aria-label="hero">
124
+ <div class="hero-content">
125
+ <h1 class="headline">Every coding agent.<span class="gradient"> One terminal.</span></h1>
126
+ <p class="subhead">XMINAL is a provider-agnostic terminal coding agent & orchestration platform — 125 MIT projects fused into one hackable CLI. Streams, edits, verifies, remembers.</p>
127
+ <div class="cta-row">
128
+ <button class="cta-btn" id="copyBtn" aria-label="Copy npm install command">
129
+ npm install -g xminal
130
+ <svg class="copy-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13"></rect><path d="M5 12h14"></path></svg>
131
+ </button>
132
+ <a class="cta-btn" href="https://github.com/quitsaurabhverma2008-sketch/xminal" target="_blank" rel="noopener" aria-label="Read the docs">Read the docs →</a>
133
+ </div>
134
+ <div class="terminal-mock" aria-label="terminal session mock">
135
+ <div class="title-bar">
136
+ <div class="dot dot-accent"></div>
137
+ <div class="dot dot-warning"></div>
138
+ <div class="dot dot-info"></div>
139
+ </div>
140
+ <div class="terminal-body" id="terminalBody">
141
+ XMINAL SESSION BANNER
142
+ xminal run "fix the failing test"
143
+ ✓ test passed in 2.4s
144
+ ✓ 2 turns · $0.00 cost
145
+ </div>
146
+ </div>
147
+ </div>
148
+ </section>
149
+ <!-- ===== STATS BAR ===== -->
150
+ <section class="stats-bar" aria-label="stats">
151
+ <div class="stats-container" style="max-width: max(1200px, 100% - 2rem); margin: 0 auto; padding: 2rem 1.5rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1rem; text-align: center;">
152
+ <div><div class="stat-number" id="stat-1">47</div><div class="stat-label">built-in providers</div></div>
153
+ <div><div class="stat-number" id="stat-2">258</div><div class="stat-model-alias">model aliases</div></div>
154
+ <div><div class="stat-number" id="stat-3">125</div><div class="stat-projects-mapped">projects mapped</div></div>
155
+ <div><div class="stat-number" id="stat-4">28</div><div class="stat-tests-passing">tests passing</div></div>
156
+ <div><div class="stat-number" id="stat-5">MIT</div><div class="stat-license">license</div></div>
157
+ </div>
158
+ </section>
159
+
160
+ <!-- ===== FEATURES GRID (12 CARDS) ===== -->
161
+ <section id="features" class="features-grid" aria-label="features">
162
+ <div class="container" style="max-width: max(1200px, 100% - 2rem); margin: 0 auto; padding: 2rem 1.5rem;">
163
+ <div class="section-header" style="text-align: center; margin-bottom: 3rem;">
164
+ <h2 style="font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; margin-bottom: 1rem;">Features</h2>
165
+ <p style="color: var(--muted); max-width: 600px; margin: 0 auto;">Provider-agnostic terminal coding agent capabilities</p>
166
+ </div>
167
+ <div class="cards-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem;">
168
+ <!-- Feature card 1: Provider-agnostic -->
169
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem;">
170
+ <div style="width: 48px; height: 48px; background: linear-gradient(135deg, var(--accent-cyan), var(--accent-blue)); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
171
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--bg)" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
172
+ </div>
173
+ <div class="card-content" style="flex: 1;">
174
+ <h3 style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">Provider-agnostic</h3>
175
+ <p style="color: var(--muted); font-size: 0.85rem; line-height: 1.5;">Failover and cost routing across 47 built-in providers, automatically selecting the best model for each task.</p>
176
+ </div>
177
+ </div>
178
+
179
+ <!-- Feature card 2: Plan/Build/Compose/Review/YOLO modes -->
180
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem;">
181
+ <div style="width: 48px; height: 48px; background: linear-gradient(135deg, #f97316, #ef4444); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
182
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--bg)" stroke-width="2"><path d="M3 3v7h7l5-3h3L12 7l-5 3h7v7H3zm6-2c.83 0 1.5.67 1.5 1.5S6.83 6 6 6s-1.5.67-1.5-1.5S4.17 3 5 3zM7 12h2v2H7zm0-4h2v6H7zm4 8h2v2h-2zm0-4h2v6h-2z"></path></svg>
183
+ </div>
184
+ <div class="card-content" style="flex: 1;">
185
+ <h3 style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">Plan/Build/Compose/Review/YOLO modes</h3>
186
+ <p style="color: var(--muted); font-size: 0.85rem; line-height: 1.5;">Flexible workflow modes from structured planning to unassisted execution.</p>
187
+ </div>
188
+ </div>
189
+
190
+ <!-- Feature card 3: Sessions -->
191
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem;">
192
+ <div style="width: 48px; height: 48px; background: linear-gradient(135deg, #a855f7, #8b5cf6); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
193
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--bg)" stroke-width="2"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5.5l-4.5-3.5zM13 22h-2v-2h2zm2-4h-2v-6h2zm-7 0H5v-2h2zm7 0h-2V8h2zm7 4h-2V12h2z"></path></svg>
194
+ </div>
195
+ <div class="card-content" style="flex: 1;">
196
+ <h3 style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">Sessions</h3>
197
+ <p style="color: var(--muted); font-size: 0.85rem; line-height: 1.5;">Resume sessions, branch histories, and undo changes with full session persistence.</p>
198
+ </div>
199
+ </div>
200
+
201
+ <!-- Feature card 4: Memory -->
202
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem;">
203
+ <div style="width: 48px; height: 48px; background: linear-gradient(135deg, #ec4899, #f472b6); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
204
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--bg)" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
205
+ </div>
206
+ <div class="card-content" style="flex: 1;">
207
+ <h3 style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">Memory</h3>
208
+ <p style="color: var(--muted); font-size: 0.85rem; line-height: 1.5;">Markdown storage with search — ~/.agents/skills discovery and lockfile-based lock coordination.</p>
209
+ </div>
210
+ </div>
211
+
212
+ <!-- Feature card 5: Skills -->
213
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem;">
214
+ <div style="width: 48px; height: 48px; background: linear-gradient(135deg, #f472b6, #f87171); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
215
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--bg)" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
216
+ </div>
217
+ <div class="card-content" style="flex: 1;">
218
+ <h3 style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">Skills</h3>
219
+ <p style="color: var(--muted); font-size: 0.85rem; line-height: 1.5;">~/.agents/skills discovery + lockfile — auto-discover and coordinate agent skills.</p>
220
+ </div>
221
+ </div>
222
+
223
+ <!-- Feature card 6: MCP client -->
224
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem;">
225
+ <div style="width: 48px; height: 48px; background: linear-gradient(135deg, #22d3ee, #38bdf8); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
226
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--bg)" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 14s1.5 2 4 2 4-2 4-2"></path></svg>
227
+ </div>
228
+ <div class="card-content" style="flex: 1;">
229
+ <h3 style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">MCP client + XMINAL-as-MCP-server</h3>
230
+ <p style="color: var(--muted); font-size: 0.85rem; line-height: 1.5;">Model Context Protocol support — run XMINAL as your local MCP server.</p>
231
+ </div>
232
+ </div>
233
+
234
+ <!-- Feature card 7: Subagents & Ralph loops -->
235
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem;">
236
+ <div style="width: 48px; height: 48px; background: linear-gradient(135deg, #ec4899, #f472b6); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
237
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--bg)" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
238
+ </div>
239
+ <div class="card-content" style="flex: 1;">
240
+ <h3 style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">Subagents & Ralph loops</h3>
241
+ <p style="color: var(--muted); font-size: 0.85rem; line-height: 1.5;">Autonomous subagent spawning and Ralph-style feedback loops for complex tasks.</p>
242
+ </div>
243
+ </div>
244
+
245
+ <!-- Feature card 8: Worktree fleets -->
246
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem;">
247
+ <div style="width: 48px; height: 48px; background: linear-gradient(135deg, #14b8a6, #0d9488); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
248
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--bg)" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
249
+ </div>
250
+ <div class="card-content" style="flex: 1;">
251
+ <h3 style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">Worktree fleets</h3>
252
+ <p style="color: var(--muted); font-size: 0.85rem; line-height: 1.5;">Parallel branch management across multiple worktrees for concurrent development.</p>
253
+ </div>
254
+ </div>
255
+
256
+ <!-- Feature card 9: Audit receipts -->
257
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem;">
258
+ <div style="width: 48px; height: 48px; background: linear-gradient(135deg, #f59e0b, #fbbf24); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
259
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--bg)" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
260
+ </div>
261
+ <div class="card-content" style="flex: 1;">
262
+ <h3 style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">Audit receipts</h3>
263
+ <p style="color: var(--muted); font-size: 0.85rem; line-height: 1.5;">Hash-chained audit logs with checkpoints and undo receipts for accountability.</p>
264
+ </div>
265
+ </div>
266
+
267
+ <!-- Feature card 10: Web UI -->
268
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem;">
269
+ <div style="width: 48px; height: 48px; background: linear-gradient(135deg, #8b5cf6, #a855f7); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
270
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--bg)" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
271
+ </div>
272
+ <div class="card-content" style="flex: 1;">
273
+ <h3 style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">Web UI built in</h3>
274
+ <p style="color: var(--muted); font-size: 0.85rem; line-height: 1.5;">Embedded web interface for visual task monitoring and control.</p>
275
+ </div>
276
+ </div>
277
+
278
+ <!-- Feature card 11: OpenAI-compatible HTTP server (SSE) -->
279
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem;">
280
+ <div style="width: 48px; height: 48px; background: linear-gradient(135deg, #06b6d4, #0891b2); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
281
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--bg)" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
282
+ </div>
283
+ <div class="card-content" style="flex: 1;">
284
+ <h3 style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">OpenAI-compatible HTTP (SSE)</h3>
285
+ <p style="color: var(--muted); font-size: 0.85rem; line-height: 1.5;">SSE endpoint compatible with OpenAI API specs for seamless integration.</p>
286
+ </div>
287
+ </div>
288
+
289
+ <!-- Feature card 12: Telegram bridge -->
290
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem;">
291
+ <div style="width: 48px; height: 48px; background: linear-gradient(135deg, #14b8a6, #0d9488); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
292
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--bg)" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
293
+ </div>
294
+ <div class="card-content" style="flex: 1;">
295
+ <h3 style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">Telegram bridge</h3>
296
+ <p style="color: var(--muted); font-size: 0.85rem; line-height: 1.5;">Telegram integration for remote task monitoring and notifications.</p>
297
+ </div>
298
+ </div>
299
+ </div>
300
+ </div>
301
+ </section>
302
+ <!-- ===== QUICKSTART ===== -->
303
+ <section id="quickstart" class="quickstart" aria-label="quickstart">
304
+ <div class="container" style="max-width: max(1200px, 100% - 2rem); margin: 0 auto; padding: 2rem 1.5rem;">
305
+ <div class="section-header" style="text-align: center; margin-bottom: 3rem;">
306
+ <h2 style="font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; margin-bottom: 1rem;">Quickstart</h2>
307
+ <p style="color: var(--muted); max-width: 600px; margin: 0 auto;">Get up and running in minutes</p>
308
+ </div>
309
+ <div class="tabs" role="tablist" style="display: flex; justify-content: center; margin-bottom: 2rem; gap: 1rem;">
310
+ <button class="tab-btn active" data-tab="macos">macOS / Linux</button>
311
+ <button class="tab-btn" data-tab="termux">Termux</button>
312
+ </div>
313
+ <div id="macosTab" class="tab-content active" style="display: block;">
314
+ <pre style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; font-family: ui-monospace, Menlo, Monaco, monospace; color: var(--text); overflow-x: auto;">
315
+ npm install -g xminal
316
+ export OPENROUTER_API_KEY=your_key_here
317
+ xminal doctor
318
+ xminal
319
+ </pre>
320
+ </div>
321
+ <div id="termuxTab" class="tab-content" style="display: none;">
322
+ <pre style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; font-family: ui-monospace, Menlo, Monaco, monospace; color: var(--text); overflow-x: auto;">
323
+ pkg install nodejs
324
+ npm install -g xminal
325
+ export OPENROUTER_API_KEY=your_key_here
326
+ xminal doctor
327
+ xminal
328
+ </pre>
329
+ </div>
330
+ </div>
331
+ </section>
332
+
333
+ <!-- ===== PROVIDERS (real 47) ===== -->
334
+ <section id="providers" class="providers-section" aria-label="providers">
335
+ <div class="container" style="max-width: 1200px; margin: 0 auto; padding: 3rem 1.5rem;">
336
+ <div style="text-align: center; margin-bottom: 2.5rem;">
337
+ <h2 style="font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; margin-bottom: 0.75rem;">Providers</h2>
338
+ <p style="color: var(--muted); max-width: 640px; margin: 0 auto;">47 built-in providers — OpenAI-compatible, native adapters, and local servers. Default is keyless OpenCode free models.</p>
339
+ </div>
340
+ <div id="providerGrid" style="display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.75rem;"></div>
341
+ </div>
342
+ </section>
343
+
344
+ <!-- ===== SAFETY ===== -->
345
+ <section id="safety" aria-label="safety">
346
+ <div class="container" style="max-width: 1200px; margin: 0 auto; padding: 3rem 1.5rem;">
347
+ <div style="text-align: center; margin-bottom: 2.5rem;">
348
+ <h2 style="font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; margin-bottom: 0.75rem;">Safety is a feature</h2>
349
+ <p style="color: var(--muted); max-width: 640px; margin: 0 auto;">Autonomy without footguns — from first run to production CI.</p>
350
+ </div>
351
+ <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem;">
352
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem;">
353
+ <h3 style="font-size: 1rem; margin-bottom: 0.5rem;"><span style="color: var(--accent-cyan);">01</span> Permission modes</h3>
354
+ <p style="color: var(--muted); font-size: 0.9rem;"><code>ask</code> asks before every risky action · <code>auto</code> auto-approves low risk, asks for dangerous · <code>full</code> approves everything except protected paths.</p>
355
+ </div>
356
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem;">
357
+ <h3 style="font-size: 1rem; margin-bottom: 0.5rem;"><span style="color: var(--accent-blue);">02</span> Protected paths</h3>
358
+ <p style="color: var(--muted); font-size: 0.9rem;"><code>.env</code> · <code>~/.ssh</code> · <code>~/.aws</code> · <code>~/.gnupg</code> · <code>~/.config/gh</code> — denied even in full mode.</p>
359
+ </div>
360
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem;">
361
+ <h3 style="font-size: 1rem; margin-bottom: 0.5rem;"><span style="color: var(--accent-violet);">03</span> Checkpoints</h3>
362
+ <p style="color: var(--muted); font-size: 0.9rem;">Every edit snapshots the file first. <code>/undo</code> rewinds instantly — no git needed, no branches harmed.</p>
363
+ </div>
364
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem;">
365
+ <h3 style="font-size: 1rem; margin-bottom: 0.5rem;"><span style="color: var(--accent-cyan);">04</span> Audit receipts</h3>
366
+ <p style="color: var(--muted); font-size: 0.9rem;">Every allow/deny appended to a SHA-256 hash-chained log: <code>.xminal/receipts/audit.jsonl</code> · verify with <code>xminal audit verify</code>.</p>
367
+ </div>
368
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem;">
369
+ <h3 style="font-size: 1rem; margin-bottom: 0.5rem;"><span style="color: var(--accent-blue);">05</span> Secret redaction</h3>
370
+ <p style="color: var(--muted); font-size: 0.9rem;">Keys and tokens (<code>sk-*</code>, <code>ghp_*</code>, PEM blocks, JWTs…) are stripped from tool output before the model ever sees them.</p>
371
+ </div>
372
+ <div class="card" style="background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem;">
373
+ <h3 style="font-size: 1rem; margin-bottom: 0.5rem;"><span style="color: var(--accent-violet);">06</span> Sandbox hooks</h3>
374
+ <p style="color: var(--muted); font-size: 0.9rem;">Optional <code>bwrap</code>/Docker sandbox for shell commands, plus a never-prompt safe list for read-only tools — all logged.</p>
375
+ </div>
376
+ </div>
377
+ </div>
378
+ </section>
379
+
380
+ <!-- ===== COMPARISON ===== -->
381
+ <section id="compare" aria-label="comparison">
382
+ <div class="container" style="max-width: 1200px; margin: 0 auto; padding: 3rem 1.5rem;">
383
+ <div style="text-align: center; margin-bottom: 2.5rem;">
384
+ <h2 style="font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; margin-bottom: 0.75rem;">XMINAL vs the rest</h2>
385
+ <p style="color: var(--muted); max-width: 640px; margin: 0 auto;">Honest checkmarks, not vibes.</p>
386
+ </div>
387
+ <div style="overflow-x: auto;">
388
+ <table style="width: 100%; border-collapse: collapse; font-size: 0.9rem; min-width: 720px;">
389
+ <thead>
390
+ <tr>
391
+ <th style="text-align: left; padding: 0.75rem; border-bottom: 2px solid var(--border); color: var(--muted); font-weight: 600;">Capability</th>
392
+ <th style="padding: 0.75rem; border-bottom: 2px solid var(--border); color: var(--accent-cyan);">XMINAL</th>
393
+ <th style="padding: 0.75rem; border-bottom: 2px solid var(--border); color: var(--muted);">Aider</th>
394
+ <th style="padding: 0.75rem; border-bottom: 2px solid var(--border); color: var(--muted);">Codex CLI</th>
395
+ <th style="padding: 0.75rem; border-bottom: 2px solid var(--border); color: var(--muted);">OpenCode</th>
396
+ <th style="padding: 0.75rem; border-bottom: 2px solid var(--border); color: var(--muted);">Gemini CLI</th>
397
+ </tr>
398
+ </thead>
399
+ <tbody id="compareBody"></tbody>
400
+ </table>
401
+ </div>
402
+ </div>
403
+ </section>
404
+
405
+ <!-- ===== ROADMAP ===== -->
406
+ <section id="roadmap" aria-label="roadmap">
407
+ <div class="container" style="max-width: 1200px; margin: 0 auto; padding: 3rem 1.5rem;">
408
+ <div style="text-align: center; margin-bottom: 2.5rem;">
409
+ <h2 style="font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; margin-bottom: 0.75rem;">Roadmap</h2>
410
+ <p style="color: var(--muted); max-width: 640px; margin: 0 auto;">From v0.1 to v1.0 — the 18-phase plan.</p>
411
+ </div>
412
+ <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.25rem;">
413
+ <div class="card" style="background: var(--surface); border: 1px solid var(--accent-cyan); border-radius: 8px; padding: 1.5rem;">
414
+ <p style="font-size: 0.75rem; letter-spacing: 0.1em; color: var(--accent-cyan); margin-bottom: 0.5rem;">SHIPPED · v0.1.1</p>
415
+ <ul style="color: var(--muted); font-size: 0.9rem; padding-left: 1.1rem; line-height: 1.8;">
416
+ <li>Agent runtime: streaming, tools, modes</li>
417
+ <li>47 providers · 258 model aliases</li>
418
+ <li>Sessions, checkpoints, undo</li>
419
+ <li>Ralph verify loops · subagents · worktrees</li>
420
+ <li>MCP client <em>and</em> XMINAL-as-MCP-server</li>
421
+ <li>Web UI at <code>/</code> · HTTP/SSE API · Telegram</li>
422
+ </ul>
423
+ </div>
424
+ <div class="card" style="background: var(--surface); border: 1px solid var(--accent-blue); border-radius: 8px; padding: 1.5rem;">
425
+ <p style="font-size: 0.75rem; letter-spacing: 0.1em; color: var(--accent-blue); margin-bottom: 0.5rem;">NEXT · v0.2</p>
426
+ <ul style="color: var(--muted); font-size: 0.9rem; padding-left: 1.1rem; line-height: 1.8;">
427
+ <li>LSP diagnostics wiring</li>
428
+ <li>Ink-class streaming TUI</li>
429
+ <li>ACP (Agent Client Protocol)</li>
430
+ <li>Skills marketplace + <code>xminal skills install</code></li>
431
+ <li>Per-model router: quota/cost-aware</li>
432
+ </ul>
433
+ </div>
434
+ <div class="card" style="background: var(--surface); border: 1px solid var(--accent-violet); border-radius: 8px; padding: 1.5rem;">
435
+ <p style="font-size: 0.75rem; letter-spacing: 0.1em; color: var(--accent-violet); margin-bottom: 0.5rem;">VISION · v1.0</p>
436
+ <ul style="color: var(--muted); font-size: 0.9rem; padding-left: 1.1rem; line-height: 1.8;">
437
+ <li>Parallel worktree fleets with merge arbitrage</li>
438
+ <li>Background agents + cron/interval runs</li>
439
+ <li>Sandboxed cloud execution tiers</li>
440
+ <li>Cost-optimal planner/executor split</li>
441
+ </ul>
442
+ </div>
443
+ </div>
444
+ </div>
445
+ </section>
446
+
447
+ <!-- ===== FAQ ===== -->
448
+ <section id="faq" aria-label="faq">
449
+ <div class="container" style="max-width: 900px; margin: 0 auto; padding: 3rem 1.5rem;">
450
+ <div style="text-align: center; margin-bottom: 2.5rem;">
451
+ <h2 style="font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700;">FAQ</h2>
452
+ </div>
453
+ <div id="faqList"></div>
454
+ </div>
455
+ </section>
456
+
457
+ <!-- ===== FINAL CTA ===== -->
458
+ <section id="cta" aria-label="call to action" style="text-align: center; padding: 4rem 1.5rem; border-top: 1px solid var(--border);">
459
+ <h2 style="font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; margin-bottom: 1rem;">Ship faster.<br><span style="background: linear-gradient(135deg, var(--accent-cyan), var(--accent-blue), var(--accent-violet)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">Own your agent.</span></h2>
460
+ <p style="color: var(--muted); margin-bottom: 1.5rem;">MIT. Local-first. No telemetry. Yours.</p>
461
+ <div style="display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap;">
462
+ <button class="cta-btn" id="copyBtn2" style="font-size: 1rem; padding: 0.9rem 1.75rem;">npm install -g xminal
463
+ <svg class="copy-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13"></rect><path d="M5 12h14"></path></svg>
464
+ </button>
465
+ <a class="cta-btn" href="https://github.com/quitsaurabhverma2008-sketch/xminal" target="_blank" rel="noopener" style="background: var(--surface); border: 1px solid var(--border); color: var(--text);">View on GitHub →</a>
466
+ </div>
467
+ </section>
468
+
469
+ <!-- ===== FOOTER ===== -->
470
+ <footer style="border-top: 1px solid var(--border); padding: 2rem 1.5rem; text-align: center; color: var(--muted); font-size: 0.85rem;">
471
+ <p style="font-weight: 700; letter-spacing: 0.15em; color: var(--text); margin-bottom: 0.5rem;">XMINAL</p>
472
+ <p>MIT License · <a href="https://github.com/quitsaurabhverma2008-sketch/xminal">GitHub</a> · <a href="https://www.npmjs.com/package/xminal">npm</a></p>
473
+ <p style="margin-top: 0.5rem; font-size: 0.75rem;">Built from 125 MIT terminal-agent projects — see <code>FEATURE_MATRIX.md</code></p>
474
+ </footer>
475
+
476
+ <script>
477
+ const providers = [
478
+ ["opencode","keyless default"],["openai","cloud"],["anthropic","native"],["gemini","native"],
479
+ ["openrouter","cloud"],["groq","cloud"],["deepseek","cloud"],["mistral","cloud"],["xai","cloud"],
480
+ ["cerebras","cloud"],["cohere","cloud"],["togetherai","cloud"],["fireworks","cloud"],["perplexity","cloud"],
481
+ ["moonshotai","cloud"],["moonshotai_cn","cloud"],["huggingface","cloud"],["github","GitHub Models"],
482
+ ["nvidia","cloud"],["deepinfra","cloud"],["sambanova","cloud"],["novita","cloud"],["friendli","cloud"],
483
+ ["nebius","cloud"],["poe","cloud"],["ollama_cloud","cloud"],["zai","cloud"],["zhipuai","cloud"],
484
+ ["minimax","cloud"],["stepfun","cloud"],["stepfun_cn","cloud"],["siliconflow","cloud"],["volcengine","cloud"],
485
+ ["302ai","cloud"],["venice","cloud"],["vercel","cloud"],["alibaba","cloud"],["ollama","local"],
486
+ ["ollama_cn","local"],["lmstudio","local"],["vllm","local"],["llama_cpp","local"],["koboldcpp","local"],
487
+ ["textgen","local"],["gpt4all","local"],["openwebui","local"],
488
+ ];
489
+ const grid = document.getElementById('providerGrid');
490
+ for (const [name, kind] of providers) {
491
+ const el = document.createElement('div');
492
+ el.style.cssText = 'background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 0.6rem 0.7rem; text-align: center; font-size: 0.8rem;';
493
+ el.innerHTML = `<div style="color: var(--text); font-weight: 600;">${name}</div><div style="color: var(--muted); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.08em; margin-top: 0.15rem;">${kind}</div>`;
494
+ grid.appendChild(el);
495
+ }
496
+
497
+ const compareRows = [
498
+ ["Providers (built-in)","47","~10","~20","many via plugins","few"],
499
+ ["Open-source (MIT)","✓","✓","—","✓","✓"],
500
+ ["MCP client + server","✓","—","—","✓","—"],
501
+ ["Subagents / worktrees","✓","—","—","✓","—"],
502
+ ["Local models (Ollama)","✓","✓","—","✓","—"],
503
+ ["Web UI built-in","✓","—","—","✓","—"],
504
+ ["Telegram bridge","✓","—","—","—","—"],
505
+ ["Hash-chained audit log","✓","—","—","—","—"],
506
+ ["Cost / token tracking","✓","✓","✓","✓","✓"],
507
+ ];
508
+ const tbody = document.getElementById('compareBody');
509
+ for (const [cap, ...cells] of compareRows) {
510
+ const tr = document.createElement('tr');
511
+ tr.innerHTML = `<td style="padding: 0.75rem; border-bottom: 1px solid var(--border);">${cap}</td>` +
512
+ cells.map((c, i) => `<td style="padding: 0.75rem; text-align: center; border-bottom: 1px solid var(--border); color: ${i===0 ? 'var(--accent-cyan)' : 'var(--muted)'};">${c}</td>`).join('');
513
+ tbody.appendChild(tr);
514
+ }
515
+
516
+ const faqs = [
517
+ ["Which models can I use?", "Any of 258 aliased models across OpenCode (keyless default), OpenAI, Anthropic, Gemini, OpenRouter, Groq, DeepSeek, Mistral, xAI, Cerebras, Cohere, Together, Fireworks, Moonshot and more. Local Ollama/LM Studio/vLLM included."],
518
+ ["Is it free?", "Yes — MIT, zero telemetry, zero SaaS lock-in. The default OpenCode free models cost nothing. Bring your own keys for everything else."],
519
+ ["Does it phone home?", "No. No analytics, no telemetry, no accounts. Your code stays on your machine; the only network calls are to the model providers you configure."],
520
+ ["Can I use a local model?", "Yes — install Ollama, run `ollama pull qwen3:0.6b`, then `xminal -m ollama/qwen3:0.6b`. It's fully offline and unlimited."],
521
+ ];
522
+ const faqList = document.getElementById('faqList');
523
+ for (const [q, a] of faqs) {
524
+ const details = document.createElement('details');
525
+ details.style.cssText = 'border: 1px solid var(--border); border-radius: 8px; padding: 1rem 1.25rem; margin-bottom: 0.75rem; background: var(--surface);';
526
+ details.innerHTML = `<summary style="cursor: pointer; font-weight: 600;">${q}</summary><p style="color: var(--muted); margin-top: 0.75rem; font-size: 0.9rem;">${a}</p>`;
527
+ faqList.appendChild(details);
528
+ }
529
+
530
+ function wireCopy(id, text) {
531
+ const btn = document.getElementById(id);
532
+ if (!btn) return;
533
+ btn.addEventListener('click', async () => {
534
+ try { await navigator.clipboard.writeText(text); } catch {}
535
+ const original = btn.firstChild.textContent;
536
+ btn.firstChild.textContent = 'Copied ✓';
537
+ setTimeout(() => { btn.firstChild.textContent = original; }, 1500);
538
+ });
539
+ }
540
+ wireCopy('copyBtn', 'npm install -g xminal');
541
+ wireCopy('copyBtn2', 'npm install -g xminal');
542
+ wireCopy('installChip', 'npm install -g xminal');
543
+
544
+ document.querySelectorAll('.tab-btn').forEach(btn => {
545
+ btn.addEventListener('click', () => {
546
+ document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));
547
+ document.querySelectorAll('.tab-content').forEach(c => { c.style.display = 'none'; });
548
+ btn.classList.add('active');
549
+ const target = document.getElementById(btn.dataset.tab === 'macos' ? 'macosTab' : 'termuxTab');
550
+ if (target) target.style.display = 'block';
551
+ });
552
+ });
553
+
554
+ const reveal = document.querySelectorAll('section');
555
+ const io = new IntersectionObserver(entries => {
556
+ for (const e of entries) if (e.isIntersecting) e.target.style.opacity = '1';
557
+ }, { threshold: 0.05 });
558
+ reveal.forEach(s => { s.style.transition = 'opacity 0.6s'; if (getComputedStyle(s).opacity === '1') return; s.style.opacity = '0.35'; io.observe(s); });
559
+ </script>
560
+ </body>
561
+ </html>