{"action":"created","issue":{"url":"https://api.github.com/repos/carrot/sprout/issues/62","labels_url":"https://api.github.com/repos/carrot/sprout/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/carrot/sprout/issues/62/comments","events_url":"https://api.github.com/repos/carrot/sprout/issues/62/events","html_url":"https://github.com/carrot/sprout/issues/62","id":64528862,"number":62,"title":"Tasks","user":{"login":"nporteschaikin","id":1634280,"avatar_url":"https://avatars.githubusercontent.com/u/1634280?v=3","gravatar_id":"","url":"https://api.github.com/users/nporteschaikin","html_url":"https://github.com/nporteschaikin","followers_url":"https://api.github.com/users/nporteschaikin/followers","following_url":"https://api.github.com/users/nporteschaikin/following{/other_user}","gists_url":"https://api.github.com/users/nporteschaikin/gists{/gist_id}","starred_url":"https://api.github.com/users/nporteschaikin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nporteschaikin/subscriptions","organizations_url":"https://api.github.com/users/nporteschaikin/orgs","repos_url":"https://api.github.com/users/nporteschaikin/repos","events_url":"https://api.github.com/users/nporteschaikin/events{/privacy}","received_events_url":"https://api.github.com/users/nporteschaikin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/carrot/sprout/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"nporteschaikin","id":1634280,"avatar_url":"https://avatars.githubusercontent.com/u/1634280?v=3","gravatar_id":"","url":"https://api.github.com/users/nporteschaikin","html_url":"https://github.com/nporteschaikin","followers_url":"https://api.github.com/users/nporteschaikin/followers","following_url":"https://api.github.com/users/nporteschaikin/following{/other_user}","gists_url":"https://api.github.com/users/nporteschaikin/gists{/gist_id}","starred_url":"https://api.github.com/users/nporteschaikin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nporteschaikin/subscriptions","organizations_url":"https://api.github.com/users/nporteschaikin/orgs","repos_url":"https://api.github.com/users/nporteschaikin/repos","events_url":"https://api.github.com/users/nporteschaikin/events{/privacy}","received_events_url":"https://api.github.com/users/nporteschaikin/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/carrot/sprout/milestones/2","html_url":"https://github.com/carrot/sprout/milestones/0.2.1","labels_url":"https://api.github.com/repos/carrot/sprout/milestones/2/labels","id":1039993,"number":2,"title":"0.2.1","description":null,"creator":{"login":"nporteschaikin","id":1634280,"avatar_url":"https://avatars.githubusercontent.com/u/1634280?v=3","gravatar_id":"","url":"https://api.github.com/users/nporteschaikin","html_url":"https://github.com/nporteschaikin","followers_url":"https://api.github.com/users/nporteschaikin/followers","following_url":"https://api.github.com/users/nporteschaikin/following{/other_user}","gists_url":"https://api.github.com/users/nporteschaikin/gists{/gist_id}","starred_url":"https://api.github.com/users/nporteschaikin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nporteschaikin/subscriptions","organizations_url":"https://api.github.com/users/nporteschaikin/orgs","repos_url":"https://api.github.com/users/nporteschaikin/repos","events_url":"https://api.github.com/users/nporteschaikin/events{/privacy}","received_events_url":"https://api.github.com/users/nporteschaikin/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2015-03-26T13:41:50Z","updated_at":"2015-03-26T13:41:50Z","due_on":null,"closed_at":null},"comments":7,"created_at":"2015-03-26T13:40:19Z","updated_at":"2015-03-26T14:19:08Z","closed_at":null,"body":"Here's my idea for \"tasks\" (e.g. generators):\r\n- An optional folder in a template called `tasks`. \r\n- On `init`, if the folder exists, drop a `.sproutrc` file in the target with the name of the template.\r\n- The `tasks` folder contains js files (the name of the task == the filename).  Each JS file exports a function with an `options` argument (passed as separate args to the CLI) and a `utils` argument:\r\n\r\n  ```javascript\r\n  module.exports = function (options, utils) {\r\n    // do some ish\r\n  }\r\n  ```\r\n- To run a task, run `sprout run <task>` in the target directory:\r\n  \r\n  ```sh\r\n  $ sprout run aTask\r\n  ```\r\n\r\n  sprout finds the template by the name in `.sproutrc` (if it can't be found, lists all your templates with readline/inquirer and lets you select/update `.sproutrc`)."},"comment":{"url":"https://api.github.com/repos/carrot/sprout/issues/comments/86536148","html_url":"https://github.com/carrot/sprout/issues/62#issuecomment-86536148","issue_url":"https://api.github.com/repos/carrot/sprout/issues/62","id":86536148,"user":{"login":"nporteschaikin","id":1634280,"avatar_url":"https://avatars.githubusercontent.com/u/1634280?v=3","gravatar_id":"","url":"https://api.github.com/users/nporteschaikin","html_url":"https://github.com/nporteschaikin","followers_url":"https://api.github.com/users/nporteschaikin/followers","following_url":"https://api.github.com/users/nporteschaikin/following{/other_user}","gists_url":"https://api.github.com/users/nporteschaikin/gists{/gist_id}","starred_url":"https://api.github.com/users/nporteschaikin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nporteschaikin/subscriptions","organizations_url":"https://api.github.com/users/nporteschaikin/orgs","repos_url":"https://api.github.com/users/nporteschaikin/repos","events_url":"https://api.github.com/users/nporteschaikin/events{/privacy}","received_events_url":"https://api.github.com/users/nporteschaikin/received_events","type":"User","site_admin":false},"created_at":"2015-03-26T14:19:08Z","updated_at":"2015-03-26T14:19:08Z","body":"@kylemac `utils` will give it everything it needs, like it does with the hooks."}}