Skip to content

feat(install): offer kindling demo after setup - #152

Merged
joshuaboys merged 1 commit into
mainfrom
feat/install-demo-prompt
Oct 20, 2026
Merged

joshuaboys merged 1 commit into
mainfrom
feat/install-demo-prompt

Conversation

@joshuaboys

Copy link
Copy Markdown
Contributor

Summary

Implements C1 (install.sh demo prompt) from module 08 (conversion surface).

  • After setup_claude_code, install.sh asks Load sample memory to try search? [Y/n]; yes (the default, including a bare Enter) runs kindling demo --reset, loading sample memory into ~/.kindling/demo/kindling.db. --reset keeps reinstalls idempotent and only touches the demo database.
  • Non-interactive safe: a has_tty check skips the prompt entirely when /dev/tty cannot be opened (CI, headless, setsid), so a piped install never hangs. When piped in a terminal the prompt still reads from /dev/tty, matching the existing Claude Code prompt.
  • New opt-out: KINDLING_NO_DEMO=1 skips the prompt (documented in the script header and packaging/README.md).
  • A failing kindling demo warns instead of aborting the install.
  • Closing hints now list kindling browse, plus kindling demo when the sample was not loaded.

Testing

  • sh -n, dash -n, and shellcheck install.sh: clean.
  • Dry run with a harness that sources the script, stubs the download steps to use a locally built target/debug/kindling, and sets HOME to a scratch directory:
    • headless (setsid, no tty): no prompt, no demo DB created, hints include kindling demo
    • tty, Enter: demo loads (7 observations, 1 capsule, 1 summary, 1 pin); kindling search JWT --db <scratch>/.kindling/demo/kindling.db returns the pinned demo result
    • tty, n: demo skipped; KINDLING_NO_DEMO=1: no prompt
    • rerun with yes: --reset reloads cleanly with no warnings
  • cargo fmt --all -- --check and prettier on packaging/README.md: clean.

A real end-to-end install from a GitHub Release is not possible yet: no published release carries Rust binaries with kindling demo (blocked on the v0.4.0 release, see ISS-003).

🤖 Generated with Claude Code

After the Claude Code setup step, prompt to load sample memory with
`kindling demo --reset` (default yes) so new users can try search and
browse straight away. The prompt is skipped when no terminal is
available (CI, headless) or when KINDLING_NO_DEMO=1, so piped installs
never hang. Closing hints now mention `kindling browse`, and
`kindling demo` when the sample was not loaded.
@joshuaboys
joshuaboys merged commit 917986c into main Oct 20, 2026
7 checks passed
@joshuaboys
joshuaboys deleted the feat/install-demo-prompt branch October 20, 2026 16:27
joshuaboys added a commit that referenced this pull request Oct 20, 2026
Mark C1, C2 and C4 merged (PRs #152, #155, #153), C3 in review
(#154), and PUBDIR-001/002 in review as draft PR #151. Log ISS-004
for daemons leaked by the thin-client and adapter test suites.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant