Welcome developer. CBT has a very easy code base that you can fully master it in an afternoon. Don't shy away from submiting PRs :). And because CBT bootstraps from source you already have the code there. The ./cbt bash script starts the process. You currently need javac, nailgun, gpg and realpath or gcc installed. CBT's directory structure cbt Shell script launching cbt. Can be symlinked. bootstrap_scala/ Self-contained downloader for the core Scala jars. Allows bootstrapping from Java into Scala. nailgun_launcher/ Self-contained helper that allows using Nailgun with minimal permanent classpath. (Is this actually needed?) realpath/ Self-contained realpath source code to correctly figure our CBTs home directory. (Open for replacement ideas.) stage1/ CBT's code that only relies only on Scala/Java built-ins. Contains a Maven resolver to download libs for stage2. stage2/ CBT's code that requires additional libs, e.g. barbary watchservice. test/ Unit tests that can serve as example builds sonatype.login Sonatype credentials for deployment. Not in git obviously. CBT follows an optimistic merging approach. (See http://hintjens.com/blog:106). We strongly suggest well polished PRs, but don't want to stall improvements by discussions about minor flaws. As long as the PR does not break anything and improves the product, we should merge it, polishing remaining things afterwards.