Skip to content

feat: onboarding — kibble init, sample corpus, Quickstart, offline-clean defaults - #69

Merged
vxfemboy merged 4 commits into
mainfrom
feat/onboarding
Jul 26, 2026
Merged

feat: onboarding — kibble init, sample corpus, Quickstart, offline-clean defaults#69
vxfemboy merged 4 commits into
mainfrom
feat/onboarding

Conversation

@vxfemboy

Copy link
Copy Markdown
Member

Addresses a launch comment ("great features die if setup is hard — simplify onboarding, provide examples"). The core pipeline already ran zero-config/offline; this pass surfaces that and makes first-run turnkey.

What's in it (4 commits)

  • Sample corpus + READMEexamples/notes/*.md (4 Rust docs) so kibble index examples && kibble search "ownership" works from a clean build; a ## Quickstart (30 seconds, no setup), an offline-vs-endpoint capabilities table, and an Ollama/OpenAI-compatible RAG recipe.
  • kibble init — one command scaffolds kibble.toml + the sample corpus into any dir, prints a next: hint. Refuses to clobber an existing config without --force; skips pre-existing samples. Config + samples are include_str!-embedded so it works from an installed binary. 5 unit tests.
  • build guidance — when no sources are found, points forward (add [[source]]… or run kibble init) instead of "Build complete: 0 docs".
  • Offline-clean scaffolded config (review polish) — kibble.toml.example ships empty embed/ask base_urls (with Ollama how-to comments), so init's own next step (index examples) runs clean (calm "lexical-only" note, not an embed-failed warning). The newcomer's turnkey path has zero scary output.

Verification

  • cargo test 386 + integration (incl. 5 init tests); cargo clippy --all-targets -- -D warnings clean; lean --features retrieval builds (init in the lean set).
  • Turnkey, live in a fresh dir: kibble initindex examples (calm BM25) → search "ownership" → ownership.md Extractor 3.3: video + office (completes Layer 3) #1; re-run refuses to clobber; empty build prints the guidance.
  • Per-task reviews (spec + quality) + an Opus whole-branch review (READY TO MERGE); its 3 Minors (scaffold config warning, tautological drift test, classify in table) all fixed in the final commit.

🤖 Generated with Claude Code

vxfemboy added 4 commits July 25, 2026 23:09
Ship examples/notes/*.md so 'kibble index examples && kibble search' runs
with zero setup; add a 30-second Quickstart, an offline-vs-endpoint table,
and an Ollama/OpenAI-compatible RAG recipe to the README.
One-command turnkey first-run: writes kibble.toml (from the bundled template)
and examples/notes/*.md into the CWD, then prints a next-steps hint. Refuses
to clobber an existing config without --force; skips pre-existing samples.
Config + samples are include_str!-embedded so it works from an installed
binary and can't drift from the committed files (asserted by a test).
Instead of 'Build complete: 0 docs', point forward: add a [[source]] / drop
files in data/raw/, or run 'kibble init'. Only the empty case changes.
…le test

Final-review fixes: kibble.toml.example now ships empty embed/ask base_urls
(with Ollama how-to comments) so 'kibble init && kibble index examples' —
init's own next-step hint — runs clean (calm 'lexical-only' note, not an
embed-failed warning). Replace the tautological include_str drift test with
a real content invariant (non-empty + topic keyword present). Drop 'classify'
from the capabilities table (it's a pipeline stage, not a subcommand).
@vxfemboy
vxfemboy merged commit 1d90b8e into main Jul 26, 2026
@vxfemboy
vxfemboy deleted the feat/onboarding branch July 26, 2026 03:20
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