town/cmd/contrib/README.md

1.7 KiB

contrib (town contrib)

the point of this command is to request to an admin that a particular executable path be exposed via the town launcher.

mockup

town contrib ~/bin/mycoolexe
? How should the new command be called? [mycoolexe]
? What is a one line description of this program? cool dingus
? What category is this program in?
  artistic
  game
  utility
> social
  misc
? Press e to open your editor and write a longer description of this program...

FYI! you will be the maintainer of this command and only you (or an admin) will be able to make updates to it once it is approved.

v created request for command mycoolexe. if too much time passes without addition, bother vilmibm.
# uses uid to guard updates
town contrib -u mycoolexe ~/bin/newpath/mycoolexe
...updated path for mycoolexe to ~/bin/newpath/mycoolexe
? Want to edit other stuff (description, category, etc) [yN] n
# uses uid to guard updates
town contrib -d mycoolexe
? To confirm deletion of mycoolexe, type its name: mycoolexe

v deleted mycoolexe
# enforces admin access
town contrib --admin ~someone//bin/something
? How should the new command be called? [something]
? What is a one line description of this program? cool dingus
? Who is the maintainer? [vilmibm] someone
? What category is this program in?
  artistic
  game
  utility
> social
  misc
? Press e to open your editor and write a longer description of this program...

in addition to this new interface, i want to change how commands are tracked. the script + yaml file is very cumbersome and confusing and has the bad race condition of the two files not being written at the same time. it means i hate adding commands.

  • sqlite3. a little overkill.
  • json file. a little underkill.