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.
22 lines
1.3 KiB
Markdown
22 lines
1.3 KiB
Markdown
# 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.
|