fill in a readme
parent
ed2fa4ab89
commit
24aaa81aea
49
README.md
49
README.md
|
@ -1,3 +1,48 @@
|
||||||
# town-launcher
|
This is an implementation of an idea we discussed a while ago; a launcher for town-specific
|
||||||
|
commands.
|
||||||
|
|
||||||
A launcher for tilde.town commands both official and community-supported
|
The idea is to put town commands in one of three places:
|
||||||
|
|
||||||
|
/town/launcher/core
|
||||||
|
/town/launcher/contrib
|
||||||
|
/town/launcher/admin
|
||||||
|
|
||||||
|
and pair each command with a corresponding .yml file.
|
||||||
|
|
||||||
|
For example, the `aup` command is a simple wrapper around elinks that opens our code of conduct. I
|
||||||
|
put the executable `aup` in /town/launcher/core and matched it with /town/launcher/aup.yml. The
|
||||||
|
purpose of the yaml file is to provide documentation for your executable, so `aup.yml` looks like:
|
||||||
|
|
||||||
|
shortDesc: View the town's Acceptable Use Policy
|
||||||
|
longDesc: |
|
||||||
|
This command will open our code of conduct, a type of document that evokes the Acceptable Use
|
||||||
|
Policies that governed servers like this in the past. It will open the elinks browser to a
|
||||||
|
page on the wiki.
|
||||||
|
examples: |
|
||||||
|
$ aup # open the aup
|
||||||
|
$ aup --rainbow # open the aup with rainbow colors
|
||||||
|
|
||||||
|
|
||||||
|
and using the launcher is like:
|
||||||
|
|
||||||
|
$ town aup
|
||||||
|
$ town aup --rainbow
|
||||||
|
$ town contrib writo
|
||||||
|
$ town admin ban vilmibm
|
||||||
|
|
||||||
|
You can see all the commands with `town help` as well as their descriptions; `town help
|
||||||
|
aup` would show you the docs from `aup.yml`.
|
||||||
|
|
||||||
|
I'd love feedback on this approach while I wrap up this implementation. I can put it up on
|
||||||
|
git.tilde.town if anyone desires to collaborate (and let me know if you want a git.tilde.town
|
||||||
|
account).
|
||||||
|
|
||||||
|
Remaining TODOs:
|
||||||
|
|
||||||
|
- [ ] fix arg passing
|
||||||
|
- [ ] make tab completion available for common shells
|
||||||
|
- [ ] test with a command that makes use of stdin/stdout
|
||||||
|
- [ ] document / script submitting a tool for inclusion in contrib
|
||||||
|
- [ ] add all existing commands to the buckets
|
||||||
|
- [ ] make little wrappers for things like `mail` and `chat`
|
||||||
|
- [ ] add to users' paths
|
||||||
|
|
Reference in New Issue