Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Starting an open source project?

Are you starting an open source project on GitHub? If you want people to use and contribute to your project, you need to start by answering their most basic questions. What is it? How does it work? How can I contribute? How am I allowed to use it? How do I get up and running in development? How do I make sure my new features didn't break old functionality?

I have written a small app named Friction which checks your project for common sources of contributor friction.

Friction Install the latest stable version of Friction via RubyGems:

$ gem install friction

Run friction from your project root to check for some common ways to improve the experience for potential contributors. Here's some example output for a project I've worked on a few months ago:

$ friction
[ERROR] CONTRIBUTING guide not found (see http://git.io/g_0mVQ)
[ERROR] LICENSE not found (see http://git.io/pFMQMQ)
[ERROR] Bootstrap script not found (see http://git.io/jZoRYA)
[ERROR] Test script not found (see http://git.io/oo21Jw)
[ERROR] .gitignore not found (see http://git.io/pevJkA)

If some checks do not apply to your project, skip certain files using the --skip flag, like this:

$ friction --skip bootstrap:test
[ERROR] CONTRIBUTING guide not found (see http://git.io/g_0mVQ)
[ERROR] LICENSE not found (see http://git.io/pFMQMQ)
[ERROR] .gitignore not found (see http://git.io/pevJkA)

The arguments passed to --skip are separated by :. The possible arguments include readme, contributing, license, bootstrap, test, and gitignore. Read more at friction/wiki.