Skip to content

Commit 7a7533b

Browse files
Merge pull request #45 from lornakelly/42/contribution-guide-llm
Add LLM Usage Policy
2 parents c57b6c3 + 126f5a2 commit 7a7533b

File tree

1 file changed

+44
-11
lines changed

1 file changed

+44
-11
lines changed

CONTRIBUTING.md

Lines changed: 44 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<!--
22
Copyright 2021-Present The Serverless Workflow Specification Authors
3-
3+
44
Licensed under the Apache License, Version 2.0 (the "License");
55
you may not use this file except in compliance with the License.
66
You may obtain a copy of the License at
7-
7+
88
http://www.apache.org/licenses/LICENSE-2.0
9-
9+
1010
Unless required by applicable law or agreed to in writing, software
1111
distributed under the License is distributed on an "AS IS" BASIS,
1212
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -25,6 +25,7 @@ This project is the official, vendor-neutral visual editor for the [Serverless W
2525
## Prerequisites
2626

2727
To build and run the editor locally, you will need:
28+
2829
- **Node.js** (current LTS version; see https://nodejs.org/)
2930
- **pnpm**
3031

@@ -51,32 +52,63 @@ pnpm run build:prod
5152

5253
This project uses the following core technology stack:
5354

54-
* **Language**: [TypeScript](https://www.typescriptlang.org/) (for type safety and maintainability)
55-
* **Library**: [React](https://react.dev/) (for building the user interface)
55+
- **Language**: [TypeScript](https://www.typescriptlang.org/) (for type safety and maintainability)
56+
- **Library**: [React](https://react.dev/) (for building the user interface)
5657

5758
The project aims for the editor to be **embeddable**, with the core logic decoupled from specific platform APIs (like VS Code or Chrome APIs) through an abstraction layer.
5859

5960
## Reporting an Issue
6061

6162
If you find a bug or have a question, please check the [existing issues](https://github.com/serverlessworkflow/editor/issues) first.
63+
6264
1. Open a new issue using the appropriate template.
6365
2. Provide a clear description of the problem.
6466
3. Include steps to reproduce the bug and provide a sample workflow file (`.sw.json` or `.sw.yaml`) if applicable.
6567

6668
## Suggesting a Change
6769

6870
For new features or architectural changes:
71+
6972
1. Open an **Issue** or a **GitHub Discussion** to propose your idea.
7073
2. Ensure the proposal aligns with the goals of being **vendor-neutral** and **specification-first**.
7174
3. Once the approach is agreed upon by maintainers, you may proceed with a Pull Request.
7275

7376
## Coding Standards
7477

75-
* **TypeScript**: Always use strict typing. Avoid `any`.
76-
* **Linting & Formatting**: Follow the existing code style and formatting conventions used in the files you are editing. If the package you are changing defines linting or formatting scripts, run those before submitting code.
77-
* **Testing**: Ensure that logic changes are covered by tests, and run the relevant test commands for the packages you modify (see their documentation or `package.json`).
78-
* **Component Design**: Follow functional component patterns and ensure that UI state is managed predictably within the monorepo structure.
79-
* **New package creation**: If a new package needs to be created, please follow the standards used by the existing packages, including the standard commands `build:dev`, `build:prod`, `test`, `e2e-test`, `lint`
78+
- **TypeScript**: Always use strict typing. Avoid `any`.
79+
- **Linting & Formatting**: Follow the existing code style and formatting conventions used in the files you are editing. If the package you are changing defines linting or formatting scripts, run those before submitting code.
80+
- **Testing**: Ensure that logic changes are covered by tests, and run the relevant test commands for the packages you modify (see their documentation or `package.json`).
81+
- **Component Design**: Follow functional component patterns and ensure that UI state is managed predictably within the monorepo structure.
82+
- **New package creation**: If a new package needs to be created, please follow the standards used by the existing packages, including the standard commands `build:dev`, `build:prod`, `test`, `e2e-test`, `lint`.
83+
84+
## LLM Usage Policy
85+
86+
In this project, we welcome tools that help developers become more productive — including Large Language Models (LLMs) and agents like ChatGPT, GitHub Copilot, and others. To ensure a healthy and productive community, the following expectations apply:
87+
88+
- Use LLMs to **assist your development** — drafting code, writing docs, proposing fixes — as long as you **understand, validate, and take responsibility** for the results.
89+
- Only submit contributions that reflect your **own understanding and intent**.
90+
- You may use LLMs to help you **write better**, but not to **post more**.
91+
92+
### Requirements
93+
94+
- Verify behavior, correctness, and compatibility yourself before submitting. Do not ask maintainers to do this for you.
95+
- Keep changes narrow and focused. Posting large volumes of low-effort suggestions, vague issues, or links with no context — even if technically accurate — is considered spam.
96+
- Do **NOT** submit code, tests, comments, or issues that are copied directly from an LLM with little or no human oversight. Be prepared to explain all the changes yourself.
97+
- Do **NOT** submit AI-generated tests that do not validate actual behavior or meaningfully cover functionality.
98+
- Do **NOT** use bots, agents, or automated tools to open PRs, file issues, or post content without human authorship and responsibility.
99+
- Do **NOT** include private code, credentials, tokens, or confidential material.
100+
- Respect licensing and attribution requirements.
101+
102+
### Consequences
103+
104+
1. We may close issues, PRs, or discussions that violate this policy without detailed explanation.
105+
2. Repeated violations may result in temporary or permanent restrictions from participating in the project.
106+
107+
### If in Doubt
108+
109+
If you're unsure whether your use of agents/LLMs is acceptable — ask! We're happy to help contributors learn how to use AI tools effectively **without creating noise**.
110+
111+
> This isn't about banning AI — it's about keeping this project collaborative, human-driven, and focused on quality.
80112
81113
## Pull Request Process
82114

@@ -90,4 +122,5 @@ For new features or architectural changes:
90122
---
91123

92124
### Community and Communication
93-
Join the conversation on the [CNCF Slack](https://slack.cncf.io/) in the `#serverless-workflow` channel.
125+
126+
Join the conversation on the [CNCF Slack](https://slack.cncf.io/) in the `#serverless-workflow` channel.

0 commit comments

Comments
 (0)