thiagoelg commented on code in PR #3630:
URL: 
https://github.com/apache/incubator-kie-tools/pull/3630#discussion_r3436355832


##########
CONTRIBUTING.md:
##########
@@ -0,0 +1,183 @@
+<!--
+   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
+
+**Required 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
+- [ ] Verify no unintended files are modified (`git diff`)
+
+### PR Scope and Expectations
+
+- **Keep PRs focused and atomic** - one concern or feature per PR
+- **Respect package boundaries** - understand workspace 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
+- **Respond to review feedback promptly**
+
+### 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
+
+- **Prettier** handles code formatting automatically via pre-commit hook
+- **ESLint** validates TypeScript/JavaScript code during `build:prod` (or 
manually by running `pnpm lint`)
+- Run `pnpm format:check` in the root of the repository to check formatting 
manually
+- See [package.json](package.json) for available root-level scripts

Review Comment:
   Right, but I think it's good to inform contributors how to fix 
formatting/lint issues locally as they arise.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to