@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.
- 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 +11 -4
- package/README.md +747 -0
- package/SECURITY.md +5 -0
- package/dist/index.cjs +12015 -10506
- package/dist/index.d.cts +725 -667
- package/dist/index.d.ts +725 -667
- package/dist/index.js +12034 -10518
- 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/changelog-backend-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/{patch-older-releases-readme.md → old-documentation/patch-older-releases.md} +0 -0
package/eslint.config.js
ADDED
|
@@ -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
|
-
|
|
1
|
+
Copyright (c) 2023-2026 Qventu B.v.
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
**Effective Date: [Insert Date]**
|
|
3
|
+
Certain portions of this software are licensed as described below:
|
|
5
4
|
|
|
6
|
-
|
|
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
|
-
|
|
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
|
-
|
|
13
|
+
Elastic License 2.0
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
URL: https://www.elastic.co/licensing/elastic-license
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
## Acceptance
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
By using the software, you agree to all of the terms and conditions below.
|
|
19
20
|
|
|
20
|
-
##
|
|
21
|
+
## Copyright License
|
|
21
22
|
|
|
22
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
55
|
+
## Notices
|
|
41
56
|
|
|
42
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
68
|
+
## Termination
|
|
51
69
|
|
|
52
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
91
|
+
**you** refers to the individual or entity agreeing to these terms.
|
|
63
92
|
|
|
64
|
-
|
|
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
|
-
|
|
103
|
+
**use** means anything you do with the software requiring one of your licenses.
|
|
69
104
|
|
|
70
|
-
|
|
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,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>
|