Source Files

Both courses and tutorials are often accompanied by source files. These allow our readers to follow along and learn through hands-on projects. We highly recommend that you consider using source files for your course or tutorial, but we do have some basic guidelines for how they should be organized.

Code Source Files

For code source files, you should use a directory structure that follows standard industry conventions in place for the particular language or framework that you're working with. For example, a standard web project would have separate folders for CSS, JavaScript, and image files. Consult your editor if you're unsure about standard practices. Always include a readme file.

All our code source files are provided via GitHub. Please provide your editor with a link to the repository, which will be forked into the Tuts+ account. Alternatively, we can upload the files directly to our own GitHub account.

Non-Code Source Files

In order to ensure a straightforward and predictable experience for our users, all of our source files must be very neatly organized. The following steps are required for every course or tutorial.

  1. Put all of your source files in a folder titled "SourceFiles-" followed by the name of your tutorial or course (excluding spaces).
  2. The file names for your source files should be simple, logical, and predictable. Never include untitled or cryptically-named files.
  3. Always include a readme file.
  4. Place all of your source files into a single .zip file. If you're working on a course, send this file directly to your editor. If you're working on a tutorial in our CMS, you can attach this file by using the Attachment box on the right. Click Choose File to upload your content. Please be mindful of varying user download speeds and try to keep your file size to a minimum.

Readme Files

Each set of source files should contain a readme file in markdown or txt format, and it should be based upon the following template. If you don't have the link available to the final tutorial or course, use an "Available on" date, then you can go back and add the link once the post is scheduled:


### Tuts+ Tutorial: Building a Multi-Player Game With Meteor

#### Instructor: Andrew Burgess

Meteor is an amazing framework that makes building complex web applications much simpler. It's easy-to-use APIs, straighforward database system, and "live-by-default" nature make an application that would normally take days to build possible in hours. In this tutorial, we're going to go from nothing at all to a deployed and usable multi-player game in just a couple of hours.

Source files for the Tuts+ tutorial: [Building a Multi-Player Game With Meteor](https://courses.tutsplus.com/courses/build-a-multi-player-game-with-meteor)

**Available on Tuts+ 28 May, 2014**

View the demo game at [scopa.meteor.com](http://scopa.meteor.com)

Document Attachments

Document attachment are an optional educational tool you can include alongside your tutorial. They are an additional document to your tutorial and not a copy. They are useful for directing the reader to take action on the concepts they’ve learned from your tutorial.

While not specifically source files, document attachments may be uploaded via our Attachments option in our CMS as well. They may be added individually or as part of your larger source zip file package.

Readme Files are optional for Document downloads. Your welcome to include similar information directly inside your document instead. Here is more information on how to create document attachments.

Legal Considerations

Always include any required license files for the materials that you are distributing. You can never include any resources that you do not have explicit permission to distribute to others. Anything that you created from scratch is fine, but most fonts, stock files, and even code libraries do not permit commercial redistribution. Carefully read through our legal guidelines for more information.