Teacher tools for managing and grading class repos in Ruby
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Gem Version

This tool is to help manage and inspect Git Repos used for our the Coursework at WCCCEDU.

Major Milestones

  • Sync pull request branches locally so they can be reviewed and graded locally
  • Search all submissions to validate academnic honesty
  • Step through each submission branch and build/compile/execute the code
  • Run automated tests and fuzzy acceptance on output on each submission based on a project described Rubric file
  • Provide DSL to work with compiled and web based execution
  • Integrate with Linters to verify student style to save time on pedantic comments by automating comments on student repos for teachers review.


Add this line to your application's Gemfile:

gem 'brown_noser', '~> 0.1.2'

And then execute:

$ bundle

Or install it yourself as:

$ gem install brown_noser


This gem exposes the pet command

Sync PR Branches

Bring unmerged branches to local repo for easy viewing and searching without merging.

pet <user> <repo> -u <username> -p <password> -s
pet <user> <repo> --username <username> --pasword <password> --sync

Search for patterns in local repo (Help find cheating)

pet -f 'Your query or Regex'
pet --find 'Your query or Regex'

Detect with Cheating through MOSS

Currently supports .cpp files only more coming soon

pet <user> <repo> -u <username> -p <password> -c <moss_id>

The resulting brown_noser.html will include a link so you can view the comparisons that MOSS detected as possible duplication.

Create a moss account so you can have a moss_id

Visit https://theory.stanford.edu/~aiken/moss/ and follow the instructions listed under Registering for MOSS. Once you send your registration email you will receive a response containing a bunch of perl code. Search the email for userid, your MOSS ID will look like this 11111927.


Clone and run bundle install to receive deps.


Bug reports and pull requests are welcome on GitHub at https://github.com/WCCCEDU/brown_noser.


The gem is available as open source under the terms of the MIT License.