Files
obelisk/docs/adr/0004-skill-artifact-readable-not-bundled.md
T
tommy0103 90191e4604 feat(cli): extract Obelisk runtime into npm package
Add @obelisk-apps/cli with the existing build, search, query, and attune contract plus official skill installation.

Separate the docs-only skill artifact, bootstrap installer, release layout, cross-platform CI, and package-level regression coverage.
2026-07-16 17:26:23 +08:00

1.3 KiB

The CLI ships readable compiled JS; the skill remains docs-only

Context. Obelisk reads a user's entire local Claude Code and Codex history, so auditability is the foundation of trust. Bundling/minifying Core into one opaque file would make the runtime harder to inspect. Shipping executable Core inside .claude/skills / .agents/skills would also blur the boundary between the agent's instructions and the local data runtime.

Decision. @obelisk-apps/cli ships readable, non-bundled, non-minified compiled JavaScript emitted straight from tsc (module structure and comments preserved, ~1:1 with the TypeScript source), plus schema.sql. It excludes the app, renderer, release assets, and tests. The separately published agent skill ships only SKILL.md, references/, and metadata; every executable action in the skill delegates to the installed obelisk command. Bundling into one file is deliberately rejected because it trades auditability for marginal size.

Consequences. Runtime ownership is unambiguous: npm installs the CLI, while the skills installer installs only agent guidance. A future contributor may be tempted to re-embed Core in the skill or bundle the CLI — this ADR records that both are intentional boundaries. build:cli owns compiled code; build:skill owns docs-only packaging.