feat: onboarding — kibble init, sample corpus, Quickstart, offline-clean defaults - #69
Merged
Conversation
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).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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)
examples/notes/*.md(4 Rust docs) sokibble 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 scaffoldskibble.toml+ the sample corpus into any dir, prints anext:hint. Refuses to clobber an existing config without--force; skips pre-existing samples. Config + samples areinclude_str!-embedded so it works from an installed binary. 5 unit tests.buildguidance — when no sources are found, points forward (add [[source]]… or run kibble init) instead of "Build complete: 0 docs".kibble.toml.exampleships empty embed/askbase_urls (with Ollama how-to comments), soinit'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 test386 + integration (incl. 5inittests);cargo clippy --all-targets -- -D warningsclean; lean--features retrievalbuilds (initin the lean set).kibble init→index examples(calm BM25) →search "ownership"→ ownership.md Extractor 3.3: video + office (completes Layer 3) #1; re-run refuses to clobber; emptybuildprints the guidance.classifyin table) all fixed in the final commit.🤖 Generated with Claude Code