Skip to content
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time


pkg is a collection of Go packages that provide various different functionality. The packages in this project are generally independent and strive to depend on as few external packages as possible. Many of the packages in the project are also independent from each other.

An overview of some of the packages is included below. Refer to the package comments for individual packages for more information.


cli provides a framework for creating CLI applications. It provides support for commands, subcommands, flags, before and after hooks, documentation, deprecation, command-line completion and other functionality.


matcher allows files to be matched based on their name or path. Supports composing and combining matchers and provides data structures that can be used as configuration to specify include and exclude rules.


objmatcher provides the ability to match objects based on criteria and returns a descriptive error when an object does not match its expectation. When used in combination with maps, makes it easy to perform complex matching on maps in a declarative manner (for example, requiring that some map entries match an expectation exactly while others should match a particular regular expression).


pkgpath provides functions for getting Go package paths. Provides functions for getting the paths to all of the packages rooted in a directory and for converting between different representations of package paths including relative, GOPATH-relative and absolute. Depends on matcher.


specdir provides the ability to define specifications for directory layouts, verify that existing directories match the specification and create new directory structures based on a specification.


This project is made available under the BSD 3-Clause License.

You can’t perform that action at this time.