Skip to content

Commit

Permalink
docs(contributing): Adding contributing instructions across the repo
Browse files Browse the repository at this point in the history
We will likely want to add a supplemental contributing document for phone examples.
  • Loading branch information
ethanwinters committed Jul 6, 2023
1 parent c4d8999 commit 8642504
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 25 deletions.
40 changes: 40 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Contributing

* **If your contribution is minor,** such as a bug fix, open a pull request.
* **If your contribution is major,** such as a new custom extension starter kit or a new web chat extensibility and customization code example, start by opening an issue first. Others can then weigh in before you commence any work to make sure the IBM team is not already working on something similar and to make sure that your PR will be approved when the work is completed.

## Intellectual Property
We take intellectual property seriously. We need to be sure of the provenance of your contribution and that we have the ability to include it in our project and redistribute it under our open source [license](./LICENSE). When you submit your PR, you're asserting that you have authored all of the code in the PR and that you have the right to contribute it to our project.

If your code is part of an IBM offering or is part of an IBM contracted services engagement please include this information in the issue and PR. It may not be an issue, but because this code can end up in our commercially licensed cloud and on premise offerings, we need to be sure of the provenance of your contribution and that we have the ability to use it and redistribute it.


## Submittion Guideline
1. Fork the repo
2. Create a local branch for your change, e.g. `git checkout -b my-new-feature-branch`
3. Test your changes
4. Open a pull request

### Additional Guidelines
The assistant-toolkit repository contains a variety of project types. Please refer to the following additional guidelines for contributing for selected project types.

1. [Web chat extensibility and customization example contributing guidelines](./integrations/webchat/CONTRIBUTING.md)
2. [Custom extension starter kit contributing guidelines](./integrations/extensions/CONTRIBUTING.md)

### Pull Request Process
Once you have implemented a change and have created a PR to the repo, the review of the PR will follow this process.

1. The code author should assign a reviewer using the "Assignees" field (do not use the "Reviewers" field) of the PR. The assignee is the person who is currently responsible for taking action on the PR.

2. Do not push any more commits to the PR while it is assigned to a reviewer without talking to the reviewer first. This can mess up any comments that the reviewer may be in the process of making.

3. The reviewer will review the changes and provide appropriate feedback. If there are changes the reviewer would like the author to make, the reviewer will request those changes using the "Request changes" option on the review in the PR and then assign the PR back to the author.

4. If you are responding to comments made by a reviewer you can respond in one of two ways. If you simply make a requested change and don't have any comments to add or explanations to make, just click "Resolve conversation" to resolve the conversation. If for some reason, you decide not to make a change requested by a reviewer, you should add a comment explaining why not and leave the conversation unresolved. If you do make a requested change but also want to add a comment with some explanation, then add the explanation and also leave the conversation unresolved. Only resolve a conversation if you have nothing to add.

5. Do not use rebase to squash your commits or amend commits under review while the review is unresolved. If a review ends up with multiple rounds of reviews, squashing the commits makes it impossible for a reviewer to review just the changes made since the last review.

6. Once you have completed the requested changes, assign the PR back the reviewer.

Note: All conversations should be resolved before a PR is merged.

26 changes: 26 additions & 0 deletions integrations/extensions/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Contributing

We welcome contributions that show ways to extend Watson Assistant with a custom extension.

Please [review the rules for contributing to this repository](../../CONTRIBUTING.md) before submitting code for information about legal requirements, project start process and pull request process.

If you want to create a new starter kit, please create an issue in this repository to prevent duplicating work the IBM team is already working on and to ensure that your starter kit will be approved before you get started on your work.

## Requirements
Each starter kit should include:

- Instructions on how to set up starter kit in a README.md document
- Instructions on how to tailor starter kit for a specific use case/example
- Appropriate Actions file(s) and OpenAPI spec(s) to allow someone to run the example(s) in their Watson Assistant instance. These JSON files should be properly formatted using a beautification tool.
- Basic screenshot/gif/video of what the starter kit is showing

## Structure
Some starter kits are for a particular service. These starter kits should be houses in an appropiately named folder. There are also several starter kits that are based on a topic like [language-model-conversational-search](./starter-kits/language-model-conversational-search/) that contain integrations with multiple providers. Please consider if your starter kit belongs in an existing topical starter kit or if it should be standalone.

Some starter kits have multiple examples, some for basic use cases and some more advanced. Please make use of a `basic` and `advanced` folder in these instances.

If you have additional assets (images and the like), please put them in an `assets` folder.

All files for Actions should be called `your-starter-kit-name.actions.json`. All files for OpenAPI specs should be called `your-starter-kit-name.openapi.json`. If you have multiple files, simply add a post-fix like `your-starter-kit-name-my-use-case.xxxx.json`.

For any example code, either NodeJS or Python is preferred.
11 changes: 3 additions & 8 deletions integrations/webchat/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
# Contributing

We welcome contributions!
We welcome contributions that show ways to extend and customize Watson Assistant web chat.

To contribute to our project, fork and clone it, create a branch, and submit a pull request. Here's a good [set of instructions](https://www.dataschool.io/how-to-contribute-on-github/).
Please [review the rules for contributing to this repository](../../CONTRIBUTING.md) before submitting code for information about legal requirements, project start process and pull request process.

Make sure you read our [template instructions](contributing/TEMPLATE_INSTRUCTIONS.md), [coding standards](contributing/CODING_STANDARDS.md) and [pull request process](contributing/PULL_REQUESTS.md) before submitting code.

Does your code show up in another IBM offering or is part of an IBM contracted services engagement? If it does, that's not necessarily a problem, we just need to know. Because this code can end up in our commercially licensed cloud and on premise offerings, we need a bit of process. We need to be sure of the provenance of your contribution and that we have the ability to use it and redistribute it.
## Intellectual Property

We take intellectual property seriously. We need to be sure of the provenance of your contribution and that we have the ability to include it in our project and redistribute it under our open source [license](../../LICENSE). When you submit your PR, you're asserting that you have authored all of the code in the PR and that you have the right to contribute it to our project.
In addition, please make sure you read our [template instructions](contributing/TEMPLATE_INSTRUCTIONS.md), [coding standards](contributing/CODING_STANDARDS.md) that are specific to adding an example of extending and customizing web chat.
17 changes: 0 additions & 17 deletions integrations/webchat/contributing/PULL_REQUESTS.md

This file was deleted.

0 comments on commit 8642504

Please sign in to comment.