dynamite

module
v0.0.0-...-cfe8827 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 18, 2026 License: MIT

README ΒΆ

Dynamite

🧨🧨🧨

Amazon Dynamo-DB Query Engine for the Terminal.
A fast 2-pane TUI full of QOL features.


dynamite.webm

dynamite-screenshots-composition-1

🚧 WORK IN PROGRESS 🚧

[!Warning] This is a work in progress!

Breaking changes may occur!


πŸ€– AI NOTICE πŸ€–

[!NOTE] At least up until the first release,

this project will be exclusively hand-crafted.


❔ Why

I wanted a TUI for quickly finding and browsing Amazon Dynamo-DB items. It needed quality of life features such as the ability to toggle columns on or off, easily copying items or fields, and sorting by a given field.

I couldn't find one that felt exactly right to me, so I decided to build one myself.


πŸ“¦ Installation

Install the package using go:

# install
go install github.com/wolfwfr/dynamite/cmd/dynamite@latest

# execute
dynamite

Or build it from source:

# obtain
git clone git@github.com/wolfwfr/dynamite.git
cd dynamite

# build
go build -o dynamite ./cmd/dynamite/

# execute
./dynamite

πŸ”¨ Getting Started

Help

For help, simply run:

dynamite --help

Execute

Install Dynamite. Then execute with the valid AWS credentials:

[!NOTE]

Dynamite can only perform read-operations.


With AWS Credentials in Environment

# AWS_SESSION_TOKEN=*******
# AWS_PROFILE=******
dynamite

With an AWS Profile Flag

dynamite --aws_profile="my-profile"

TUI

  • Navigate with arrow-keys or vim-bindings
  • Quit with ctrl+c at any point
  • Get Help with ?
  • Tab between panes to shift focus for navigation or scrolling
  • Select a table with Enter
  • Search with /
  • Escape search, dialogs, or the item-view with Esc
  • Much more: see the help menu (with ?)

✨ Features

Among others, Dynamite offers:

  • Easy Authentication: AWS authentication through environment or profile
  • Region Selection: select and switch AWS region within the TUI
  • Fuzzy Finding: quicly search and find what you need
  • Syntax Highlighting: JSON/YAML views of your items with highlighting
  • Visibility Toggle: only display the columns you're interested in
  • Easy Sorting: quickly sort your results by any field (S, B, N)
  • Flexible Formatting: Display your items as JSON or YAML
  • Quick Copy: Copy table name, item field or the item JSON/YAML immediately
  • Scan/Query: Scan and Query your table, select index, order, and set keys
  • Open in Browser: Swiftly open the table or item in your browser and edit
  • ZOOM: Don't need the second pane? Zoom in and only display what you need

πŸ›£ Roadmap

☝️ This is a work in progress and the following is required for a first release:

  • Code Polish: the code and its style require some polishing
  • Testing: Improve and extend unit testing
  • Compatibility: Test in different terminals & at different resolution scales
  • Theme Configuration: use the config file to configure the colours to your liking
  • README Polish: expand the README with images and video among others

✌️ Other features I have in mind are:

  • DynamoDB Filter: implement integration with scan/query filter options
  • CLI Extension: use CLI flags to hop straight into a table of choice or launch a query.
  • Pane Configurability: configure width distribution of the 2 panes
  • Transforms: transform column values, e.g. unix timestamps to human readable

βœ‹ Non Goals

  • ADMIN Mode: Although I'm considering it, I'm currently flagging write operations as a non-goal
  • Full API Compatibility: Full integration with all of the aws-sdk-go-v2 dynamo-db related functions

🫴 Alternatives

  • Sacha another 2-pane TUI that also integrates with S3, EC2, Lambda, and more!
  • ddv a blazing fast dynamo-DB viewer for the terminal, written in Rust

Directories ΒΆ

Path Synopsis
cmd
dynamite command
pkg
aws
configfile
package config defines the app configuration file and tooling for config i/o
package config defines the app configuration file and tooling for config i/o
ui
ui/internal/adapters/dynamodb
Adapter parses dynamodb connector responses for UI display purposes, including JSON/YAML and styling
Adapter parses dynamodb connector responses for UI display purposes, including JSON/YAML and styling
ui/internal/components/checkbox_list
package checkboxlist collects generic resources to be used and composed in a list that requires checkboxable items
package checkboxlist collects generic resources to be used and composed in a list that requires checkboxable items
ui/internal/components/headed_list
package headedlist collects generic resources to be used and composed in a list that requires items to be headed
package headedlist collects generic resources to be used and composed in a list that requires items to be headed
ui/internal/components/regular_list
package regularlist collects generic resources to be used and composed in a list that requires only basic functionality for its items
package regularlist collects generic resources to be used and composed in a list that requires only basic functionality for its items
ui/internal/components/search
credits go to charm.land/bubbles/v2/list/list.go
credits go to charm.land/bubbles/v2/list/list.go
ui/internal/components/table
Package table is a customized implementation of the simple table implementation at "charm.land/bubbles/v2/table".
Package table is a customized implementation of the simple table implementation at "charm.land/bubbles/v2/table".
ui/internal/views/util/keymaps
package keymaps defines resources for sharing additional key-maps across different app layers
package keymaps defines resources for sharing additional key-maps across different app layers
util
package util defines various generic go utility functions
package util defines various generic go utility functions

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL