Installation
Install

Bootstrap the runtime into an existing repo.

The installer writes a native Claude Code or Codex CLI runtime, preserves user-owned settings, and records the installed package version.

Requirements#

  • Node.js >=18
  • A writable project root
  • Claude Code or Codex CLI project, or an explicit runtime selection during install

Install#

npx @haposoft/cafekit

The binary is exposed as cafekit from packages/spec/bin/install.js.

Fresh installs include 18 core skills. The interactive installer offers the optional docs, docx, pdf, pptx, xlsx, and ai-multimodal bundle; non-interactive installs leave it out unless requested:

npx @haposoft/cafekit --with-document-skills
npx @haposoft/cafekit --without-document-skills

The second command also removes pristine CafeKit-owned copies from an existing install. User-modified skill files are preserved. Legacy installs keep the bundle enabled on their first upgrade.

Upgrade#

npx @haposoft/cafekit --upgrade

Upgrade mode refreshes managed files, removes obsolete runtime hooks, and keeps user-owned settings where possible.

Platform detection#

CafeKit detects:

RuntimeDetectionInstalled shape
Claude Code.claude/.claude/skills, .claude/agents, .claude/hooks, settings.json, status.cjs, CLAUDE.md
Codex CLI.codex/, .agents/, or explicit --platform codex.agents/skills, .codex/agents, .codex/rules, .codex/scripts, .codex/hooks.json, .codex/runtime.json, managed root AGENTS.md block

If no runtime marker exists, the installer asks which platform to install.

Verify#

Run one of these inside the target project:

/cf:specs Build a tiny verified feature

For Codex CLI, invoke the native project skill:

$cf-specs Build a tiny verified feature

Version tracking#

The installer writes package metadata to:

  • .claude/cafekit.json
  • .codex/cafekit.json

The metadata also persists the optional document-skill choice.