{"__v":18,"_id":"54d97645ea2a7d0d002a5b29","category":{"__v":5,"_id":"54d5635632d98b0d00384afc","pages":["54d5635732d98b0d00384b18","54d5635732d98b0d00384b19","54d5635732d98b0d00384b1a","54d5635732d98b0d00384b1b","54d5635732d98b0d00384b1c","54d5635732d98b0d00384b1d","54d5635732d98b0d00384b1e","54d5635732d98b0d00384b1f","54d5689d7e05890d006f14ea","54d8243a0100e20d00ddd57b","5516e49f5a2a4f1700d4f5f8","552d5437d048dd0d00f36e68"],"project":"54d53c7b23010a0d001aca0c","version":"54d5635532d98b0d00384afb","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-02-06T23:43:10.191Z","from_sync":false,"order":0,"slug":"getting-started","title":"Getting Started"},"parentDoc":null,"project":"54d53c7b23010a0d001aca0c","user":"54cfa8e1a8a4fd0d00b7fd1d","version":{"__v":10,"_id":"54d5635532d98b0d00384afb","forked_from":"54d53c7c23010a0d001aca0f","project":"54d53c7b23010a0d001aca0c","createdAt":"2015-02-07T00:59:01.934Z","releaseDate":"2015-02-07T00:59:01.934Z","categories":["54d5635632d98b0d00384afc","54d5635632d98b0d00384afd","54d5635632d98b0d00384afe","54d5635632d98b0d00384aff","54d5635632d98b0d00384b00","54d5635632d98b0d00384b01","54d5635632d98b0d00384b02","54d652097e05890d006f153e","54dd1315ca1e5219007e9daa","54e21e2b22de1c230094b147","54e68e62a43fe13500db3879","54fa1d3fe7a0ba2f00306309","551c453a23a1ee190034d19a","551df586e52a0b23000c62b6","551f39be6886f8230055f02a","55a6720751457325000e4d97"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"0.1.0","version":"0.1"},"updates":["54db37aad40c392f0031454d","550002c4a65a920d008433ec"],"next":{"pages":[],"description":""},"createdAt":"2015-02-10T03:08:53.347Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":5,"body":"The best way to work on a new package or update a package maintained by you or the community is [on c9.io](doc:package-development-workflow). At least, once we launch the *beta*. Now that the SDK is still in *alpha* we recommend downloading the SDK and creating your plugin there.\n\nWhen you want to work on packages that are part of the core or are one of the open source packages than the best way is using the SDK. \n\nThis guide walks you through setting up the SDK and will explain the different ways of working with the SDK.\n\n# Installation\n\nTo start the installation of the SDK make sure you have a recent version git installed and you have set up your SSH key with GitHub. If you are using c9.io and have connected your GitHub account, these things will already be set up for you. \n\n*N.B.: As of this writing you'll need a 'Medium' size workspace to run the SDK on c9.io. *\n\nDownload the SDK with the following command:\n\n```\ngit clone https://github.com/c9/core.git c9sdk\n```\n\nThis will clone the repository into the `c9sdk` directory. To install the dependencies of the SDK run the following commands:\n\n```\ncd c9sdk\n./scripts/install-sdk.sh\n```\n\nYou can run the `install-sdk.sh` script also to update the SDK to the latest version.\n\nNote that the install script requires internet and will also run the Cloud9 installation script that we use for SSH workspaces. You can find that script here: [https://github.com/c9/install](https://github.com/c9/install). That repository is open source and we gratefully accept pull requests that fix issues for specific platforms. I refer to the [issues](https://github.com/c9/install/issues) of that repo for any problems installing the Cloud9 SDK.\n\n# Running\n\nStart Cloud9 in the SDK as follows:\n\n    ./server.js -p 8080 -l 0.0.0.0 -a :\n\nThe following options can be used:\n\n```\n--settings       Settings file to use\n--help           Show command line options.\n-t               Start in test mode\n-k               Kill tmux server in test mode\n-b               Start the bridge server - to receive commands from the cli  [default: false]\n-w               Workspace directory\n--port           Port\n--debug          Turn debugging on\n--listen         IP address of the server\n--readonly       Run in read only mode\n--packed         Whether to use the packed version.\n--auth           Basic Auth username:password\n--collab         Whether to enable collab.\n--no-cache       Don't use the cached version of CSS\n```\n\nAfter the SDK has started navigate to http://localhost:8080 in your browser to load the IDE. \n\n# Debugging\n\nIn the same way as on c9.io, the locally run SDK has [a debug mode](package-development-workflow#cloud9-debug-mode) which can be triggered by `?debug=2`.\n\n# Working on Custom Packages\n\nWorking with custom packages works the same way as on c9.io. Simply follow the [package development workflow](doc:package-development-workflow) guide for that.\n\n# Working on Cloud9 Maintained Packages\n\nWorking with the packages that are maintained by Cloud9 is slightly different. The primary reason for this is that these packages are pre-installed and always loaded. There are also some 'historical reasons' so this might be 'fixed' in the future.\n\nThe Cloud9 packages are in the `c9sdk/plugins` directory. Each directory is either part of the core, which you checked out, or part of it's own repository for the open source packages which was cloned by the `install-sdk.sh` script. \n\nTo edit any package, simply make the changes you want to the code and hit reload to debug them.\n\nIf you want to create a pull request to have your changes accepted by us, start by forking the  relevant repository on GitHub and then set the origin to your own repository:\n\n```\ngit remote add myfork https://github.com/user-name/package-name.git\n```\n\nThen simply push your changes:\n\n```\ngit push myfork master\n```\n\nand create a pull request against the repository on the c9 organization. We will evaluate pull requests as soon as possible. Also make sure to subscribe to the [Cloud9 SDK mailinglist](https://groups.google.com/forum/#!forum/cloud9-sdk) and ask any questions there prior to creating your pull request.","excerpt":"","slug":"running-the-sdk","type":"basic","title":"Running the SDK"}
The best way to work on a new package or update a package maintained by you or the community is [on c9.io](doc:package-development-workflow). At least, once we launch the *beta*. Now that the SDK is still in *alpha* we recommend downloading the SDK and creating your plugin there. When you want to work on packages that are part of the core or are one of the open source packages than the best way is using the SDK. This guide walks you through setting up the SDK and will explain the different ways of working with the SDK. # Installation To start the installation of the SDK make sure you have a recent version git installed and you have set up your SSH key with GitHub. If you are using c9.io and have connected your GitHub account, these things will already be set up for you. *N.B.: As of this writing you'll need a 'Medium' size workspace to run the SDK on c9.io. * Download the SDK with the following command: ``` git clone https://github.com/c9/core.git c9sdk ``` This will clone the repository into the `c9sdk` directory. To install the dependencies of the SDK run the following commands: ``` cd c9sdk ./scripts/install-sdk.sh ``` You can run the `install-sdk.sh` script also to update the SDK to the latest version. Note that the install script requires internet and will also run the Cloud9 installation script that we use for SSH workspaces. You can find that script here: [https://github.com/c9/install](https://github.com/c9/install). That repository is open source and we gratefully accept pull requests that fix issues for specific platforms. I refer to the [issues](https://github.com/c9/install/issues) of that repo for any problems installing the Cloud9 SDK. # Running Start Cloud9 in the SDK as follows: ./server.js -p 8080 -l 0.0.0.0 -a : The following options can be used: ``` --settings Settings file to use --help Show command line options. -t Start in test mode -k Kill tmux server in test mode -b Start the bridge server - to receive commands from the cli [default: false] -w Workspace directory --port Port --debug Turn debugging on --listen IP address of the server --readonly Run in read only mode --packed Whether to use the packed version. --auth Basic Auth username:password --collab Whether to enable collab. --no-cache Don't use the cached version of CSS ``` After the SDK has started navigate to http://localhost:8080 in your browser to load the IDE. # Debugging In the same way as on c9.io, the locally run SDK has [a debug mode](package-development-workflow#cloud9-debug-mode) which can be triggered by `?debug=2`. # Working on Custom Packages Working with custom packages works the same way as on c9.io. Simply follow the [package development workflow](doc:package-development-workflow) guide for that. # Working on Cloud9 Maintained Packages Working with the packages that are maintained by Cloud9 is slightly different. The primary reason for this is that these packages are pre-installed and always loaded. There are also some 'historical reasons' so this might be 'fixed' in the future. The Cloud9 packages are in the `c9sdk/plugins` directory. Each directory is either part of the core, which you checked out, or part of it's own repository for the open source packages which was cloned by the `install-sdk.sh` script. To edit any package, simply make the changes you want to the code and hit reload to debug them. If you want to create a pull request to have your changes accepted by us, start by forking the relevant repository on GitHub and then set the origin to your own repository: ``` git remote add myfork https://github.com/user-name/package-name.git ``` Then simply push your changes: ``` git push myfork master ``` and create a pull request against the repository on the c9 organization. We will evaluate pull requests as soon as possible. Also make sure to subscribe to the [Cloud9 SDK mailinglist](https://groups.google.com/forum/#!forum/cloud9-sdk) and ask any questions there prior to creating your pull request.