💡 Idea

I like key-value datastores. They are really convenient to do simple operations like storing config values et cetera which do not really need the SQL or equivalent query language. The key-value stores have mostly similar API to perform basic CRUD operations.

The idea is to build a universal command-line tool that is similar in essence to Rclone, for interacting with the key-value stores. Then I’ll be able to use key-value stores from command-line and integrate it with my dotfiles among other things.

😎 Installation

Currently, this project is still in the early phase of developments and no packages are built. That being said, Go toolchain offers a very convenient to install the package.

go install argc.in/[email protected] 

Note: This requires Go toolchain to be installed to compile and install the package only.

🏗️ Architecture

With Kay, I want to build a framework to load and use key-value stores. Database drivers can dynamically hook into the framework and expose the databases. A common command-line frontend should be able to consume the framework and expose the operations as simple sub-commands.

For this design, I took inspiration from the standard library [database/sql](<http://pkg.go.dev/database/sql>), Telegraf and Rclone projects.