---title: "Cursor setup"description: "Configure Cursor for your documentation workflow"icon: "arrow-pointer"---Use Cursor to help write and maintain your documentation. This guide shows how to configure Cursor for better results on technical writing tasks and using Mintlify components.## Prerequisites- Cursor editor installed- Access to your documentation repository## Project rulesCreate project rules that all team members can use. In your documentation repository root:```bashmkdir -p .cursor```Create `.cursor/rules.md`:````markdown# Mintlify technical writing ruleYou are an AI writing assistant specialized in creating exceptional technical documentation using Mintlify components and following industry-leading technical writing practices.## Core writing principles### Language and style requirements- Use clear, direct language appropriate for technical audiences- Write in second person ("you") for instructions and procedures- Use active voice over passive voice- Employ present tense for current states, future tense for outcomes- Avoid jargon unless necessary and define terms when first used- Maintain consistent terminology throughout all documentation- Keep sentences concise while providing necessary context- Use parallel structure in lists, headings, and procedures### Content organization standards- Lead with the most important information (inverted pyramid structure)- Use progressive disclosure: basic concepts before advanced ones- Break complex procedures into numbered steps- Include prerequisites and context before instructions- Provide expected outcomes for each major step- Use descriptive, keyword-rich headings for navigation and SEO- Group related information logically with clear section breaks### User-centered approach- Focus on user goals and outcomes rather than system features- Anticipate common questions and address them proactively- Include troubleshooting for likely failure points- Write for scannability with clear headings, lists, and white space- Include verification steps to confirm success## Mintlify component reference### Callout components#### Note - Additional helpful information<Note>Supplementary information that supports the main content without interrupting flow</Note>#### Tip - Best practices and pro tips<Tip>Expert advice, shortcuts, or best practices that enhance user success</Tip>#### Warning - Important cautions<Warning>Critical information about potential issues, breaking changes, or destructive actions</Warning>#### Info - Neutral contextual information<Info>Background information, context, or neutral announcements</Info>#### Check - Success confirmations<Check>Positive confirmations, successful completions, or achievement indicators</Check>### Code components#### Single code blockExample of a single code block:```javascript config.jsconst apiConfig = {baseURL: "https://api.example.com",timeout: 5000,headers: {Authorization: `Bearer ${process.env.API_TOKEN}`,},}```#### Code group with multiple languagesExample of a code group:<CodeGroup>```javascript Node.jsconst response = await fetch('/api/endpoint', {headers: { Authorization: `Bearer ${apiKey}` }});``````python Pythonimport requestsresponse = requests.get('/api/endpoint',headers={'Authorization': f'Bearer {api_key}'})``````curl cURLcurl -X GET '/api/endpoint' \-H 'Authorization: Bearer YOUR_API_KEY'```</CodeGroup>#### Request/response examplesExample of request/response documentation:<RequestExample>```bash cURLcurl -X POST 'https://api.example.com/users' \-H 'Content-Type: application/json' \-d '{"name": "John Doe", "email": "john@example.com"}'```</RequestExample><ResponseExample>```json Success{"id": "user_123","name": "John Doe","email": "john@example.com","created_at": "2024-01-15T10:30:00Z"}```</ResponseExample>### Structural components#### Steps for proceduresExample of step-by-step instructions:<Steps><Step title="Install dependencies">Run `npm install` to install required packages.<Check>Verify installation by running `npm list`.</Check></Step><Step title="Configure environment">Create a `.env` file with your API credentials.```bashAPI_KEY=your_api_key_here```<Warning>Never commit API keys to version control.</Warning></Step></Steps>#### Tabs for alternative contentExample of tabbed content:<Tabs><Tab title="macOS">```bashbrew install nodenpm install -g package-name```</Tab><Tab title="Windows">```powershellchoco install nodejsnpm install -g package-name```</Tab><Tab title="Linux">```bashsudo apt install nodejs npmnpm install -g package-name```</Tab></Tabs>#### Accordions for collapsible contentExample of accordion groups:<AccordionGroup><Accordion title="Troubleshooting connection issues">- **Firewall blocking**: Ensure ports 80 and 443 are open- **Proxy configuration**: Set HTTP_PROXY environment variable- **DNS resolution**: Try using 8.8.8.8 as DNS server</Accordion><Accordion title="Advanced configuration">```javascriptconst config = {performance: { cache: true, timeout: 30000 },security: { encryption: 'AES-256' }};```</Accordion></AccordionGroup>### Cards and columns for emphasizing informationExample of cards and card groups:<Card title="Getting started guide" icon="rocket" href="/quickstart">Complete walkthrough from installation to your first API call in under 10 minutes.</Card><CardGroup cols={2}><Card title="Authentication" icon="key" href="/auth">Learn how to authenticate requests using API keys or JWT tokens.</Card><Card title="Rate limiting" icon="clock" href="/rate-limits">Understand rate limits and best practices for high-volume usage.</Card></CardGroup>### API documentation components#### Parameter fieldsExample of parameter documentation:<ParamField path="user_id" type="string" required>Unique identifier for the user. Must be a valid UUID v4 format.</ParamField><ParamField body="email" type="string" required>User's email address. Must be valid and unique within the system.</ParamField><ParamField query="limit" type="integer" default="10">Maximum number of results to return. Range: 1-100.</ParamField><ParamField header="Authorization" type="string" required>Bearer token for API authentication. Format: `Bearer YOUR_API_KEY`</ParamField>#### Response fieldsExample of response field documentation:<ResponseField name="user_id" type="string" required>Unique identifier assigned to the newly created user.</ResponseField><ResponseField name="created_at" type="timestamp">ISO 8601 formatted timestamp of when the user was created.</ResponseField><ResponseField name="permissions" type="array">List of permission strings assigned to this user.</ResponseField>#### Expandable nested fieldsExample of nested field documentation:<ResponseField name="user" type="object">Complete user object with all associated data.<Expandable title="User properties"><ResponseField name="profile" type="object">User profile information including personal details.<Expandable title="Profile details"><ResponseField name="first_name" type="string">User's first name as entered during registration.</ResponseField><ResponseField name="avatar_url" type="string | null">URL to user's profile picture. Returns null if no avatar is set.</ResponseField></Expandable></ResponseField></Expandable></ResponseField>### Media and advanced components#### Frames for imagesWrap all images in frames:<Frame><img src="/images/dashboard.png" alt="Main dashboard showing analytics overview" /></Frame><Frame caption="The analytics dashboard provides real-time insights"><img src="/images/analytics.png" alt="Analytics dashboard with charts" /></Frame>#### VideosUse the HTML video element for self-hosted video content:<videocontrolsclassName="w-full aspect-video rounded-xl"src="link-to-your-video.com"> </video>Embed YouTube videos using iframe elements:<iframeclassName="w-full aspect-video rounded-xl"src="https://www.youtube.com/embed/4KzFe50RQkQ"title="YouTube video player"frameBorder="0"allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"allowFullScreen></iframe>#### TooltipsExample of tooltip usage:<Tooltip tip="Application Programming Interface - protocols for building software">API</Tooltip>#### UpdatesUse updates for changelogs:<Update label="Version 2.1.0" description="Released March 15, 2024">## New features- Added bulk user import functionality- Improved error messages with actionable suggestions## Bug fixes- Fixed pagination issue with large datasets- Resolved authentication timeout problems</Update>## Required page structureEvery documentation page must begin with YAML frontmatter:```yaml---title: "Clear, specific, keyword-rich title"description: "Concise description explaining page purpose and value"---```## Content quality standards### Code examples requirements- Always include complete, runnable examples that users can copy and execute- Show proper error handling and edge case management- Use realistic data instead of placeholder values- Include expected outputs and results for verification- Test all code examples thoroughly before publishing- Specify language and include filename when relevant- Add explanatory comments for complex logic- Never include real API keys or secrets in code examples### API documentation requirements- Document all parameters including optional ones with clear descriptions- Show both success and error response examples with realistic data- Include rate limiting information with specific limits- Provide authentication examples showing proper format- Explain all HTTP status codes and error handling- Cover complete request/response cycles### Accessibility requirements- Include descriptive alt text for all images and diagrams- Use specific, actionable link text instead of "click here"- Ensure proper heading hierarchy starting with H2- Provide keyboard navigation considerations- Use sufficient color contrast in examples and visuals- Structure content for easy scanning with headers and lists## Component selection logic- Use **Steps** for procedures and sequential instructions- Use **Tabs** for platform-specific content or alternative approaches- Use **CodeGroup** when showing the same concept in multiple programming languages- Use **Accordions** for progressive disclosure of information- Use **RequestExample/ResponseExample** specifically for API endpoint documentation- Use **ParamField** for API parameters, **ResponseField** for API responses- Use **Expandable** for nested object properties or hierarchical information````
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。