docs: improve CONTRIBUTING.md

This commit is contained in:
anatawa12 2024-08-27 20:36:36 +09:00
commit cff633903b
No known key found for this signature in database
GPG key ID: 9CA909848B8E4EA6
3 changed files with 76 additions and 32 deletions

View file

@ -1,35 +1,51 @@
# Contributing
This project is based on
First, thank you for considering contributing to this project.
- TypeScript
- Rust
- C# .NET
This project consists of multiple projects.
Each project may have its own contribution guidelines, so please read the `CONTRIBUTING.md` file in the project folder.
By that mean, some dependencies are required to work with.
Each of them is defined in the project folder.
- [vrc-get CLI](vrc-get/CONTRIBUTING.md) (not available yet)
- [vrc-get LiteDB](vrc-get-litedb/CONTRIBUTING.md)
- [vrc-get GUI](vrc-get-gui/CONTRIBUTING.md)
- [vrc-get VPM](vrc-get-vpm/CONTRIBUTING.md) (not available yet)
In addition, each project has its own contribution guidelines.
Please refer `CONTRIBUTING.md` file in the project folder.
## Setup development environment
## Projects
### System configuration requirements
- [vrc-get CLI](vrc-get/README.md)
- [vrc-get LiteDB](vrc-get-litedb/README.md)
- [vrc-get GUI](vrc-get-gui/README.md)
- [vrc-get VPM](vrc-get-vpm/README.md)
This project is generally based on Rust, so you need to install Rust to work with this project.
## Configuration requirements
Please refer to the [Rust installation guide](https://www.rust-lang.org/tools/install) to install Rust if you don't have it.
You can work on any OS system but this repository uses
This project is constantly updated to the latest stable version of Rust,\
so it is recommended to install with rustup and update it regularly.
- Git Submodules
- Symbolic Links
Not only Rust, some projects may require additional dependencies.
For Windows machines, you need to setup so your current user can create symbolic links. Refer to this documentation page <https://github.com/git-for-windows/git/wiki/Symbolic-Links>
For VCC-related features of vrc-get, and ALCOM, you need to install .NET SDK to work with.
To setup your project, use the following commands.
Please refer to the [.NET installation guide](https://dotnet.microsoft.com/download) to install .NET SDK if you don't have it.
For ALCOM, you need to install any LTS version of Node.js and npm for building the frontend.
Please refer to the [Node.js installation guide](https://nodejs.org/en/download/) to install Node.js if you don't have it.
### Clonging requirements
To set up your project, use the following commands.
```bash
git clone https://github.com/vrc-get/vrc-get.git
# or
git clone --recurse-submodules https://github.com/vrc-get/vrc-get.git
```
You can work on any OS system, but this repository generally uses Symbolic Links.
For Windows machines, you may need to set up so your current user can create symbolic links.
Please refer to git-for-windows documentation page <https://github.com/git-for-windows/git/wiki/Symbolic-Links>
In addition, when you work with `vrc-get-litedb` project,
you need to clone the repository with `--recurse-submodules` option
(or setup submodules manually with `git submodule update --init --recursive` after cloning).

View file

@ -21,7 +21,7 @@ If you want to add a new language, you will follow the following steps.
- For example, if you want to add Japanese, create `ja.json5`.
3. Edit code to import the new json5 file in `lib/i18n.ts` and add it to the `languageResources` object.
4. Create a draft pull request.
5. Update the `CHANGELOG.md` file with the new language addition with pull request number.
5. Update the `CHANGELOG-gui.md` file with the new language addition with pull request number.
6. Mark the pull request as ready for review.
7. The maintainer of the project will ask you that you can be a maintainer of the language.
@ -44,22 +44,26 @@ Maintainer have to get the node id for github discussions comment.
It's format like `DC_kwDOIza9ks4AjSve` and the random-like part is base64 encoded message pack of `[0, <repo id>, <comment id>]`. (`[0, 590790034, 9252424]`)
```bash
gh api graphql -f query='
query {
repository(owner: "vrc-get", name: "vrc-get") {
discussion(number: <number>) {
body
id
comments(first: 1) {
nodes {
body
id
}
gh api graphql -f query='query($number:Int!){repository(owner:"vrc-get",name:"vrc-get"){discussion(number:$number){body id comments(first:1){nodes{body id}}}}}' -F number=<number>
```
the query is a minified version of the following query.
```graphql
query ($number: Int!) {
repository(owner: "vrc-get", name: "vrc-get") {
discussion(number: $number) {
body
id
comments(first: 1) {
nodes {
body
id
}
}
}
}
'
}
```
Discussion template

View file

@ -0,0 +1,24 @@
# Contributing vrc-get-litedb
First, please read [CONTRIBUTING.md of the entire project](../CONTRIBUTING.md)!
## Setup development environment
### System configuration requirements
This project is based on .NET 8 NativeAOT and Rust, so you need to install .NET 8.0 SDK and Rust to work with this project.
Please refer to the [.NET installation guide](https://dotnet.microsoft.com/download) to install .NET SDK if you don't have it.
In addition, please refer to [Prerequisites for NativeAOT](https://learn.microsoft.com/ja-jp/dotnet/core/deploying/native-aot/?tabs=net8plus%2Cwindows#prerequisites) to install the required tools.
## Notes for developers
This crate is currently mono-repoed with the vrc-get project, however, other crates, vrc-get, vrc-get-vpm, and vrc-get-gui are not using this crate directly,
they're using the vrc-get-litedb crate published on crates.io.
Therefore, to test the change, you need to change version name and patch dependencies in the vrc-get project to use the local version of this crate like following.
```toml
[patch.crates-io]
vrc-get-litedb = { path = "vrc-get-litedb" }
```