From 5c24ed2ef7629420c062256b13d905f8df8c8bc1 Mon Sep 17 00:00:00 2001 From: aar2dee2 <85004512+aar2dee2@users.noreply.github.com> Date: Tue, 19 Sep 2023 00:46:02 +0530 Subject: [PATCH] chore: app contribution guidelines (#11416) Co-authored-by: Peer Richelsen --- CONTRIBUTING.md | 1 + packages/app-store-cli/README.md | 2 +- packages/app-store/CONTRIBUTING.md | 22 ++++++++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 packages/app-store/CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5cb9e2e692..a933561ea8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -135,3 +135,4 @@ If you get errors, be sure to fix them before committing. - Be sure to [check the "Allow edits from maintainers" option](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork) while creating your PR. - If your PR refers to or fixes an issue, be sure to add `refs #XXX` or `fixes #XXX` to the PR description. Replacing `XXX` with the respective issue number. See more about [Linking a pull request to an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue). - Be sure to fill the PR Template accordingly. +- Review [App Contribution Guidelines](./packages/app-store/CONTRIBUTING.md) when building integrations \ No newline at end of file diff --git a/packages/app-store-cli/README.md b/packages/app-store-cli/README.md index 17618b6719..32d209276b 100644 --- a/packages/app-store-cli/README.md +++ b/packages/app-store-cli/README.md @@ -8,4 +8,4 @@ Refer to https://developer.cal.com/guides/how-to-build-an-app - An app created through CLI should be able to completely skip API validation for testing purposes. Credentials should be created with no API specified specific to the app. It would allow us to test any app end to end not worrying about the corresponding API endpoint. - Someone can add wrong directory name(which doesn't satisfy slug requirements) manually. How to handle it. - Allow editing and updating app from the cal app itself - including assets uploading when developing locally. -- Use AppDeclarativeHandler across all apps. Whatever isn't supported in it, support that. +- Follow the [App Contribution Guidelines](../app-store/CONTRIBUTING.md) diff --git a/packages/app-store/CONTRIBUTING.md b/packages/app-store/CONTRIBUTING.md new file mode 100644 index 0000000000..f3de617bc0 --- /dev/null +++ b/packages/app-store/CONTRIBUTING.md @@ -0,0 +1,22 @@ +## App Contribution Guidelines + +#### `DESCRIPTION.md` +1. images - include atleast 4 images (do we have a recommended size here?). Can show app in use and/or installation steps +2. add only file name for images, path not required. i.e. `1.jpeg`, not `/app-store/zohocalendar/1.jpeg` +3. description should include what the integration with Cal allows the user to do e.g. `Allows you to sync Cal bookings with your Zoho Calendar` + +#### `README.md` +1. Include installation instructions and links to the app's website. + +2. For url use `/api/integrations`, rather than `/api/integrations` + +#### `config.json` + +1. set `"logo": "icon.svg"` and save icon in `/static`. Don't use paths here. +2. description here should not exceed 10 words (this is arbitrary, but should not be long otherwise it's truncated in the app store) + +#### Others +1. Add API documentation links in comments for files `api`, `lib` and `types` +2. Use [`AppDeclarativeHandler`](../types/AppHandler.d.ts) across all apps. Whatever isn't supported in it, support that. +3. README should be added in the respective app and can be linked in main README [like this](https://github.com/calcom/cal.com/pull/10429/files/155ac84537d12026f595551fe3542e810b029714#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R509) +4. Also, no env variables should be added by an app. They should be [added in `zod.ts`](https://github.com/calcom/cal.com/blob/main/packages/app-store/jitsivideo/zod.ts) and then they would be automatically available to be modified by the cal.com app admin. \ No newline at end of file