cmd
cmd copied to clipboard
Groups (aka orgs)
* Gruops provide namespace of shared commands for a set of users. Similar to GitHub orgs for repos
* Groups are non-user command "owners"
* Groups have members and admins in addition to per command admins and access
* Members all have access to commands in group
* Members have group added to their "PATH" so no need to specify group namespace
* You can still add it to be explicit, esp when you have command(s) with same name
* ssh cmd.io group-command # implicit
* ssh cmd.io mygroup/group-command # explicit
* Listing commands in a group (with ~ convenience alias?)
* ssh cmd.io ~mygroup
* ssh cmd.io cmd-ls mygroup
* Groups are managed via builtin group command with subcommands
* ssh cmd.io cmd-group
* cmd-group create <group>
* cmd-group destroy <group>
* cmd-group users ls <group>
* cmd-group users add <group> <user> [--admin]
* Change admin by adding again w/ or w/o admin flag
* cmd-group users rm <group> <user>
* Commands for groups are managed with existing builtin commands
* ssh cmd.io cmd-add <group>/<name> <source>
* ssh cmd.io cmd-rm <group>/<name>
* I think I prefer "groups" over "organization" because an actual organization might have several groups, and not all groups are organizations (such as for personal or project organization)...