/ CONTRIBUTING.md
CONTRIBUTING.md
1 # Contributing to Project 2 3 Thank you for contributing to the project. Your contributions will help us take the project to the next level. 4 5 This project adheres to the Contributor Covenant code of conduct. Your contribution implies that you have read and agree to this policy. Any behavior that undermines the quality of the project community, including this policy, will be warned or restricted by the maintainers. 6 7 ## Issues 8 9 Issues can be created on the following page: https://github.com/AI-QL/tuui/issues 10 11 Alternatively, you can email the package maintainer. However, we prefer to track progress via GitHub Issues. 12 13 When creating an issue, keep the following in mind: 14 15 - Please specify the correct category selection based on the format of the issue (e.g., bug report, feature request). 16 - Check to see if there are duplicate issues. 17 - Describe in detail what is happening and what needs to be fixed. You may need additional materials such as images or video. 18 - Use appropriate keyword titles to make it easy for others to search and understand. 19 - Please use English in all content. 20 - You may need to describe the environment in which the issue occurs. 21 22 ## How to contribute (Pull Requests) 23 24 ### Write the code you want to change 25 26 Here's the process for contributing to the project: 27 28 1. Clone the project (or rebase to the latest commit in the main branch) 29 2. Install the package (if the package manager exists) 30 3. Setting up lint or code formatter in the IDE (if your project includes a linter) and installing the relevant plugins. Some projects may use specific commands to check rules and perform formatting after module installation and before committing. 31 4. Write the code that needs to be fixed 32 5. Update the documentation (if it exists) or create a new one. If your project supports multilingual documentation, update the documentation for all languages. You can fill in the content in your own language and not translate it. 33 6. Add or modify tests as needed (if test code exists). You should also verify that existing tests pass. 34 35 ### Write a commit message 36 37 While we don't have strict restrictions on commit messages, we recommend that you follow the recommendations below whenever possible: 38 39 - Write in English. 40 - Use the ` symbol to name functions, variables, or folders and files. 41 - Use a format like `xxx: message (fixes #1)`. The content in parentheses is optional. 42 - The message includes a summary of what was modified. 43 - It's a good idea to separate multiple modifications into their own commit messages. 44 45 It is recommended that you include a tag at the beginning of the commit message. Between the tag and the message, use `: ` between the tag and the message. 46 47 tags conform to the ["Udacity Git Commit Message Style Guide"](https://udacity.github.io/git-styleguide). However, you are welcome to use tags not listed here for additional situations. 48 49 - `feat`: A new feature 50 - `fix`: A bug fix 51 - `docs`: Changes to documentation 52 - `style`: Formatting, missing semicolons, etc.; no code change 53 - `refactor`: Refactoring production code 54 - `test`: Adding tests, refactoring test; no production code change 55 - `chore`: Updating build tasks, package manager configs, etc.; no production code change 56 57 Informal tags: 58 59 - `package`: Modifications to package settings, modules, or GitHub projects 60 - `typo`: Fix typos 61 62 ### Create a pull request 63 64 When creating a pull request, keep the following in mind: 65 66 - Include a specific description of what the modification is, why it needs to be made, and how it works. 67 - Check to see if there are duplicate pull requests. 68 - Please use English in all content. 69 70 Typically, a project maintainer will review and test your code before merging it into the project. This process can take some time, and they may ask you for further edits or clarifications in the comments. 71 72 ## Development Guide 73 74 ### Prerequisites 75 76 The following software is required to work on the spec: 77 78 - Node.js 20 or above 79 - TypeScript 80 81 ## Getting Started 82 83 1. Fork the repository 84 2. Clone your fork: 85 86 ```bash 87 git clone https://github.com/YOUR-USERNAME/tuui.git 88 cd tuui 89 ``` 90 91 3. Install dependencies: 92 93 ```bash 94 npm install # install dependencies 95 ``` 96 97 ## Making Changes 98 99 1. Create a new branch: 100 101 ```bash 102 git checkout -b feature/your-feature-name 103 ``` 104 105 2. Make your changes 106 3. Lint your changes: 107 108 ```bash 109 npm run lint:fix # perform lint validation/fixing 110 ``` 111 112 4. Format your changes: 113 114 ```bash 115 npm run build:pre # apply code formatting 116 ``` 117 118 5. Run build locally (optional): 119 120 ```bash 121 npm run build:YOUR-OS 122 ``` 123 124 > For example: `npm run build:win` 125 126 The built packages can be found and validated in the `release` directory at your project root (the same location as `package.json`).