Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

STAR: Simple Text Archiving and Retrieving

star is a simple tool for saving and retrieving bits of text. You could use it to save bookmarks, hard-to-remember commands, complex emoticons, stuff like that.


I use star for all sorts of things.

$ star music listen
   analord, aphex twin, listen, music, music, afx
   label, listen, music, contemporary classical
   listen, music, terry urban, fka biggie
   music, prefuse 73, temporary residence, travels in constants, listen

$ star book readme
   alan kay, books, readme, syllabus
   Practical Common Lisp, readme, lisp
   books, readme, scifi
   books, philosophy, readme, schopenhauer
   blink-182, readme, space

$ star emoticon
1) ¯\_(ツ)_/¯
   emoticon, shrug
2) (╯°□°)╯︵ ┻━┻
   emoticon, fliptable
3) ⊙︿⊙
   bugeye, emoticon
4) (╯︵╰,)
   emoticon, sadcry
5) (* ̄з ̄)
   emoticon, kissing

Never let your friends down again!

$ star unix tar
1) tar -czvf DIR
   unix, tar, zip
2) tar -tzvf DIR.tar.gz
   unix, tar, list
3) tar -xzvf DIR.tar.gz
   unix, tar, unzip

That's the "Retrieving" part of star. Depending on your config (or command line flags) you can then pipe the string on the numbered line(s) to a script and do whatever you'd like with it.

The "Archiving" part is done like this:

$ star -n value tag tag tag

So this:

$ star -n "tar -czvf DIR" unix tar zip

will create a new record in the store file. star stores records in a plain text file, by default at ~/.config/star/store but that's configurable via the config file at ~/.config/star/config.yaml.

You can edit records via a temp file in your $EDITOR:

$ star -e unix tar
1) tar -czvf DIR
   unix, tar, zip
2) tar -tzvf DIR.tar.gz
   unix, tar, list
3) tar -xzvf DIR.tar.gz
   unix, tar, unzip
Edit these records: 1 3

Deleting records is also easy:

$ star -x todo
1) shave
   todo, today
2) shower
   todo, today
3) wash dishes
   todo, today
Delete these records: all

So essentially star saves, interfaces with, and acts on text snippets that it stores in a plain text file.


This version of star is written in Go. In bin/ there are compiled executables for every combination of [linux darwin windows] and [amd64 386] in the format star_[os]-[arch]. So to install you could just download the executable you need, put it somewhere useful, and create a symlink somewhere in your $PATH:

$ cd wherever/you/keep/programs
$ curl -O[os]-[arch]
$ ln -s [executable] /usr/local/bin/star

Or you can clone the repo and build it yourself. If you have a working Go setup, it's very easy:

$ cd $GOPATH/src/where/ever
$ git clone
$ go get  # This is star's only dependency.
$ go install

There's also a version written in Ruby, if you're into that. They're similar but I recommend this one---it's faster and has better viewing/output options.


Simple Text Archiving and Retrieving in Go



No releases published


No packages published
You can’t perform that action at this time.