{"action":"created","issue":{"url":"https://api.github.com/repos/puli/issues/issues/158","labels_url":"https://api.github.com/repos/puli/issues/issues/158/labels{/name}","comments_url":"https://api.github.com/repos/puli/issues/issues/158/comments","events_url":"https://api.github.com/repos/puli/issues/issues/158/events","html_url":"https://github.com/puli/issues/issues/158","id":124645856,"number":158,"title":"Simpler API for puli type?","user":{"login":"mnapoli","id":720328,"avatar_url":"https://avatars.githubusercontent.com/u/720328?v=3","gravatar_id":"","url":"https://api.github.com/users/mnapoli","html_url":"https://github.com/mnapoli","followers_url":"https://api.github.com/users/mnapoli/followers","following_url":"https://api.github.com/users/mnapoli/following{/other_user}","gists_url":"https://api.github.com/users/mnapoli/gists{/gist_id}","starred_url":"https://api.github.com/users/mnapoli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mnapoli/subscriptions","organizations_url":"https://api.github.com/users/mnapoli/orgs","repos_url":"https://api.github.com/users/mnapoli/repos","events_url":"https://api.github.com/users/mnapoli/events{/privacy}","received_events_url":"https://api.github.com/users/mnapoli/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-01-03T12:11:45Z","updated_at":"2016-01-04T16:30:44Z","closed_at":null,"body":"I've been playing with `puli type` and was quick surprised with the API several times. Here is the current API:\r\n\r\n```bash\r\npuli type [list] # list\r\npuli type --define # create\r\npuli type --update # update\r\npuli type -d # delete\r\n```\r\n\r\nThis isn't very consistent, and I don't understand the choice of prefixing sub-commands with `--`. It reminds me of those obscure Unix commands with hundreds of options that have seemingly no hierarchy between them. IMO sub-commands should be distinct (in syntax) from options.\r\n\r\nHere is a suggestion that could make the API simpler (less surprises) and easier to discover:\r\n\r\n```bash\r\npuli type\r\npuli type create\r\npuli type update\r\npuli type delete\r\n```\r\n\r\nMaybe `create` could also be better than `define` (even though it might be less \"exact\") because it sounds a lot like CRUD so it's easily discoverable.\r\n\r\nThoughts?"},"comment":{"url":"https://api.github.com/repos/puli/issues/issues/comments/168724846","html_url":"https://github.com/puli/issues/issues/158#issuecomment-168724846","issue_url":"https://api.github.com/repos/puli/issues/issues/158","id":168724846,"user":{"login":"mnapoli","id":720328,"avatar_url":"https://avatars.githubusercontent.com/u/720328?v=3","gravatar_id":"","url":"https://api.github.com/users/mnapoli","html_url":"https://github.com/mnapoli","followers_url":"https://api.github.com/users/mnapoli/followers","following_url":"https://api.github.com/users/mnapoli/following{/other_user}","gists_url":"https://api.github.com/users/mnapoli/gists{/gist_id}","starred_url":"https://api.github.com/users/mnapoli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mnapoli/subscriptions","organizations_url":"https://api.github.com/users/mnapoli/orgs","repos_url":"https://api.github.com/users/mnapoli/repos","events_url":"https://api.github.com/users/mnapoli/events{/privacy}","received_events_url":"https://api.github.com/users/mnapoli/received_events","type":"User","site_admin":false},"created_at":"2016-01-04T16:30:44Z","updated_at":"2016-01-04T16:30:44Z","body":"I understand, it's up to you of course. This is still the beta though, and it's possible to change the commands while preserving BC. I've always considered `git` commands and options as terrible UX (hence why so many features are often unknown and why GUI are so popular) but that's just my experience ;) Consider that user feedback not feature request :)"}}