From a82b105dd4068134c626141c546cf207edcaade4 Mon Sep 17 00:00:00 2001 From: dvcdsys Date: Sun, 16 Aug 2026 13:59:25 +0100 Subject: [PATCH] fix(site): the CLI is its own install, not a PATH workaround MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The macOS tab ended on `ln -sf ~/.cix/runtime/current/cix /usr/local/bin/cix`, which put a symlink trick inside the one route whose whole point is that it needs no terminal. Installing the app IS the macOS install: the server runs, the account exists, both halves keep themselves updated. The `cix` command is a separate thing and the same on every platform, so it becomes the first of the shared steps instead — install.sh, once, on whichever machine you search from. It needs no configuration after the app either, because first run already wrote ~/.cix/config.yaml with the server and an API key. The detail is not duplicated here: the dashboard's home page carries the full version (ConnectClaudeCode.tsx — four steps with a connect command derived from that deployment's own host), and it cannot go stale the way a copy on this site would, so the step points at it. The `cix config show` output in the block is transcribed from a real run rather than invented, and the install line now carries CLI_VERSION. Co-Authored-By: Claude Opus 5 --- site/src/landing/install-tabs.jsx | 14 +++++--------- site/src/landing/sections.jsx | 20 ++++++++++++++++---- site/src/styles.css | 11 +++++++++++ 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/site/src/landing/install-tabs.jsx b/site/src/landing/install-tabs.jsx index d582e17..69c44dd 100644 --- a/site/src/landing/install-tabs.jsx +++ b/site/src/landing/install-tabs.jsx @@ -67,17 +67,13 @@ function MacPane() { }, { title: 'First launch sets everything up', - desc: <>Exactly what the panel on the left is playing: one question — an email address for the admin account, which goes nowhere — then it downloads the server, the CLI and a Metal-accelerated llama-server (about 40 MB) into ~/.cix/runtime/, generates your password and an API key, starts the server and hands you the login. You change that password on first sign-in. That is steps 01–03 of every other route already done — go straight to Index & first search below., - }, - { - title: 'Put the CLI on your PATH', - code: <> - $ ln -sf ~/.cix/runtime/current/cix \{'\n'} - {' '}/usr/local/bin/cix - , - desc: <>A symlink into current, so the CLI follows every runtime update instead of pinning the version you installed today. The app keeps itself and the server up to date on separate release streams: a server update is a download, a signature check and a symlink rename, with automatic rollback if the new one does not come back., + desc: <>Exactly what the panel on the left is playing: one question — an email address for the admin account, which goes nowhere — then it downloads the server, the CLI and a Metal-accelerated llama-server (about 40 MB) into ~/.cix/runtime/, generates your password and an API key, starts the server and hands you the login. You change that password on first sign-in., }, ]} /> + +

+ That is the install. No terminal, no toolchain, nothing left to configure — the server is running, your account exists, and the app keeps both halves current on their own release streams (a server update is a download, a signature check and a symlink rename, with automatic rollback if the new one does not come back). The cix command is a separate install, identical on every platform: it is the first of the shared steps below. +

); diff --git a/site/src/landing/sections.jsx b/site/src/landing/sections.jsx index 036dca6..59ac985 100644 --- a/site/src/landing/sections.jsx +++ b/site/src/landing/sections.jsx @@ -1,7 +1,7 @@ import { CLITabs } from './tabs.jsx'; import { InstallTabs } from './install-tabs.jsx'; import { WorkspaceDemo } from './workspace-demo.jsx'; -import { GITHUB_URL, PLUGIN_VERSION } from '../shared/versions.js'; +import { CLI_VERSION, GITHUB_URL, PLUGIN_VERSION } from '../shared/versions.js'; import { TeamDiagram } from '../shared/team-diagram.jsx'; const FIT = [ @@ -265,7 +265,19 @@ export function Agent() { // by route (see install-tabs.jsx); everything from here down is one cix. const QS_STEPS = [ { - n: '01', title: 'Index & first search', + n: '01', title: 'Install the cix CLI', + desc: <>One installer, same on every platform, on whichever machine you want to search from. The Docker and Source installers already offered it. After the macOS app it needs no configuration either — the app has written ~/.cix/config.yaml pointing at your server with an API key. Your dashboard's home page carries the detailed version: a Connect Claude Code to cix card with a connect command already filled in for that server., + code: <> + $ curl -fsSL https://raw.githubusercontent.com{'\n'} + {' '}/dvcdsys/code-index/main/install.sh | bash{'\n'} + # ✓ cix {CLI_VERSION} installed at /usr/local/bin/cix{'\n'} + $ cix config show{'\n'} + # servers (1):{'\n'} + # * local url=http://localhost:21847 key=(set) + , + }, + { + n: '02', title: 'Index & first search', desc: <>cix init registers, indexes, and starts the file watcher in the background. Search from the terminal, the dashboard, or any agent with shell access., code: <> $ cd ~/code/your-project{'\n'} @@ -276,7 +288,7 @@ const QS_STEPS = [ , }, { - n: '02', title: 'Hook up your agent', + n: '03', title: 'Hook up your agent', desc: <>Run in a terminal, not inside a Claude session — the plugin activates on the next claude start. It ships the CLI, eight slash commands, the /cix and /cix-workspace skills, and hooks that steer Claude toward cix in indexed projects. Claude Desktop / Cowork: cix mcp install claude-desktop., code: <> $ claude plugin marketplace add dvcdsys/code-index{'\n'} @@ -290,7 +302,7 @@ const QS_STEPS = [ , }, { - n: '03', title: 'Connect more machines (optional)', + n: '04', title: 'Connect more machines (optional)', desc: <>The machine you installed on is already connected — skip this. For a laptop or agent box elsewhere: mint a key in API Keys → New key (revealed once, with a ready-to-paste connect command), install the CLI there, paste., code: <> # on the other machine:{'\n'} diff --git a/site/src/styles.css b/site/src/styles.css index 69a00cd..12183bb 100644 --- a/site/src/styles.css +++ b/site/src/styles.css @@ -1002,6 +1002,17 @@ h3 { font-size: clamp(20px, 2vw, 24px); } } .inst-step .code-block { margin: 0; } +/* the closing line under a tab's steps — a summary, not another step */ +.inst-note { + margin: 26px 0 0; + padding-top: 18px; + border-top: 2px dashed var(--ink); + font-size: 14px; + line-height: 1.55; + color: var(--ink-soft); +} +.inst-note b { color: var(--ink); } + .inst-facts { background: var(--bg-2); border: 2.5px solid var(--ink);