From 66e89d8d28c852e39a317d4a9c06e13939f5d182 Mon Sep 17 00:00:00 2001 From: esefxdz Date: Tue, 28 Jul 2026 21:35:44 +0300 Subject: [PATCH] contributing guide added --- CONTRIBUTING.md | 83 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..8f07eb5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,83 @@ +# Contributing to ReVoltVPN + +We would love for you to contribute to ReVoltVPN and help make it even better than it is today! +As a contributor, here are the guidelines we would like you to follow: + +## Commit Message Format + +*This specification is inspired by the Angular commit message format.* + +#### Commit Message Header + +``` +(): + │ │ │ + │ │ └─⫸ Summary in present tense. Not capitalized. No period at the end. + │ │ + │ └─⫸ Commit Scope: app|server|xray|nginx|docs|config + │ + └─⫸ Commit Type: build|ci|docs|feat|fix|perf|refactor|test +``` + +The `` and `` fields are mandatory, the `()` field is optional. + +##### Type + +Must be one of the following: + +* **build**: Changes that affect the build system or external dependencies (example: Flutter, pub, Gradle) +* **ci**: Changes to CI configuration files and scripts +* **docs**: Documentation only changes (README, AGENTS.md, comments) +* **feat**: A new feature +* **fix**: A bug fix +* **perf**: A code change that improves performance +* **refactor**: A code change that neither fixes a bug nor adds a feature +* **test**: Adding missing tests or correcting existing tests +* **style**: Changes that do not affect the meaning of the code (formatting, whitespace) + +##### Scope + +The scope should be the part of the project affected: + +* `app` — Flutter client (screens, components, logic) +* `server` — Python Hivemind backend +* `xray` — Xray Reality config or tunnel behavior +* `nginx` — nginx routing, SSL, auth +* `docs` — documentation files +* `config` — app_config, .gitignore, pubspec + +##### Summary + +Use the summary field to provide a succinct description of the change: + +* use the imperative, present tense: "change" not "changed" nor "changes" +* don't capitalize the first letter +* no dot (.) at the end + + +#### Commit Message Body + +Just as in the summary, use the imperative, present tense: "fix" not "fixed" nor "fixes". + +Explain the motivation for the change in the commit message body. This commit message should explain _why_ you are making the change. +You can include a comparison of the previous behavior with the new behavior in order to illustrate the impact of the change. + +#### Examples + +``` +feat(server): add swarm monitoring endpoint + +GET /api/swarm returns sorted drone list for the TUI dashboard. +Persistent total GB saved to swarm_total.json, survives restarts. +``` + +``` +fix(app): remove dead _isThrottled field from session timer + +Field was written but never read — throttle handled by port-swap now. +Also removed unreachable 404 branch in _syncWithHivemind. +``` + +``` +docs: update README with correct quota and Reality protocol details +```