A Terminal User Interface (TUI) for viewing and managing BoltDB files. Built with Go and the Bubbletea framework.
- ποΈ Interactive File Picker: Browse and select BoltDB files from your filesystem
- π Database Browser: View all buckets and their key-value pairs
- βοΈ Edit Operations: Create, update, and delete buckets and keys
- β¨οΈ Keyboard Navigation: Full keyboard support with intuitive shortcuts
- π Help System: Built-in help to guide you through available commands
- π Tab Navigation: Organize your work with multiple tabs
- Go 1.24.1 or higher
git clone https://github.com/lunargon/bolt-tui.git
cd bolt-tui
go build -o bolt-tui cli/main.goRun the application to open the file picker:
./bolt-tuiOpen a specific BoltDB file directly:
./bolt-tui -f /path/to/your/database.dbStart file picker in a specific directory:
./bolt-tui -d /path/to/directoryUse current directory:
./bolt-tui -d .| Key | Action |
|---|---|
β/k |
Move up |
β/j |
Move down |
β/h |
Move left |
β/l |
Move right |
Enter |
Select/Confirm |
Esc |
Go back/Cancel |
Ctrl+c |
Quit |
? |
Toggle help |
| Key | Action |
|---|---|
Tab |
Next tab |
Shift+Tab |
Previous tab |
1-9 |
Select tab by number ( Not implement this) |
| Key | Action |
|---|---|
Ctrl+t |
Create new bucket |
Ctrl+b |
Edit bucket name |
Ctrl+r |
Remove bucket |
| Key | Action |
|---|---|
Ctrl+n |
Create new key |
Ctrl+e |
Edit key name |
Ctrl+d |
Delete key |
Enter |
Edit value (when key selected) |
bolt-tui/
βββ main.go # Test entry point with file picker ( for testing)
βββ cli/
β βββ main.go # CLI entry point
βββ src/
β βββ app/ # TUI application logic
β β βββ model.go # Main application model and UI
β β βββ helper.go # Helper functions
β βββ bolt/ # BoltDB wrapper
β β βββ bolt.go # Database operations
β βββ cmd/ # CLI commands
β βββ main.go # Cobra command definitions
βββ seed/ # Database seeding utilities
β βββ seed.go
βββ go.mod # Go module definition
βββ go.sum # Go module checksums
βββ README.md # This file
- BoltDB - Embedded key/value database
- Bubbletea - TUI framework
- Bubbles - TUI components
- Lipgloss - Style definitions
- Cobra - CLI framework
Build the main CLI application:
go build -o bolt-tui cli/main.goSeed .db file for testing:
go run seed/seed.goRun the main CLI application:
go run cli/main.goOr run the test entry point (for testing purposes):
go run main.go# Linux
GOOS=linux GOARCH=amd64 go build -o bolt-tui-linux
# macOS
GOOS=darwin GOARCH=amd64 go build -o bolt-tui-macos
# Windows
GOOS=windows GOARCH=amd64 go build -o bolt-tui-windows.exe- Refactor
- Update UI
- Add feature to jump tab with number
- Have switch to view
bytevalue orstringvalue
- Fork the repository
- Create a feature branch (
git checkout -b feat/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Charm TUI libraries
- Inspired by the need for a simple, interactive BoltDB browser
- Thanks to the Go community for excellent tooling and libraries