This is an automated email from the ASF dual-hosted git repository.

tiagobento pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-tools.git


The following commit(s) were added to refs/heads/main by this push:
     new 24ecb003bd7 kie-issues#155: Add CONTRIBUTING.md guide and PR template 
(#3630)
24ecb003bd7 is described below

commit 24ecb003bd7c3a57cafdb11ee516f2223c33789a
Author: Thiago Lugli <[email protected]>
AuthorDate: Thu Jun 25 00:17:05 2026 -0300

    kie-issues#155: Add CONTRIBUTING.md guide and PR template (#3630)
---
 CONTRIBUTING.md | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 180 insertions(+)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000000..5c9be6423b7
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,180 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+     http://www.apache.org/licenses/LICENSE-2.0
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+-->
+
+# Contributing to Apache KIE Tools
+
+Thank you for your interest in contributing to Apache KIE Tools! This guide 
outlines expectations for contributors opening pull requests to this monorepo.
+
+## Quick Start
+
+For detailed setup, build, and testing instructions, see:
+
+- **[README.md](README.md)** - Build from source, bootstrap, and 
application-specific development
+- **[repo/NIX_DEV_ENV.md](repo/NIX_DEV_ENV.md)** - Nix-based development 
environment (recommended)
+- **[repo/MANUAL.md](repo/MANUAL.md)** - Monorepo structure, package 
conventions, and advanced topics
+
+### Prerequisites
+
+This is a **pnpm monorepo** requiring Node.js, pnpm, and additional tools 
depending on your contribution scope (Maven, Java, Go, Helm). See 
[README.md](README.md#step-0-install-the-necessary-tools) for the complete list 
and installation links.
+
+**Recommended:** Use the provided [Nix Devbox 
configuration](repo/NIX_DEV_ENV.md) to automatically set up all required tools.
+
+### Basic Workflow
+
+1. **Fork and clone** the repository
+2. **Set up your development environment** with `devbox shell`
+3. **Bootstrap**: `pnpm bootstrap` (or `pnpm bootstrap -F <package>...` for 
specific packages)
+4. **Build for development**: `pnpm -r build:dev` (or `pnpm -F <package>... 
build:dev`)
+5. **Make your changes** following the guidelines below
+6. **Build for production**: `pnpm -F <package>... build:prod` before 
submitting
+7. **Submit a pull request** linked to a GitHub issue
+
+For package-specific workflows and monorepo conventions, see 
[README.md](README.md#build-from-source) and [repo/MANUAL.md](repo/MANUAL.md).
+
+---
+
+## Pull Request Guidelines
+
+### Before Submitting
+
+**Checklist:**
+
+- [ ] Link your PR to an existing GitHub issue
+- [ ] Run `pnpm bootstrap` to ensure code formatting and that the pnpm 
lockfile is updated
+- [ ] Run `KIE_TOOLS_BUILD__buildContainerImages=true 
KIE_TOOLS_BUILD__runEndToEndTests=true pnpm -F <affected_package_1>... -F 
<affected_package_2>... build:prod` to verify your changes
+- [ ] Ensure all tests pass (unit and E2E where applicable)
+- [ ] Add Apache License 2.0 headers to new source files
+- [ ] Update package README or documentation if behavior changes
+
+### PR Scope and Expectations
+
+- **Keep PRs focused and atomic** - one concern or feature per PR
+- **Respect package boundaries** - understand dependencies before making 
changes
+- **Include relevant tests** - add or update tests for new features and bug 
fixes
+- **Document breaking changes** - clearly describe any breaking changes in the 
PR description
+
+### Pull Request Titles
+
+Use a consistent title format to help maintainers and contributors quickly 
understand the scope and purpose of your PR:
+
+**Pattern:** `<issue-reference>: [<component>] <descriptive action>`
+
+- **Issue reference:**
+  - `kie-issues#xxxx:` for changes linked to a GitHub issue
+  - `NO-ISSUE:` for maintenance, infrastructure, or minor changes without an 
associated issue
+  - Security fixes should be discrete. Include the names of the dependencies 
that are being updated, but don't link or mention CVEs. Follow the the [Apache 
Security guidelines](https://www.apache.org/security/committers.html)
+- **Component scope (optional):** Add a component identifier after the issue 
reference (e.g., `[BPMN Editor]`, `[DMN Editor]`, `[Extended Services]`)
+- **Descriptive action:** Use imperative/descriptive wording, be specific 
about the affected area or outcome, keep it concise, and avoid trailing 
punctuation.
+
+**Examples:**
+
+- `kie-issues#1234: [BPMN Editor] Fix node alignment in process diagrams`
+- `kie-issues#5678: Add support for DMN 1.4 specification`
+- `NO-ISSUE: Update CI workflow to use Node.js 25`
+
+---
+
+## Code Quality Standards
+
+### Formatting and Linting
+
+In practice, you don’t need to worry about this, as a pre-commit hook will 
format the changed files when you do `git commit`.
+
+### License Headers
+
+All new source files **must** include Apache License 2.0 headers. CI validates 
this using Apache RAT. See existing files for the correct header format.
+
+### Testing
+
+- Run as part of `build:prod`
+- Located in `tests-e2e/` and `test/` directories inside of each package
+
+For E2E test setup, environment variables, and containerized testing, see:
+
+- [README.md](README.md#build-from-source) - E2E environment variables
+- [packages/playwright-base/README.md](packages/playwright-base/README.md) - 
Playwright configuration and containerized testing
+- Individual package READMEs for package-specific test instructions
+
+---
+
+## CI Validation
+
+CI is the authoritative validation for all PRs. It checks:
+
+- Code formatting
+- License headers
+- Linting
+- Unit tests
+- E2E tests
+- Cross-platform builds (when applicable)
+- Hanging uncommitted files
+
+**If CI fails:** Reproduce the failure locally using the documented scripts 
before pushing fixes. The build is parameterized by environment variables - see 
the `pnpm bootstrap` output for the complete list.
+
+---
+
+## Documentation and Changelog
+
+- **Update package READMEs** when adding features or changing behavior
+- **Include usage examples** for new APIs
+- **Document breaking changes** clearly in both PR description and relevant 
documentation
+- **Consider changelog updates** for user-facing changes (breaking changes, 
new features, significant bug fixes)
+
+---
+
+## Dependency Management
+
+When updating dependencies in this monorepo:
+
+- **Follow the dependency management guide**: See 
[repo/DEPENDENCY_MANAGEMENT.md](repo/DEPENDENCY_MANAGEMENT.md) for detailed 
instructions on:
+
+  - Adding or updating dependencies
+  - Resolving `pnpm-lock.yaml` merge conflicts
+  - Handling security vulnerabilities (CVEs) in transitive dependencies
+  - Best practices for working with the monorepo structure
+
+- **Never manually edit `pnpm-lock.yaml`**: Always use pnpm commands to update 
dependencies
+- **Commit lockfile changes with package.json**: Keep dependency changes atomic
+- **Test after dependency updates**: Ensure compatibility by running relevant 
tests
+
+---
+
+## Getting Help
+
+- **Repository Manual**: [repo/MANUAL.md](repo/MANUAL.md) - comprehensive 
monorepo documentation
+- **GitHub Issues**: 
[apache/incubator-kie-issues/issues](https://github.com/apache/incubator-kie-issues/issues)
+- **Apache KIE Website**: [kie.apache.org](http://kie.apache.org)
+- **Apache KIE Zulip chat**: [kie.zulipchat.com](https://kie.zulipchat.com)
+
+---
+
+## Reporting issues
+
+1. Search existing issues first
+2. Provide clear reproduction steps
+3. Include environment details (OS, Node version, etc.)
+4. Share relevant error messages and logs
+
+---
+
+## License
+
+By contributing to Apache KIE Tools, you agree that your contributions will be 
licensed under the [Apache License 2.0](./LICENSE).
+
+---
+
+Thank you for contributing to Apache KIE Tools! 🎉


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to