diff --git a/documentation/Contributing.md b/documentation/Contributing.md deleted file mode 100644 index 438304f8d..000000000 --- a/documentation/Contributing.md +++ /dev/null @@ -1,9 +0,0 @@ -Contributing to .NET Command Line Interface -=========================================== - -The .NET Core team maintains several guidelines for contributing to the .NET Core and associated repos, which are provided [on this link](https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/contributing.md). Many of these are straightforward, while others may seem subjective. A .NET Core team member will be happy to explain why a guideline is defined as it is. - -Developers -========== - -See the [README.md](readme.md) file in this directory for more details on how to get started developing on the .NET Command Line Interface. diff --git a/documentation/README.md b/documentation/README.md deleted file mode 100644 index 74cafaedb..000000000 --- a/documentation/README.md +++ /dev/null @@ -1,83 +0,0 @@ - -# Start developing on .NET Command Line Interface -## Prerequisites - -In order to build .NET Command Line Interface, you need the following installed on you machine. - -### For Windows - -1. Visual Studio 2015 with Web Development Tools - * Beta8 is available here and should work: http://www.microsoft.com/en-us/download/details.aspx?id=49442 - * Install `WebToolsExtensionsVS14.msi` and `DotNetVersionManager-x64.msi` -2. CMake (available from https://cmake.org/) on the PATH. -3. git (available from http://www.git-scm.com/) on the PATH. - -### For Linux - -1. CMake (available from https://cmake.org/) is required to build the native host `corehost`. Make sure to add it to the PATH. -2. git (available from http://www.git-scm.com/) on the PATH. -3. clang (available from http://clang.llvm.org) on the PATH. -### For OS X - -1. Xcode -2. CMake (available from https://cmake.org/) on the PATH. -3. git (available from http://www.git-scm.com/) on the PATH. - -## Building/Running - -1. Run `build.cmd` or `build.sh` from the root depending on your OS. -2. Use `artifacts/{os}-{arch}/stage2/dotnet` to try out the `dotnet` command. You can also add `artifacts/{os}-{arch}/stage2` to the PATH if you want to run `dotnet` from anywhere. - - -# Tools - -## Visual Studio - -* You can use Visual Studio 2015 to work on these bits. - -## Visual Studio Code - -* You can also use Visual Studo code https://code.visualstudio.com/ to contribute to this project. - -## A simple test - -1. `cd test\TestApp` -2. `dotnet run` - -# Contributing to the repo - -## Contribution Guidelines - -Once you are set up with requirements and you want to start, please review our [contribution guidelines](Contributing.md) to get up to speed with the process. - -### Adding a Command -The donet CLI considers any executable on the path named `dotnet-{commandName}` to be a command it can call out to. `dotnet publish`, for example, is added to the path as an executable called `dotnet-publish`. To add a new command we must create the executable and then add it to the distribution packages for installation. - -0. Create an issue on https://github.com/dotnet/cli and get consensus on the need for and behavior of the command. -1. Add a new project for the command. -2. Add the project to Microsoft.DotNet.Cli.sln -3. Create a Readme.md for the command. -4. Add the project to the build scripts. -5. Add the project to the packaging scripts. - -#### Add a new command project -Start by copying an existing command, like /src/Microsoft.DotNet.Tools.Init. Change the last part of the project name, .Init in this case, to the name of your command. -Update the Name property in project.json as well, but use the `dotnet-{command}` syntax here. -Make sure to use the System.CommandLine parser so behavior is consistant across commands. - -#### Add a Readme.md -Each command's project root should contain a manpage-style Readme.md that describes the usage of the command. See other commands for reference. - -#### Add project to build scripts -1. Add the project to /scripts/build/build-stage.ps1 - - Add the project name to the `$Projects` list -2. Add the project to /scripts/build/build-stage.sh - - Add the project name to the `PROJECTS` list -3. run *build* from the root directory and make sure your project is producing binaries in /artifacts/ - -#### Add command to packages -- Update the symlinks property of debian_config.json to include the new command - -# I just want to use this toolchain - -If you just want to use the .NET Command Line Interface, your best bet would be to use the installers provided on the [main README file](../README.md). You can also follow the above guide for building from source to get the lastest (bleeding edge) bits.