snapshot of https://github.com/ory/kratos.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
This commit is contained in:
293
CONTRIBUTING.md
Normal file
293
CONTRIBUTING.md
Normal file
@@ -0,0 +1,293 @@
|
||||
<!-- AUTO-GENERATED, DO NOT EDIT! -->
|
||||
<!-- Please edit the original at https://github.com/ory/meta/blob/master/templates/repository/common/CONTRIBUTING.md -->
|
||||
|
||||
# Contribute to Ory Kratos<!-- omit in toc -->
|
||||
|
||||
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
||||
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
||||
|
||||
- [Introduction](#introduction)
|
||||
- [FAQ](#faq)
|
||||
- [How can I contribute?](#how-can-i-contribute)
|
||||
- [Communication](#communication)
|
||||
- [Contribute examples or community projects](#contribute-examples-or-community-projects)
|
||||
- [Contribute code](#contribute-code)
|
||||
- [Contribute documentation](#contribute-documentation)
|
||||
- [Disclosing vulnerabilities](#disclosing-vulnerabilities)
|
||||
- [Code style](#code-style)
|
||||
- [Working with forks](#working-with-forks)
|
||||
- [Conduct](#conduct)
|
||||
|
||||
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
||||
|
||||
## Introduction
|
||||
|
||||
_Please note_: We take Ory Kratos's security and our users' trust very
|
||||
seriously. If you believe you have found a security issue in Ory Kratos, please
|
||||
disclose it by contacting us at security@ory.com.
|
||||
|
||||
There are many ways in which you can contribute. The goal of this document is to
|
||||
provide a high-level overview of how you can get involved in Ory.
|
||||
|
||||
As a potential contributor, your changes and ideas are welcome at any hour of
|
||||
the day or night, on weekdays, weekends, and holidays. Please do not ever
|
||||
hesitate to ask a question or send a pull request.
|
||||
|
||||
If you are unsure, just ask or submit the issue or pull request anyways. You
|
||||
won't be yelled at for giving it your best effort. The worst that can happen is
|
||||
that you'll be politely asked to change something. We appreciate any sort of
|
||||
contributions and don't want a wall of rules to get in the way of that.
|
||||
|
||||
That said, if you want to ensure that a pull request is likely to be merged,
|
||||
talk to us! You can find out our thoughts and ensure that your contribution
|
||||
won't clash with Ory Kratos's direction. A great way to do this is via
|
||||
[Ory Kratos Discussions](https://github.com/ory/kratos/discussions) or the
|
||||
[Ory Chat](https://www.ory.com/chat).
|
||||
|
||||
## FAQ
|
||||
|
||||
- I am new to the community. Where can I find the
|
||||
[Ory Community Code of Conduct?](https://github.com/ory/kratos/blob/master/CODE_OF_CONDUCT.md)
|
||||
|
||||
- I have a question. Where can I get
|
||||
[answers to questions regarding Ory Kratos?](#communication)
|
||||
|
||||
- I would like to contribute but I am not sure how. Are there
|
||||
[easy ways to contribute?](#how-can-i-contribute)
|
||||
[Or good first issues?](https://github.com/search?l=&o=desc&q=label%3A%22help+wanted%22+label%3A%22good+first+issue%22+is%3Aopen+user%3Aory+user%3Aory-corp&s=updated&type=Issues)
|
||||
|
||||
- I want to talk to other Ory Kratos users.
|
||||
[How can I become a part of the community?](#communication)
|
||||
|
||||
- I would like to know what I am agreeing to when I contribute to Ory Kratos.
|
||||
Does Ory have
|
||||
[a Contributors License Agreement?](https://cla-assistant.io/ory/kratos)
|
||||
|
||||
- I would like updates about new versions of Ory Kratos.
|
||||
[How are new releases announced?](https://www.ory.com/l/sign-up-newsletter)
|
||||
|
||||
## How can I contribute?
|
||||
|
||||
If you want to start to contribute code right away, take a look at the
|
||||
[list of good first issues](https://github.com/ory/kratos/labels/good%20first%20issue).
|
||||
|
||||
There are many other ways you can contribute. Here are a few things you can do
|
||||
to help out:
|
||||
|
||||
- **Give us a star.** It may not seem like much, but it really makes a
|
||||
difference. This is something that everyone can do to help out Ory Kratos.
|
||||
Github stars help the project gain visibility and stand out.
|
||||
|
||||
- **Join the community.** Sometimes helping people can be as easy as listening
|
||||
to their problems and offering a different perspective. Join our Slack, have a
|
||||
look at discussions in the forum and take part in community events. More info
|
||||
on this in [Communication](#communication).
|
||||
|
||||
- **Answer discussions.** At all times, there are several unanswered discussions
|
||||
on GitHub. You can see an
|
||||
[overview here](https://github.com/discussions?discussions_q=is%3Aunanswered+org%3Aory+sort%3Aupdated-desc).
|
||||
If you think you know an answer or can provide some information that might
|
||||
help, please share it! Bonus: You get GitHub achievements for answered
|
||||
discussions.
|
||||
|
||||
- **Help with open issues.** We have a lot of open issues for Ory Kratos and
|
||||
some of them may lack necessary information, some are duplicates of older
|
||||
issues. You can help out by guiding people through the process of filling out
|
||||
the issue template, asking for clarifying information or pointing them to
|
||||
existing issues that match their description of the problem.
|
||||
|
||||
- **Review documentation changes.** Most documentation just needs a review for
|
||||
proper spelling and grammar. If you think a document can be improved in any
|
||||
way, feel free to hit the `edit` button at the top of the page. More info on
|
||||
contributing to the documentation [here](#contribute-documentation).
|
||||
|
||||
- **Help with tests.** Pull requests may lack proper tests or test plans. These
|
||||
are needed for the change to be implemented safely.
|
||||
|
||||
## Communication
|
||||
|
||||
We use [Slack](https://www.ory.com/chat). You are welcome to drop in and ask
|
||||
questions, discuss bugs and feature requests, talk to other users of Ory, etc.
|
||||
|
||||
Check out [Ory Kratos Discussions](https://github.com/ory/kratos/discussions).
|
||||
This is a great place for in-depth discussions and lots of code examples, logs
|
||||
and similar data.
|
||||
|
||||
You can also join our community calls if you want to speak to the Ory team
|
||||
directly or ask some questions. You can find more info and participate in
|
||||
[Slack](https://www.ory.com/chat) in the #community-call channel.
|
||||
|
||||
If you want to receive regular notifications about updates to Ory Kratos,
|
||||
consider joining the mailing list. We will _only_ send you vital information on
|
||||
the projects that you are interested in.
|
||||
|
||||
Also, [follow us on Twitter](https://twitter.com/orycorp).
|
||||
|
||||
## Contribute examples or community projects
|
||||
|
||||
One of the most impactful ways to contribute is by adding code examples or other
|
||||
Ory-related code. You can find an overview of community code in the
|
||||
[awesome-ory](https://github.com/ory/awesome-ory) repository.
|
||||
|
||||
_If you would like to contribute a new example, we would love to hear from you!_
|
||||
|
||||
Please [open a pull request at awesome-ory](https://github.com/ory/awesome-ory/)
|
||||
to add your example or Ory-related project to the awesome-ory README.
|
||||
|
||||
## Contribute code
|
||||
|
||||
**All code contributions require prior discussion and agreement with maintainers
|
||||
before opening a pull request.**
|
||||
|
||||
This applies to bug fixes, new features, and refactoring. Before writing code:
|
||||
|
||||
1. Open a [Discussion](https://github.com/ory/kratos/discussions/new/choose) or
|
||||
[Issue](https://github.com/ory/kratos/issues/new/choose) describing the
|
||||
problem and your proposed solution.
|
||||
2. Wait for maintainer feedback and explicit agreement on the implementation
|
||||
approach.
|
||||
3. Only then begin writing code.
|
||||
|
||||
Pull requests without prior discussion may be closed without review. This policy
|
||||
exists to protect your time and maintainer time.
|
||||
|
||||
"Drive-by" PRs, even well-intentioned ones, often conflict with the project
|
||||
roadmap, duplicate ongoing work, or introduce architectural inconsistencies. A
|
||||
quick conversation can help avoid these problems.
|
||||
|
||||
All contributions are made via pull requests. To make a pull request, you will
|
||||
need a GitHub account; if you are unclear on this process, see GitHub's
|
||||
documentation on [forking](https://help.github.com/articles/fork-a-repo) and
|
||||
[pull requests](https://help.github.com/articles/using-pull-requests). Pull
|
||||
requests should be targeted at the `master` branch. Before creating a pull
|
||||
request, go through this checklist:
|
||||
|
||||
1. Create a feature branch off of `master` so that changes do not get mixed up.
|
||||
1. [Rebase](http://git-scm.com/book/en/Git-Branching-Rebasing) your local
|
||||
changes against the `master` branch.
|
||||
1. Run the full project test suite with the `go test ./...` (or
|
||||
equivalent) command and confirm that it passes.
|
||||
1. Run `make format`
|
||||
1. Add a descriptive prefix to commits. This ensures a uniform commit history
|
||||
and helps structure the changelog. Please refer to this
|
||||
[Convential Commits configuration](https://github.com/ory/kratos/blob/master/.github/workflows/conventional_commits.yml)
|
||||
for the list of accepted prefixes. You can read more about the Conventional
|
||||
Commit specification
|
||||
[at their site](https://www.conventionalcommits.org/en/v1.0.0/).
|
||||
|
||||
If a pull request is not ready to be reviewed yet
|
||||
[it should be marked as a "Draft"](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request).
|
||||
|
||||
Before your contributions can be reviewed you need to sign our
|
||||
[Contributor License Agreement](https://cla-assistant.io/ory/kratos).
|
||||
|
||||
This agreement defines the terms under which your code is contributed to Ory.
|
||||
More specifically it declares that you have the right to, and actually do, grant
|
||||
us the rights to use your contribution. You can see the Apache 2.0 license under
|
||||
which our projects are published
|
||||
[here](https://github.com/ory/meta/blob/master/LICENSE).
|
||||
|
||||
When pull requests fail the automated testing stages (for example unit or E2E
|
||||
tests), authors are expected to update their pull requests to address the
|
||||
failures until the tests pass.
|
||||
|
||||
Pull requests eligible for review
|
||||
|
||||
1. follow the repository's code formatting conventions;
|
||||
2. include tests that prove that the change works as intended and does not add
|
||||
regressions;
|
||||
3. document the changes in the code and/or the project's documentation;
|
||||
4. pass the CI pipeline;
|
||||
5. have signed our
|
||||
[Contributor License Agreement](https://cla-assistant.io/ory/kratos);
|
||||
6. include a proper git commit message following the
|
||||
[Conventional Commit Specification](https://www.conventionalcommits.org/en/v1.0.0/).
|
||||
|
||||
If all of these items are checked, the pull request is ready to be reviewed and
|
||||
you should change the status to "Ready for review" and
|
||||
[request review from a maintainer](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review).
|
||||
|
||||
Reviewers will approve the pull request once they are satisfied with the patch.
|
||||
|
||||
### AI-assisted contributions
|
||||
|
||||
AI can be a valuable aid for writing code, documentation, and tests. However, to
|
||||
maintain the quality and reliability of Ory Kratos, please follow these
|
||||
guidelines:
|
||||
|
||||
- When submitting a pull request or issue that involved AI assistance, mention
|
||||
the tools you used and the extent of their involvement. This helps reviewers
|
||||
understand the context of your contribution.
|
||||
|
||||
- Pull requests created with AI assistance should address an existing, accepted
|
||||
issue. If you have an idea for a new feature or improvement, please open a
|
||||
discussion or issue first to ensure alignment with the project's direction
|
||||
before investing time in implementation.
|
||||
|
||||
- You must use AI responsibly when writing code. All contributions must be
|
||||
tested and verified before submission. Unreviewed AI-generated code will not
|
||||
be accepted, and repeated submissions of this nature may result in restricted
|
||||
contribution privileges.
|
||||
|
||||
- When using AI to help draft issues, discussions, or documentation, review and
|
||||
edit the output before submitting. AI tends to be verbose. Trim unnecessary
|
||||
content and ensure your submission is clear and focused.
|
||||
|
||||
Contributors must use AI responsibly. These guidelines exist to ensure that
|
||||
every contribution meets the high standards our community expects, while still
|
||||
embracing the productivity benefits that AI tools can provide.
|
||||
|
||||
## Contribute documentation
|
||||
|
||||
Please provide documentation when changing, removing, or adding features. All
|
||||
Ory Documentation resides in the
|
||||
[Ory documentation repository](https://github.com/ory/docs/). For further
|
||||
instructions please head over to the Ory Documentation
|
||||
[README.md](https://github.com/ory/docs/blob/master/README.md).
|
||||
|
||||
## Disclosing vulnerabilities
|
||||
|
||||
Please disclose vulnerabilities exclusively to
|
||||
[security@ory.com](mailto:security@ory.com). Do not use GitHub issues.
|
||||
|
||||
## Code style
|
||||
|
||||
Please run `make format` to format all source code following the Ory standard.
|
||||
|
||||
### Working with forks
|
||||
|
||||
```bash
|
||||
# First you clone the original repository
|
||||
git clone git@github.com:ory/ory/kratos.git
|
||||
|
||||
# Next you add a git remote that is your fork:
|
||||
git remote add fork git@github.com:<YOUR-GITHUB-USERNAME-HERE>/ory/kratos.git
|
||||
|
||||
# Next you fetch the latest changes from origin for master:
|
||||
git fetch origin
|
||||
git checkout master
|
||||
git pull --rebase
|
||||
|
||||
# Next you create a new feature branch off of master:
|
||||
git checkout my-feature-branch
|
||||
|
||||
# Now you do your work and commit your changes:
|
||||
git add -A
|
||||
git commit -a -m "fix: this is the subject line" -m "This is the body line. Closes #123"
|
||||
|
||||
# And the last step is pushing this to your fork
|
||||
git push -u fork my-feature-branch
|
||||
```
|
||||
|
||||
Now go to the project's GitHub Pull Request page and click "New pull request"
|
||||
|
||||
## Conduct
|
||||
|
||||
Whether you are a regular contributor or a newcomer, we care about making this
|
||||
community a safe place for you and we've got your back.
|
||||
|
||||
[Ory Community Code of Conduct](https://github.com/ory/kratos/blob/master/CODE_OF_CONDUCT.md)
|
||||
|
||||
We welcome discussion about creating a welcoming, safe, and productive
|
||||
environment for the community. If you have any questions, feedback, or concerns
|
||||
[please let us know](https://www.ory.com/chat).
|
||||
Reference in New Issue
Block a user