@exulu/backend 1.46.1 → 1.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/mintlify/SKILL.md +347 -0
- package/.editorconfig +15 -0
- package/.eslintrc.json +52 -0
- package/.jscpd.json +18 -0
- package/.prettierignore +5 -0
- package/.prettierrc.json +12 -0
- package/CHANGELOG.md +15 -2
- package/README.md +747 -0
- package/SECURITY.md +5 -0
- package/dist/index.cjs +12015 -10496
- package/dist/index.d.cts +725 -667
- package/dist/index.d.ts +725 -667
- package/dist/index.js +12034 -10508
- package/ee/LICENSE.md +62 -0
- package/ee/agentic-retrieval/index.ts +1109 -0
- package/ee/documents/THIRD_PARTY_LICENSES/docling.txt +31 -0
- package/ee/documents/processing/build_pdf_processor.sh +35 -0
- package/ee/documents/processing/chunk_markdown.py +263 -0
- package/ee/documents/processing/doc_processor.ts +635 -0
- package/ee/documents/processing/pdf_processor.spec +115 -0
- package/ee/documents/processing/pdf_to_markdown.py +420 -0
- package/ee/documents/processing/requirements.txt +4 -0
- package/ee/entitlements.ts +49 -0
- package/ee/markdown.ts +686 -0
- package/ee/queues/decorator.ts +140 -0
- package/ee/queues/queues.ts +156 -0
- package/ee/queues/server.ts +6 -0
- package/ee/rbac-resolver.ts +51 -0
- package/ee/rbac-update.ts +111 -0
- package/ee/schemas.ts +347 -0
- package/ee/tokenizer.ts +80 -0
- package/ee/workers.ts +1423 -0
- package/eslint.config.js +88 -0
- package/jest.config.ts +25 -0
- package/license.md +73 -49
- package/mintlify-docs/.mintignore +7 -0
- package/mintlify-docs/AGENTS.md +33 -0
- package/mintlify-docs/CLAUDE.MD +50 -0
- package/mintlify-docs/CONTRIBUTING.md +32 -0
- package/mintlify-docs/LICENSE +21 -0
- package/mintlify-docs/README.md +55 -0
- package/mintlify-docs/ai-tools/claude-code.mdx +43 -0
- package/mintlify-docs/ai-tools/cursor.mdx +39 -0
- package/mintlify-docs/ai-tools/windsurf.mdx +39 -0
- package/mintlify-docs/api-reference/core-types/agent-types.mdx +110 -0
- package/mintlify-docs/api-reference/core-types/analytics-types.mdx +95 -0
- package/mintlify-docs/api-reference/core-types/configuration-types.mdx +83 -0
- package/mintlify-docs/api-reference/core-types/evaluation-types.mdx +106 -0
- package/mintlify-docs/api-reference/core-types/job-types.mdx +135 -0
- package/mintlify-docs/api-reference/core-types/overview.mdx +73 -0
- package/mintlify-docs/api-reference/core-types/prompt-types.mdx +102 -0
- package/mintlify-docs/api-reference/core-types/rbac-types.mdx +163 -0
- package/mintlify-docs/api-reference/core-types/session-types.mdx +77 -0
- package/mintlify-docs/api-reference/core-types/user-management.mdx +112 -0
- package/mintlify-docs/api-reference/core-types/workflow-types.mdx +88 -0
- package/mintlify-docs/api-reference/core-types.mdx +585 -0
- package/mintlify-docs/api-reference/dynamic-types.mdx +851 -0
- package/mintlify-docs/api-reference/endpoint/create.mdx +4 -0
- package/mintlify-docs/api-reference/endpoint/delete.mdx +4 -0
- package/mintlify-docs/api-reference/endpoint/get.mdx +4 -0
- package/mintlify-docs/api-reference/endpoint/webhook.mdx +4 -0
- package/mintlify-docs/api-reference/introduction.mdx +661 -0
- package/mintlify-docs/api-reference/mutations.mdx +1012 -0
- package/mintlify-docs/api-reference/openapi.json +217 -0
- package/mintlify-docs/api-reference/queries.mdx +1154 -0
- package/mintlify-docs/backend/introduction.mdx +218 -0
- package/mintlify-docs/changelog.mdx +293 -0
- package/mintlify-docs/community-edition.mdx +304 -0
- package/mintlify-docs/core/exulu-agent/api-reference.mdx +894 -0
- package/mintlify-docs/core/exulu-agent/configuration.mdx +690 -0
- package/mintlify-docs/core/exulu-agent/introduction.mdx +552 -0
- package/mintlify-docs/core/exulu-app/api-reference.mdx +481 -0
- package/mintlify-docs/core/exulu-app/configuration.mdx +319 -0
- package/mintlify-docs/core/exulu-app/introduction.mdx +117 -0
- package/mintlify-docs/core/exulu-authentication.mdx +810 -0
- package/mintlify-docs/core/exulu-chunkers/api-reference.mdx +1011 -0
- package/mintlify-docs/core/exulu-chunkers/configuration.mdx +596 -0
- package/mintlify-docs/core/exulu-chunkers/introduction.mdx +403 -0
- package/mintlify-docs/core/exulu-context/api-reference.mdx +911 -0
- package/mintlify-docs/core/exulu-context/configuration.mdx +648 -0
- package/mintlify-docs/core/exulu-context/introduction.mdx +394 -0
- package/mintlify-docs/core/exulu-database.mdx +811 -0
- package/mintlify-docs/core/exulu-default-agents.mdx +545 -0
- package/mintlify-docs/core/exulu-eval/api-reference.mdx +772 -0
- package/mintlify-docs/core/exulu-eval/configuration.mdx +680 -0
- package/mintlify-docs/core/exulu-eval/introduction.mdx +459 -0
- package/mintlify-docs/core/exulu-logging.mdx +464 -0
- package/mintlify-docs/core/exulu-otel.mdx +670 -0
- package/mintlify-docs/core/exulu-queues/api-reference.mdx +648 -0
- package/mintlify-docs/core/exulu-queues/configuration.mdx +650 -0
- package/mintlify-docs/core/exulu-queues/introduction.mdx +474 -0
- package/mintlify-docs/core/exulu-reranker/api-reference.mdx +630 -0
- package/mintlify-docs/core/exulu-reranker/configuration.mdx +663 -0
- package/mintlify-docs/core/exulu-reranker/introduction.mdx +516 -0
- package/mintlify-docs/core/exulu-tool/api-reference.mdx +723 -0
- package/mintlify-docs/core/exulu-tool/configuration.mdx +805 -0
- package/mintlify-docs/core/exulu-tool/introduction.mdx +539 -0
- package/mintlify-docs/core/exulu-variables/api-reference.mdx +699 -0
- package/mintlify-docs/core/exulu-variables/configuration.mdx +736 -0
- package/mintlify-docs/core/exulu-variables/introduction.mdx +511 -0
- package/mintlify-docs/development.mdx +94 -0
- package/mintlify-docs/docs.json +248 -0
- package/mintlify-docs/enterprise-edition.mdx +538 -0
- package/mintlify-docs/essentials/code.mdx +35 -0
- package/mintlify-docs/essentials/images.mdx +59 -0
- package/mintlify-docs/essentials/markdown.mdx +88 -0
- package/mintlify-docs/essentials/navigation.mdx +87 -0
- package/mintlify-docs/essentials/reusable-snippets.mdx +110 -0
- package/mintlify-docs/essentials/settings.mdx +318 -0
- package/mintlify-docs/favicon.svg +3 -0
- package/mintlify-docs/frontend/introduction.mdx +39 -0
- package/mintlify-docs/getting-started.mdx +267 -0
- package/mintlify-docs/guides/custom-agent.mdx +608 -0
- package/mintlify-docs/guides/first-agent.mdx +315 -0
- package/mintlify-docs/images/admin_ui.png +0 -0
- package/mintlify-docs/images/contexts.png +0 -0
- package/mintlify-docs/images/create_agents.png +0 -0
- package/mintlify-docs/images/evals.png +0 -0
- package/mintlify-docs/images/graphql.png +0 -0
- package/mintlify-docs/images/graphql_api.png +0 -0
- package/mintlify-docs/images/hero-dark.png +0 -0
- package/mintlify-docs/images/hero-light.png +0 -0
- package/mintlify-docs/images/hero.png +0 -0
- package/mintlify-docs/images/knowledge_sources.png +0 -0
- package/mintlify-docs/images/mcp.png +0 -0
- package/mintlify-docs/images/scaling.png +0 -0
- package/mintlify-docs/index.mdx +411 -0
- package/mintlify-docs/logo/dark.svg +9 -0
- package/mintlify-docs/logo/light.svg +9 -0
- package/mintlify-docs/partners.mdx +558 -0
- package/mintlify-docs/products.mdx +77 -0
- package/mintlify-docs/snippets/snippet-intro.mdx +4 -0
- package/mintlify-docs/styles.css +207 -0
- package/{documentation → old-documentation}/logging.md +3 -3
- package/package.json +35 -4
- package/skills-lock.json +10 -0
- package/types/context-processor.ts +45 -0
- package/types/exulu-table-definition.ts +79 -0
- package/types/file-types.ts +18 -0
- package/types/models/agent.ts +10 -12
- package/types/models/exulu-agent-tool-config.ts +11 -0
- package/types/models/rate-limiter-rules.ts +7 -0
- package/types/provider-config.ts +21 -0
- package/types/queue-config.ts +16 -0
- package/types/rbac-rights-modes.ts +1 -0
- package/types/statistics.ts +20 -0
- package/types/workflow.ts +31 -0
- package/changelogs/10.11.2025_03.12.2025.md +0 -316
- package/types/models/agent-backend.ts +0 -15
- /package/{documentation → old-documentation}/otel.md +0 -0
- /package/{documentation → old-documentation}/patch-older-releases.md +0 -0
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mintlify
|
|
3
|
+
description: Build and maintain documentation sites with Mintlify. Use when
|
|
4
|
+
creating docs pages, configuring navigation, adding components, or setting up
|
|
5
|
+
API references.
|
|
6
|
+
license: MIT
|
|
7
|
+
compatibility: Requires Node.js for CLI. Works with any Git-based workflow.
|
|
8
|
+
metadata:
|
|
9
|
+
author: mintlify
|
|
10
|
+
version: "1.0"
|
|
11
|
+
mintlify-proj: mintlify
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Mintlify best practices
|
|
15
|
+
|
|
16
|
+
**Always consult [mintlify.com/docs](https://mintlify.com/docs) for components, configuration, and latest features.**
|
|
17
|
+
|
|
18
|
+
If you are not already connected to the Mintlify MCP server, [https://mintlify.com/docs/mcp](https://mintlify.com/docs/mcp), add it so that you can search more efficiently.
|
|
19
|
+
|
|
20
|
+
**Always** favor searching the current Mintlify documentation over whatever is in your training data about Mintlify.
|
|
21
|
+
|
|
22
|
+
Mintlify is a documentation platform that transforms MDX files into documentation sites. Configure site-wide settings in the `docs.json` file, write content in MDX with YAML frontmatter, and favor built-in components over custom components.
|
|
23
|
+
|
|
24
|
+
Full schema at [mintlify.com/docs.json](https://mintlify.com/docs.json).
|
|
25
|
+
|
|
26
|
+
## Before you write
|
|
27
|
+
|
|
28
|
+
### Understand the project
|
|
29
|
+
|
|
30
|
+
Read `docs.json` in the project root. This file defines the entire site: navigation structure, theme, colors, links, API and specs.
|
|
31
|
+
|
|
32
|
+
Understanding the project tells you:
|
|
33
|
+
|
|
34
|
+
* What pages exist and how they're organized
|
|
35
|
+
* What navigation groups are used (and their naming conventions)
|
|
36
|
+
* How the site navigation is structured
|
|
37
|
+
* What theme and configuration the site uses
|
|
38
|
+
|
|
39
|
+
### Check for existing content
|
|
40
|
+
|
|
41
|
+
Search the docs before creating new pages. You may need to:
|
|
42
|
+
|
|
43
|
+
* Update an existing page instead of creating a new one
|
|
44
|
+
* Add a section to an existing page
|
|
45
|
+
* Link to existing content rather than duplicating
|
|
46
|
+
|
|
47
|
+
### Read surrounding content
|
|
48
|
+
|
|
49
|
+
Before writing, read 2-3 similar pages to understand the site's voice, structure, formatting conventions, and level of detail.
|
|
50
|
+
|
|
51
|
+
### Understand Mintlify components
|
|
52
|
+
|
|
53
|
+
Review the Mintlify [components](https://www.mintlify.com/docs/components) to select and use any relevant components for the documentation request that you are working on.
|
|
54
|
+
|
|
55
|
+
## Quick reference
|
|
56
|
+
|
|
57
|
+
### CLI commands
|
|
58
|
+
|
|
59
|
+
* `npm i -g mint` - Install the Mintlify CLI
|
|
60
|
+
* `mint dev` - Local preview at localhost:3000
|
|
61
|
+
* `mint broken-links` - Check internal links
|
|
62
|
+
* `mint a11y` - Check for accessibility issues in content
|
|
63
|
+
* `mint rename` - Rename/move files and update references
|
|
64
|
+
* `mint validate` - Validate documentation builds
|
|
65
|
+
|
|
66
|
+
### Required files
|
|
67
|
+
|
|
68
|
+
* `docs.json` - Site configuration (navigation, theme, integrations, etc.). See [global settings](https://mintlify.com/docs/settings/global) for all options.
|
|
69
|
+
* `*.mdx` files - Documentation pages with YAML frontmatter
|
|
70
|
+
|
|
71
|
+
### Example file structure
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
project/
|
|
75
|
+
├── docs.json # Site configuration
|
|
76
|
+
├── introduction.mdx
|
|
77
|
+
├── quickstart.mdx
|
|
78
|
+
├── guides/
|
|
79
|
+
│ └── example.mdx
|
|
80
|
+
├── openapi.yml # API specification
|
|
81
|
+
├── images/ # Static assets
|
|
82
|
+
│ └── example.png
|
|
83
|
+
└── snippets/ # Reusable components
|
|
84
|
+
└── component.jsx
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Page frontmatter
|
|
88
|
+
|
|
89
|
+
Every page requires `title` in its frontmatter. Include `description` for SEO and navigation.
|
|
90
|
+
|
|
91
|
+
```yaml theme={null}
|
|
92
|
+
---
|
|
93
|
+
title: "Clear, descriptive title"
|
|
94
|
+
description: "Concise summary for SEO and navigation."
|
|
95
|
+
---
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Optional frontmatter fields:
|
|
99
|
+
|
|
100
|
+
* `sidebarTitle`: Short title for sidebar navigation.
|
|
101
|
+
* `icon`: Lucide or Font Awesome icon name, URL, or file path.
|
|
102
|
+
* `tag`: Label next to the page title in the sidebar (for example, "NEW").
|
|
103
|
+
* `mode`: Page layout mode (`default`, `wide`, `custom`).
|
|
104
|
+
* `keywords`: Array of terms related to the page content for local search and SEO.
|
|
105
|
+
* Any custom YAML fields for use with personalization or conditional content.
|
|
106
|
+
|
|
107
|
+
## File conventions
|
|
108
|
+
|
|
109
|
+
* Match existing naming patterns in the directory
|
|
110
|
+
* If there are no existing files or inconsistent file naming patterns, use kebab-case: `getting-started.mdx`, `api-reference.mdx`
|
|
111
|
+
* Use root-relative paths without file extensions for internal links: `/getting-started/quickstart`
|
|
112
|
+
* Do not use relative paths (`../`) or absolute URLs for internal pages
|
|
113
|
+
* When you create a new page, add it to `docs.json` navigation or it won't appear in the sidebar
|
|
114
|
+
|
|
115
|
+
## Organize content
|
|
116
|
+
|
|
117
|
+
When a user asks about anything related to site-wide configurations, start by understanding the [global settings](https://www.mintlify.com/docs/organize/settings). See if a setting in the `docs.json` file can be updated to achieve what the user wants.
|
|
118
|
+
|
|
119
|
+
### Navigation
|
|
120
|
+
|
|
121
|
+
The `navigation` property in `docs.json` controls site structure. Choose one primary pattern at the root level, then nest others within it.
|
|
122
|
+
|
|
123
|
+
**Choose your primary pattern:**
|
|
124
|
+
|
|
125
|
+
| Pattern | When to use |
|
|
126
|
+
| ------------- | ---------------------------------------------------------------------------------------------- |
|
|
127
|
+
| **Groups** | Default. Single audience, straightforward hierarchy |
|
|
128
|
+
| **Tabs** | Distinct sections with different audiences (Guides vs API Reference) or content types |
|
|
129
|
+
| **Anchors** | Want persistent section links at sidebar top. Good for separating docs from external resources |
|
|
130
|
+
| **Dropdowns** | Multiple doc sections users switch between, but not distinct enough for tabs |
|
|
131
|
+
| **Products** | Multi-product company with separate documentation per product |
|
|
132
|
+
| **Versions** | Maintaining docs for multiple API/product versions simultaneously |
|
|
133
|
+
| **Languages** | Localized content |
|
|
134
|
+
|
|
135
|
+
**Within your primary pattern:**
|
|
136
|
+
|
|
137
|
+
* **Groups** - Organize related pages. Can nest groups within groups, but keep hierarchy shallow
|
|
138
|
+
* **Menus** - Add dropdown navigation within tabs for quick jumps to specific pages
|
|
139
|
+
* **`expanded: false`** - Collapse nested groups by default. Use for reference sections users browse selectively
|
|
140
|
+
* **`openapi`** - Auto-generate pages from OpenAPI spec. Add at group/tab level to inherit
|
|
141
|
+
|
|
142
|
+
**Common combinations:**
|
|
143
|
+
|
|
144
|
+
* Tabs containing groups (most common for docs with API reference)
|
|
145
|
+
* Products containing tabs (multi-product SaaS)
|
|
146
|
+
* Versions containing tabs (versioned API docs)
|
|
147
|
+
* Anchors containing groups (simple docs with external resource links)
|
|
148
|
+
|
|
149
|
+
### Links and paths
|
|
150
|
+
|
|
151
|
+
* **Internal links:** Root-relative, no extension: `/getting-started/quickstart`
|
|
152
|
+
* **Images:** Store in `/images`, reference as `/images/example.png`
|
|
153
|
+
* **External links:** Use full URLs, they open in new tabs automatically
|
|
154
|
+
|
|
155
|
+
## Customize docs sites
|
|
156
|
+
|
|
157
|
+
**What to customize where:**
|
|
158
|
+
|
|
159
|
+
* **Brand colors, fonts, logo** → `docs.json`. See [global settings](https://mintlify.com/docs/settings/global)
|
|
160
|
+
* **Component styling, layout tweaks** → `custom.css` at project root
|
|
161
|
+
* **Dark mode** → Enabled by default. Only disable with `"appearance": "light"` in `docs.json` if brand requires it
|
|
162
|
+
|
|
163
|
+
Start with `docs.json`. Only add `custom.css` when you need styling that config doesn't support.
|
|
164
|
+
|
|
165
|
+
## Write content
|
|
166
|
+
|
|
167
|
+
### Components
|
|
168
|
+
|
|
169
|
+
The [components overview](https://mintlify.com/docs/components) organizes all components by purpose: structure content, draw attention, show/hide content, document APIs, link to pages, and add visual context. Start there to find the right component.
|
|
170
|
+
|
|
171
|
+
**Common decision points:**
|
|
172
|
+
|
|
173
|
+
| Need | Use |
|
|
174
|
+
| -------------------------- | ----------------------- |
|
|
175
|
+
| Hide optional details | `<Accordion>` |
|
|
176
|
+
| Long code examples | `<Expandable>` |
|
|
177
|
+
| User chooses one option | `<Tabs>` |
|
|
178
|
+
| Linked navigation cards | `<Card>` in `<Columns>` |
|
|
179
|
+
| Sequential instructions | `<Steps>` |
|
|
180
|
+
| Code in multiple languages | `<CodeGroup>` |
|
|
181
|
+
| API parameters | `<ParamField>` |
|
|
182
|
+
| API response fields | `<ResponseField>` |
|
|
183
|
+
|
|
184
|
+
**Callouts by severity:**
|
|
185
|
+
|
|
186
|
+
* `<Note>` - Supplementary info, safe to skip
|
|
187
|
+
* `<Info>` - Helpful context such as permissions
|
|
188
|
+
* `<Tip>` - Recommendations or best practices
|
|
189
|
+
* `<Warning>` - Potentially destructive actions
|
|
190
|
+
* `<Check>` - Success confirmation
|
|
191
|
+
|
|
192
|
+
### Reusable content
|
|
193
|
+
|
|
194
|
+
**When to use snippets:**
|
|
195
|
+
|
|
196
|
+
* Exact content appears on more than one page
|
|
197
|
+
* Complex components you want to maintain in one place
|
|
198
|
+
* Shared content across teams/repos
|
|
199
|
+
|
|
200
|
+
**When NOT to use snippets:**
|
|
201
|
+
|
|
202
|
+
* Slight variations needed per page (leads to complex props)
|
|
203
|
+
|
|
204
|
+
Import snippets with `import { Component } from "/path/to/snippet-name.jsx"`.
|
|
205
|
+
|
|
206
|
+
## Writing standards
|
|
207
|
+
|
|
208
|
+
### Voice and structure
|
|
209
|
+
|
|
210
|
+
* Second-person voice ("you")
|
|
211
|
+
* Active voice, direct language
|
|
212
|
+
* Sentence case for headings ("Getting started", not "Getting Started")
|
|
213
|
+
* Sentence case for code block titles ("Expandable example", not "Expandable Example")
|
|
214
|
+
* Lead with context: explain what something is before how to use it
|
|
215
|
+
* Prerequisites at the start of procedural content
|
|
216
|
+
|
|
217
|
+
### What to avoid
|
|
218
|
+
|
|
219
|
+
**Never use:**
|
|
220
|
+
|
|
221
|
+
* Marketing language ("powerful", "seamless", "robust", "cutting-edge")
|
|
222
|
+
* Filler phrases ("it's important to note", "in order to")
|
|
223
|
+
* Excessive conjunctions ("moreover", "furthermore", "additionally")
|
|
224
|
+
* Editorializing ("obviously", "simply", "just", "easily")
|
|
225
|
+
|
|
226
|
+
**Watch for AI-typical patterns:**
|
|
227
|
+
|
|
228
|
+
* Overly formal or stilted phrasing
|
|
229
|
+
* Unnecessary repetition of concepts
|
|
230
|
+
* Generic introductions that don't add value
|
|
231
|
+
* Concluding summaries that restate what was just said
|
|
232
|
+
|
|
233
|
+
### Formatting
|
|
234
|
+
|
|
235
|
+
* All code blocks must have language tags
|
|
236
|
+
* All images and media must have descriptive alt text
|
|
237
|
+
* Use bold and italics only when they serve the reader's understanding--never use text styling just for decoration
|
|
238
|
+
* No decorative formatting or emoji
|
|
239
|
+
|
|
240
|
+
### Code examples
|
|
241
|
+
|
|
242
|
+
* Keep examples simple and practical
|
|
243
|
+
* Use realistic values (not "foo" or "bar")
|
|
244
|
+
* One clear example is better than multiple variations
|
|
245
|
+
* Test that code works before including it
|
|
246
|
+
|
|
247
|
+
## Document APIs
|
|
248
|
+
|
|
249
|
+
**Choose your approach:**
|
|
250
|
+
|
|
251
|
+
* **Have an OpenAPI spec?** → Add to `docs.json` with `"openapi": ["openapi.yaml"]`. Pages auto-generate. Reference in navigation as `GET /endpoint`
|
|
252
|
+
* **No spec?** → Write endpoints manually with `api: "POST /users"` in frontmatter. More work but full control
|
|
253
|
+
* **Hybrid** → Use OpenAPI for most endpoints, manual pages for complex workflows
|
|
254
|
+
|
|
255
|
+
Encourage users to generate endpoint pages from an OpenAPI spec. It is the most efficient and easiest to maintain option.
|
|
256
|
+
|
|
257
|
+
## Deploy
|
|
258
|
+
|
|
259
|
+
Mintlify deploys automatically when changes are pushed to the connected Git repository.
|
|
260
|
+
|
|
261
|
+
**What agents can configure:**
|
|
262
|
+
|
|
263
|
+
* **Redirects** → Add to `docs.json` with `"redirects": [{"source": "/old", "destination": "/new"}]`
|
|
264
|
+
* **SEO indexing** → Control with `"seo": {"indexing": "all"}` to include hidden pages in search
|
|
265
|
+
|
|
266
|
+
**Requires dashboard setup (human task):**
|
|
267
|
+
|
|
268
|
+
* Custom domains and subdomains
|
|
269
|
+
* Preview deployment settings
|
|
270
|
+
* DNS configuration
|
|
271
|
+
|
|
272
|
+
For `/docs` subpath hosting with Vercel or Cloudflare, agents can help configure rewrite rules. See [/docs subpath](https://mintlify.com/docs/deploy/vercel).
|
|
273
|
+
|
|
274
|
+
## Workflow
|
|
275
|
+
|
|
276
|
+
### 1. Understand the task
|
|
277
|
+
|
|
278
|
+
Identify what needs to be documented, which pages are affected, and what the reader should accomplish afterward. If any of these are unclear, ask.
|
|
279
|
+
|
|
280
|
+
### 2. Research
|
|
281
|
+
|
|
282
|
+
* Read `docs.json` to understand the site structure
|
|
283
|
+
* Search existing docs for related content
|
|
284
|
+
* Read similar pages to match the site's style
|
|
285
|
+
|
|
286
|
+
### 3. Plan
|
|
287
|
+
|
|
288
|
+
* Synthesize what the reader should accomplish after reading the docs and the current content
|
|
289
|
+
* Propose any updates or new content
|
|
290
|
+
* Verify that your proposed changes will help readers be successful
|
|
291
|
+
|
|
292
|
+
### 4. Write
|
|
293
|
+
|
|
294
|
+
* Start with the most important information
|
|
295
|
+
* Keep sections focused and scannable
|
|
296
|
+
* Use components appropriately (don't overuse them)
|
|
297
|
+
* Mark anything uncertain with a TODO comment:
|
|
298
|
+
|
|
299
|
+
```mdx theme={null}
|
|
300
|
+
{/* TODO: Verify the default timeout value */}
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### 5. Update navigation
|
|
304
|
+
|
|
305
|
+
If you created a new page, add it to the appropriate group in `docs.json`.
|
|
306
|
+
|
|
307
|
+
### 6. Verify
|
|
308
|
+
|
|
309
|
+
Before submitting:
|
|
310
|
+
|
|
311
|
+
* [ ] Frontmatter includes title and description
|
|
312
|
+
* [ ] All code blocks have language tags
|
|
313
|
+
* [ ] Internal links use root-relative paths without file extensions
|
|
314
|
+
* [ ] New pages are added to `docs.json` navigation
|
|
315
|
+
* [ ] Content matches the style of surrounding pages
|
|
316
|
+
* [ ] No marketing language or filler phrases
|
|
317
|
+
* [ ] TODOs are clearly marked for anything uncertain
|
|
318
|
+
* [ ] Run `mint broken-links` to check links
|
|
319
|
+
* [ ] Run `mint validate` to find any errors
|
|
320
|
+
|
|
321
|
+
## Edge cases
|
|
322
|
+
|
|
323
|
+
### Migrations
|
|
324
|
+
|
|
325
|
+
If a user asks about migrating to Mintlify, ask if they are using ReadMe or Docusaurus. If they are, use the [@mintlify/scraping](https://www.npmjs.com/package/@mintlify/scraping) CLI to migrate content. If they are using a different platform to host their documentation, help them manually convert their content to MDX pages using Mintlify components.
|
|
326
|
+
|
|
327
|
+
### Hidden pages
|
|
328
|
+
|
|
329
|
+
Any page that is not included in the `docs.json` navigation is hidden. Use hidden pages for content that should be accessible by URL or indexed for the assistant or search, but not discoverable through the sidebar navigation.
|
|
330
|
+
|
|
331
|
+
### Exclude pages
|
|
332
|
+
|
|
333
|
+
The `.mintignore` file is used to exclude files from a documentation repository from being processed.
|
|
334
|
+
|
|
335
|
+
## Common gotchas
|
|
336
|
+
|
|
337
|
+
1. **Component imports** - JSX components need explicit import, MDX components don't
|
|
338
|
+
2. **Frontmatter required** - Every MDX file needs `title` at minimum
|
|
339
|
+
3. **Code block language** - Always specify language identifier
|
|
340
|
+
4. **Never use `mint.json`** - `mint.json` is deprecated. Only ever use `docs.json`
|
|
341
|
+
|
|
342
|
+
## Resources
|
|
343
|
+
|
|
344
|
+
* [Documentation](https://mintlify.com/docs)
|
|
345
|
+
* [Configuration schema](https://mintlify.com/docs.json)
|
|
346
|
+
* [Feature requests](https://github.com/orgs/mintlify/discussions/categories/feature-requests)
|
|
347
|
+
* [Bugs and feedback](https://github.com/orgs/mintlify/discussions/categories/bugs-feedback)
|
package/.editorconfig
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
charset = utf-8
|
|
5
|
+
indent_style = space
|
|
6
|
+
indent_size = 2
|
|
7
|
+
end_of_line = lf
|
|
8
|
+
trim_trailing_whitespace = true
|
|
9
|
+
insert_final_newline = true
|
|
10
|
+
|
|
11
|
+
[*.md]
|
|
12
|
+
trim_trailing_whitespace = false
|
|
13
|
+
|
|
14
|
+
[*.{json,yml,yaml}]
|
|
15
|
+
indent_size = 2
|
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"root": true,
|
|
3
|
+
"parser": "@typescript-eslint/parser",
|
|
4
|
+
"parserOptions": {
|
|
5
|
+
"ecmaVersion": "latest",
|
|
6
|
+
"sourceType": "module",
|
|
7
|
+
"project": "./tsconfig.json"
|
|
8
|
+
},
|
|
9
|
+
"plugins": [
|
|
10
|
+
"@typescript-eslint"
|
|
11
|
+
],
|
|
12
|
+
"extends": [
|
|
13
|
+
"eslint:recommended",
|
|
14
|
+
"plugin:@typescript-eslint/recommended",
|
|
15
|
+
"plugin:@typescript-eslint/recommended-requiring-type-checking"
|
|
16
|
+
],
|
|
17
|
+
"rules": {
|
|
18
|
+
"no-console": "warn",
|
|
19
|
+
"@typescript-eslint/no-unused-vars": [
|
|
20
|
+
"error",
|
|
21
|
+
{
|
|
22
|
+
"argsIgnorePattern": "^_",
|
|
23
|
+
"varsIgnorePattern": "^_"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"@typescript-eslint/explicit-function-return-type": [
|
|
27
|
+
"warn",
|
|
28
|
+
{
|
|
29
|
+
"allowExpressions": true,
|
|
30
|
+
"allowTypedFunctionExpressions": true
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"@typescript-eslint/no-explicit-any": "warn",
|
|
34
|
+
"@typescript-eslint/no-floating-promises": "error",
|
|
35
|
+
"@typescript-eslint/no-misused-promises": "error",
|
|
36
|
+
"@typescript-eslint/await-thenable": "error",
|
|
37
|
+
"@typescript-eslint/no-unnecessary-type-assertion": "warn",
|
|
38
|
+
"@typescript-eslint/prefer-nullish-coalescing": "warn",
|
|
39
|
+
"@typescript-eslint/prefer-optional-chain": "warn",
|
|
40
|
+
"no-unused-expressions": "off",
|
|
41
|
+
"@typescript-eslint/no-unused-expressions": "error",
|
|
42
|
+
"require-await": "off",
|
|
43
|
+
"@typescript-eslint/require-await": "error"
|
|
44
|
+
},
|
|
45
|
+
"ignorePatterns": [
|
|
46
|
+
"dist",
|
|
47
|
+
"node_modules",
|
|
48
|
+
"*.config.js",
|
|
49
|
+
"*.config.cjs",
|
|
50
|
+
"*.config.ts"
|
|
51
|
+
]
|
|
52
|
+
}
|
package/.jscpd.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"threshold": 10,
|
|
3
|
+
"reporters": ["console", "html"],
|
|
4
|
+
"ignore": [
|
|
5
|
+
"**/__tests__/**",
|
|
6
|
+
"**/*.test.ts",
|
|
7
|
+
"**/*.spec.ts",
|
|
8
|
+
"**/node_modules/**",
|
|
9
|
+
"**/dist/**",
|
|
10
|
+
"**/*.d.ts"
|
|
11
|
+
],
|
|
12
|
+
"format": ["typescript", "javascript"],
|
|
13
|
+
"minLines": 5,
|
|
14
|
+
"minTokens": 50,
|
|
15
|
+
"maxLines": 1000,
|
|
16
|
+
"output": "./cpd-report",
|
|
17
|
+
"silent": false
|
|
18
|
+
}
|
package/.prettierignore
ADDED
package/.prettierrc.json
ADDED
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
# [1.47.0](https://github.com/Qventu/exulu-backend/compare/v1.46.1...v1.47.0) (2026-03-11)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Bug Fixes
|
|
5
5
|
|
|
6
|
-
*
|
|
6
|
+
* correct typo in decorators folder and improve development tooling ([d864fa0](https://github.com/Qventu/exulu-backend/commit/d864fa0a2082eb96e4e8160f6b0aa33f6a3f99e2))
|
|
7
|
+
* import errors ([93f48db](https://github.com/Qventu/exulu-backend/commit/93f48dbb8cef4004e540455fcfcd49e4aa9aeb3f))
|
|
8
|
+
* lint errors ([a4fa265](https://github.com/Qventu/exulu-backend/commit/a4fa2651f4d6874952b275ee674b413d5334bc5d))
|
|
9
|
+
* linting errors ([0d8bce8](https://github.com/Qventu/exulu-backend/commit/0d8bce8122fb914055ca21ad3190185febc4b8f3))
|
|
10
|
+
* npm audit vulnerabilities ([95707bc](https://github.com/Qventu/exulu-backend/commit/95707bc909e1c1776ab470d691747dc56e2455ed))
|
|
11
|
+
* prettier ([8e15404](https://github.com/Qventu/exulu-backend/commit/8e154041b9de4b82cf36ef80980329e4a2fae49d))
|
|
12
|
+
* refactor classes.ts into individual modules ([7a71269](https://github.com/Qventu/exulu-backend/commit/7a71269139d59efce4d0ffbd70808e60c3cb26d6))
|
|
13
|
+
* src import references ([e349c30](https://github.com/Qventu/exulu-backend/commit/e349c309bbbb6bab90ead175db4968ea2b20f4aa))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* enterprise edition split and document processing system ([dd39da3](https://github.com/Qventu/exulu-backend/commit/dd39da3eaf3169d5b0906aab5cd65c7cf212f361))
|
|
19
|
+
* licensing and docs update ([1cec6ba](https://github.com/Qventu/exulu-backend/commit/1cec6ba817327ff8dd2090da31660c075b802963))
|