Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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.