Search the Perl 6 repos with Etsy’s Hound

I’m working on Learning Perl 6 and I spend a lot of my time going between repos to suss out various things. Etsy’s Hound is a tool that makes that easier, and I’ve made a GitHub project with my setup.

Perl 6 development is spread over several repositories. That’s a consequence that there’s no a priori preferred implementation, and that’s on purpose.

Anything that passes the roast tests is Perl 6. That has its own repo. Rakudo is one such implementation. It has its own repo.

But, Perl 6 is largely written in Perl 6. There’s a smaller version of the language, NQP for Not Quite Perl6, that targets the virtual machines. A smaller feature set makes it easier to implement new virtual targets and that should encourage more backends. NQP has its own repo.

And the docs have their own directory too.

That means it’s not quite as simple as grepping (acking, whatever) a repository. These are separate projects that I’d have to keep separately updated.

Etsy released a tool they call hound, written in Go. They have instructions, but here’s a summary:

  • Install Go 1.3+. I used a binary package.
  • Run go get github.com/etsy/hound/cmds/...
  • Create a directory for houndd to do its work
  • Create your config.json to list the repos in that directory
  • Run $GOPATH/bin/houndd in that directory
  • Go to http://localhost:6080

I’ve also built most of this into the Makefile. Use the *run* target to get it going:

$ make run

Leave a Reply

Your email address will not be published. Required fields are marked *