{"action":"created","comment":{"url":"https://api.github.com/repos/houndci/hound/pulls/comments/64454268","id":64454268,"diff_hunk":"@@ -25,19 +25,41 @@ Here are a few technical guidelines to follow:\n \n     `./bin/setup`\n \n-    **NOTE:** If you don't need Hound to communicate with your local machine, you may skip steps 3-6.\n-    Designers, you don't need ngrok for the purpose of making css changes and running the app locally.\n-\n 1. Make sure that postgres, and redis, are both installed and running locally.\n \n-1. Ngrok allows GitHub to make requests via webhook to start a build. Sign up\n-for a free [ngrok] account and create a `~/.ngrok` file with the following:\n+1. Log into your GitHub account and go to your\n+   [developer application settings].\n+\n+1. Under the Developer applications panel - Click on \"Register new\n+   application\" and fill in the details:\n+\n+    * Application Name: Hound Development\n+    * Homepage URL: `http://localhost:5000`\n+    * Authorization Callback URL: `http://localhost:5000`\n+\n+1. On the confirmation screen, copy the `Client ID` and `Client Secret` to\n+   `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET` in the `.env.local` file.\n+\n+1. Run `foreman start`. Foreman will start the web server and the resque\n+   background job queue. **NOTE**: `rails server` will not load the appropriate\n+environment variables and you'll get a \"Missing `secret_key_base` for\n+'development' environment\" error. Similarly, `heroku local` and `forego start`\n+will fail to properly load `.env.local`.\n+\n+1. Open `localhost:5000` in a browser.\n+\n+## Setup Ngrok to Allow Webhooks\n+\n+Ngrok allows GitHub to make requests via webhook to start a build. To get\n+started with ngrok, sign up for an [ngrok] account and create a `~/.ngrok` file\n+with the following:\n \n     `auth_token: <your-token>`\n \n-1. Launch ngrok with a custom subdomain on port 5000.\n+1. Launch ngrok with a custom subdomain (note: this requires a paid ngrok","path":"CONTRIBUTING.md","position":41,"original_position":41,"commit_id":"af0f095d0e8d0ef6e84ad87c5a9321ee7ca60a97","original_commit_id":"af0f095d0e8d0ef6e84ad87c5a9321ee7ca60a97","user":{"login":"gylaz","id":116327,"avatar_url":"https://avatars.githubusercontent.com/u/116327?v=3","gravatar_id":"","url":"https://api.github.com/users/gylaz","html_url":"https://github.com/gylaz","followers_url":"https://api.github.com/users/gylaz/followers","following_url":"https://api.github.com/users/gylaz/following{/other_user}","gists_url":"https://api.github.com/users/gylaz/gists{/gist_id}","starred_url":"https://api.github.com/users/gylaz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gylaz/subscriptions","organizations_url":"https://api.github.com/users/gylaz/orgs","repos_url":"https://api.github.com/users/gylaz/repos","events_url":"https://api.github.com/users/gylaz/events{/privacy}","received_events_url":"https://api.github.com/users/gylaz/received_events","type":"User","site_admin":false},"body":"I don't think a paid account is **required**, but it's certainly more convenient. With a free Ngrok account, a subdomain will be generated each time you run Ngrok, so you'll have to go and update your GitHub app settings.","created_at":"2016-05-24T19:01:31Z","updated_at":"2016-05-24T19:01:31Z","html_url":"https://github.com/houndci/hound/pull/1140#discussion_r64454268","pull_request_url":"https://api.github.com/repos/houndci/hound/pulls/1140","_links":{"self":{"href":"https://api.github.com/repos/houndci/hound/pulls/comments/64454268"},"html":{"href":"https://github.com/houndci/hound/pull/1140#discussion_r64454268"},"pull_request":{"href":"https://api.github.com/repos/houndci/hound/pulls/1140"}}},"pull_request":{"url":"https://api.github.com/repos/houndci/hound/pulls/1140","id":71269816,"html_url":"https://github.com/houndci/hound/pull/1140","diff_url":"https://github.com/houndci/hound/pull/1140.diff","patch_url":"https://github.com/houndci/hound/pull/1140.patch","issue_url":"https://api.github.com/repos/houndci/hound/issues/1140","number":1140,"state":"open","locked":false,"title":"Separate explanation of dev setup from ngrok setup","user":{"login":"jcmorrow","id":5903784,"avatar_url":"https://avatars.githubusercontent.com/u/5903784?v=3","gravatar_id":"","url":"https://api.github.com/users/jcmorrow","html_url":"https://github.com/jcmorrow","followers_url":"https://api.github.com/users/jcmorrow/followers","following_url":"https://api.github.com/users/jcmorrow/following{/other_user}","gists_url":"https://api.github.com/users/jcmorrow/gists{/gist_id}","starred_url":"https://api.github.com/users/jcmorrow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcmorrow/subscriptions","organizations_url":"https://api.github.com/users/jcmorrow/orgs","repos_url":"https://api.github.com/users/jcmorrow/repos","events_url":"https://api.github.com/users/jcmorrow/events{/privacy}","received_events_url":"https://api.github.com/users/jcmorrow/received_events","type":"User","site_admin":false},"body":" If it isn't necessary for most developers to use ngrok then we should make that clear in the contributing guide because ngrok provides a substantial barrier to developer setup and could easily stop people from\r\ncontributing.\r\n\r\n Also, if people are using ngrok our current directions are incorrect, as the command for running ngrok has changed slightly and our recommended setup (with a custom subdomain) is no longer provided to\r\nfree accounts.\r\n\r\n I'm still not sure this is 100% the correct structure, but I think it will get people up and running faster. It would be nice to include a little bit about what type of feature development would require ngrok integration, as someone new to the codebase will almost certainly not know whether or not they need it. As someone who is new myself, I'm still not sure which parts of the codebase require it, so I can't include it in this PR.","created_at":"2016-05-24T18:30:04Z","updated_at":"2016-05-24T19:01:31Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3389b366782bde361e72a2bb6c5a6b705f9ab8a1","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/houndci/hound/pulls/1140/commits","review_comments_url":"https://api.github.com/repos/houndci/hound/pulls/1140/comments","review_comment_url":"https://api.github.com/repos/houndci/hound/pulls/comments{/number}","comments_url":"https://api.github.com/repos/houndci/hound/issues/1140/comments","statuses_url":"https://api.github.com/repos/houndci/hound/statuses/af0f095d0e8d0ef6e84ad87c5a9321ee7ca60a97","head":{"label":"houndci:jm-contributing-guide","ref":"jm-contributing-guide","sha":"af0f095d0e8d0ef6e84ad87c5a9321ee7ca60a97","user":{"login":"houndci","id":17184073,"avatar_url":"https://avatars.githubusercontent.com/u/17184073?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci","html_url":"https://github.com/houndci","followers_url":"https://api.github.com/users/houndci/followers","following_url":"https://api.github.com/users/houndci/following{/other_user}","gists_url":"https://api.github.com/users/houndci/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci/subscriptions","organizations_url":"https://api.github.com/users/houndci/orgs","repos_url":"https://api.github.com/users/houndci/repos","events_url":"https://api.github.com/users/houndci/events{/privacy}","received_events_url":"https://api.github.com/users/houndci/received_events","type":"Organization","site_admin":false},"repo":{"id":7411076,"name":"hound","full_name":"houndci/hound","owner":{"login":"houndci","id":17184073,"avatar_url":"https://avatars.githubusercontent.com/u/17184073?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci","html_url":"https://github.com/houndci","followers_url":"https://api.github.com/users/houndci/followers","following_url":"https://api.github.com/users/houndci/following{/other_user}","gists_url":"https://api.github.com/users/houndci/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci/subscriptions","organizations_url":"https://api.github.com/users/houndci/orgs","repos_url":"https://api.github.com/users/houndci/repos","events_url":"https://api.github.com/users/houndci/events{/privacy}","received_events_url":"https://api.github.com/users/houndci/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/houndci/hound","description":"Automated review for code style","fork":false,"url":"https://api.github.com/repos/houndci/hound","forks_url":"https://api.github.com/repos/houndci/hound/forks","keys_url":"https://api.github.com/repos/houndci/hound/keys{/key_id}","collaborators_url":"https://api.github.com/repos/houndci/hound/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/houndci/hound/teams","hooks_url":"https://api.github.com/repos/houndci/hound/hooks","issue_events_url":"https://api.github.com/repos/houndci/hound/issues/events{/number}","events_url":"https://api.github.com/repos/houndci/hound/events","assignees_url":"https://api.github.com/repos/houndci/hound/assignees{/user}","branches_url":"https://api.github.com/repos/houndci/hound/branches{/branch}","tags_url":"https://api.github.com/repos/houndci/hound/tags","blobs_url":"https://api.github.com/repos/houndci/hound/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/houndci/hound/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/houndci/hound/git/refs{/sha}","trees_url":"https://api.github.com/repos/houndci/hound/git/trees{/sha}","statuses_url":"https://api.github.com/repos/houndci/hound/statuses/{sha}","languages_url":"https://api.github.com/repos/houndci/hound/languages","stargazers_url":"https://api.github.com/repos/houndci/hound/stargazers","contributors_url":"https://api.github.com/repos/houndci/hound/contributors","subscribers_url":"https://api.github.com/repos/houndci/hound/subscribers","subscription_url":"https://api.github.com/repos/houndci/hound/subscription","commits_url":"https://api.github.com/repos/houndci/hound/commits{/sha}","git_commits_url":"https://api.github.com/repos/houndci/hound/git/commits{/sha}","comments_url":"https://api.github.com/repos/houndci/hound/comments{/number}","issue_comment_url":"https://api.github.com/repos/houndci/hound/issues/comments{/number}","contents_url":"https://api.github.com/repos/houndci/hound/contents/{+path}","compare_url":"https://api.github.com/repos/houndci/hound/compare/{base}...{head}","merges_url":"https://api.github.com/repos/houndci/hound/merges","archive_url":"https://api.github.com/repos/houndci/hound/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/houndci/hound/downloads","issues_url":"https://api.github.com/repos/houndci/hound/issues{/number}","pulls_url":"https://api.github.com/repos/houndci/hound/pulls{/number}","milestones_url":"https://api.github.com/repos/houndci/hound/milestones{/number}","notifications_url":"https://api.github.com/repos/houndci/hound/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/houndci/hound/labels{/name}","releases_url":"https://api.github.com/repos/houndci/hound/releases{/id}","deployments_url":"https://api.github.com/repos/houndci/hound/deployments","created_at":"2013-01-02T18:12:40Z","updated_at":"2016-05-24T15:52:34Z","pushed_at":"2016-05-24T18:41:56Z","git_url":"git://github.com/houndci/hound.git","ssh_url":"git@github.com:houndci/hound.git","clone_url":"https://github.com/houndci/hound.git","svn_url":"https://github.com/houndci/hound","homepage":"https://houndci.com","size":62373,"stargazers_count":1263,"watchers_count":1263,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":274,"mirror_url":null,"open_issues_count":16,"forks":274,"open_issues":16,"watchers":1263,"default_branch":"master"}},"base":{"label":"houndci:master","ref":"master","sha":"781e53abd2c2fe18631dd085681bba93535ab77e","user":{"login":"houndci","id":17184073,"avatar_url":"https://avatars.githubusercontent.com/u/17184073?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci","html_url":"https://github.com/houndci","followers_url":"https://api.github.com/users/houndci/followers","following_url":"https://api.github.com/users/houndci/following{/other_user}","gists_url":"https://api.github.com/users/houndci/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci/subscriptions","organizations_url":"https://api.github.com/users/houndci/orgs","repos_url":"https://api.github.com/users/houndci/repos","events_url":"https://api.github.com/users/houndci/events{/privacy}","received_events_url":"https://api.github.com/users/houndci/received_events","type":"Organization","site_admin":false},"repo":{"id":7411076,"name":"hound","full_name":"houndci/hound","owner":{"login":"houndci","id":17184073,"avatar_url":"https://avatars.githubusercontent.com/u/17184073?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci","html_url":"https://github.com/houndci","followers_url":"https://api.github.com/users/houndci/followers","following_url":"https://api.github.com/users/houndci/following{/other_user}","gists_url":"https://api.github.com/users/houndci/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci/subscriptions","organizations_url":"https://api.github.com/users/houndci/orgs","repos_url":"https://api.github.com/users/houndci/repos","events_url":"https://api.github.com/users/houndci/events{/privacy}","received_events_url":"https://api.github.com/users/houndci/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/houndci/hound","description":"Automated review for code style","fork":false,"url":"https://api.github.com/repos/houndci/hound","forks_url":"https://api.github.com/repos/houndci/hound/forks","keys_url":"https://api.github.com/repos/houndci/hound/keys{/key_id}","collaborators_url":"https://api.github.com/repos/houndci/hound/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/houndci/hound/teams","hooks_url":"https://api.github.com/repos/houndci/hound/hooks","issue_events_url":"https://api.github.com/repos/houndci/hound/issues/events{/number}","events_url":"https://api.github.com/repos/houndci/hound/events","assignees_url":"https://api.github.com/repos/houndci/hound/assignees{/user}","branches_url":"https://api.github.com/repos/houndci/hound/branches{/branch}","tags_url":"https://api.github.com/repos/houndci/hound/tags","blobs_url":"https://api.github.com/repos/houndci/hound/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/houndci/hound/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/houndci/hound/git/refs{/sha}","trees_url":"https://api.github.com/repos/houndci/hound/git/trees{/sha}","statuses_url":"https://api.github.com/repos/houndci/hound/statuses/{sha}","languages_url":"https://api.github.com/repos/houndci/hound/languages","stargazers_url":"https://api.github.com/repos/houndci/hound/stargazers","contributors_url":"https://api.github.com/repos/houndci/hound/contributors","subscribers_url":"https://api.github.com/repos/houndci/hound/subscribers","subscription_url":"https://api.github.com/repos/houndci/hound/subscription","commits_url":"https://api.github.com/repos/houndci/hound/commits{/sha}","git_commits_url":"https://api.github.com/repos/houndci/hound/git/commits{/sha}","comments_url":"https://api.github.com/repos/houndci/hound/comments{/number}","issue_comment_url":"https://api.github.com/repos/houndci/hound/issues/comments{/number}","contents_url":"https://api.github.com/repos/houndci/hound/contents/{+path}","compare_url":"https://api.github.com/repos/houndci/hound/compare/{base}...{head}","merges_url":"https://api.github.com/repos/houndci/hound/merges","archive_url":"https://api.github.com/repos/houndci/hound/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/houndci/hound/downloads","issues_url":"https://api.github.com/repos/houndci/hound/issues{/number}","pulls_url":"https://api.github.com/repos/houndci/hound/pulls{/number}","milestones_url":"https://api.github.com/repos/houndci/hound/milestones{/number}","notifications_url":"https://api.github.com/repos/houndci/hound/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/houndci/hound/labels{/name}","releases_url":"https://api.github.com/repos/houndci/hound/releases{/id}","deployments_url":"https://api.github.com/repos/houndci/hound/deployments","created_at":"2013-01-02T18:12:40Z","updated_at":"2016-05-24T15:52:34Z","pushed_at":"2016-05-24T18:41:56Z","git_url":"git://github.com/houndci/hound.git","ssh_url":"git@github.com:houndci/hound.git","clone_url":"https://github.com/houndci/hound.git","svn_url":"https://github.com/houndci/hound","homepage":"https://houndci.com","size":62373,"stargazers_count":1263,"watchers_count":1263,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":274,"mirror_url":null,"open_issues_count":16,"forks":274,"open_issues":16,"watchers":1263,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/houndci/hound/pulls/1140"},"html":{"href":"https://github.com/houndci/hound/pull/1140"},"issue":{"href":"https://api.github.com/repos/houndci/hound/issues/1140"},"comments":{"href":"https://api.github.com/repos/houndci/hound/issues/1140/comments"},"review_comments":{"href":"https://api.github.com/repos/houndci/hound/pulls/1140/comments"},"review_comment":{"href":"https://api.github.com/repos/houndci/hound/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/houndci/hound/pulls/1140/commits"},"statuses":{"href":"https://api.github.com/repos/houndci/hound/statuses/af0f095d0e8d0ef6e84ad87c5a9321ee7ca60a97"}}}}
{"actor":{"display_login":"gylaz"}}