diff --git a/README.md b/README.md index b516468..5fb821b 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,24 @@ You can use obelisk like: ### Install -Obelisk requires Node.js 22.13 or newer. Install the platform-neutral CLI first: +#### Let your agent install it (recommended) + +The shortest path is to give the bootstrap guide directly to a coding agent +with shell access. Paste this as a prompt into Claude Code, Codex, or another +agent — not into your terminal: + +```text +Install Obelisk by fetching and following this guide: +curl -fsSL https://raw.githubusercontent.com/tommy0103/obelisk/main/SKILL.md +``` + +The agent will ask before changing your machine, install and verify the CLI, +then install the formal `/obelisk` skill. The bootstrap guide is only for +one-time setup; it is not the query skill itself. + +#### Install manually + +Obelisk requires Node.js 22.13 or newer. Install the platform-neutral CLI: ```bash npm install --global @obelisk-apps/cli @@ -73,11 +90,7 @@ obelisk install ``` `obelisk install` delegates to the standard skills installer for -`tommy0103/obelisk-skill`. To let an agent perform the one-time bootstrap, give -it the repository's root -[`SKILL.md`](https://raw.githubusercontent.com/tommy0103/obelisk/main/SKILL.md). -That document installs the CLI and formal skill; it is not the query skill -itself. +`tommy0103/obelisk-skill`. Then in any Claude Code session: diff --git a/packaging/skill-README.md b/packaging/skill-README.md index cac19b4..cb047c1 100644 --- a/packaging/skill-README.md +++ b/packaging/skill-README.md @@ -3,7 +3,18 @@ Explicit memory infrastructure for coding agents — a queryable SQLite evidence layer over local Claude Code and Codex session history. -## Install +## Install with your agent (recommended) + +Paste this into a coding agent with shell access: + +```text +Install Obelisk by fetching and following this guide: +curl -fsSL https://raw.githubusercontent.com/tommy0103/obelisk/main/SKILL.md +``` + +The agent installs and verifies the CLI first, then installs this skill. + +## Install manually ```bash npm install --global @obelisk-apps/cli diff --git a/tests/cli-bootstrap-install.test.mjs b/tests/cli-bootstrap-install.test.mjs index 943ac59..647ffd3 100644 --- a/tests/cli-bootstrap-install.test.mjs +++ b/tests/cli-bootstrap-install.test.mjs @@ -24,6 +24,24 @@ test('root SKILL.md bootstraps the CLI before installing the official skill', () assert.doesNotMatch(source, /obelisk --query/); }); +test('README presents agent-led installation before manual npm setup', () => { + const source = readFileSync(join(repoRoot, 'README.md'), 'utf8'); + const publishedSkillReadme = readFileSync( + join(repoRoot, 'packaging', 'skill-README.md'), + 'utf8', + ); + const agentInstall = source.indexOf('Let your agent install it (recommended)'); + const manualInstall = source.indexOf('Install manually'); + + assert.ok(agentInstall >= 0); + assert.ok(manualInstall > agentInstall); + assert.match(source, /curl -fsSL .*\/SKILL\.md/); + assert.ok( + publishedSkillReadme.indexOf('Install with your agent (recommended)') + < publishedSkillReadme.indexOf('Install manually'), + ); +}); + test('install.sh installs and verifies only the CLI', () => { const home = mkdtempSync(join(tmpdir(), 'obelisk-install-script-')); const fakeBin = join(home, 'bin');