The code powering and
Switch branches/tags
Clone or download
Latest commit 57ce8ae Oct 18, 2018
Failed to load latest commit information.
.chef fix typo Oct 23, 2015
.circleci Don't store coverage reports as Circle artifacts Aug 23, 2018
.tmputils Add .gitkeep to .tmputils/ Aug 18, 2016
apps Merge pull request #25475 from code-dot-org/clickable-congrats-tile-i… Oct 18, 2018
aws merge staging [ci skip] Oct 16, 2018
bin include recently-added pegasus markdown files in crowdin sync Oct 9, 2018
cookbooks Updated cookbook versions Oct 11, 2018
dashboard typo fix Oct 18, 2018
docs Changing default section name. Sep 9, 2018
experimental Improvements, changes, and fixes to ELO model. Oct 4, 2016
i18n sync pegasus strings, spritelab 10/17 -ErinB Oct 17, 2018
lib Merge pull request #25465 from code-dot-org/sprite-lab-create-dropdown Oct 17, 2018
pegasus sync pegasus strings, team 10/17 -ErinB Oct 18, 2018
shared Merge pull request #25467 from code-dot-org/sprite-lab-project-widget Oct 17, 2018
tools Broken link checker: write final output before exiting Aug 30, 2018
.eslintrc.js Re-throw errors in native code Aug 3, 2018
.gitignore update 1.3.0-cdo, add vscode to gitignore Aug 24, 2018
.gitmodules Small fixups Mar 23, 2017
.haml-lint.yml add fixtures exclude to .haml-lint.yml Mar 16, 2018
.haml-lint_todo.yml Remove un-referenced views from Feb 15, 2018
.hound.yml Add `rake lint:scss` task, pre-commit hook and Hound CI config Jun 16, 2016
.mention-bot Make mention bot config valid json Nov 7, 2016
.nvmrc Merge branch 'staging' into show-overlay-first Nov 1, 2016
.rubocop.yml Upgrade to Ruby 2.5 Mar 23, 2018
.rubocop_hound.yml update rubocop to 0.52.1 Jan 5, 2018
.rubocop_todo.yml Merge pull request #23613 from asherkach/rubocop-style-redundant-begin Jul 13, 2018
.scss-lint.yml Try to disable PropertyCount SCSS lint rule in HoundCI Apr 19, 2017 Fix up code of conduct [ci skip] Jul 13, 2018 Fix up code of conduct [ci skip] Jul 13, 2018
Gemfile Update firehose gem Sep 17, 2018
Gemfile.lock Update firehose gem Sep 17, 2018
LICENSE update LICENSE to include local development environment Feb 5, 2016
NOTICE Add attribution in copyright notices and NOTICE file. Mar 30, 2016 fixed a typo Jun 15, 2018
Rakefile Fix violations of rubocop Style/SpaceBeforeBlockBraces. Mar 21, 2017 Update Ubuntu instructions for rvm Aug 27, 2018 Remove deprecated React example from Sep 7, 2017 update info about how to run a single test from shared Sep 5, 2018
Vagrantfile Fix `rubocop --only Style/IndentationConsistency` TODOs Apr 20, 2015
codecov.yml Change the root used for dashboard coverage reports Feb 20, 2017
deployment.rb Merge pull request #25278 from code-dot-org/hoc2018-homepage Oct 15, 2018
locals.yml.default Make load_locales comment more specific to English locales Jun 22, 2018

Circle CI Coverage Status

Welcome! You've found the source code for the website and the Code Studio platform. is a non-profit dedicated to expanding access to computer science education. You can read more about our efforts at

Quick start

  1. Follow our setup guide to configure your workstation.
  2. rake build to build the application if you have not done so already
  3. bin/dashboard-server to launch the development server.
  4. Open your browser to

To see a list of all build commands, run rake from the repository root.

How to help

Wondering where to start? See our contribution guidelines.

What's in this repo?

Here's a quick overview of the major landmarks:


The server for our Code Studio learning platform, a Ruby on Rails application responsible for:

  • Our courses, tutorials, and puzzle configurations
  • User accounts
  • Student progress and projects
  • The "levelbuilder" content creation tools


The server for the website, a Sinatra application responsible for:


The JavaScript 'engine' for all of our tutorials, puzzle types and online tools. It gets built into a static package that we serve through dashboard. Though there are currently some exceptions, the goal is that all JS code ultimately lives here, so that it gets the benefit of linting/JSX/ES6/etc. Start here if you are looking for:


Everything else

  • aws: Configuration and scripts that manage our deployments.
  • bin: Developer utilities.
  • cookbooks: Configuration management through Chef.
  • shared: Source and assets used by many parts of our application.
  • tools: Git commit hooks.