-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create "How to write – Quick Start" page #12945
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,158 @@ | ||||||
--- | ||||||
title: How to Write - Quick Start | ||||||
noindex: true | ||||||
sidebar_order: 25 | ||||||
--- | ||||||
|
||||||
We're transitioning from [Getting Started guides](/contributing/approach/sdk-docs/write-getting-started/) to Quick Start Guides. New SDKs should use the Quick Start guide format outlined on this page. This change is still in progress, so you may still encounter "Getting Started" guides in existing SDKs. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
<Alert type="info" title="Note"> | ||||||
For existing Getting Started guides, refer to [How to Write - Getting | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
Started](/contributing/approach/sdk-docs/write-getting-started/). For example, | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
when you want to update a guide without changing it into a Quick Start guide. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
If you're unsure what kind of guide you're looking at, ask a question by | ||||||
opening an issue in GitHub. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
</Alert> | ||||||
|
||||||
<Expandable type="info" title="Why the change?"> | ||||||
This change stems from our commitment to following best practices in documentation and making it easier for everyone to create and use our guides. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
With the new Quick Start guides, we want to provide a more structured and focused approach, helping writers create valuable content with confidence, ultimately assisting customers in reaching their goals with Sentry. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
**Quick Start vs. Getting Started:** | ||||||
| | Quick Start | Getting Started | | ||||||
| -------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------- | | ||||||
| **Focus** | Goal-oriented, immediate action, minimal steps | Learning-oriented, broader concepts, background information | | ||||||
| **Content** | Describes critical steps and doesn't explain much about how and why | More explanatory and provides background information | | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| **Audience** | Developers who want to get started quickly | Developers seeking a deeper understanding | | ||||||
| **Format** | Single page; Concise | Often spans multiple pages; Comprehensive | | ||||||
|
||||||
</Expandable> | ||||||
|
||||||
Our Quick Start guides aim to: | ||||||
|
||||||
- Enable developer to quickly set up Sentry with features such as Error Monitoring, Tracing, and Session Replay | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
- Keep instructions concise by avoiding unnecessary explanations or background information | ||||||
- Focus on action by including code examples and commands | ||||||
- Achieve a functional Sentry setup with visible results in a customer's Sentry project | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
- Serve as the basis for further customization | ||||||
|
||||||
## config.yml | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This transition feels a little abrupt, how about giving a little context to what this file is and why we are setting it up? For example something like: Structuring the config.yml FileThe config.yml file provides SDK-level details such as the support level and device categories . . . This file resides in the . . . |
||||||
|
||||||
This file resides in the `/docs/platform/<SDK_name>/` directory. An example: | ||||||
|
||||||
```yaml | ||||||
title: JavaScript | ||||||
caseStyle: camelCase | ||||||
supportLevel: production | ||||||
sdk: "sentry.javascript.browser" | ||||||
categories: | ||||||
- browser | ||||||
``` | ||||||
|
||||||
## Structure Templates | ||||||
|
||||||
We've created two Quick Start guide templates: one for wizard setup and one for manual setup. Use them as a basis and add new sections (steps) as you see fit. | ||||||
|
||||||
If an SDK has both Quick Start guides, make sure that both guides reach the same outcome, meaning the modifications in the customer's project should be consistent (within reason). | ||||||
|
||||||
### Wizard Setup | ||||||
|
||||||
The wizard is the fastest way to set up Sentry – your guide should reflect this by relying on the wizard for the core setup while providing additional information when it makes sense and helps the developer. You can wrap these additions into `Expandable` components to hide them by default and de-clutter your page visually. | ||||||
|
||||||
We recommend you base your guide on a similar existing SDK page, such as: | ||||||
|
||||||
- [Next.js quick start guide wizard setup](/platforms/javascript/guides/nextjs/) | ||||||
|
||||||
**Minimal structure:** | ||||||
|
||||||
- **Title and summary** | ||||||
- The title gets picked up automatically from the config.yml file | ||||||
- Describe what the developer will achieve by following this guide | ||||||
- **Prerequisites** | ||||||
- **Step 1: Install** | ||||||
- Make sure "Install" is always the first step to get developers into action quickly | ||||||
- Provide the primary installation method(s) for this SDK (we document alternate methods on a separate page, as in this [example](/platforms/javascript/install/)) | ||||||
- Briefly introduce the features the wizard can enable; use an `Expandable` component to hide the content by default | ||||||
- List the changes the wizard applies in the developer's application, such as updating configuration files and creating example code for testing the setup later; use an `Expandable` component to hide the content by default | ||||||
- **Step 2: Verify Your Setup** | ||||||
- Explain how to test the setup. For example, direct the developer to use the examples created by the wizard | ||||||
- **Subsection: View Captured Data in Sentry** | ||||||
- Direct developers to look at the captured errors in their Sentry project | ||||||
- Optional: Provide detailed instructions using an `<Expandable>` | ||||||
- **Next Steps** | ||||||
- Wrap up and summarize what the developer achieved | ||||||
- Provide a list of links to recommended next topics | ||||||
|
||||||
### Manual Setup | ||||||
|
||||||
Use this template for your manual setup guides. Keep your instructions concise and ask yourself, "Does the developer need to know this to successfully finish the guide, or is this a topic they can read about later in the documentation?" | ||||||
|
||||||
We recommend you base your guide on a similar existing SDK page, such as: | ||||||
|
||||||
- [Next.js quick start guide manual setup](https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/) | ||||||
|
||||||
**Minimal structure:** | ||||||
|
||||||
- **Title and summary** | ||||||
- The title gets picked up automatically from the config.yml file | ||||||
- Describe what the developer will achieve by following this guide | ||||||
- **Prerequisites** | ||||||
- **Step 1: Install** | ||||||
- Make sure "Install" is always the first step to get developers into action quickly | ||||||
- Include onboarding options (feature setup) here before the installation instructions (use the [`OnboardingOption`](/contributing/pages/components/#onboarding-options) component) | ||||||
- **Important**: Use the `OnboardingOption` component to toggle the visibility of feature-specific instructions in the guide. For example, if a developer wants to set up Tracing but not Session Replay, they should not get instructions on how to configure Session Replay. | ||||||
- Briefly explain these features; use an `Expandable` component to hide the content by default | ||||||
- Provide the primary installation method(s) for this SDK (we document alternate methods on a separate page, as in this [example](/platforms/javascript/install/)) | ||||||
- **Step 2: Configure** | ||||||
- Provide configuration examples and add comments in the code sample to limit the content you put into the surrounding prose | ||||||
- Show how to configure Sentry and the selected features | ||||||
- Use subsections for logical organization and splitting up long content | ||||||
- **Step 3 - Step X: SDK-specific instructions** | ||||||
- Create steps for source maps, tunneling, or other necessary instrumentation | ||||||
- Each major topic should be a separate step | ||||||
- **Step Y: Verify Your Setup** | ||||||
- Provide verification code sample(s) for this SDK | ||||||
- Adapt this section to the features of the selected onboarding option. For example, if Tracing is enabled, you need to describe how to verify it's set up correctly | ||||||
- **Subsection: View Captured Data in Sentry** | ||||||
- Direct developers to look at the captured errors in their Sentry project | ||||||
- Optional: Provide detailed instructions using an `<Expandable>` | ||||||
- **Next Steps** | ||||||
- Wrap up and summarize what the developer achieved | ||||||
- Provide a list of links to recommended next topics | ||||||
|
||||||
## Content Placement and Reusability | ||||||
|
||||||
If the content you want to include doesn't already exist, create a new file for your SDK in the respective folder in [`/src/platform-includes/`](https://github.com/getsentry/sentry-docs/tree/master/platform-includes). | ||||||
|
||||||
**Examples:** | ||||||
|
||||||
- **Install** [`/platform-includes/getting-started-install/`](https://github.com/getsentry/sentry-docs/tree/master/platform-includes/getting-started-install) | ||||||
- **Configuration** [`/platform-includes/getting-started-config/`](https://github.com/getsentry/sentry-docs/tree/master/platform-includes/getting-started-config) | ||||||
- **Verify** [`/src/platform-includes/getting-started-verify/`](https://github.com/getsentry/sentry-docs/tree/master/platform-includes/getting-started-verify) | ||||||
|
||||||
Integrate this content into your guide using the `PlatformSection` component. | ||||||
|
||||||
<Alert type="info"> | ||||||
If the SDK supports performance monitoring, add it to the list that links back | ||||||
into the SDK content from Product, stored in | ||||||
[`/docs/product/insights/getting-started.mdx`](https://github.com/getsentry/sentry-docs/blob/master/docs/product/insights/getting-started.mdx). | ||||||
</Alert> | ||||||
|
||||||
## Additional Requirements for Our Wizard | ||||||
|
||||||
The Quick Start content is also used by our in-app onboarding wizard to get customers up and running with Sentry. Keeping all content up to date is critical. | ||||||
|
||||||
Important: | ||||||
|
||||||
- If you update the code samples for an SDK, also update the wizard | ||||||
- If you add something new, such as additional configuration, to the wizard also update the manual setup guide | ||||||
|
||||||
### Update the Wizard | ||||||
|
||||||
The in-app wizard is where customers first implement our SDKs. It's not a simple copy/paste from the Quick Start for two reasons: | ||||||
|
||||||
1. New customers lack the context that our Docs provide (think of it this way, there's no left-hand sidebar to review). | ||||||
2. Experienced customers likely have alerts and so forth turned off, so don't expect one clear workflow. Also, don't review the workflow. Point customers to the product for a tour. | ||||||
|
||||||
As a result, a simple copy/paste of the Quick Start won't suffice. See the JavaScript wizard as an example. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.