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
templating system, so if you would like an example of how to use it, check out
the source code.
We recommend installing
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
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
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
bones-generate --help or
for a full list of command line options.