Currently documenting the initiative and implementation plan. Next step is working on a design doc.
The SourceCred instances system is a way to simplify the workflows around creating and updating “instances”.
Currently, SourceCred uses a data directory which can hold any number of “projects”. The caller is responsible for providing the project config, weights, initiatives and possibly the project ID depending on the command.
Instead, an “instance” would take the form of a directory that SourceCred manages. It holds only one project along with all of it’s config, weights, initiatives, data, output, etc. Which we’d know is an instance by a configuration file in the root. Very similar to how a git repo has a
.git folder in it’s root. Or how
package.json makes something a package. Or how a
config.yml is used in the root of a jekyll / hugo website.
So with that, you would no longer need to point SourceCred to information about your project per command, you simply need to call SourceCred commands from an instance directory.
$ cd path/to/your/instance $ sourcecred update
- Create a design doc describing the interface:
- Configuration outline
- Folder structure
- New CLI
- Develop new constructs side-by-side with existing ones.
- Deprecate previous approach.
- Remove previous approach.