Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
executable file 98 lines (59 sloc) 3.62 KB

CodeUtils Usage Spec

The below specification is written to be optionally applied or linked by projects that utilize CodeUtils.

If you have been redirected to this page by a project, please read the specification below on how to set up CodeUtils and use it to contribute to the project.


Version: 1.0


  • Project: Project is the software referencing this specification.
  • Bootstrap: Bootstrap is the utility provided by CodeUtils for creation of a new project or the obtaining of a Project's dependencies.
  • Compiler: Compiler is a utility provided by Codeutils that compiles or does other manipulation to source, potentially to generate binaries.


This Project uses Strobl Industries' open source CodeUtils to assist with the creation of projects, organize and obtain dependencies, and compile software from the Project. CodeUtils is freely distributed under the Apache 2.0 License and can be found here.

Getting CodeUtils

To contribute to the Project, you will need to set up CodeUtils on your local system. CodeUtils is currently only supported on Linux-based operating systems. You can download tarballs from the CodeUtils Releases page or Build from source.

Using CodeUtils

This Project may utilize one or several content types supported by CodeUtils, such as Go, HTML, LESS, or TypeScript. The usage of the content types by this Project may require the installation of third-party software via your System's package manager or via NodeJS's NPM.

System Setup

We recommend configuring your local shell configuration, such as .bashrc or .zshrc to contain aliases linking to the location of these utilities, or adding them to your PATH environment variable.


alias bootstrap='/path/to/bootstrap'
alias compiler='/path/to/compiler'


export PATH=$PATH:/path/to/bootstrap:/path/to/compiler
Creating a new Project

The instructions in this section do not apply to the Project, however may be found to be useful separately and to ensure consistency when providing usage information, is provided in the Specification.

You can create a new project by using the bootstrap binary and including the project name. Example:

bootstrap --project=project-name

This will create the necessary configuration and filesystem structure in the current working directory, so it may be necessary to create the project folder and cd into it before using the bootstrap tool.

Note: This will not automatically install the dependencies needed for this project. Please read the Installing project dependencies section.

Installing project dependencies

You can install the dependencies of the Project by using the bootstrap utility and sudo. Example:

sudo bootstrap --install-dependencies
Listing project dependencies

You can list the dependencies needed by the Project by using the bootstrap utility. Example:

bootstrap --get-dependencies

You can also get the dependencies of a specific content type by using the boot utility. Example:

bootstrap --get-type-dependencies=typescript

You can compile all the content types of the Project, or a specific content type, using the compiler utility.



Specific content type(s):

You can specify single or multiple different content types to compile:

compiler --compile=go,typescript