- Sponsor
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Loading status checks…
Add contributing guidelines and style guide.
1 parent
1ea5ec1
commit a7de7dc
Showing
3 changed files
with
150 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
<code_scheme name="TNE Style" version="173"> | ||
<option name="RIGHT_MARGIN" value="100" /> | ||
<JavaCodeStyleSettings> | ||
<option name="GENERATE_FINAL_LOCALS" value="true" /> | ||
<option name="GENERATE_FINAL_PARAMETERS" value="true" /> | ||
<option name="SPACE_AFTER_CLOSING_ANGLE_BRACKET_IN_TYPE_ARGUMENT" value="true" /> | ||
<option name="ALIGN_MULTILINE_ANNOTATION_PARAMETERS" value="true" /> | ||
<option name="ALIGN_MULTILINE_TEXT_BLOCKS" value="true" /> | ||
<option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" /> | ||
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" /> | ||
<option name="JD_ADD_BLANK_AFTER_PARM_COMMENTS" value="true" /> | ||
<option name="JD_ADD_BLANK_AFTER_RETURN" value="true" /> | ||
<option name="JD_P_AT_EMPTY_LINES" value="false" /> | ||
<option name="JD_KEEP_INVALID_TAGS" value="false" /> | ||
<option name="JD_KEEP_EMPTY_PARAMETER" value="false" /> | ||
<option name="JD_KEEP_EMPTY_EXCEPTION" value="false" /> | ||
<option name="JD_KEEP_EMPTY_RETURN" value="false" /> | ||
</JavaCodeStyleSettings> | ||
<codeStyleSettings language="JAVA"> | ||
<option name="RIGHT_MARGIN" value="100" /> | ||
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="1" /> | ||
<option name="BLANK_LINES_BEFORE_METHOD_BODY" value="1" /> | ||
<option name="BLANK_LINES_AFTER_CLASS_HEADER" value="1" /> | ||
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" /> | ||
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" /> | ||
<option name="ALIGN_MULTILINE_ASSIGNMENT" value="true" /> | ||
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" /> | ||
<option name="ALIGN_MULTILINE_METHOD_BRACKETS" value="true" /> | ||
<option name="ALIGN_MULTILINE_ARRAY_INITIALIZER_EXPRESSION" value="true" /> | ||
<option name="SPACE_AROUND_LAMBDA_ARROW" value="false" /> | ||
<option name="SPACE_WITHIN_BRACES" value="true" /> | ||
<option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACES" value="true" /> | ||
<option name="SPACE_AFTER_TYPE_CAST" value="false" /> | ||
<option name="SPACE_BEFORE_IF_PARENTHESES" value="false" /> | ||
<option name="SPACE_BEFORE_WHILE_PARENTHESES" value="false" /> | ||
<option name="SPACE_BEFORE_FOR_PARENTHESES" value="false" /> | ||
<option name="SPACE_BEFORE_TRY_PARENTHESES" value="false" /> | ||
<option name="SPACE_BEFORE_CATCH_PARENTHESES" value="false" /> | ||
<option name="SPACE_BEFORE_SWITCH_PARENTHESES" value="false" /> | ||
<option name="SPACE_BEFORE_SYNCHRONIZED_PARENTHESES" value="false" /> | ||
<option name="SPACE_BEFORE_QUEST" value="false" /> | ||
<option name="KEEP_SIMPLE_BLOCKS_IN_ONE_LINE" value="true" /> | ||
<option name="KEEP_SIMPLE_METHODS_IN_ONE_LINE" value="true" /> | ||
<option name="KEEP_SIMPLE_LAMBDAS_IN_ONE_LINE" value="true" /> | ||
<option name="KEEP_SIMPLE_CLASSES_IN_ONE_LINE" value="true" /> | ||
<option name="WRAP_COMMENTS" value="true" /> | ||
<option name="IF_BRACE_FORCE" value="1" /> | ||
<option name="DOWHILE_BRACE_FORCE" value="1" /> | ||
<option name="WHILE_BRACE_FORCE" value="1" /> | ||
<option name="FOR_BRACE_FORCE" value="1" /> | ||
<option name="WRAP_ON_TYPING" value="0" /> | ||
<indentOptions> | ||
<option name="INDENT_SIZE" value="2" /> | ||
</indentOptions> | ||
</codeStyleSettings> | ||
</code_scheme> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
# Contributing to TheNewEconomy | ||
|
||
We welcome contributions to TheNewEconomy plugin and appreciate your efforts to improve the project! Before getting started, please take a moment to review these guidelines to help streamline the process and ensure consistency across contributions. | ||
|
||
### Style Guidelines | ||
|
||
To maintain a consistent codebase, please adhere to the following style guidelines: | ||
|
||
#### 1. Import the Code Style | ||
Use the code style defined in the [TNE_Style.xml](TNE_Style.xml) file. You can import this file into your IntelliJ environment by following these steps: | ||
|
||
1. Navigate to `File` -> `Settings` -> `Editor` -> `Code Style`. | ||
2. Click on the gear icon and select `Import Scheme`. | ||
3. Choose `IntelliJ IDEA code style XML` and select the `TNE_Style.xml` file located in the `.contributing/` folder. | ||
|
||
This will ensure that your code adheres to the project's formatting rules. | ||
|
||
#### 2. Final Obsession IntelliJ Plugin | ||
|
||
We recommend using the **Final Obsession** plugin to ensure that all applicable variables, fields, and method parameters are declared `final` where appropriate. This helps maintain immutability, enhancing code safety and readability. | ||
|
||
##### Installation: | ||
|
||
1. In IntelliJ, go to `File` -> `Settings` -> `Plugins`. | ||
2. Search for the plugin [Final Obsession](https://plugins.jetbrains.com/plugin/21687-final-obsession). | ||
3. Click `Install`. | ||
4. Restart IntelliJ to activate the plugin. | ||
|
||
## Contributor License Agreement (CLA) | ||
|
||
Before submitting your first pull request, you must sign our Contributor License Agreement (CLA). This is required to ensure that we can freely use your contributions while maintaining the integrity of the project's licensing. | ||
|
||
## Licensing for Contributions | ||
|
||
All new contributions to this project will be licensed under the [AGPLv3](https://www.gnu.org/licenses/agpl-3.0.html) license. By contributing, you agree that your contributions will also be licensed under this license. | ||
|
||
## Best Practices for Branch Names | ||
|
||
To help organize the development process, we follow specific conventions for branch names based on their purpose: | ||
|
||
### Feature Branches | ||
Feature branches are used for developing new features. Use the prefix `feature/` or `feat/`. | ||
|
||
- **Example**: `feature/login-system` or `feat/payment-processing`. | ||
|
||
### Bugfix Branches | ||
Bugfix branches are used to fix bugs in the code. Use the prefix `bugfix/` or `fix/`. | ||
|
||
- **Example**: `bugfix/header-styling` or `fix/form-validation`. | ||
|
||
### Hotfix Branches | ||
Hotfix branches are created directly from the production branch to fix critical bugs in the production environment. Use the prefix `hotfix/` or `hfix/`. | ||
|
||
- **Example**: `hotfix/critical-security-issue` or `hfix/performance-patch`. | ||
|
||
### Release Branches | ||
Release branches are used to prepare for a new production release. They allow for last-minute adjustments and polishing. Use the prefix `release/`. | ||
|
||
- **Example**: `release/v1.0.1`. | ||
|
||
## How to Contribute | ||
|
||
1. **Fork** the repository to your own GitHub account. | ||
2. **Clone** the forked repository to your local machine. | ||
3. **Create a new branch** for your changes using the branch naming guidelines above. | ||
4. **Commit** your changes with clear and descriptive commit messages. | ||
5. **Push** your changes to your fork. | ||
6. **Create a pull request** (PR) with a detailed explanation of your changes and any relevant issues. | ||
|
||
Please ensure that your pull request is up to date with the latest version of the `main` branch before submission. | ||
|
||
## Code Review and Merging | ||
|
||
After submitting your pull request, one of the maintainers will review your changes. You may be asked to make adjustments or provide further clarification. Once approved, your changes will be merged into the main repository. | ||
|
||
Thank you for your contribution! | ||
|
||
## Resources | ||
- [License](https://www.gnu.org/licenses/agpl-3.0.html) | ||
- [Style File](TNE_Style.xml) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters