FAQ
FAQ

Answers before the workflow gets expensive.

Most CafeKit mistakes come from skipping scope, skipping validation, or treating chat as state. This page clarifies the common edge cases.

Is OpenCode supported?#

Yes. The installer writes a self-contained .opencode/ runtime with skills, agents, commands, rules, references, scripts, runtime.json, and TypeScript plugins under .opencode/plugins/. It also writes a root AGENTS.md and merges opencode.json. OpenCode does not share files with .claude/.

Should every task start with /hapo:specs?#

No. Use specs for meaningful feature work. Use /hapo:debug and /hapo:hotfix for bugs. Tiny local fixes may not need a full spec.

Why does CafeKit care about task files?#

Task files preserve scope, steps, completion criteria, and evidence. They are the bridge between human intent and machine-checkable state.

Is NO_TESTS a pass?#

No. NO_TESTS only means no real test suite ran. Build health, runtime proof, and task evidence still matter.

Can a task be marked done from chat?#

No. done requires physical state sync in spec.json and task markdown after fresh verification.

What should I use for production bugs?#

Start with /hapo:debug when root cause is unknown. Use /hapo:hotfix after diagnosis or when the bug and target fix are already clear.