Introduction¶
The aim of this project is to automate the configuration of repositories throughout the Nengo ecosystem. The idea is that we can centralize the design and maintenance of “meta” project code (such as CI testing infrastructure) in this project, rather than each repository maintaining that code independently.
The basic methodology for this project is a templating system in which
there are common templates for meta files that are populated with
data in each downstream project. Projects control this templating through the
.nengobones.yml
configuration file, which defines the information used to
fill in the templates.
Wherever possible, we try to do this templating in such a way that downstream
projects will be automatically updated when an update is made in
nengo-bones
. However, some files cannot be updated automatically and
require downstream repos to manually run a script to update those files.
Note that this repository itself is configured using the nengo-bones
templating system, so if you would like an example of how to use it, check out
the source code.
Installation¶
We recommend installing nengo-bones
using pip
:
pip install nengo-bones
Or for the latest updates you can perform a developer installation:
git clone https://github.com/nengo/nengo-bones.git
pip install -e ./nengo-bones
Basic usage¶
The first step is to fill in the .nengobones.yml
configuration file. You
can use the one in this repository as a starting point, or see
the documentation
for more details. This file should be
placed in the top level of your project.
All of the manually generated template files can then be rendered by running
this command in the same folder as the .nengobones.yml
file:
bones-generate
See bones-generate --help
or
the documentation
for a full list of command line options.