@exulu/backend 1.46.0 → 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.
Files changed (151) hide show
  1. package/.agents/skills/mintlify/SKILL.md +347 -0
  2. package/.editorconfig +15 -0
  3. package/.eslintrc.json +52 -0
  4. package/.jscpd.json +18 -0
  5. package/.prettierignore +5 -0
  6. package/.prettierrc.json +12 -0
  7. package/CHANGELOG.md +11 -4
  8. package/README.md +747 -0
  9. package/SECURITY.md +5 -0
  10. package/dist/index.cjs +12015 -10506
  11. package/dist/index.d.cts +725 -667
  12. package/dist/index.d.ts +725 -667
  13. package/dist/index.js +12034 -10518
  14. package/ee/LICENSE.md +62 -0
  15. package/ee/agentic-retrieval/index.ts +1109 -0
  16. package/ee/documents/THIRD_PARTY_LICENSES/docling.txt +31 -0
  17. package/ee/documents/processing/build_pdf_processor.sh +35 -0
  18. package/ee/documents/processing/chunk_markdown.py +263 -0
  19. package/ee/documents/processing/doc_processor.ts +635 -0
  20. package/ee/documents/processing/pdf_processor.spec +115 -0
  21. package/ee/documents/processing/pdf_to_markdown.py +420 -0
  22. package/ee/documents/processing/requirements.txt +4 -0
  23. package/ee/entitlements.ts +49 -0
  24. package/ee/markdown.ts +686 -0
  25. package/ee/queues/decorator.ts +140 -0
  26. package/ee/queues/queues.ts +156 -0
  27. package/ee/queues/server.ts +6 -0
  28. package/ee/rbac-resolver.ts +51 -0
  29. package/ee/rbac-update.ts +111 -0
  30. package/ee/schemas.ts +347 -0
  31. package/ee/tokenizer.ts +80 -0
  32. package/ee/workers.ts +1423 -0
  33. package/eslint.config.js +88 -0
  34. package/jest.config.ts +25 -0
  35. package/license.md +73 -49
  36. package/mintlify-docs/.mintignore +7 -0
  37. package/mintlify-docs/AGENTS.md +33 -0
  38. package/mintlify-docs/CLAUDE.MD +50 -0
  39. package/mintlify-docs/CONTRIBUTING.md +32 -0
  40. package/mintlify-docs/LICENSE +21 -0
  41. package/mintlify-docs/README.md +55 -0
  42. package/mintlify-docs/ai-tools/claude-code.mdx +43 -0
  43. package/mintlify-docs/ai-tools/cursor.mdx +39 -0
  44. package/mintlify-docs/ai-tools/windsurf.mdx +39 -0
  45. package/mintlify-docs/api-reference/core-types/agent-types.mdx +110 -0
  46. package/mintlify-docs/api-reference/core-types/analytics-types.mdx +95 -0
  47. package/mintlify-docs/api-reference/core-types/configuration-types.mdx +83 -0
  48. package/mintlify-docs/api-reference/core-types/evaluation-types.mdx +106 -0
  49. package/mintlify-docs/api-reference/core-types/job-types.mdx +135 -0
  50. package/mintlify-docs/api-reference/core-types/overview.mdx +73 -0
  51. package/mintlify-docs/api-reference/core-types/prompt-types.mdx +102 -0
  52. package/mintlify-docs/api-reference/core-types/rbac-types.mdx +163 -0
  53. package/mintlify-docs/api-reference/core-types/session-types.mdx +77 -0
  54. package/mintlify-docs/api-reference/core-types/user-management.mdx +112 -0
  55. package/mintlify-docs/api-reference/core-types/workflow-types.mdx +88 -0
  56. package/mintlify-docs/api-reference/core-types.mdx +585 -0
  57. package/mintlify-docs/api-reference/dynamic-types.mdx +851 -0
  58. package/mintlify-docs/api-reference/endpoint/create.mdx +4 -0
  59. package/mintlify-docs/api-reference/endpoint/delete.mdx +4 -0
  60. package/mintlify-docs/api-reference/endpoint/get.mdx +4 -0
  61. package/mintlify-docs/api-reference/endpoint/webhook.mdx +4 -0
  62. package/mintlify-docs/api-reference/introduction.mdx +661 -0
  63. package/mintlify-docs/api-reference/mutations.mdx +1012 -0
  64. package/mintlify-docs/api-reference/openapi.json +217 -0
  65. package/mintlify-docs/api-reference/queries.mdx +1154 -0
  66. package/mintlify-docs/backend/introduction.mdx +218 -0
  67. package/mintlify-docs/changelog.mdx +293 -0
  68. package/mintlify-docs/community-edition.mdx +304 -0
  69. package/mintlify-docs/core/exulu-agent/api-reference.mdx +894 -0
  70. package/mintlify-docs/core/exulu-agent/configuration.mdx +690 -0
  71. package/mintlify-docs/core/exulu-agent/introduction.mdx +552 -0
  72. package/mintlify-docs/core/exulu-app/api-reference.mdx +481 -0
  73. package/mintlify-docs/core/exulu-app/configuration.mdx +319 -0
  74. package/mintlify-docs/core/exulu-app/introduction.mdx +117 -0
  75. package/mintlify-docs/core/exulu-authentication.mdx +810 -0
  76. package/mintlify-docs/core/exulu-chunkers/api-reference.mdx +1011 -0
  77. package/mintlify-docs/core/exulu-chunkers/configuration.mdx +596 -0
  78. package/mintlify-docs/core/exulu-chunkers/introduction.mdx +403 -0
  79. package/mintlify-docs/core/exulu-context/api-reference.mdx +911 -0
  80. package/mintlify-docs/core/exulu-context/configuration.mdx +648 -0
  81. package/mintlify-docs/core/exulu-context/introduction.mdx +394 -0
  82. package/mintlify-docs/core/exulu-database.mdx +811 -0
  83. package/mintlify-docs/core/exulu-default-agents.mdx +545 -0
  84. package/mintlify-docs/core/exulu-eval/api-reference.mdx +772 -0
  85. package/mintlify-docs/core/exulu-eval/configuration.mdx +680 -0
  86. package/mintlify-docs/core/exulu-eval/introduction.mdx +459 -0
  87. package/mintlify-docs/core/exulu-logging.mdx +464 -0
  88. package/mintlify-docs/core/exulu-otel.mdx +670 -0
  89. package/mintlify-docs/core/exulu-queues/api-reference.mdx +648 -0
  90. package/mintlify-docs/core/exulu-queues/configuration.mdx +650 -0
  91. package/mintlify-docs/core/exulu-queues/introduction.mdx +474 -0
  92. package/mintlify-docs/core/exulu-reranker/api-reference.mdx +630 -0
  93. package/mintlify-docs/core/exulu-reranker/configuration.mdx +663 -0
  94. package/mintlify-docs/core/exulu-reranker/introduction.mdx +516 -0
  95. package/mintlify-docs/core/exulu-tool/api-reference.mdx +723 -0
  96. package/mintlify-docs/core/exulu-tool/configuration.mdx +805 -0
  97. package/mintlify-docs/core/exulu-tool/introduction.mdx +539 -0
  98. package/mintlify-docs/core/exulu-variables/api-reference.mdx +699 -0
  99. package/mintlify-docs/core/exulu-variables/configuration.mdx +736 -0
  100. package/mintlify-docs/core/exulu-variables/introduction.mdx +511 -0
  101. package/mintlify-docs/development.mdx +94 -0
  102. package/mintlify-docs/docs.json +248 -0
  103. package/mintlify-docs/enterprise-edition.mdx +538 -0
  104. package/mintlify-docs/essentials/code.mdx +35 -0
  105. package/mintlify-docs/essentials/images.mdx +59 -0
  106. package/mintlify-docs/essentials/markdown.mdx +88 -0
  107. package/mintlify-docs/essentials/navigation.mdx +87 -0
  108. package/mintlify-docs/essentials/reusable-snippets.mdx +110 -0
  109. package/mintlify-docs/essentials/settings.mdx +318 -0
  110. package/mintlify-docs/favicon.svg +3 -0
  111. package/mintlify-docs/frontend/introduction.mdx +39 -0
  112. package/mintlify-docs/getting-started.mdx +267 -0
  113. package/mintlify-docs/guides/custom-agent.mdx +608 -0
  114. package/mintlify-docs/guides/first-agent.mdx +315 -0
  115. package/mintlify-docs/images/admin_ui.png +0 -0
  116. package/mintlify-docs/images/contexts.png +0 -0
  117. package/mintlify-docs/images/create_agents.png +0 -0
  118. package/mintlify-docs/images/evals.png +0 -0
  119. package/mintlify-docs/images/graphql.png +0 -0
  120. package/mintlify-docs/images/graphql_api.png +0 -0
  121. package/mintlify-docs/images/hero-dark.png +0 -0
  122. package/mintlify-docs/images/hero-light.png +0 -0
  123. package/mintlify-docs/images/hero.png +0 -0
  124. package/mintlify-docs/images/knowledge_sources.png +0 -0
  125. package/mintlify-docs/images/mcp.png +0 -0
  126. package/mintlify-docs/images/scaling.png +0 -0
  127. package/mintlify-docs/index.mdx +411 -0
  128. package/mintlify-docs/logo/dark.svg +9 -0
  129. package/mintlify-docs/logo/light.svg +9 -0
  130. package/mintlify-docs/partners.mdx +558 -0
  131. package/mintlify-docs/products.mdx +77 -0
  132. package/mintlify-docs/snippets/snippet-intro.mdx +4 -0
  133. package/mintlify-docs/styles.css +207 -0
  134. package/{documentation → old-documentation}/logging.md +3 -3
  135. package/package.json +35 -4
  136. package/skills-lock.json +10 -0
  137. package/types/context-processor.ts +45 -0
  138. package/types/exulu-table-definition.ts +79 -0
  139. package/types/file-types.ts +18 -0
  140. package/types/models/agent.ts +10 -12
  141. package/types/models/exulu-agent-tool-config.ts +11 -0
  142. package/types/models/rate-limiter-rules.ts +7 -0
  143. package/types/provider-config.ts +21 -0
  144. package/types/queue-config.ts +16 -0
  145. package/types/rbac-rights-modes.ts +1 -0
  146. package/types/statistics.ts +20 -0
  147. package/types/workflow.ts +31 -0
  148. package/changelog-backend-10.11.2025_03.12.2025.md +0 -316
  149. package/types/models/agent-backend.ts +0 -15
  150. /package/{documentation → old-documentation}/otel.md +0 -0
  151. /package/{patch-older-releases-readme.md → old-documentation/patch-older-releases.md} +0 -0
@@ -0,0 +1,88 @@
1
+ import tseslint from '@typescript-eslint/eslint-plugin';
2
+ import tsparser from '@typescript-eslint/parser';
3
+ import js from '@eslint/js';
4
+
5
+ export default [
6
+ {
7
+ ignores: ['dist/**', 'node_modules/**', '*.config.js', '*.config.cjs', '*.config.ts']
8
+ },
9
+ js.configs.recommended,
10
+ {
11
+ files: ['**/*.ts', '**/*.tsx'],
12
+ languageOptions: {
13
+ parser: tsparser,
14
+ parserOptions: {
15
+ ecmaVersion: 'latest',
16
+ sourceType: 'module',
17
+ project: './tsconfig.json'
18
+ },
19
+ globals: {
20
+ console: 'readonly',
21
+ process: 'readonly',
22
+ Buffer: 'readonly',
23
+ setTimeout: 'readonly',
24
+ clearTimeout: 'readonly',
25
+ setInterval: 'readonly',
26
+ clearInterval: 'readonly',
27
+ setImmediate: 'readonly',
28
+ clearImmediate: 'readonly',
29
+ __dirname: 'readonly',
30
+ __filename: 'readonly',
31
+ exports: 'writable',
32
+ module: 'writable',
33
+ require: 'readonly',
34
+ global: 'readonly',
35
+ performance: 'readonly',
36
+ TextDecoder: 'readonly',
37
+ TextEncoder: 'readonly'
38
+ }
39
+ },
40
+ plugins: {
41
+ '@typescript-eslint': tseslint
42
+ },
43
+ rules: {
44
+ ...tseslint.configs.recommended.rules,
45
+ ...tseslint.configs['recommended-requiring-type-checking'].rules,
46
+ 'no-console': 'warn',
47
+ 'no-extra-boolean-cast': 'off',
48
+ 'no-async-promise-executor': 'off',
49
+ 'no-useless-escape': 'off',
50
+ '@typescript-eslint/no-unused-vars': [
51
+ 'error',
52
+ {
53
+ argsIgnorePattern: '^_',
54
+ varsIgnorePattern: '^_',
55
+ args: 'none'
56
+ }
57
+ ],
58
+ '@typescript-eslint/explicit-function-return-type': [
59
+ 'warn',
60
+ {
61
+ allowExpressions: true,
62
+ allowTypedFunctionExpressions: true
63
+ }
64
+ ],
65
+ '@typescript-eslint/no-redundant-type-constituents': 'off',
66
+ '@typescript-eslint/no-explicit-any': 'off',
67
+ '@typescript-eslint/no-floating-promises': 'off',
68
+ '@typescript-eslint/await-thenable': 'off',
69
+ '@typescript-eslint/no-misused-promises': 'off',
70
+ '@typescript-eslint/unbound-method': 'off',
71
+ '@typescript-eslint/no-unnecessary-type-assertion': 'warn',
72
+ '@typescript-eslint/prefer-nullish-coalescing': 'warn',
73
+ '@typescript-eslint/prefer-optional-chain': 'warn',
74
+ 'no-unused-expressions': 'off',
75
+ '@typescript-eslint/no-unused-expressions': 'error',
76
+ 'require-await': 'off',
77
+ 'no-case-declarations': 'off',
78
+ '@typescript-eslint/require-await': 'off',
79
+ 'no-undef': 'off',
80
+ '@typescript-eslint/no-unsafe-call': 'off',
81
+ '@typescript-eslint/no-unsafe-member-access': 'off',
82
+ '@typescript-eslint/no-unsafe-assignment': 'off',
83
+ '@typescript-eslint/no-unsafe-argument': 'off',
84
+ '@typescript-eslint/no-unsafe-return': 'off',
85
+ '@typescript-eslint/ban-types': 'off'
86
+ }
87
+ }
88
+ ];
package/jest.config.ts ADDED
@@ -0,0 +1,25 @@
1
+ import type { Config } from "jest";
2
+
3
+ const config: Config = {
4
+ preset: "ts-jest",
5
+ testEnvironment: "node",
6
+ roots: ["<rootDir>/src"],
7
+ testMatch: ["**/__tests__/**/*.ts", "**/*.test.ts", "**/*.spec.ts"],
8
+ collectCoverageFrom: [
9
+ "src/**/*.ts",
10
+ "!src/**/*.d.ts",
11
+ "!src/**/*.test.ts",
12
+ "!src/**/*.spec.ts",
13
+ "!src/index.ts",
14
+ ],
15
+ coverageDirectory: "coverage",
16
+ coverageReporters: ["text", "lcov", "html"],
17
+ moduleNameMapper: {
18
+ "@EXULU_TYPES/(.*)": "<rootDir>/types/$1",
19
+ },
20
+ setupFilesAfterEnv: ["<rootDir>/src/__tests__/setup.ts"],
21
+ verbose: true,
22
+ testTimeout: 10000,
23
+ };
24
+
25
+ export default config;
package/license.md CHANGED
@@ -1,81 +1,105 @@
1
- # Exulu Software License Agreement
1
+ Copyright (c) 2023-2026 Qventu B.v.
2
2
 
3
- **Version 1.0**
4
- **Effective Date: [Insert Date]**
3
+ Certain portions of this software are licensed as described below:
5
4
 
6
- This Software License Agreement (the **"Agreement"**) is a legal agreement between **Qventu Bv.**, a company registered in the Netherlands with its registered office at **Lindenlaan 30, 6301 EL Valkenburg aan de Geul**, and registered with the Dutch Chamber of Commerce under number **76483894** (hereinafter "**Qventu**"), and the individual or entity installing, copying, accessing, or otherwise using the **Exulu** software (the "**Licensee**").
5
+ - All content located within the "ee" directories of this repository, where applicable, is governed by the license specified in "ee/LICENSE".
6
+ - All third-party components included within the Exulu Software remain subject to the original license provided by the respective component owner.
7
+ - Content that falls outside the directories or restrictions noted above is made available under the "Elastic License 2.0" license, as outlined below.
7
8
 
8
- By installing, copying, or otherwise using the Exulu software (the "**Software**"), Licensee agrees to be bound by the terms of this Agreement.
9
+ ## Partner License for PaaS/SaaS Providers
9
10
 
10
- ---
11
+ Agencies and providers wishing to use this software as a Platform-as-a-Service (PaaS) or Software-as-a-Service (SaaS) solution may inquire about our partner license agreement by contacting us at info@qventu.com.
11
12
 
12
- ## 1. Ownership and Intellectual Property
13
+ Elastic License 2.0
13
14
 
14
- The Software, including all associated intellectual property rights, documentation, and any copies or derivative works, is and shall remain the sole property of **Qventu Bv.**.
15
+ URL: https://www.elastic.co/licensing/elastic-license
15
16
 
16
- Nothing in this Agreement shall be construed as transferring any rights, title, or ownership in or to the Software to the Licensee, except as explicitly set forth herein.
17
+ ## Acceptance
17
18
 
18
- ---
19
+ By using the software, you agree to all of the terms and conditions below.
19
20
 
20
- ## 2. Grant of License
21
+ ## Copyright License
21
22
 
22
- Subject to the terms and conditions of this Agreement, Qventu grants to the Licensee a **non-exclusive, non-transferable, non-sublicensable**, and **revocable license** to use the Software **only while a valid license agreement is in effect** between the Licensee and either:
23
+ The licensor grants you a non-exclusive, royalty-free, worldwide,
24
+ non-sublicensable, non-transferable license to use, copy, distribute, make
25
+ available, and prepare derivative works of the software, in each case subject to
26
+ the limitations and conditions below.
23
27
 
24
- - **Qventu Bv.**, or
25
- - an **official partner** of Qventu Bv., authorized to grant such licenses.
28
+ ## Limitations
26
29
 
27
- ---
30
+ You may not provide the software to third parties as a hosted or managed
31
+ service, where the service provides users with access to any substantial set of
32
+ the features or functionality of the software.
28
33
 
29
- ## 3. License Restrictions
34
+ You may not move, change, disable, or circumvent the license key functionality
35
+ in the software, and you may not remove or obscure any functionality in the
36
+ software that is protected by the license key.
30
37
 
31
- Licensee shall not:
38
+ You may not alter, remove, or obscure any licensing, copyright, or other notices
39
+ of the licensor in the software. Any use of the licensor’s trademarks is subject
40
+ to applicable law.
32
41
 
33
- - Use the Software without an active license agreement as specified in Section 2.
34
- - Distribute, sublicense, lease, rent, lend, or otherwise transfer the Software to any third party.
35
- - Reverse engineer, decompile, or disassemble the Software, except as permitted by applicable law.
36
- - Modify or create derivative works based on the Software unless expressly authorized in writing by Qventu.
42
+ ## Patents
37
43
 
38
- ---
44
+ The licensor grants you a license, under any patent claims the licensor can
45
+ license, or becomes able to license, to make, have made, use, sell, offer for
46
+ sale, import and have imported the software, in each case subject to the
47
+ limitations and conditions in this license. This license does not cover any
48
+ patent claims that you cause to be infringed by modifications or additions to
49
+ the software. If you or your company make any written claim that the software
50
+ infringes or contributes to infringement of any patent, your patent license for
51
+ the software granted under these terms ends immediately. If your company makes
52
+ such a claim, your patent license ends immediately for work on behalf of your
53
+ company.
39
54
 
40
- ## 4. Term and Termination
55
+ ## Notices
41
56
 
42
- This Agreement and the license granted herein shall remain in effect only while there is an active license agreement in place as defined in Section 2.
57
+ You must ensure that anyone who gets a copy of any part of the software from you
58
+ also gets a copy of these terms.
43
59
 
44
- Qventu may terminate this Agreement immediately upon written notice if the Licensee breaches any provision of this Agreement or uses the Software without a valid license.
60
+ If you modify the software, you must include in any modified copies of the
61
+ software prominent notices stating that you have modified the software.
45
62
 
46
- Upon termination, Licensee must immediately cease all use of the Software and destroy all copies in their possession or control.
63
+ ## No Other Rights
47
64
 
48
- ---
65
+ These terms do not imply any licenses other than those expressly granted in
66
+ these terms.
49
67
 
50
- ## 5. Disclaimer of Warranties
68
+ ## Termination
51
69
 
52
- The Software is provided "AS IS" without warranty of any kind, whether express, implied, or statutory, including but not limited to warranties of merchantability, fitness for a particular purpose, and non-infringement.
70
+ If you use the software in violation of these terms, such use is not licensed,
71
+ and your licenses will automatically terminate. If the licensor provides you
72
+ with a notice of your violation, and you cease all violation of this license no
73
+ later than 30 days after you receive that notice, your licenses will be
74
+ reinstated retroactively. However, if you violate these terms after such
75
+ reinstatement, any additional violation of these terms will cause your licenses
76
+ to terminate automatically and permanently.
53
77
 
54
- ---
78
+ ## No Liability
55
79
 
56
- ## 6. Limitation of Liability
80
+ *As far as the law allows, the software comes as is, without any warranty or
81
+ condition, and the licensor will not be liable to you for any damages arising
82
+ out of these terms or the use or nature of the software, under any kind of
83
+ legal claim.*
57
84
 
58
- To the maximum extent permitted by applicable law, in no event shall Qventu be liable for any indirect, incidental, consequential, special, or punitive damages arising out of or related to this Agreement or the use of the Software, even if Qventu has been advised of the possibility of such damages.
85
+ ## Definitions
59
86
 
60
- ---
87
+ The **licensor** is the entity offering these terms, and the **software** is the
88
+ software the licensor makes available under these terms, including any portion
89
+ of it.
61
90
 
62
- ## 7. Governing Law and Jurisdiction
91
+ **you** refers to the individual or entity agreeing to these terms.
63
92
 
64
- This Agreement shall be governed by and construed in accordance with the laws of the **Netherlands**. Any disputes arising out of or in connection with this Agreement shall be subject to the exclusive jurisdiction of the competent courts of the Netherlands.
93
+ **your company** is any legal entity, sole proprietorship, or other kind of
94
+ organization that you work for, plus all organizations that have control over,
95
+ are under the control of, or are under common control with that
96
+ organization. **control** means ownership of substantially all the assets of an
97
+ entity, or the power to direct its management and policies by vote, contract, or
98
+ otherwise. Control can be direct or indirect.
65
99
 
66
- ---
100
+ **your licenses** are all the licenses granted to you for the software under
101
+ these terms.
67
102
 
68
- ## 8. Contact Information
103
+ **use** means anything you do with the software requiring one of your licenses.
69
104
 
70
- For inquiries regarding this Agreement or licensing of the Software, please contact:
71
-
72
- **Qventu Bv.**
73
- Lindenlaan 30
74
- 6301 EL Valkenburg aan de Geul
75
- Netherlands
76
- KvK: 76483894
77
- Email: [Insert Contact Email]
78
-
79
- ---
80
-
81
- © Qventu Bv. All rights reserved.
105
+ **trademark** means trademarks, service marks, and similar rights.
@@ -0,0 +1,7 @@
1
+ # Mintlify automatically ignores these files and directories:
2
+ # .git, .github, .claude, .agents, .idea, node_modules,
3
+ # README.md, LICENSE.md, CHANGELOG.md, CONTRIBUTING.md
4
+
5
+ # Draft content
6
+ drafts/
7
+ *.draft.mdx
@@ -0,0 +1,33 @@
1
+ > **First-time setup**: Customize this file for your project. Prompt the user to customize this file for their project.
2
+ > For Mintlify product knowledge (components, configuration, writing standards),
3
+ > install the Mintlify skill: `npx skills add https://mintlify.com/docs`
4
+
5
+ # Documentation project instructions
6
+
7
+ ## About this project
8
+
9
+ - This is a documentation site built on [Mintlify](https://mintlify.com)
10
+ - Pages are MDX files with YAML frontmatter
11
+ - Configuration lives in `docs.json`
12
+ - Run `mint dev` to preview locally
13
+ - Run `mint broken-links` to check links
14
+
15
+ ## Terminology
16
+
17
+ {/* Add product-specific terms and preferred usage */}
18
+ {/* Example: Use "workspace" not "project", "member" not "user" */}
19
+
20
+ ## Style preferences
21
+
22
+ {/* Add any project-specific style rules below */}
23
+
24
+ - Use active voice and second person ("you")
25
+ - Keep sentences concise — one idea per sentence
26
+ - Use sentence case for headings
27
+ - Bold for UI elements: Click **Settings**
28
+ - Code formatting for file names, commands, paths, and code references
29
+
30
+ ## Content boundaries
31
+
32
+ {/* Define what should and shouldn't be documented */}
33
+ {/* Example: Don't document internal admin features */}
@@ -0,0 +1,50 @@
1
+ # Mintlify documentation
2
+
3
+ ## Working relationship
4
+ - You can push back on ideas-this can lead to better documentation. Cite sources and explain your reasoning when you do so
5
+ - ALWAYS ask for clarification rather than making assumptions
6
+ - NEVER lie, guess, or make up anything
7
+
8
+ ## Project context
9
+ - Format: MDX files with YAML frontmatter
10
+ - Config: docs.json for navigation, theme, settings
11
+ - Components: Mintlify components
12
+
13
+ ## Content strategy
14
+ - Document just enough for user success - not too much, not too little
15
+ - Prioritize accuracy and usability
16
+ - Make content evergreen when possible
17
+ - Search for existing content before adding anything new. Avoid duplication unless it is done for a strategic reason
18
+ - Check existing patterns for consistency
19
+ - Start by making the smallest reasonable changes
20
+
21
+ ## docs.json
22
+
23
+ - Refer to the [docs.json schema](https://mintlify.com/docs.json) when building the docs.json file and site navigation
24
+
25
+ ## Frontmatter requirements for pages
26
+ - title: Clear, descriptive page title
27
+ - description: Concise summary for SEO/navigation
28
+
29
+ ## Writing standards
30
+ - Second-person voice ("you")
31
+ - Prerequisites at start of procedural content
32
+ - Test all code examples before publishing
33
+ - Match style and formatting of existing pages
34
+ - Include both basic and advanced use cases
35
+ - Language tags on all code blocks
36
+ - Alt text on all images
37
+ - Relative paths for internal links
38
+
39
+ ## Git workflow
40
+ - NEVER use --no-verify when committing
41
+ - Ask how to handle uncommitted changes before starting
42
+ - Create a new branch when no clear branch exists for changes
43
+ - Commit frequently throughout development
44
+ - NEVER skip or disable pre-commit hooks
45
+
46
+ ## Do not
47
+ - Skip frontmatter on any MDX file
48
+ - Use absolute URLs for internal links
49
+ - Include untested code examples
50
+ - Make assumptions - always ask for clarification
@@ -0,0 +1,32 @@
1
+ # Contribute to the documentation
2
+
3
+ Thank you for your interest in contributing to our documentation! This guide will help you get started.
4
+
5
+ ## How to contribute
6
+
7
+ ### Option 1: Edit directly on GitHub
8
+
9
+ 1. Navigate to the page you want to edit
10
+ 2. Click the "Edit this file" button (the pencil icon)
11
+ 3. Make your changes and submit a pull request
12
+
13
+ ### Option 2: Local development
14
+
15
+ 1. Fork and clone this repository
16
+ 2. Install the Mintlify CLI: `npm i -g mint`
17
+ 3. Create a branch for your changes
18
+ 4. Make changes
19
+ 5. Navigate to the docs directory (mintlify-docs) and run `mint dev`
20
+ 6. Preview your changes at `http://localhost:3000`
21
+ 7. Commit your changes and submit a pull request
22
+
23
+ For more details on local development, see our [development guide](development.mdx).
24
+
25
+ ## Writing guidelines
26
+
27
+ - **Use active voice**: "Run the command" not "The command should be run"
28
+ - **Address the reader directly**: Use "you" instead of "the user"
29
+ - **Keep sentences concise**: Aim for one idea per sentence
30
+ - **Lead with the goal**: Start instructions with what the user wants to accomplish
31
+ - **Use consistent terminology**: Don't alternate between synonyms for the same concept
32
+ - **Include examples**: Show, don't just tell
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Mintlify
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,55 @@
1
+ # Mintlify Starter Kit
2
+
3
+ Use the starter kit to get your docs deployed and ready to customize.
4
+
5
+ Click the green **Use this template** button at the top of this repo to copy the Mintlify starter kit. The starter kit contains examples with
6
+
7
+ - Guide pages
8
+ - Navigation
9
+ - Customizations
10
+ - API reference pages
11
+ - Use of popular components
12
+
13
+ **[Follow the full quickstart guide](https://starter.mintlify.com/quickstart)**
14
+
15
+ ## AI-assisted writing
16
+
17
+ Set up your AI coding tool to work with Mintlify:
18
+
19
+ ```bash
20
+ npx skills add https://mintlify.com/docs
21
+ ```
22
+
23
+ This command installs Mintlify's documentation skill for your configured AI tools like Claude Code, Cursor, Windsurf, and others. The skill includes component reference, writing standards, and workflow guidance.
24
+
25
+ See the [AI tools guides](/ai-tools) for tool-specific setup.
26
+
27
+ ## Development
28
+
29
+ Install the [Mintlify CLI](https://www.npmjs.com/package/mint) to preview your documentation changes locally. To install, use the following command:
30
+
31
+ ```
32
+ npm i -g mint
33
+ ```
34
+
35
+ Run the following command at the root of your documentation, where your `docs.json` is located:
36
+
37
+ ```
38
+ mint dev
39
+ ```
40
+
41
+ View your local preview at `http://localhost:3000`.
42
+
43
+ ## Publishing changes
44
+
45
+ Install our GitHub app from your [dashboard](https://dashboard.mintlify.com/settings/organization/github-app) to propagate changes from your repo to your deployment. Changes are deployed to production automatically after pushing to the default branch.
46
+
47
+ ## Need help?
48
+
49
+ ### Troubleshooting
50
+
51
+ - If your dev environment isn't running: Run `mint update` to ensure you have the most recent version of the CLI.
52
+ - If a page loads as a 404: Make sure you are running in a folder with a valid `docs.json`.
53
+
54
+ ### Resources
55
+ - [Mintlify documentation](https://mintlify.com/docs)
@@ -0,0 +1,43 @@
1
+ ---
2
+ title: "Claude Code setup"
3
+ description: "Configure Claude Code for your documentation workflow"
4
+ icon: "asterisk"
5
+ ---
6
+
7
+ Set up Claude Code to help you write and maintain your Mintlify documentation.
8
+
9
+ ## Prerequisites
10
+
11
+ - Active Claude subscription (Pro, Max, or API access)
12
+
13
+ ## Setup
14
+
15
+ <Steps>
16
+ <Step title="Install Claude Code">
17
+ ```bash
18
+ npm install -g @anthropic-ai/claude-code
19
+ ```
20
+ </Step>
21
+
22
+ <Step title="Install the Mintlify skill">
23
+ In your docs directory, run:
24
+
25
+ ```bash
26
+ npx skills add https://mintlify.com/docs
27
+ ```
28
+
29
+ This gives Claude Code Mintlify's component reference, writing standards,
30
+ and workflow guidance.
31
+ </Step>
32
+
33
+ <Step title="Customize project instructions">
34
+ Edit `AGENTS.md` in your project root to add project-specific terminology,
35
+ style preferences, and content boundaries.
36
+ </Step>
37
+
38
+ <Step title="Start writing with Claude Code">
39
+ ```bash
40
+ claude
41
+ ```
42
+ </Step>
43
+ </Steps>
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: "Cursor setup"
3
+ description: "Configure Cursor for your documentation workflow"
4
+ icon: "arrow-pointer"
5
+ ---
6
+
7
+ Set up Cursor to help you write and maintain your Mintlify documentation.
8
+
9
+ ## Prerequisites
10
+
11
+ - Cursor editor installed
12
+
13
+ ## Setup
14
+
15
+ <Steps>
16
+ <Step title="Open your docs directory in Cursor">
17
+ Open the root of your documentation repository where `docs.json` is located.
18
+ </Step>
19
+
20
+ <Step title="Install the Mintlify skill">
21
+ In the integrated terminal, run:
22
+
23
+ ```bash
24
+ npx skills add https://mintlify.com/docs
25
+ ```
26
+
27
+ This gives Cursor Mintlify's component reference, writing standards,
28
+ and workflow guidance.
29
+ </Step>
30
+
31
+ <Step title="Customize project instructions">
32
+ Edit `AGENTS.md` in your project root to add project-specific terminology,
33
+ style preferences, and content boundaries.
34
+ </Step>
35
+
36
+ <Step title="Start writing with Cursor">
37
+ Open a file and use Cursor's AI features to draft and edit documentation.
38
+ </Step>
39
+ </Steps>
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: "Windsurf setup"
3
+ description: "Configure Windsurf for your documentation workflow"
4
+ icon: "water"
5
+ ---
6
+
7
+ Set up Windsurf's Cascade AI assistant to help you write and maintain your Mintlify documentation.
8
+
9
+ ## Prerequisites
10
+
11
+ - Windsurf editor installed
12
+
13
+ ## Setup
14
+
15
+ <Steps>
16
+ <Step title="Open your docs directory in Windsurf">
17
+ Open the root of your documentation repository where `docs.json` is located.
18
+ </Step>
19
+
20
+ <Step title="Install the Mintlify skill">
21
+ In the integrated terminal, run:
22
+
23
+ ```bash
24
+ npx skills add https://mintlify.com/docs
25
+ ```
26
+
27
+ This gives Windsurf Mintlify's component reference, writing standards,
28
+ and workflow guidance.
29
+ </Step>
30
+
31
+ <Step title="Customize project instructions">
32
+ Edit `AGENTS.md` in your project root to add project-specific terminology,
33
+ style preferences, and content boundaries.
34
+ </Step>
35
+
36
+ <Step title="Start writing with Cascade">
37
+ Open a file and use Cascade to draft and edit documentation.
38
+ </Step>
39
+ </Steps>