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