From 17a9446ea7f959c9f1afcc229910d470c6435403 Mon Sep 17 00:00:00 2001 From: jsklan Date: Thu, 14 Aug 2025 12:56:44 -0400 Subject: [PATCH 1/3] initial --- CONTRIBUTING.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 85fda5a..7a6eda4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,6 +14,29 @@ Please note that this project is released with a [Contributor Code of Conduct][c **We don't currently accept pull requests that directly modify the description artifacts found in this repository.** If you have feedback on the descriptions or have found a mismatch between the behavior that is described in this repo and the runtime behavior of the API, please [open an issue](https://github.com/intercom/Intercom-OpenAPI/issues/new). +### Using Fern +Our SDKs are generated from our OpenAPI spec using (Fern)[https://buildwithfern.com/learn/sdks/overview/introduction]. +If you making changes to the OpenAPI spec, you can use the Fern CLI to validate your changes and preview the impact on the generated SDKs. Here are some useful commands + +Install fern: `npm install -g fern-api` + +Validate the spec: `fern check` + +Preview an sdk: `fern generate --preview --group` + + You can find the appropriate group name in the (generators.yml)[./fern/generators.yml] file. For example `python-sdk` is the group name for the python sdk. + +- Generate the Fern definition from the OpenAPI spec + + `fern write-definition` + +For more details on how to use the Fern CLI, refer to the Fern docs site or use the help commands integrated into the CLI. + +`fern help` + +`fern generate help` + + ## Contributions to other files in the repository We will gladly accept pull requests for contributions to other files in this repository. From f4d29d134c68a5aee02ad834766cc71a57489349 Mon Sep 17 00:00:00 2001 From: jsklan Date: Thu, 14 Aug 2025 13:01:00 -0400 Subject: [PATCH 2/3] changes --- CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7a6eda4..c1afb00 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -30,7 +30,9 @@ Preview an sdk: `fern generate --preview --group` `fern write-definition` -For more details on how to use the Fern CLI, refer to the Fern docs site or use the help commands integrated into the CLI. +For more details on how to use Fern, refer to the docs for the [Fern CLI](https://buildwithfern.com/learn/cli-api-reference/cli-reference/overview) or [Fern SDK](https://buildwithfern.com/learn/sdks/overview/introduction) products. + +You can also use help commands within the cli to see available commands and options. `fern help` From c28b3acaa5df746baa441f72325509c0691da580 Mon Sep 17 00:00:00 2001 From: jsklan Date: Thu, 14 Aug 2025 13:04:13 -0400 Subject: [PATCH 3/3] restyle --- CONTRIBUTING.md | 65 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 53 insertions(+), 12 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c1afb00..991bbc7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,28 +15,69 @@ Please note that this project is released with a [Contributor Code of Conduct][c **We don't currently accept pull requests that directly modify the description artifacts found in this repository.** If you have feedback on the descriptions or have found a mismatch between the behavior that is described in this repo and the runtime behavior of the API, please [open an issue](https://github.com/intercom/Intercom-OpenAPI/issues/new). ### Using Fern -Our SDKs are generated from our OpenAPI spec using (Fern)[https://buildwithfern.com/learn/sdks/overview/introduction]. -If you making changes to the OpenAPI spec, you can use the Fern CLI to validate your changes and preview the impact on the generated SDKs. Here are some useful commands -Install fern: `npm install -g fern-api` +Our SDKs are generated from our OpenAPI spec using [Fern](https://buildwithfern.com/learn/sdks/overview/introduction). -Validate the spec: `fern check` +If you're making changes to the OpenAPI spec, you can use the Fern CLI to validate your changes and preview the impact on the generated SDKs. -Preview an sdk: `fern generate --preview --group` +#### Installation - You can find the appropriate group name in the (generators.yml)[./fern/generators.yml] file. For example `python-sdk` is the group name for the python sdk. +```bash +npm install -g fern-api +``` -- Generate the Fern definition from the OpenAPI spec +#### Common Commands - `fern write-definition` +**Validate the spec:** +```bash +fern check +``` -For more details on how to use Fern, refer to the docs for the [Fern CLI](https://buildwithfern.com/learn/cli-api-reference/cli-reference/overview) or [Fern SDK](https://buildwithfern.com/learn/sdks/overview/introduction) products. +**Preview an SDK:** +```bash +fern generate --preview --group +``` -You can also use help commands within the cli to see available commands and options. +#### ⚠️ Important Warning -`fern help` +**Be careful not to run `fern generate` without the `--preview` flag in your local development environment!** -`fern generate help` +Running `fern generate` without the preview flag will automatically submit pull requests to the SDK's GitHub repository. This command is intended for use in CI/CD pipelines only. + +**❌ Don't do this locally:** +```bash +fern generate --group +``` + +**✅ Always use preview mode for local development:** +```bash +fern generate --preview --group +``` + +> **Note:** You can find the appropriate group name in the [`generators.yml`](./fern/generators.yml) file. For example, `python-sdk` is the group name for the Python SDK. + +**Generate the Fern definition from the OpenAPI spec:** +```bash +fern write-definition +``` + +#### Help Commands + +Get general help: +```bash +fern help +``` + +Get help for the generate command: +```bash +fern generate help +``` + +#### Additional Resources + +For more details on how to use Fern, refer to the documentation for: +- [Fern CLI](https://buildwithfern.com/learn/cli-api-reference/cli-reference/overview) +- [Fern SDK](https://buildwithfern.com/learn/sdks/overview/introduction) ## Contributions to other files in the repository