Skip to content

Commit 9545085

Browse files
mhuckapavoljuhas
andauthored
Add common repository files for GitHub best practices (#374)
* Update info in CoC This updates the contact & reporting info. * Add info to CONTRIBUTING.md 1) Add warning about being unable to accept AI-generated code. 2) Add more details about the contribution, development, & testing procedures 3) Point to the Google style guides. * Add typical SUPPORT.md file * Add security reporting policy * Update CONTRIBUTING.md Co-authored-by: Pavol Juhas <[email protected]> * Update CONTRIBUTING.md Remove statements about non-existent tools. At some point in the future, the section on "Development and testing" should be updated to describe what is actually used. * Update CONTRIBUTING.md Fix wrong default branch name. * Remove other uses of "main" Even though "main" was not being used in the sense of "main branch", it might still be confusing, and it was unnecessary to talk about "main repo" when "repo" is enough. --------- Co-authored-by: Pavol Juhas <[email protected]>
1 parent 1265b2e commit 9545085

File tree

4 files changed

+165
-30
lines changed

4 files changed

+165
-30
lines changed

.github/SECURITY.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Reporting security issues
2+
3+
The recirq developers and community take security bugs in recirq seriously.
4+
We appreciate your efforts to responsibly disclose your findings, and will make
5+
every effort to acknowledge your contributions.
6+
7+
Please **do not** use GitHub issues to report security vulnerabilities; GitHub
8+
issues are public, and doing so could allow someone to exploit the information
9+
before the problem can be addressed. Instead, please use the GitHub ["Report
10+
a Vulnerability"](https://github.com/quantumlib/recirq/security/advisories/new)
11+
interface from the _Security_ tab of the recirq repository.
12+
13+
Please report security issues in third-party modules to the person or team
14+
maintaining the module rather than the recirq project stewards, unless you
15+
believe that some action needs to be taken with recirq in order to guard
16+
against the effects of a security vulnerability in a third-party module.
17+
18+
## Responses to security reports
19+
20+
The project stewards at Google Quantum AI will send a response indicating the
21+
next steps in handling your report. After the initial reply to your report, the
22+
project stewards will keep you informed of the progress towards a fix and full
23+
announcement, and may ask for additional information or guidance.
24+
25+
## Additional points of contact
26+
27+
Please contact the project stewards at Google Quantum AI via email at
28+
[email protected] if you have questions or other concerns. If
29+
for any reason you are uncomfortable reaching out to the project stewards,
30+
please email [email protected].

CODE_OF_CONDUCT.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,29 +53,27 @@ representative at an online or offline event. Representation of a project may be
5353
further defined and clarified by project maintainers.
5454

5555
This Code of Conduct also applies outside the project spaces when the Project
56-
Steward has a reasonable belief that an individual's behavior may have a
56+
Stewards have a reasonable belief that an individual's behavior may have a
5757
negative impact on the project or its community.
5858

5959
## Conflict Resolution
6060

6161
We do not believe that all conflict is bad; healthy debate and disagreement
6262
often yield positive results. However, it is never okay to be disrespectful or
63-
to engage in behavior that violates the project’s code of conduct.
63+
to engage in behavior that violates the project’s Code of Conduct.
6464

65-
If you see someone violating the code of conduct, you are encouraged to address
65+
If you see someone violating the Code of Conduct, you are encouraged to address
6666
the behavior directly with those involved. Many issues can be resolved quickly
6767
and easily, and this gives people more control over the outcome of their
6868
dispute. If you are unable to resolve the matter for any reason, or if the
6969
behavior is threatening or harassing, report it. We are dedicated to providing
7070
an environment where participants feel welcome and safe.
7171

72-
Reports should be directed to the Cirq Developers <[email protected]>, the
73-
Project Stewards for ReCirq. It is the Project Stewards' duty to
74-
receive and address reported violations of the code of conduct. They will then
75-
work with a committee consisting of representatives from the Open Source
76-
Programs Office and the Google Open Source Strategy team. If for any reason you
77-
are uncomfortable reaching out to the Project Stewards, please email
78-
72+
Reports should be directed to [email protected],
73+
the project stewards at Google Quantum AI. They will then work with a committee
74+
consisting of representatives from the Open Source Programs Office and the
75+
Google Open Source Strategy team. If for any reason you are uncomfortable
76+
reaching out to the Project Stewards, please email [email protected].
7977

8078
We will investigate every complaint, but you may not receive a direct response.
8179
We will use our discretion in determining when and how to follow up on reported

CONTRIBUTING.md

Lines changed: 105 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,114 @@
1-
# How to Contribute
1+
# How to contribute
22

3-
We'd love to accept your patches and contributions to this project. There are
4-
just a few small guidelines you need to follow.
3+
We'd love to accept your patches and contributions to this project. We do have
4+
some guidelines to follow, covered in this document, but don't be concerned
5+
about getting everything right the first time! Create a pull request (discussed
6+
below) and we'll nudge you in the right direction.
57

6-
## Contributor License Agreement
8+
## Before you begin
79

8-
Contributions to this project must be accompanied by a Contributor License
9-
Agreement (CLA). You (or your employer) retain the copyright to your
10-
contribution; this simply gives us permission to use and redistribute your
11-
contributions as part of the project. Head over to
12-
<https://cla.developers.google.com/> to see your current agreements on file or
13-
to sign a new one.
10+
### Sign our Contributor License Agreement
1411

15-
You generally only need to submit a CLA once, so if you've already submitted one
16-
(even if it was for a different project), you probably don't need to do it
17-
again.
12+
Contributions to this project must be accompanied by a [Contributor License
13+
Agreement](https://cla.developers.google.com/about) (CLA). You (or your
14+
employer) retain the copyright to your contribution; the CLA simply gives us
15+
permission to use and redistribute your contributions as part of the project.
16+
Please visit https://cla.developers.google.com/ to see your current agreements
17+
on file or to sign a new one. You generally only need to submit a Google CLA
18+
once, so if you've already submitted one (even if it was for a different
19+
project), you probably don't need to do it again.
1820

19-
## Code reviews
21+
> [!WARNING]
22+
> Please note carefully clauses [#5](https://cla.developers.google.com/about/google-corporate#:~:text=You%20represent%20that%20each%20of%20Your%20Contributions%20is%20Your%20original%20creation)
23+
> and [#7](https://cla.developers.google.com/about/google-corporate#:~:text=Should%20You%20wish%20to%20submit%20work%20that%20is%20not%20Your%20original%20creation%2C%20You%20may%20submit%20it%20to%20Google%20separately)
24+
> in the CLA. Any code that you contribute to this project must be **your**
25+
> original creation. Code generated by artificial intelligence tools **does
26+
> not** qualify as your original creation.
27+
28+
### Review our community guidelines
29+
30+
We have a [code of conduct](CODE_OF_CONDUCT.md) to make the ReCirq project an open
31+
and welcoming community environment. Please make sure to read and abide by the
32+
code of conduct.
33+
34+
## Contribution process
2035

2136
All submissions, including submissions by project members, require review. We
22-
use GitHub pull requests for this purpose. Consult
23-
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
24-
information on using pull requests.
37+
use the tools provided by GitHub for [pull
38+
requests](https://help.github.com/articles/about-pull-requests/) for this
39+
purpose. The preferred manner for submitting pull requests is to fork the ReCirq
40+
[repository](https://github.com/quantumlib/ReCirq), create a [git
41+
branch](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell) in
42+
this fork to do your work, and when ready, create a pull request from this
43+
branch to the ReCirq repository. The subsections below describe the process
44+
in more detail.
45+
46+
Please make sure to follow the [Google Style
47+
Guides](https://google.github.io/styleguide/) in your code, particularly the
48+
[style guide for Python](https://google.github.io/styleguide/pyguide.html).
49+
50+
### Repository forks
51+
52+
1. Fork the ReCirq repository (you can use the _Fork_ button in upper right
53+
corner of the [repository page](https://github.com/quantumlib/ReCirq)).
54+
Forking creates a new GitHub repo at the location
55+
`https://github.com/USERNAME/ReCirq`, where `USERNAME` is your GitHub user
56+
name.
57+
58+
1. Clone (using `git clone`) or otherwise download your forked repository to
59+
your local computer, so that you have a local copy where you can do your
60+
development work using your preferred editor and development tools.
61+
62+
1. Check out the `master` branch and create a new git branch from `master`:
63+
64+
```shell
65+
git checkout master -b YOUR_BRANCH_NAME
66+
```
67+
68+
where `YOUR_BRANCH_NAME` is the name of your new branch.
69+
70+
### Development and testing
71+
72+
Do your work and `git commit` your changes to your branch as needed.
73+
74+
### Pull requests and code reviews
75+
76+
1. If your local copy has drifted out of sync with the `master` branch of the
77+
ReCirq repo, you may need to merge the latest changes into your branch.
78+
To do this, first update your local `master` and then merge your local `master`
79+
into your branch:
80+
81+
```shell
82+
# Track the upstream repo (if your local repo hasn't):
83+
git remote add upstream https://github.com/quantumlib/ReCirq.git
84+
85+
# Update your local copy.
86+
git fetch upstream
87+
git checkout master
88+
git merge upstream/master
89+
# Merge local master into your branch.
90+
git checkout YOUR_BRANCH_NAME
91+
git merge master
92+
```
93+
94+
If git reports conflicts during one or both of these merge processes, you
95+
may need to [resolve the merge conflicts](
96+
https://docs.github.com/articles/about-merge-conflicts) before continuing.
97+
98+
1. Finally, push your changes to your fork of the ReCirq repo on GitHub:
99+
100+
```shell
101+
git push origin YOUR_BRANCH_NAME
102+
```
25103

26-
## Community Guidelines
104+
1. Now when you navigate to the ReCirq repository on GitHub
105+
(https://github.com/quantumlib/ReCirq), you should see the option to create
106+
a new pull request from your forked repository. Alternatively, you can
107+
create the pull request by navigating to the "Pull requests" tab near the
108+
top of the page, and selecting the appropriate branches.
27109

28-
This project follows
29-
[Google's Open Source Community Guidelines](https://opensource.google/conduct/).
110+
1. A reviewer from the ReCirq team will comment on your code and may ask for
111+
changes. You can perform the necessary changes locally, commit them to your
112+
branch as usual, and then push changes to your fork on GitHub following the
113+
same process as above. When you do that, GitHub will update the code in the
114+
pull request automatically.

SUPPORT.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Support
2+
3+
Thank you for your interest in this project! If you are experiencing problems
4+
or have questions, the following are some suggestions for how to get help.
5+
6+
> [!NOTE]
7+
> Before participating in our community, please read our [code of
8+
> conduct](CODE_OF_CONDUCT.md). By interacting with this repository,
9+
> organization, or community, you agree to abide by its terms.
10+
11+
## Report an issue or request a feature
12+
13+
To report an issue or request a feature in ReCirq, please first search the
14+
[issue tracker on GitHub](https://github.com/quantumlib/ReCirq/issues) to
15+
check if there is already an open issue identical or similar to your bug
16+
report/feature request. If there is none, go ahead and file a new issue in the
17+
issue tracker.
18+
19+
## Contact the maintainers
20+
21+
For any questions or concerns not addressed here, please email
22+

0 commit comments

Comments
 (0)