Commit a826635e authored by Éloïs's avatar Éloïs
Browse files

[docs] add CONTRIBUTING a update README

parent 4c50b984
# Contributing
Before contributing, please make sure that your development environment is properly configured by following this tutorial :
[Setting up your development environment]
Sign-ups on our gitlab are disabled. If you would like to contribute, please ask for its creation on [the technical forum].
When contributing to this repository, please first discuss the change you wish to make via issue and
via [the technical forum] before making a change.
Please note we have a specific workflow, please follow it in all your interactions with the project.
## Workflow
- You must create an issue for each feature you wish to develop, with a precise title and a
description of your feature. Then, assign it to yourself and click on the button
**`Create a merge request`**. GitLab will create a branch dedicated to the issue as well as a
*Work in Progress* merge request of this branch into the main branch (`dev`).
- Please use tags to specify feature domains and concerned modules.
- Never contribute to a branch whose issue has not been assigned to you! If the contributor make a
`git rebase` your commit will be lost !
- Before you push your commit:
- Document your code.
- Write unit tests, and verify that they **all** pass.
- Apply the [project's git conventions]
## Merge Process
1. Ensure you rebased your branch on the latest `dev` commit to avoid any merge conflicts.
2. Ensure that you respect the [commit naming conventions].
3. Ensure that all automated tests pass with the `yarn test` command.
4. Update the documentation with details of changes to the interface, this includes new environment
variables, exposed ports, useful file locations and container parameters.
5. Push your branch on the gitlab and create a merge request. Briefly explain the purpose of your contribution in the description of the merge request.
6. Tag a Duniter reviewer so he will review your contribution. If you still have no news after several weeks, tag another reviewer or/and talk about your contribution on [the technical forum].
## List of Duniter's reviewers
- @librelois
- @Moul
- @c-geek
[Setting up your development environment]: ./doc/dev/setup_env_dev.md
[the technical forum]: https://forum.duniter.org
[project's git conventions]: ./doc/dev/git-conventions.md
[commit naming conventions]: ./doc/dev/git-conventions.md#naming-commits
![Duniter logo](https://git.duniter.org/nodes/typescript/duniter/raw/dev/images/250%C3%97250.png)
# Duniter [![Build Status](https://api.travis-ci.org/duniter/duniter.png)](https://travis-ci.org/duniter/duniter) [![Coverage Status](https://coveralls.io/repos/github/duniter/duniter/badge.svg?branch=master)](https://coveralls.io/github/duniter/duniter?branch=master) [![Dependencies](https://david-dm.org/duniter/duniter.svg)](https://david-dm.org/duniter/duniter)
# Duniter [![build status](https://git.duniter.org/nodes/typescript/duniter/badges/dev/pipeline.svg)](https://git.duniter.org/nodes/typescript/duniter/commits/dev) [![Coverage Status](https://coveralls.io/repos/github/duniter/duniter/badge.svg?branch=master)](https://coveralls.io/github/duniter/duniter?branch=master) [![Dependencies](https://david-dm.org/duniter/duniter.svg)](https://david-dm.org/duniter/duniter)
Duniter (previously uCoin) is a libre software allowing to create a new kind of P2P crypto-currencies based on individuals and Universal Dividend.
......@@ -39,9 +39,8 @@ See [Install a node documentation](https://duniter.org/en/wiki/duniter/install/)
### Contribute
- [Quick-start-guide : start a duniter node with web-ui from source](https://git.duniter.org/nodes/typescript/duniter/blob/dev/doc/quick-start.md)
- [Guide (fr)](https://git.duniter.org/nodes/typescript/duniter/blob/dev/doc/contribute-french.md)
- [Developer guide](https://git.duniter.org/nodes/typescript/duniter/blob/dev/doc/developer-guide.md)
- See [CONTRIBUTING](./CONTRIBUTING.md).
- [Guide (fr)](./doc/dev/contribute-french.md)
### Documentation
......@@ -60,18 +59,23 @@ If you wish to participate/debate on Duniter, you can:
### Developement
Duniter is using modules on different git repositories:
Duniter is currently migrating from [Typescript] to [Rust].
This migration is being done gradually via a [NodeJs]<->[Rust] binding provided by [Neon].
The fact of migrating from code to [Rust] is commonly called "oxidation", so we speak of "Duniter's oxidation".
- [Duniteroxyde](https://git.duniter.org/nodes/typescript/duniteroxyde): Neon binding for rust DUBP libs.
- [Debug](https://github.com/duniter/duniter-debug): debug tool.
The long-term goal is to oxidize Duniter entirely, but it is a long process that will take several years.
Duniter is divided into several git repositories:
- [Duniter](https://git.duniter.org/nodes/typescript/duniter): this repository.
- [Dubp-rs-libs](https://git.duniter.org/libs/dubp-rs-libs): Set of Rust libraries common to Duniter and a possible future Rust client/wallet.
- [Web admin](https://git.duniter.org/nodes/typescript/modules/duniter-ui): web administration interface (optional).
- [GVA](https://git.duniter.org/nodes/typescript/modules/gva-api): Future client API aimed to replace BMA. GVA stands for GraphQL Validation API.
Optional modules:
Optional repositories:
- [Currency monit](https://git.duniter.org/nodes/typescript/modules/duniter-currency-monit): charts to monitor currency and web of trust state.
- [Remuniter](https://github.com/duniter/remuniter): service to remunerate blocks issuers.
- [Wot explorer](https://github.com/c-geek/wotex): Web of Trust explorer.
# References
......@@ -88,3 +92,8 @@ Optional modules:
# License
This software is distributed under [GNU AGPLv3](https://git.duniter.org/nodes/typescript/duniter/blob/dev/LICENSE).
[Neon]: https://neon-bindings.com/
[NodeJs]: https://nodejs.org/en/
[Rust]: https://www.rust-lang.org/
[Typescript]: https://www.typescriptlang.org/
# Contribuer au code de Duniter
Le tutoriel le plus récent est ici : [https://duniter.org/fr/contribuer/blockchain-nodejs/tutoriel-dev/](https://duniter.org/fr/contribuer/blockchain-nodejs/tutoriel-dev/)
Son contenu est en grande partie encore valable, même si certaines parties ne sont plus tout à fait exactes, notamment avec la migration en cours vers du Rust.
Un nouveau tutoriel sera rédigé dans les mois a venir, en attendant nous vous recommandons la lecture du tutoriel cité ci-dessus.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment