This guide explains how to edit and contribute to the documentation.
# Install dependencies
npm install
# Start local preview
npx mintlify dev
# Check for broken links before committing
npx mintlify broken-linksThe local preview runs at http://localhost:3000 with hot reload.
documentation-mintlify/
├── docs.json # Navigation and site configuration
├── images/ # All images and assets
├── introduction/ # Getting started docs
├── sdk/ # SDK documentation
├── backend/ # Backend documentation
├── frontend/ # Frontend documentation
├── cookbook/ # Tutorials and guides
└── faq.mdx # FAQ page
Pages use MDX format - Markdown with JSX components. Every page needs frontmatter:
---
title: "Page Title"
description: "Brief description for SEO (optional)"
icon: "icon-name" # Optional, uses Font Awesome icons
---
# Your Content
Regular markdown works here.# Heading 1
## Heading 2
### Heading 3
**bold text**
*italic text*
`inline code`
[Link text](https://example.com)
[Internal link](/sdk/overview)
- Bullet list
- Another item
1. Numbered list
2. Second item
| Column 1 | Column 2 |
|----------|----------|
| Cell 1 | Cell 2 |```typescript
const demo = new Demos()
await demo.connect("https://demosnode.discus.sh")
```
```python
print("Hello from Python")
```
```bash
npm install @kynesyslabs/demosdk
```<Note>General information the reader should know.</Note>
<Tip>Helpful suggestions and best practices.</Tip>
<Info>Additional context or background information.</Info>
<Warning>Important warnings about potential issues.</Warning><Card title="Getting Started" icon="rocket" href="/sdk/getting-started">
Learn the basics of the SDK
</Card>
<CardGroup cols={2}>
<Card title="WebSDK" icon="globe" href="/sdk/websdk/overview">
Browser-based SDK
</Card>
<Card title="Cross Chain" icon="link" href="/sdk/cross-chain/overview">
Multi-chain support
</Card>
</CardGroup><!-- Simple image -->

<!-- Image with caption -->
<Frame caption="Descriptive caption for the image">
<img src="/images/example.png" alt="Alt text" />
</Frame><Tabs>
<Tab title="npm">
npm install @kynesyslabs/demosdk
</Tab>
<Tab title="yarn">
yarn add @kynesyslabs/demosdk
</Tab>
<Tab title="pnpm">
pnpm add @kynesyslabs/demosdk
</Tab>
</Tabs>
<Accordion title="Click to see more details">
This content is hidden until the user clicks.
</Accordion>
<AccordionGroup>
<Accordion title="First Section">
Content for first section
</Accordion>
<Accordion title="Second Section">
Content for second section
</Accordion>
</AccordionGroup><Steps>
<Step title="Install the SDK">
Run `npm install @kynesyslabs/demosdk`
</Step>
<Step title="Initialize">
Create a new Demos instance
</Step>
<Step title="Connect">
Connect to an RPC node
</Step>
</Steps>-
Create the file: Add a new
.mdxfile in the appropriate directory -
Add frontmatter: Include title and description at the top
-
Update navigation: Add the page to
docs.json:
{
"group": "Your Section",
"pages": [
"path/to/existing-page",
"path/to/your-new-page" // Add your page here
]
}- Verify: Run
npx mintlify broken-linksto check for issues
- Place images in the
/images/directory - Reference them with absolute paths:
/images/your-image.png - Use descriptive filenames:
auth-flow-diagram.pngnotimg1.png
The docs.json file controls the entire site structure:
{
"navigation": {
"tabs": [
{
"tab": "Tab Name",
"groups": [
{
"group": "Section Name",
"icon": "icon-name",
"pages": [
"folder/page-name",
{
"group": "Nested Section",
"pages": [
"folder/nested/page1",
"folder/nested/page2"
]
}
]
}
]
}
]
}
}Icons use Font Awesome. Common icons:
rocket- Getting startedcode- Code/SDKbook- Documentationgear- Settings/Configdatabase- Storagelink- Connectionsshield-check- Securityflask- Experimental
- Keep titles concise - Under 60 characters for SEO
- Add descriptions - Helps with search and previews
- Use meaningful headings - Structure content logically
- Include code examples - Developers love copy-paste examples
- Test locally - Always preview before pushing
- Check links - Run
npx mintlify broken-linksregularly
Angle brackets in text are interpreted as JSX. Escape them:
<!-- Bad -->
Response time <100ms
<!-- Good -->
Response time less than 100ms
<!-- Or use code -->
Response time `<100ms`- Use absolute paths:
/sdk/overviewnot./overview - Don't include
.mdxextension in links - Check that the page exists in
docs.json
- Ensure image is in
/images/directory - Use absolute path:
/images/file.png - Check filename case sensitivity
Documentation is automatically deployed when changes are pushed to the main branch (if configured with Mintlify hosting).
For manual builds:
npx mintlify build- Mintlify Documentation
- MDX Documentation
- Internal: Ask in #documentation channel