====== Contributing to ITFlow ====== If you are able to make a contribution that would make ITFlow better for everyone, please do! You can contribute to ITFlow in a few ways: * Contribute code * Update documentation by selecting the pencil icon on the right-side of a page * Report bugs * Suggest feature enhancements * Star the project on GitHub * Tell others of your success using ITFlow (please don't spam) ===== Policies & Guidelines ===== Before contributing to ITFlow you should be aware of these documents: * [[https://github.com/itflow-org/itflow/blob/master/LICENSE|GNU GPL License]] * [[https://github.com/itflow-org/itflow/blob/master/CODE_OF_CONDUCT.md|Code of conduct]] * [[https://github.com/itflow-org/itflow/security|Security policy]] * [[code_standards|Code Standards]] * [[doc_standards|Documentation standards]] * [[ai_llm_policy|Use of AI / LLM]] ===== Contribute Code ===== To contribute code to ITFlow, you will need to fork the repository and create a pull request. Before doing so, please ensure to discuss the issue/idea with other contributors on the Forum first - this saves everyone time and ensures your contribution is aligned with our goals. The code for ITFlow is split into two branches: - **master** - The main codebase for all installs, updated ~monthly (demo: demo.itflow.org) - **develop** - The active development branch, all PRs should be merged here (demo: develop.dev.itflow.org) ==== Steps to raise a pull request (PR) ==== - Fork the Project on GitHub - Clone the develop branch: (''git clone //-//-branch develop https://github.com/itflow-org/itflow.git'') and follow the setup guide - Set your ''$repo_branch'' in ''config.php'' to 'develop' - Create your branch (''git checkout -b my-branch'') - Commit your Changes (''git add something.txt && git commit -m 'Add some''') - Push to your branch (''git push origin my-branch'') - Open a Pull Request, ensuring to adjust the base from master to develop - {{:pr_-_select-mh.png?direct&550|}} =====Maintainer Steps for monthly releases===== Around once a month, we will merge develop into master for a new release. The steps are: - Ensure testing has been completed as much as possible - Update the changelog - In develop, increment version.php in the YY.M.V format (e.g. 25.1 for the first release in Jan 2025, 25.1.1 for the second release of Jan 2025, and 25.6 for the first release in June 2025) - Look over the recent changes and write a short release summary - Raise a PR to merge develop into master - Test a final time on PR Review & ensure no other issues (Sonar, Linting, etc) - Approve the PR & Merge