Giter Club home page Giter Club logo

core's Introduction

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. That repository is open source and we gratefully accept pull requests that fix issues for specific platforms. I refer to the 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 : -w {your workspace}
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 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 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 and ask any questions there prior to creating your pull request.

Cloud9 3.0 SDK for Plugin Development

This is the core repository for the Cloud9 v3 SDK. The SDK allows you to run a version of Cloud9 that allows you to develop plugins and create a custom IDE based on Cloud9.

Project Status: ALPHA

During the alpha stage, expect many things to break, not work or simply fail.

Creating Plugins

The best and easiest way to create plugins is on c9.io. Please check out this tutorial for how to get started writing plugins.

We also have a tutorial for how to get started working on the core plugins. Check out that tutorial here.

Documentation

We have several documentation resources for you:

SDK documentationhttp://cloud9-sdk.readme.io/v0.1/docs
API documentationhttp://docs.c9.io/api
User documentationhttp://docs.c9.io

Please join the mailinglist to get support or give support to the growing community of plugin developers: https://groups.google.com/forum/#!forum/cloud9-sdk

Installation

Follow these steps to install the SDK:

git clone git://github.com/c9/core.git c9sdk
cd c9sdk
scripts/install-sdk.sh

To update the SDK to the latest version run:

git pull origin master
scripts/install-sdk.sh

Please note that Cloud9 v3 is currently developed with Node.js 0.12 and 0.10. Newer versions of node should work too.

Starting Cloud9

Start the Cloud9 as follows:

node server.js

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

Now visit http://localhost:8181/ide.html to load Cloud9.

Running Tests

Run server side tests with:

npm run test

Run client side tests with:

npm run ctest

Then visit http://localhost:8181/static/test in your browser.

Contributing

We actively encourage and support contributions. We accept pull requests to the core as well as to any of the open source plugins and libraries that we maintain under the c9 organization on GitHub.

Feel free to fork and improve/enhance the Cloud9 SDK and the open source plugins in any way you want. Then please open a pull request. For more information on our contributing guidelines, see our contributing guide: http://cloud9-sdk.readme.io/v0.1/docs/contributing-to-cloud9

To protect the interests of the Cloud9 contributors and users we require contributors to sign a Contributors License Agreement (CLA) before we pull the changes into the main repository. Our CLA is the simplest of agreements, requiring that the contributions you make to an ajax.org project are only those you're allowed to make. This helps us significantly reduce future legal risk for everyone involved. It is easy, helps everyone, takes ten minutes, and only needs to be completed once. There are two versions of the agreement:

  1. The Individual CLA: use this version if you're working on the Cloud9 SDK or open source plugins in your spare time, or can clearly claim ownership of copyright in what you'll be submitting.
  2. The Corporate CLA: have your corporate lawyer review and submit this if your company is going to be contributing to the Cloud9 SDK and/or open source plugins.

If you want to contribute to the Cloud9 SDK and/or open source plugins please go to the online form, fill it out and submit it.

Happy coding, Cloud9

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.