# Contributing All contributors are welcome to this project in the form of feedback, bug reports and even better - pull requests. This can only benefit the [4D developer community](https://discuss.4d.com). ## Issues >[Issues](https://docs.github.com/en/github-ae@latest/issues/tracking-your-work-with-issues/about-issues) are used to track **bugs** and **feature requests**. 📌 Before reporting a bug or requesting a feature, run a few searches to see if a similar issue has already been opened and ensure you’re not submitting a duplicate. ### Bugs * Describe steps to reproduce * Full error message if any * Your code if relevant Of course you could propose a fix using pull request ### Feature request * Limit the request to **one** feature * Give at least **one** user story * Give at least **one** user benefit [CREATE AN ISSUE](https://github.com/vdelachaux/UI-with-Classes/issues/new/choose) ## Pull Request Guidelines >[Pull requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) let you tell others about changes you've pushed to a branch in a repository on GitHub. * Open a single pull request for each subject. * Prefer to develop in a topic [branch](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches), not master (feature/name) * Update documentation where applicable. * If any bug related, add `#` in commit message or pull request * Test your code * The project is organized into folders on the Explorer home page. Please respect this. * The project must be compilable with the "All variable are typed" setting and please don't generate typing! ### Method properties * Methods must be private ie. set invisible by default, if not documented and not to be acceded from outside. * Method must be set preemptive if possible. ### Naming rules * Try to be compliant with the existing namimg. * Create a folder by category * When it is necessary, create a `Compiler_categoryName` inside each folders for compilation declarations * Note that all the generic classe names are camelCase ### Only touch relevant files * Make sure your PR stays focused on a single feature or category. * Don't change project configs or any files unrelated to the subject you're working. * Don't reformat code you don't modify. ## Formatting code * To format code use If you can [4DPop Beautifier macro](https://github.com/vdelachaux/4DPop-Macros).