Skip to content

docs: Add readme demo - #265

Merged
Pringled merged 12 commits into
mainfrom
add-readme-demo
Sep 11, 2026
Merged

docs: Add readme demo#265
Pringled merged 12 commits into
mainfrom
add-readme-demo

Conversation

@Pringled

@Pringled Pringled commented Sep 11, 2026

Copy link
Copy Markdown
Member

This adds a cool demo to our readme showing a semble install and semble search. Also made two small changes to make the tqdm bar smoother, and make the installation paths more readable.

- semble search/find-related gain --pretty, printing human-readable
  "path:start-end" + code per result instead of raw JSON. Default
  JSON output (used by agents/MCP) is unchanged.
- create_index_from_path takes an optional on_progress(files_done,
  files_total) callback, threaded through SembleIndex.from_path/
  from_git. The CLI wires it to a tqdm bar (green, matching the
  installer checkmarks and `semble savings` bars) that only appears
  on a tty and only when there's actually indexing work to do — a
  cache hit shows nothing.

Claude-Session: https://claude.ai/code/session_013GB3H6NiUFKsyAVC3aQNZf
Real terminal recording (via VHS, light/dark variants) of semble
install detecting Claude Code, Cursor, and Codex, followed by
semble search --pretty against a live FastAPI checkout — including
the new indexing progress bar.

Claude-Session: https://claude.ai/code/session_013GB3H6NiUFKsyAVC3aQNZf
.github/scripts/demo-{dark,light}.tape are the actual, reproducible
source for assets/images/tour-{dark,light}.gif — real terminal
recordings (via VHS) rather than a mockup, run inside a throwaway
`env -i HOME=...` shell so semble install never touches a real
dotfile. Re-rendered both GIFs from these scripts to confirm they
reproduce byte-for-byte the same demo.

Claude-Session: https://claude.ai/code/session_013GB3H6NiUFKsyAVC3aQNZf
Take main's --format/show_progress_bar implementation from #261 over this
branch's --pretty/on_progress version, switch the VHS tapes to
--format text, regenerate the demo GIFs, and relock uv.lock against the
1-week exclude-newer span.

Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew
The setup steps lived as comments in .github/scripts/*.tape because VHS
tapes can't run shell. Move the tapes out of .github (nothing in CI uses
them) and replace the comments with scripts/demo/record.sh, which builds
an isolated home per theme, warms the model cache, and renders both GIFs.

Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew
… bar

Record the demo against pydantic v2.13.5 (~3s to index) with a natural
language query that surfaces to_camel, shorten the terminal to 720px, and
wait for the prompt before holding the result for 3.5s.

Set miniters=1 on the indexing tqdm bar: its adaptive miniters froze the
bar for up to ~0.9s when many tiny files were followed by larger ones.
record.sh now shares the seed's .cache with each theme home, since
loading freshly copied grammar dylibs stalled the first files.

README links to the GIFs are temporarily relative so the branch renders
them on GitHub; they need to point at main before merging.

Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew
The 720px recording left empty space below the final prompt.

Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew
Drop the "See it in action" heading so the GIF follows the intro directly,
and qualify the sub-second indexing claim with "for most repos" since the
demo repo takes ~3s.

Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew
Absolute raw.githubusercontent.com URLs render on PyPI as well as GitHub.

Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew
@codecov

codecov Bot commented Sep 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
src/semble/index/create.py 100.00% <ø> (ø)
src/semble/installer/installer.py 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@greptile-apps

greptile-apps Bot commented Sep 11, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

The changes since the previous review appear safe to merge, although two non-blocking demo-recording reliability concerns from existing review threads remain unresolved.

Reviews (2) · Last reviewed commit: "feat: show installer paths relative to ~..."

Comment thread scripts/demo/dark.tape
Comment thread scripts/demo/record.sh
The install plan and results printed absolute paths, which wrap and add
noise (/Users/you/..., or a temp dir in the demo). Paths under the home
directory are now shown as ~/..., other paths are unchanged.

Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew
@greptile-apps

greptile-apps Bot commented Sep 11, 2026

Copy link
Copy Markdown

Want your agent to iterate on Greptile's feedback? Try greploops.

@Pringled
Pringled merged commit c935204 into main Sep 11, 2026
16 checks passed
@Pringled
Pringled deleted the add-readme-demo branch September 11, 2026 09:08
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