Skip to content

feat: browdie-browse — interactive terminal browser#80

Merged
justrach merged 3 commits into
mainfrom
feature/74-browdie-browse-scaffold-binary-build-zig-integrati
Mar 14, 2026
Merged

feat: browdie-browse — interactive terminal browser#80
justrach merged 3 commits into
mainfrom
feature/74-browdie-browse-scaffold-binary-build-zig-integrati

Conversation

@justrach

Copy link
Copy Markdown
Owner

🧁 browdie-browse — browse the web from your terminal

New binary that turns your terminal into a web browser.

Features

  • Colored markdown rendering with numbered links [1], [2], etc.
  • Interactive REPL — type a number to follow a link, or use commands
  • Navigation history:back, :forward, just like a real browser
  • In-page search/term or :search term with match highlighting
  • Relative URL resolution — follows links naturally across pages
  • Smart link filtering — skips javascript: and mailto: hrefs

Commands

<number>          Follow link [N]
<url>             Navigate (if contains '.')
:go <url>         Navigate to URL
:back, :b         Go back
:forward, :f      Go forward
:reload, :r       Reload current page
:links, :l        Show link index
/search-term      Search in page
:history           Show history
:quit, :q         Exit

Demo

$ browdie-browse https://example.com
🧁 browdie-browse — terminal browser
→ loading https://example.com

# Example Domain
This domain is for use in documentation examples...
Learn more [1]

───── Links ─────
  [1] https://iana.org/domains/example

✓ 528 bytes, 1 links (133ms)
[nav] https://example.com> 1     ← type 1 to follow the link

Binary size: ~4.2MB (Debug). No Chrome dependency.

Closes #74, #75, #76, #77, #78, #79

New binary `browdie-browse` — a terminal-native web browser with:
- Colored markdown rendering with numbered links [1], [2], etc.
- Interactive REPL: type a number to follow links, :go URL, :back, :forward
- Navigation history with back/forward (truncates on new nav)
- In-page search with /term or :search term (highlights matches)
- Relative URL resolution (protocol-relative, absolute path, relative)
- Filters out javascript: and mailto: links
- Proper stdout/stderr separation, NO_COLOR support, TTY detection
- 12 unit tests covering history, links, search, rendering

Closes #74, #75, #76, #77, #78, #79

Refs #74
Rename all binaries, user agents, help text, and branding:
- agentic-browdie → kuri
- browdie-fetch → kuri-fetch
- browdie-browse → kuri-browse
- browdie-bench → kuri-bench
- Updated navigator.userAgent, platform, appName in JS engine
- Easter egg at /browdie preserved with "formerly":"browdie 🧁"
- Internal __browdie_* JS variable names left unchanged (API stability)

All 230+ tests pass.

Refs #74
- Rename all browdie references → kuri throughout README
- Add full kuri-browse section with commands table and demo
- Update architecture diagram to include browse CLI
- Update env vars (KURI_SECRET, .kuri state dir)
- Add kuri-browse to comparison table and quick start
- Update file structure to include browse_main.zig

Refs #74
@justrach justrach merged commit 1774774 into main Mar 14, 2026
1 check failed
@justrach justrach deleted the feature/74-browdie-browse-scaffold-binary-build-zig-integrati branch March 14, 2026 09:39
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.

browdie-browse: scaffold binary + build.zig integration

1 participant