We welcome and encourage community contributions to editor.
Since the project is still unstable, there are specific priorities for development. Pull requests that do not address these priorities will not be accepted until the ORY Editor is production ready.
Please familiarize yourself with the Contribution Guidelines and Project Roadmap before contributing.
There are many ways to help editor besides contributing code:
- Fix bugs or file issues
- Improve the documentation
Unless you are fixing a known bug, we strongly recommend discussing it with the core team via a GitHub issue before getting started to ensure your work is consistent with the ORY Editor's roadmap and architecture.
All contributions are made via pull request. Note that all patches from all contributors get reviewed. After a pull request is made other contributors will offer feedback, and if the patch passes review a maintainer will accept it with a comment. When pull requests fail testing, authors are expected to update their pull requests to address the failures until the tests pass and the pull request merges successfully.
At least one review from a maintainer is required for all patches (even patches from maintainers).
Reviewers should leave a "LGTM" comment once they are satisfied with the patch. If the patch was submitted by a maintainer with write access, the pull request should be merged by the submitter after review.
Do you want to run, develop or contribute to React Page? For that you need Node installed on your system. Use git to check out this repository as followed.
$ git clone https://github.com/react-page/react-page.git
$ cd editorReact Page is a monorepo that you initialize with:
$ yarn
$ yarn bootstrapwe use yarn, but npm should work as well.
Here are some examples that are a good starting point if you want to familiarize yourself with the editor. To run the examples, use one of the following commands:
$ yarn start
The tool chain contains tests and tslint. It is highly recommended to run this while developing.
# run the tests in watch mode
$ yarn run test:watch
# run tslint in watch mode
$ yarn run lint:watchTo run the guide in watch mode, do:
$ yarn run docs:guideTo generate API docs, run:
$ yarn run docs:apiFeel free to use whatever works for you, these works for us. Especially care about using "prettier" when writing code as it will avoid merge conflicts on code style.
IDE: vscode Vscode extensions: prettier, tslint, code spell checker, beautify css/sass/scss/less
In case you change a lot of files, especially in core or UI, you might end up seeing old versions of these files when working on plugins. To fix this, run
$ yarn run build:lib
Which builds the library code. If this doesn't help (and you're in vscode), make sure to reload window (CTRL+SHIFT+P -> Reload Window). That forces vscode to reinitialize typescript declaration files.
Known issues are tracked in the issues tab.