Guides/Platform Development

From Sirikata Wiki
Revision as of 17:57, 28 May 2012 by Ewencp (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction for Platform Developers

This guide helps you get started working on the code that runs Sirikata -- fixing bugs or adding new functionality to the system, rather than scripting objects in a running system. It provides:

  • A high-level map of the components of the system and the code base to help you find our way around the code and figure out what you want to be modifying.
  • A breakdown a detailed description of each service so you can find where in a service you need to work.
  • A small set of general tutorials. These are specific to the Sirikata code base, but not specific to any component. Look here to understand the code infrastructure and idioms, such as plugin architecture, the options system, and the event system.

It's oriented towards the primary C++ code base; for other projects (e.g., KataJS), you'll need to look at their documentation.

Getting Started

As mentioned above, you probably want to start with one of the three main sections:

  • Tour of the Code - A technical tour of the system and the code repositories.
  • Components - A breakdown of the services and components of the system, with details of their operation.
  • Tutorials - A series of tutorials describing certain aspects of the system which aren't specific to any component but which any developer will encounter when working with the system.

Resources

Besides documentation and tutorials included in this guide, there's a lot of infrastructure around Sirikata and its development, e.g. the code repository, bug tracking, IRC, mailing lists, debugging tools and libraries, and more.

Map for Platform Development

  • Documentation is very much a work in progress but is a comprehensive overview of what we currently have. Covers just about all the technical aspects of the system, tools and infrastructure around it, and how to work with it. If you're looking for a particular topic, start here.

Getting into the Code

  • You'll need to Check out and build the code before you can contribute any changes.
    • The Source Code page helps you understand more about how we manage source code.
    • Learn about the available branches in the git repository, how to work with them, and how to develop new features.
    • We're not too picky, but we suggest following the Coding Standards so we have a consistent, readable codebase.
  • The Platform Development Guide explains how to work with the code.

Getting in Touch with Other Developers

  • Need to talk to other platform developers to bounce implementation ideas off them or ask questions about the code? Platform Developer Communication describes how to get in touch with other platform developers, both synchronously and asynchronously.

How and Where to Contribute