diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index c4c33ba9ad..5a0ce28311 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -1,52 +1,63 @@ --- -name: Bug Report -about: Template to report bugs +name: 🐛 Bug Report +about: Report something not working title: 'bug: ' labels: '' assignees: '' --- -# Bug Report +## Bug Report -## Capacitor Version - - -`npx cap doctor` output: +### Capacitor Version + +``` +PASTE OUTPUT HERE +``` -## Affected Platform(s) - +### Platform(s) + -- [ ] Android -- [ ] iOS -- [ ] Electron -- [ ] Web -## Current Behavior - +### Current Behavior + -## Expected Behavior - -## Sample Code or Sample Application Repo - -NOTE: Issues with sample projects are prioritized higher than ones without because they are easier to reproduce and fix. -If you are able to illustrate the bug or feature request with an example, please provide sample code snippets or a sample application via a public GitHub or Bitbucket repo. +### Example Code or Repo + -## Reproduction Steps - -## Other Technical Details +### Code Reproduction + + + - +### Other Technical Details + `npm --version` output: @@ -54,5 +65,9 @@ If you are able to illustrate the bug or feature request with an example, please `pod --version` output (iOS issues only): -## Other Information - \ No newline at end of file +### Additional Context + + + diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..68882bce49 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Open a discussion + url: https://github.com/ionic-team/capacitor/discussions + about: Ask questions and discuss with other community members diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md deleted file mode 100644 index 48d5f81fa4..0000000000 --- a/.github/ISSUE_TEMPLATE/custom.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Custom issue template -about: Describe this issue template's purpose here. -title: '' -labels: '' -assignees: '' - ---- - - diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md index 938e0438a1..fc42304721 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.md +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -1,33 +1,41 @@ --- -name: Feature Request -about: Request a feature addition or change to Capacitor. +name: 🙋 Feature Request +about: Request a feature or change title: 'feat: ' labels: '' assignees: '' --- -# Feature Request +## Feature Request -## Describe the Feature Request - +### Description + -## Platform Support Requested - -- [ ] Android -- [ ] iOS -- [ ] Electron -- [ ] Web -## Describe Preferred Solution - +### Platform(s) + -## Describe Alternatives - -## Related Code - -## Additional Context - +### Preferred Solution + + + + +### Alternatives + + + + +### Additional Context + + + diff --git a/.github/CONTRIBUTING.md b/CONTRIBUTING.md similarity index 69% rename from .github/CONTRIBUTING.md rename to CONTRIBUTING.md index 41f0e131bb..23503f8023 100644 --- a/.github/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,11 +8,27 @@ Before working on Capacitor, it's important to understand the philosophy behind Please read [@maxlynch](http://twitter.com/maxlynch)'s essay [How Capacitor Works](https://tinyletter.com/ionic-max/letters/how-capacitor-works) for a deep dive into the project and its goals. -## Consult with the team +## Creating a Code Reproduction + +To isolate the cause of the problem, we ask you to provide a minimal sample application that demonstrates the issue. Without a reliable code reproduction, it is unlikely we will be able to resolve the issue, leading to it being closed. + +To create a code reproduction: + +* Create a new application using `npx @capacitor/cli create` (or `ionic start --capacitor`). +* Add the minimum amount of code necessary to recreate the issue you're experiencing. +* Push the code reproduction to a public GitHub repository and include a link when you create a bug report. +* Be sure to include steps to reproduce the issue. + +## Developing Capacitor + +1. Check out this repository. +2. Read and follow [`example/README.md`](../example/README.md) + +### Consult with the team For any large changes, make sure you've consulted with the team first. One way to do this would be to create a draft PR for discussion, or bringing up the discussion in the Capacitor slack. -## About Third Party Libraries +### About Third Party Libraries To achieve Capacitor's goal of being stable and easy to upgrade, we would like to avoid unnecessary third party libraries as much as possible. Before embarking on Capacitor contributions, make sure you aren't planning on introducing third party libraries without consulting with the team first. @@ -20,7 +36,7 @@ On native, that means avoid adding any new Cocoapod or Gradle dependencies witho On web, this means do not add any third party libraries such as Firebase or Lodash. Strive for implementations that use pure Web APIs even if it means more work. -## Directory Structure +### Directory Structure The `ionic-team/capacitor` repo is a monorepo containing all of the standard Capacitor components. The current directory structure looks like this: @@ -34,29 +50,15 @@ The `ionic-team/capacitor` repo is a monorepo containing all of the standard Cap * `example`: Example project for development * `e2e`: An end-to-end testing app * `plugin-template`: The default plugin template when creating a new plugin -* `scripts`: deploy and task scripts +* `scripts`: publish and task scripts * `site`: Website and documentation -## Developing Capacitor - -1. Check out this repository. -2. Read and follow [`example/README.md`](../example/README.md) - -## Deploying Capacitor (requires commit privileges) +## Publishing Capacitor -The `publish` npm task runs lerna to update and publish JS dependencies, and then uses that version number to deploy the Android and iOS runtimes. +Capacitor packages are published together with a fixed version using [Lerna](https://github.com/lerna/lerna). -Additionally, it updates the master branch of the [capacitor-starter](https://github.com/ionic-team/capacitor-starter) mirror, which contains an exported starter project for easy project creation, based on the code in the `starter` folder in this monorepo. +To publish Capacitor, run the following: -Before deploying, you must set the following environment variables: - - - `BINTRAY_USER`: your username from [bintray.com](http://bintray.com) - - `BINTRAY_KEY`: your API key from Bintray, found in the "Edit Profile" section of the site. - -Finally, to deploy Capacitor, in the root of the project run - ```bash npm run publish ``` - -Note: if you don't have any JS updates that cause lerna to increment the version, just increment it yourself in `lerna.json` and you're golden. diff --git a/README.md b/README.md index 0274659e74..6825ea9d51 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,6 @@ No, you do not need to use Ionic Framework with Capacitor. Without the Ionic Fra ## Contributing -See [`CONTRIBUTING.md`](.github/CONTRIBUTING.md) 💖 +See [`CONTRIBUTING.md`](CONTRIBUTING.md) 💖 To help with the Capacitor website or documentation, [see here](site/CONTRIBUTING.md).