Skip to content

michal-franc/goxide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goxide

A zoxide-like CLI tool for web pages. Quickly access your frequently visited URLs with fuzzy matching.

goxide demo

Features

  • Import browser history from Chrome (more browsers coming soon)
  • Domain consolidation - all URLs grouped by domain (e.g., all linkedin.com/* → linkedin.com)
  • Frecency-based ranking - combines visit frequency and recency (like zoxide)
  • Fuzzy search - find domains even with typos (gthb matches github)
  • Interactive mode - fuzzy finder UI for selecting domains (like zi in zoxide)
  • Fast - binary cache with instant lookups

Installation

cargo install --path .

Or build manually:

cargo build --release
# Binary at target/release/goxide

Usage

Import browser history

# Auto-detect and import from Chrome
goxide import

# Or explicitly specify Chrome
goxide import -b chrome

Quick open (like z in zoxide)

# Open best match directly
goxide github       # Opens your most visited GitHub page
goxide ggl          # Fuzzy matches Google
goxide yt music     # Multiple terms work too

Interactive mode (like zi in zoxide)

# Open fuzzy finder to select URL
goxide i

# With initial query
goxide i github

Query without opening

# Show top 10 matches
goxide query github

Stats

goxide stats

Shell alias

Add to your .bashrc or .zshrc:

alias g="goxide"
alias gi="goxide i"

Then use:

g github    # Quick open
gi          # Interactive mode

How it works

  1. Import reads your browser's SQLite history database
  2. Frecency score = visit_count * recency_weight (recent visits count more)
  3. Fuzzy matching uses the Skim algorithm for typo-tolerant search
  4. Cache stored at ~/.local/share/goxide/db.bincode

Supported browsers

Currently only Chrome is supported. More browsers coming soon.

Data source

goxide reads browser history from Chrome's SQLite database:

OS Path
Linux ~/.config/google-chrome/Default/History
macOS ~/Library/Application Support/Google/Chrome/Default/History

Note: The database is copied to a temp file before reading (browsers lock the original file while running).

Development

# Run tests
cargo test

# Run with clippy lints
cargo clippy

# Format code
cargo fmt

# Build release
cargo build --release

License

MIT

About

zoxide for browsing web

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors