{"action":"created","comment":{"url":"https://api.github.com/repos/palantirnet/butler/pulls/comments/59940904","id":59940904,"diff_hunk":"@@ -1,57 +1,74 @@\n # Butler\n-The beginnings of a Sculpin-based style guide creation tool. \n+\n+A tool to automate front-end development tasks and streamline prototyping.\n \n ## Dependencies\n-1. NodeJS \n-   1. To intall NodeJS using Homebrew run `brew install node` \n-1. [Sculpin](https://sculpin.io/getstarted/)\n-    1. `curl -O https://download.sculpin.io/sculpin.phar`\n-    2. `chmod +x sculpin.phar`\n-    3. `mv sculpin.phar sculpin` or if you are using vagrant run `sudo -H mv sculpin.phar /bin/sculpin` and skip step 4\n-    4. `mv sculpin ~/bin/` \n+\n+* **NodeJS**\n+  1. If you are running Butler on your local machine, you can install using Homebrew: `brew install node`\n+  1. If you are running Butler on a Vagrant, our default VM comes with node installed.\n+* **Sculpin**\n+  1. Butler expects Sculpin to be included in your project using `composer`. Make sure you've run `composer install` in your project before running Butler.\n+  1. If you would like to use globally-installed Sculpin instead: first, follow [Sculpin's installation guide](https://sculpin.io/getstarted/); then configure Butler to use it by setting `defaults.sculpin_run = 'sculpin';` in your project's `conf/butler.defaults.js` file.\n \n ## Add Butler to a project\n-1.   If the project does not already have npm dependencies run `npm init` to create a `package.json` file\n \n-1.   Add Butler as a dependency by running `npm install --save palantirnet/butler`\n+1. If the project does not already have npm dependencies, run `npm init` to create a `package.json` file\n+1. Add Butler as a dependency: `npm install --save palantirnet/butler`\n+\n+  When Butler is first installed, it will ask for the location of your project's GitHub repository. Please provide the HTTPS link for the project repository, e.g. `https://github.com/palantirnet/[project].git`; Butler will use this information to deploy the styleguide.\n+\n+  Butler will store this information in a project-specific configuration file at `conf/butler.defaults.js`.\n \n-1.  Duplicate `STYLEGUIDE_TEMPLATE`, rename it `styleguide`, and add it to the project's root directory\n+1. Copy the `STYLEGUIDE_TEMPLATE` to your project's root directory and rename it `styleguide`. This name is required.\n+1. Add the following code to your project's `package.json`:\n \n-1.  Add the following code to your project's `package.json`\n+  ````\n+  \"scripts\": {\n+    \"butler\": \"gulp --gulpfile node_modules/butler/gulpfile.js develop\",\n+    \"linting\": \"gulp --gulpfile node_modules/butler/gulpfile.js test\",\n+    \"deploy\": \"gulp --gulpfile node_modules/butler/gulpfile.js deploy\"\n+  },\n+  ````\n+1. Add the `node_modules` directory to your project's .gitignore\n+1. Commit Butler's changes to your project:\n+  * `.gitignore`\n+  * `conf/butler.defaults.js`\n+  * `package.json`\n+  * `styleguide/`\n+1. When you're ready to start working on code, run `npm run butler`\n+1. The styleguide can be found on port 8000:\n+  * `http://[project].local:8000` if you're running Butler on a Vagrant\n+  * [http://localhost:8000](http://localhost:8000) if you're developing locally\n \n-````\n-\"scripts\": {\n-\t\"butler\": \"gulp --gulpfile node_modules/butler/gulpfile.js develop\",\n-\t\"linting\": \"gulp --gulpfile node_modules/butler/gulpfile.js test\",\n-\t\"deploy\": \"gulp --gulpfile node_modules/butler/gulpfile.js deploy\"\n-},\n-````\n+## What does this Butler do?\n \n-1.  Run `npm run butler` and begin developing normally\n+* `npm run butler`\n \n-1.  Navigate to `localhost:8000` or `[project].local:8000` in your browser to see the styleguide\n+  This is the default task. This will watch your sass/sculpin files for changes and compile/build accordingly. It will also flag any sass linting errors before compiling. It will output CSS that has been been minified and optimized.\n \n-1.  Add `node_modules` to your project's `.gitignore` file and commit your project's new `package.json`\n+* `npm run linting`\n \n-## What does this Butler do\n-*  `npm run butler` \n-    \n-    This is the default task. This will watch your sass/sculpin files for changes and compile/build accordingly. It will also flag any sass linting errors before compiling. It will output CSS that has been been minified and optimized. \n+  This is the testing task it will run linters as their own tasks. To learn more about configuring and customizing the linters for Butler check the [linters documentation](/docs/LINTERS.md).\n \n-*  `npm run linting`\n+* `npm run deploy`\n \n-    This is the testing task it will run linters as their own tasks. To learn more about configuring and customizing the linters for Butler check the [linters documentation](/docs/LINTERS.md).\n+  This is a task to deploy the static styleguide to GitHub pages.\n \n-*   `npm run deploy`\n+  Butler will build a Sculpin production artifact to `styleguide/output_prod` and deploy the production artifact to `gh-pages` branch of the repo defined in the `conf/butler.defaults.js`. Each commit for this process will default to the message: \"Updated with Butler - [timestamp]\".\n \n-    This is a task to deploy the static styleguide to GitHub pages. It will deploy to `gh-pages` branch of the repo defined in the `config/paths.js`. Each commit for this process will default to the message: \"Updated with Butler - [timestamp]\". *Note: When you are deploying, Butler will ask you for your github credentials multiple times. Enter your own github credentials as prompted.*\n+  You may want to create a `sculpin_site_prod.yml` to define the site URL once deployed. You can find out more information about environment aware configuration for Sculpin [here](https://sculpin.io/documentation/configuration/).\n+\n+  *Note: When you are deploying, Butler will ask you for your GitHub credentials at least once, possibly multiple times. Enter your own GitHub credentials as prompted.*\n \n ## Making Changes to Butler\n+\n Please feel free to change/extend/break this Gulpfile to fit the specific needs of the project.","path":"README.md","position":96,"original_position":96,"commit_id":"bbf8bffa2d89d94b657f781f9ecaefb59777a781","original_commit_id":"bbf8bffa2d89d94b657f781f9ecaefb59777a781","user":{"login":"becw","id":207974,"avatar_url":"https://avatars.githubusercontent.com/u/207974?v=3","gravatar_id":"","url":"https://api.github.com/users/becw","html_url":"https://github.com/becw","followers_url":"https://api.github.com/users/becw/followers","following_url":"https://api.github.com/users/becw/following{/other_user}","gists_url":"https://api.github.com/users/becw/gists{/gist_id}","starred_url":"https://api.github.com/users/becw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/becw/subscriptions","organizations_url":"https://api.github.com/users/becw/orgs","repos_url":"https://api.github.com/users/becw/repos","events_url":"https://api.github.com/users/becw/events{/privacy}","received_events_url":"https://api.github.com/users/becw/received_events","type":"User","site_admin":false},"body":"This is one thing I'm not sure about. Since the Butler Gulpfile isn't checked into the project, how would one change/extend/break it for the project?\r\n\r\nPotential answers:\r\n* Create branches and PRs in the Butler repo\r\n* Copy the Gulpfile to... somewhere in your project... and update the `scripts` in your project's `packages.json` file","created_at":"2016-04-15T21:06:01Z","updated_at":"2016-04-15T21:06:01Z","html_url":"https://github.com/palantirnet/butler/pull/26#discussion_r59940904","pull_request_url":"https://api.github.com/repos/palantirnet/butler/pulls/26","_links":{"self":{"href":"https://api.github.com/repos/palantirnet/butler/pulls/comments/59940904"},"html":{"href":"https://github.com/palantirnet/butler/pull/26#discussion_r59940904"},"pull_request":{"href":"https://api.github.com/repos/palantirnet/butler/pulls/26"}}},"pull_request":{"url":"https://api.github.com/repos/palantirnet/butler/pulls/26","id":66556162,"html_url":"https://github.com/palantirnet/butler/pull/26","diff_url":"https://github.com/palantirnet/butler/pull/26.diff","patch_url":"https://github.com/palantirnet/butler/pull/26.patch","issue_url":"https://api.github.com/repos/palantirnet/butler/issues/26","number":26,"state":"open","locked":false,"title":"minor tweaks to current documentation based on setup work","user":{"login":"labbydev","id":1653723,"avatar_url":"https://avatars.githubusercontent.com/u/1653723?v=3","gravatar_id":"","url":"https://api.github.com/users/labbydev","html_url":"https://github.com/labbydev","followers_url":"https://api.github.com/users/labbydev/followers","following_url":"https://api.github.com/users/labbydev/following{/other_user}","gists_url":"https://api.github.com/users/labbydev/gists{/gist_id}","starred_url":"https://api.github.com/users/labbydev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/labbydev/subscriptions","organizations_url":"https://api.github.com/users/labbydev/orgs","repos_url":"https://api.github.com/users/labbydev/repos","events_url":"https://api.github.com/users/labbydev/events{/privacy}","received_events_url":"https://api.github.com/users/labbydev/received_events","type":"User","site_admin":false},"body":"Confirm that the notes and instructions in the README reflect an accurate setup workflow.","created_at":"2016-04-14T21:22:28Z","updated_at":"2016-04-15T21:06:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"07db1bfc03fbcb8c90a969a25f3c611038ac9b19","assignee":{"login":"becw","id":207974,"avatar_url":"https://avatars.githubusercontent.com/u/207974?v=3","gravatar_id":"","url":"https://api.github.com/users/becw","html_url":"https://github.com/becw","followers_url":"https://api.github.com/users/becw/followers","following_url":"https://api.github.com/users/becw/following{/other_user}","gists_url":"https://api.github.com/users/becw/gists{/gist_id}","starred_url":"https://api.github.com/users/becw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/becw/subscriptions","organizations_url":"https://api.github.com/users/becw/orgs","repos_url":"https://api.github.com/users/becw/repos","events_url":"https://api.github.com/users/becw/events{/privacy}","received_events_url":"https://api.github.com/users/becw/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/palantirnet/butler/pulls/26/commits","review_comments_url":"https://api.github.com/repos/palantirnet/butler/pulls/26/comments","review_comment_url":"https://api.github.com/repos/palantirnet/butler/pulls/comments{/number}","comments_url":"https://api.github.com/repos/palantirnet/butler/issues/26/comments","statuses_url":"https://api.github.com/repos/palantirnet/butler/statuses/bbf8bffa2d89d94b657f781f9ecaefb59777a781","head":{"label":"palantirnet:documentation-refinement","ref":"documentation-refinement","sha":"bbf8bffa2d89d94b657f781f9ecaefb59777a781","user":{"login":"palantirnet","id":347233,"avatar_url":"https://avatars.githubusercontent.com/u/347233?v=3","gravatar_id":"","url":"https://api.github.com/users/palantirnet","html_url":"https://github.com/palantirnet","followers_url":"https://api.github.com/users/palantirnet/followers","following_url":"https://api.github.com/users/palantirnet/following{/other_user}","gists_url":"https://api.github.com/users/palantirnet/gists{/gist_id}","starred_url":"https://api.github.com/users/palantirnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palantirnet/subscriptions","organizations_url":"https://api.github.com/users/palantirnet/orgs","repos_url":"https://api.github.com/users/palantirnet/repos","events_url":"https://api.github.com/users/palantirnet/events{/privacy}","received_events_url":"https://api.github.com/users/palantirnet/received_events","type":"Organization","site_admin":false},"repo":{"id":38396561,"name":"butler","full_name":"palantirnet/butler","owner":{"login":"palantirnet","id":347233,"avatar_url":"https://avatars.githubusercontent.com/u/347233?v=3","gravatar_id":"","url":"https://api.github.com/users/palantirnet","html_url":"https://github.com/palantirnet","followers_url":"https://api.github.com/users/palantirnet/followers","following_url":"https://api.github.com/users/palantirnet/following{/other_user}","gists_url":"https://api.github.com/users/palantirnet/gists{/gist_id}","starred_url":"https://api.github.com/users/palantirnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palantirnet/subscriptions","organizations_url":"https://api.github.com/users/palantirnet/orgs","repos_url":"https://api.github.com/users/palantirnet/repos","events_url":"https://api.github.com/users/palantirnet/events{/privacy}","received_events_url":"https://api.github.com/users/palantirnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/palantirnet/butler","description":"","fork":false,"url":"https://api.github.com/repos/palantirnet/butler","forks_url":"https://api.github.com/repos/palantirnet/butler/forks","keys_url":"https://api.github.com/repos/palantirnet/butler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/palantirnet/butler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/palantirnet/butler/teams","hooks_url":"https://api.github.com/repos/palantirnet/butler/hooks","issue_events_url":"https://api.github.com/repos/palantirnet/butler/issues/events{/number}","events_url":"https://api.github.com/repos/palantirnet/butler/events","assignees_url":"https://api.github.com/repos/palantirnet/butler/assignees{/user}","branches_url":"https://api.github.com/repos/palantirnet/butler/branches{/branch}","tags_url":"https://api.github.com/repos/palantirnet/butler/tags","blobs_url":"https://api.github.com/repos/palantirnet/butler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/palantirnet/butler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/palantirnet/butler/git/refs{/sha}","trees_url":"https://api.github.com/repos/palantirnet/butler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/palantirnet/butler/statuses/{sha}","languages_url":"https://api.github.com/repos/palantirnet/butler/languages","stargazers_url":"https://api.github.com/repos/palantirnet/butler/stargazers","contributors_url":"https://api.github.com/repos/palantirnet/butler/contributors","subscribers_url":"https://api.github.com/repos/palantirnet/butler/subscribers","subscription_url":"https://api.github.com/repos/palantirnet/butler/subscription","commits_url":"https://api.github.com/repos/palantirnet/butler/commits{/sha}","git_commits_url":"https://api.github.com/repos/palantirnet/butler/git/commits{/sha}","comments_url":"https://api.github.com/repos/palantirnet/butler/comments{/number}","issue_comment_url":"https://api.github.com/repos/palantirnet/butler/issues/comments{/number}","contents_url":"https://api.github.com/repos/palantirnet/butler/contents/{+path}","compare_url":"https://api.github.com/repos/palantirnet/butler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/palantirnet/butler/merges","archive_url":"https://api.github.com/repos/palantirnet/butler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/palantirnet/butler/downloads","issues_url":"https://api.github.com/repos/palantirnet/butler/issues{/number}","pulls_url":"https://api.github.com/repos/palantirnet/butler/pulls{/number}","milestones_url":"https://api.github.com/repos/palantirnet/butler/milestones{/number}","notifications_url":"https://api.github.com/repos/palantirnet/butler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/palantirnet/butler/labels{/name}","releases_url":"https://api.github.com/repos/palantirnet/butler/releases{/id}","deployments_url":"https://api.github.com/repos/palantirnet/butler/deployments","created_at":"2015-07-01T21:41:39Z","updated_at":"2016-02-25T16:07:17Z","pushed_at":"2016-04-15T21:03:00Z","git_url":"git://github.com/palantirnet/butler.git","ssh_url":"git@github.com:palantirnet/butler.git","clone_url":"https://github.com/palantirnet/butler.git","svn_url":"https://github.com/palantirnet/butler","homepage":null,"size":180,"stargazers_count":0,"watchers_count":0,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":4,"forks":2,"open_issues":4,"watchers":0,"default_branch":"master"}},"base":{"label":"palantirnet:master","ref":"master","sha":"d9e2ffc9cfa96ca0678cd204649b4585ca0a0dee","user":{"login":"palantirnet","id":347233,"avatar_url":"https://avatars.githubusercontent.com/u/347233?v=3","gravatar_id":"","url":"https://api.github.com/users/palantirnet","html_url":"https://github.com/palantirnet","followers_url":"https://api.github.com/users/palantirnet/followers","following_url":"https://api.github.com/users/palantirnet/following{/other_user}","gists_url":"https://api.github.com/users/palantirnet/gists{/gist_id}","starred_url":"https://api.github.com/users/palantirnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palantirnet/subscriptions","organizations_url":"https://api.github.com/users/palantirnet/orgs","repos_url":"https://api.github.com/users/palantirnet/repos","events_url":"https://api.github.com/users/palantirnet/events{/privacy}","received_events_url":"https://api.github.com/users/palantirnet/received_events","type":"Organization","site_admin":false},"repo":{"id":38396561,"name":"butler","full_name":"palantirnet/butler","owner":{"login":"palantirnet","id":347233,"avatar_url":"https://avatars.githubusercontent.com/u/347233?v=3","gravatar_id":"","url":"https://api.github.com/users/palantirnet","html_url":"https://github.com/palantirnet","followers_url":"https://api.github.com/users/palantirnet/followers","following_url":"https://api.github.com/users/palantirnet/following{/other_user}","gists_url":"https://api.github.com/users/palantirnet/gists{/gist_id}","starred_url":"https://api.github.com/users/palantirnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palantirnet/subscriptions","organizations_url":"https://api.github.com/users/palantirnet/orgs","repos_url":"https://api.github.com/users/palantirnet/repos","events_url":"https://api.github.com/users/palantirnet/events{/privacy}","received_events_url":"https://api.github.com/users/palantirnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/palantirnet/butler","description":"","fork":false,"url":"https://api.github.com/repos/palantirnet/butler","forks_url":"https://api.github.com/repos/palantirnet/butler/forks","keys_url":"https://api.github.com/repos/palantirnet/butler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/palantirnet/butler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/palantirnet/butler/teams","hooks_url":"https://api.github.com/repos/palantirnet/butler/hooks","issue_events_url":"https://api.github.com/repos/palantirnet/butler/issues/events{/number}","events_url":"https://api.github.com/repos/palantirnet/butler/events","assignees_url":"https://api.github.com/repos/palantirnet/butler/assignees{/user}","branches_url":"https://api.github.com/repos/palantirnet/butler/branches{/branch}","tags_url":"https://api.github.com/repos/palantirnet/butler/tags","blobs_url":"https://api.github.com/repos/palantirnet/butler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/palantirnet/butler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/palantirnet/butler/git/refs{/sha}","trees_url":"https://api.github.com/repos/palantirnet/butler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/palantirnet/butler/statuses/{sha}","languages_url":"https://api.github.com/repos/palantirnet/butler/languages","stargazers_url":"https://api.github.com/repos/palantirnet/butler/stargazers","contributors_url":"https://api.github.com/repos/palantirnet/butler/contributors","subscribers_url":"https://api.github.com/repos/palantirnet/butler/subscribers","subscription_url":"https://api.github.com/repos/palantirnet/butler/subscription","commits_url":"https://api.github.com/repos/palantirnet/butler/commits{/sha}","git_commits_url":"https://api.github.com/repos/palantirnet/butler/git/commits{/sha}","comments_url":"https://api.github.com/repos/palantirnet/butler/comments{/number}","issue_comment_url":"https://api.github.com/repos/palantirnet/butler/issues/comments{/number}","contents_url":"https://api.github.com/repos/palantirnet/butler/contents/{+path}","compare_url":"https://api.github.com/repos/palantirnet/butler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/palantirnet/butler/merges","archive_url":"https://api.github.com/repos/palantirnet/butler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/palantirnet/butler/downloads","issues_url":"https://api.github.com/repos/palantirnet/butler/issues{/number}","pulls_url":"https://api.github.com/repos/palantirnet/butler/pulls{/number}","milestones_url":"https://api.github.com/repos/palantirnet/butler/milestones{/number}","notifications_url":"https://api.github.com/repos/palantirnet/butler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/palantirnet/butler/labels{/name}","releases_url":"https://api.github.com/repos/palantirnet/butler/releases{/id}","deployments_url":"https://api.github.com/repos/palantirnet/butler/deployments","created_at":"2015-07-01T21:41:39Z","updated_at":"2016-02-25T16:07:17Z","pushed_at":"2016-04-15T21:03:00Z","git_url":"git://github.com/palantirnet/butler.git","ssh_url":"git@github.com:palantirnet/butler.git","clone_url":"https://github.com/palantirnet/butler.git","svn_url":"https://github.com/palantirnet/butler","homepage":null,"size":180,"stargazers_count":0,"watchers_count":0,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":4,"forks":2,"open_issues":4,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/palantirnet/butler/pulls/26"},"html":{"href":"https://github.com/palantirnet/butler/pull/26"},"issue":{"href":"https://api.github.com/repos/palantirnet/butler/issues/26"},"comments":{"href":"https://api.github.com/repos/palantirnet/butler/issues/26/comments"},"review_comments":{"href":"https://api.github.com/repos/palantirnet/butler/pulls/26/comments"},"review_comment":{"href":"https://api.github.com/repos/palantirnet/butler/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/palantirnet/butler/pulls/26/commits"},"statuses":{"href":"https://api.github.com/repos/palantirnet/butler/statuses/bbf8bffa2d89d94b657f781f9ecaefb59777a781"}}}}