TigerBeetle Explorer
A Visual Studio Code extension for exploring TigerBeetle databases with an intuitive graphical interface.
Installation
- From the VS Code Marketplace: open the Extensions view (
Cmd/Ctrl+Shift+X), search for "TigerBeetle Explorer", and click Install. (Or run code --install-extension OluwatobilobaAremu.tiger-beetle-explorer.)
- From a
.vsix: grab the file from the Releases page and run code --install-extension tiger-beetle-explorer-<version>.vsix.
No extra setup is required — the matching TigerBeetle client is bundled with the extension.
Features
This extension provides comprehensive tools for exploring and analyzing TigerBeetle accounting databases:
🔌 Connection Management
- Connect to TigerBeetle clusters with cluster ID and replica addresses
- Visual connection status with cluster information
- Secure disconnect functionality
👤 Account Exploration
- Query Accounts: Search accounts with filters (limit, ledger, code)
- Lookup Account: Find specific accounts by ID
- Account Details: Rich webview showing account information, balances, and metadata
- Balance History: View account balance changes over time
- Account Transfers: See all transfers for a specific account
💸 Transfer Analysis
- Query Transfers: Search transfers with filters
- Lookup Transfer: Find specific transfers by ID
- Transfer Details: Detailed transfer information with account relationships
- Transfer Direction: Clear visualization of money flow between accounts
🎨 User Interface
- Tree Views: Organized sidebar with accounts and transfers
- Rich Webviews: Detailed information panels with proper styling
- Context Menus: Right-click actions for quick access
- Status Indicators: Visual feedback for balances and connection state
Requirements
- VS Code: Version 1.104.0 or higher
- TigerBeetle Server: A running TigerBeetle instance
- Node.js: Version 18 or higher (for development)
- Matching client version:
tigerbeetle-node must match the server release
(this project pins 0.16.31 to match ghcr.io/tigerbeetle/tigerbeetle:0.16.31).
A version mismatch fails at connect.
Usage
- Install the Extension: Install from the VS Code marketplace or build from source
- Start TigerBeetle: Ensure your TigerBeetle server is running
- Open Extension: Click the TigerBeetle icon in the activity bar
- Connect: Click "Connect to TigerBeetle". The prompts are pre-filled from
your settings (see Configuration); just press Enter to use
them, or edit per-connect:
- Cluster ID (usually
0)
- Replica addresses (e.g.
10.30.0.2:3001)
- Explore: Browse accounts and transfers in the sidebar trees
Test cluster note: the shared dev cluster (cluster 0, 10.30.0.2:3001)
is only reachable with Cloudflare WARP connected. There is no
username/password — reachability is the gate. Inside the box the backend uses
tigerbeetle:3001; use 10.30.0.2:3001 from your laptop.
Don't have a cluster? Run one locally
This repo ships a docker-compose.yml that starts a single-node development
cluster (pinned to 0.16.31 to match the bundled client):
docker compose up -d # starts TigerBeetle on 127.0.0.1:3000 (cluster 0)
Then Connect with the defaults (cluster 0, 127.0.0.1:3000). Stop it later
with docker compose down.
Basic Operations
- View Account Details: Click on any account in the accounts tree
- Check Balances: Right-click an account → "Get Account Balances"
- View Transfers: Right-click an account → "Get Account Transfers"
- Search: Use the search icons in tree headers to query with filters
- Lookup by ID: Use lookup commands to find specific accounts/transfers
Development
# Install dependencies
npm install
# Compile the extension
npm run compile
# Watch for changes
npm run watch
# Run linting
npm run lint
# Package for distribution
npm run package
Configuration
The extension connects to TigerBeetle using standard connection parameters. The
Connect prompts are pre-filled from these VS Code settings, and the last-used
values are saved back automatically:
| Setting |
Default |
Description |
tigerBeetleExplorer.clusterId |
"0" |
Cluster ID (string, so it can hold large u128 values). |
tigerBeetleExplorer.replicaAddresses |
"10.30.0.2:3001" |
Comma-separated replica addresses (host:port). |
tigerBeetleExplorer.defaultQueryLimit |
50 |
Default max number of accounts/transfers to fetch. |
Default connection: 10.30.0.2:3001 with cluster ID 0 (the shared dev cluster;
requires Cloudflare WARP). For a local cluster started via docker-compose, set
tigerBeetleExplorer.replicaAddresses to 127.0.0.1:3000.
Data Display
- BigInt Values: Displayed as strings for precision
- Timestamps: Converted from nanoseconds to ISO format
- Balances: Net balance shown as credits - debits
- Amounts: Properly formatted with sign indicators
Known Issues
- Large result sets may take time to load
- BigInt serialization requires careful handling in webviews
- Connection testing requires an active TigerBeetle server
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT
TigerBeetle Explorer - Bringing database exploration to your favorite editor!