{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/core-docs/pulls/comments/58144553","id":58144553,"diff_hunk":"@@ -0,0 +1,118 @@\n+# .NET Core Command Line Tools (CLI)\n+\n+## What is the .NET CLI?\n+.NET Core Command Line Interface is a new foundational cross-platform toolchain for developing \n+.NET Core applications. It is \"foundational\" because it is the primary layer on which other, \n+higher-level experiences, such as Integrated Development Environments (IDEs), editors and \n+build orchestrators can build on. \n+\n+It is also cross-platform by default and has the same surface area regardless of the supported platforms. This means that\n+you learn how to use the tooling and you can use it the same way from any of the supported platforms. \n+\n+## Installation\n+As with any tooling, the first thing is to get the tools to your machine. Depending on your scenario, you can either \n+use the native installers to install the CLI or use the installation shell script.\n+\n+The native installers are primarily meant for developer's machines. The CLI is distributed using each supported platform's \n+native install mechanism, for instance DEB packages on Ubuntu or EXE bundles on Windows. These installers will install \n+and set up the environment as needed for the user to use the CLI immediately after the install. However, they also \n+require administrative privileges on the machine. You can view the installation instructions on the\n+[getting started page](https://aka.ms/dotnetcoregs).\n+\n+Install scripts, on the other hand, do not require administrative privileges. However, they will also not install any \n+prerequisites on the machine. The scripts are meant mostly for setting up build servers or when you wish to install \n+the tools without admin privileges. You can find more information on the [script reference topic](dotnet-install-script.md).\n+\n+By default, the CLI will install in a \"side-by-side\" (SxS) manner. This means that multiple versions of the CLI tools \n+can exist at any given time on a single machine. How does the correct version get used is explained in more details in \n+the [driver section](#driver) below. \n+\n+### What comes in the box?\n+The following commands are installed by default:\n+\n+* [new](dotnet-new.md)\n+* [restore](dotnet-restore.md)\n+* [run](dotnet-run.md)\n+* [build](dotnet-build.md)\n+* [test](dotnet-test.md)\n+* [publish](dotnet-publish.md)\n+* [pack](dotnet-pack.md)\n+\n+Of course, there is a way to bring in more commands on a per-project basis as well as to add your commands. This is \n+explained in greater detail in the [extensibility section](#extensibility). \n+\n+## Working with the CLI\n+\n+### A short sample\n+Before we go into any more details, let's see how does working with the CLI look like from a 10,000-foot view. \n+The sample below utilizes several commands from the CLI standard install to initialize a new simple console application, \n+restore the dependencies, build the application and then run it. \n+\n+```console\n+dotnet new\n+dotnet restore\n+dotnet build --output /stuff\n+dotnet /stuff/new.dll\n+```\n+\n+### How does it work?\n+As we saw in the short sample [above](#a-short-sample), there is a pattern in the way you use the CLI tools. Within that pattern, we can \n+identify three main pieces of each command:\n+\n+1. The driver (\"dotnet\")\n+2. The command or, as we like to call it, the \"verb\"\n+3. Command arguments\n+\n+Let's dig into more details on each of the above.\n+\n+### Driver\n+The driver is named `dotnet`. It is the first part of what you invoke . The driver has two responsibilities:\n+\n+1. Executing IL code\n+2. Executing the verb\n+\n+Which of the two things it does is dependent on what is specified on the command line. In the first case, you would \n+specify an IL assembly that `dotnet` would run similar to this: `dotnet /path/to/your.dll`. \n+\n+In the second case, the driver would assume you want to invoke a command. This will start the CLI command execution ","path":"docs/cli/overview.md","position":77,"original_position":77,"commit_id":"773360eeb075b955b8e497fe9c4f4c44bdebc509","original_commit_id":"773360eeb075b955b8e497fe9c4f4c44bdebc509","user":{"login":"billwert","id":4523120,"avatar_url":"https://avatars.githubusercontent.com/u/4523120?v=3","gravatar_id":"","url":"https://api.github.com/users/billwert","html_url":"https://github.com/billwert","followers_url":"https://api.github.com/users/billwert/followers","following_url":"https://api.github.com/users/billwert/following{/other_user}","gists_url":"https://api.github.com/users/billwert/gists{/gist_id}","starred_url":"https://api.github.com/users/billwert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/billwert/subscriptions","organizations_url":"https://api.github.com/users/billwert/orgs","repos_url":"https://api.github.com/users/billwert/repos","events_url":"https://api.github.com/users/billwert/events{/privacy}","received_events_url":"https://api.github.com/users/billwert/received_events","type":"User","site_admin":false},"body":"\"the driver attempts to invoke the specified command\"","created_at":"2016-03-31T23:32:12Z","updated_at":"2016-03-31T23:32:12Z","html_url":"https://github.com/dotnet/core-docs/pull/391#discussion_r58144553","pull_request_url":"https://api.github.com/repos/dotnet/core-docs/pulls/391","_links":{"self":{"href":"https://api.github.com/repos/dotnet/core-docs/pulls/comments/58144553"},"html":{"href":"https://github.com/dotnet/core-docs/pull/391#discussion_r58144553"},"pull_request":{"href":"https://api.github.com/repos/dotnet/core-docs/pulls/391"}}},"pull_request":{"url":"https://api.github.com/repos/dotnet/core-docs/pulls/391","id":64821312,"html_url":"https://github.com/dotnet/core-docs/pull/391","diff_url":"https://github.com/dotnet/core-docs/pull/391.diff","patch_url":"https://github.com/dotnet/core-docs/pull/391.patch","issue_url":"https://api.github.com/repos/dotnet/core-docs/issues/391","number":391,"state":"open","locked":false,"title":"Add CLI documentation","user":{"login":"blackdwarf","id":3115004,"avatar_url":"https://avatars.githubusercontent.com/u/3115004?v=3","gravatar_id":"","url":"https://api.github.com/users/blackdwarf","html_url":"https://github.com/blackdwarf","followers_url":"https://api.github.com/users/blackdwarf/followers","following_url":"https://api.github.com/users/blackdwarf/following{/other_user}","gists_url":"https://api.github.com/users/blackdwarf/gists{/gist_id}","starred_url":"https://api.github.com/users/blackdwarf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blackdwarf/subscriptions","organizations_url":"https://api.github.com/users/blackdwarf/orgs","repos_url":"https://api.github.com/users/blackdwarf/repos","events_url":"https://api.github.com/users/blackdwarf/events{/privacy}","received_events_url":"https://api.github.com/users/blackdwarf/received_events","type":"User","site_admin":false},"body":"Added documentation for the CLI. It contains two main groups of\r\ndocuments:\r\n\r\n1. Conceptual docs - docs that deal with how the CLI works, what the\r\nare the portability types of applications and the overview.\r\n2. Reference docs - command line reference docs for each command as\r\nwell as the install script.\r\n\r\nAnother document is the DNX -> CLI migration document that is part of\r\nthis change.\r\n\r\nFixes #391 \r\nRelates to #322 \r\n\r\n/cc @mairaw @danroth27 @cartermp @richlander ","created_at":"2016-03-31T16:41:59Z","updated_at":"2016-03-31T23:32:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b30cd97d04cb4335eef0cd7d3476e645f21c9e74","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/core-docs/pulls/391/commits","review_comments_url":"https://api.github.com/repos/dotnet/core-docs/pulls/391/comments","review_comment_url":"https://api.github.com/repos/dotnet/core-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/core-docs/issues/391/comments","statuses_url":"https://api.github.com/repos/dotnet/core-docs/statuses/773360eeb075b955b8e497fe9c4f4c44bdebc509","head":{"label":"blackdwarf:clidocs","ref":"clidocs","sha":"773360eeb075b955b8e497fe9c4f4c44bdebc509","user":{"login":"blackdwarf","id":3115004,"avatar_url":"https://avatars.githubusercontent.com/u/3115004?v=3","gravatar_id":"","url":"https://api.github.com/users/blackdwarf","html_url":"https://github.com/blackdwarf","followers_url":"https://api.github.com/users/blackdwarf/followers","following_url":"https://api.github.com/users/blackdwarf/following{/other_user}","gists_url":"https://api.github.com/users/blackdwarf/gists{/gist_id}","starred_url":"https://api.github.com/users/blackdwarf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blackdwarf/subscriptions","organizations_url":"https://api.github.com/users/blackdwarf/orgs","repos_url":"https://api.github.com/users/blackdwarf/repos","events_url":"https://api.github.com/users/blackdwarf/events{/privacy}","received_events_url":"https://api.github.com/users/blackdwarf/received_events","type":"User","site_admin":false},"repo":{"id":35895436,"name":"core-docs","full_name":"blackdwarf/core-docs","owner":{"login":"blackdwarf","id":3115004,"avatar_url":"https://avatars.githubusercontent.com/u/3115004?v=3","gravatar_id":"","url":"https://api.github.com/users/blackdwarf","html_url":"https://github.com/blackdwarf","followers_url":"https://api.github.com/users/blackdwarf/followers","following_url":"https://api.github.com/users/blackdwarf/following{/other_user}","gists_url":"https://api.github.com/users/blackdwarf/gists{/gist_id}","starred_url":"https://api.github.com/users/blackdwarf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blackdwarf/subscriptions","organizations_url":"https://api.github.com/users/blackdwarf/orgs","repos_url":"https://api.github.com/users/blackdwarf/repos","events_url":"https://api.github.com/users/blackdwarf/events{/privacy}","received_events_url":"https://api.github.com/users/blackdwarf/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/blackdwarf/core-docs","description":"Experimenting with docs.","fork":true,"url":"https://api.github.com/repos/blackdwarf/core-docs","forks_url":"https://api.github.com/repos/blackdwarf/core-docs/forks","keys_url":"https://api.github.com/repos/blackdwarf/core-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/blackdwarf/core-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/blackdwarf/core-docs/teams","hooks_url":"https://api.github.com/repos/blackdwarf/core-docs/hooks","issue_events_url":"https://api.github.com/repos/blackdwarf/core-docs/issues/events{/number}","events_url":"https://api.github.com/repos/blackdwarf/core-docs/events","assignees_url":"https://api.github.com/repos/blackdwarf/core-docs/assignees{/user}","branches_url":"https://api.github.com/repos/blackdwarf/core-docs/branches{/branch}","tags_url":"https://api.github.com/repos/blackdwarf/core-docs/tags","blobs_url":"https://api.github.com/repos/blackdwarf/core-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/blackdwarf/core-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/blackdwarf/core-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/blackdwarf/core-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/blackdwarf/core-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/blackdwarf/core-docs/languages","stargazers_url":"https://api.github.com/repos/blackdwarf/core-docs/stargazers","contributors_url":"https://api.github.com/repos/blackdwarf/core-docs/contributors","subscribers_url":"https://api.github.com/repos/blackdwarf/core-docs/subscribers","subscription_url":"https://api.github.com/repos/blackdwarf/core-docs/subscription","commits_url":"https://api.github.com/repos/blackdwarf/core-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/blackdwarf/core-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/blackdwarf/core-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/blackdwarf/core-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/blackdwarf/core-docs/contents/{+path}","compare_url":"https://api.github.com/repos/blackdwarf/core-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/blackdwarf/core-docs/merges","archive_url":"https://api.github.com/repos/blackdwarf/core-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/blackdwarf/core-docs/downloads","issues_url":"https://api.github.com/repos/blackdwarf/core-docs/issues{/number}","pulls_url":"https://api.github.com/repos/blackdwarf/core-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/blackdwarf/core-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/blackdwarf/core-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/blackdwarf/core-docs/labels{/name}","releases_url":"https://api.github.com/repos/blackdwarf/core-docs/releases{/id}","deployments_url":"https://api.github.com/repos/blackdwarf/core-docs/deployments","created_at":"2015-05-19T16:47:30Z","updated_at":"2016-01-11T18:26:56Z","pushed_at":"2016-03-31T18:37:49Z","git_url":"git://github.com/blackdwarf/core-docs.git","ssh_url":"git@github.com:blackdwarf/core-docs.git","clone_url":"https://github.com/blackdwarf/core-docs.git","svn_url":"https://github.com/blackdwarf/core-docs","homepage":null,"size":10292,"stargazers_count":0,"watchers_count":0,"language":"CSS","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"604341ea15f5bbf1e2771510e901c780a5459e57","user":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars.githubusercontent.com/u/9141961?v=3","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":35890081,"name":"core-docs","full_name":"dotnet/core-docs","owner":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars.githubusercontent.com/u/9141961?v=3","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/core-docs","description":".NET Core documentation (work in progress).","fork":false,"url":"https://api.github.com/repos/dotnet/core-docs","forks_url":"https://api.github.com/repos/dotnet/core-docs/forks","keys_url":"https://api.github.com/repos/dotnet/core-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/core-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/core-docs/teams","hooks_url":"https://api.github.com/repos/dotnet/core-docs/hooks","issue_events_url":"https://api.github.com/repos/dotnet/core-docs/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/core-docs/events","assignees_url":"https://api.github.com/repos/dotnet/core-docs/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/core-docs/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/core-docs/tags","blobs_url":"https://api.github.com/repos/dotnet/core-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/core-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/core-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/core-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/core-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/core-docs/languages","stargazers_url":"https://api.github.com/repos/dotnet/core-docs/stargazers","contributors_url":"https://api.github.com/repos/dotnet/core-docs/contributors","subscribers_url":"https://api.github.com/repos/dotnet/core-docs/subscribers","subscription_url":"https://api.github.com/repos/dotnet/core-docs/subscription","commits_url":"https://api.github.com/repos/dotnet/core-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/core-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/core-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/core-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/core-docs/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/core-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/core-docs/merges","archive_url":"https://api.github.com/repos/dotnet/core-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/core-docs/downloads","issues_url":"https://api.github.com/repos/dotnet/core-docs/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/core-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/core-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/core-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/core-docs/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/core-docs/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/core-docs/deployments","created_at":"2015-05-19T15:13:32Z","updated_at":"2016-03-21T14:38:35Z","pushed_at":"2016-03-31T23:31:33Z","git_url":"git://github.com/dotnet/core-docs.git","ssh_url":"git@github.com:dotnet/core-docs.git","clone_url":"https://github.com/dotnet/core-docs.git","svn_url":"https://github.com/dotnet/core-docs","homepage":"http://dotnet.github.io/docs/index.html","size":14153,"stargazers_count":62,"watchers_count":62,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":76,"mirror_url":null,"open_issues_count":152,"forks":76,"open_issues":152,"watchers":62,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/core-docs/pulls/391"},"html":{"href":"https://github.com/dotnet/core-docs/pull/391"},"issue":{"href":"https://api.github.com/repos/dotnet/core-docs/issues/391"},"comments":{"href":"https://api.github.com/repos/dotnet/core-docs/issues/391/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/core-docs/pulls/391/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/core-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/core-docs/pulls/391/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/core-docs/statuses/773360eeb075b955b8e497fe9c4f4c44bdebc509"}}}}