GitRoot

craft your forge, build your project, grow your community freely

Contribution guidelines

Any issues or suggestions are welcome at https://gitroot.dev.

Code of conduct

Interaction within this project is covered by the Code of Conduct.

Scope and design goals of GitRoot

GitRoot has a finite scope. The goal is to manage repositories and users. All the rest should go into plugins. Contributions which contradict the goal are unlikely to be accepted.

GitRoot is responsible of the security and so who can write where. If your contribution is not related to that, you should write a plugin.

If your plugin can not be written, open an issue to discuss if GitRoot can handle the work or not.

Plugins hosted on GitRoot itself should serve the mass and be open-source. Contribution to create a new plugin can be refused at any time, for any reason (we don’t have the man power required to maintain all plugins).

Creating issue/feature request/other

To discuss about anything you should create an “issue”. To do that, clone and make a file:

After that a maintenair will review and merge your branch in the default branch.

This instructions follow the classic usage of any GitRoot instance.

Adding code

To add a portion of code (called pull-request, merge-request or request-merge) in GitRoot, you need to make a uniquely named branche and push it. After that, pull changes made by the grafter plugin. Yes we call that a graft.

You need to link an issue to any graft by moving the issues/issue.md to another directory (close today but can change). Review the instruction in the graft itself.

Graft file can be found in grafts/nameBranch.md (after you had push and pull).

Grafts need not be perfect. Not all the tests need to pass. A graft with 80% of the work done is a lot better than no graft at all. We can work together on making the graft merge-ready, or the maintainers can finalise the graft for you.

Making a graft generally necessitates the following steps:

Set up local development

Follow instrcutions in the README.md

Make changes

This is the tricky bit for which no development guide exists. You make changes somewhere in the code. If you can, do the following things:

Commit and push to submit a graft

GitRoot is designed to help you on this stage. Commit and push you branch. Then pull changes on your branche and follow instruction in the newly crated grafts/nameBranch.md file.