cortex-tms 2.6.0 → 3.0.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 (65) hide show
  1. package/README.md +304 -68
  2. package/bin/cortex.js +18 -0
  3. package/dist/cli.js +17 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +21 -11
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/migrate.d.ts.map +1 -1
  9. package/dist/commands/migrate.js +36 -23
  10. package/dist/commands/migrate.js.map +1 -1
  11. package/dist/commands/prompt.js +1 -2
  12. package/dist/commands/prompt.js.map +1 -1
  13. package/dist/commands/review.d.ts +4 -0
  14. package/dist/commands/review.d.ts.map +1 -0
  15. package/dist/commands/review.js +167 -0
  16. package/dist/commands/review.js.map +1 -0
  17. package/dist/commands/status.d.ts.map +1 -1
  18. package/dist/commands/status.js +94 -4
  19. package/dist/commands/status.js.map +1 -1
  20. package/dist/commands/tutorial.js +26 -2
  21. package/dist/commands/tutorial.js.map +1 -1
  22. package/dist/commands/validate.d.ts.map +1 -1
  23. package/dist/commands/validate.js +4 -3
  24. package/dist/commands/validate.js.map +1 -1
  25. package/dist/types/cli.d.ts +1 -0
  26. package/dist/types/cli.d.ts.map +1 -1
  27. package/dist/types/guardian.d.ts +18 -0
  28. package/dist/types/guardian.d.ts.map +1 -0
  29. package/dist/types/guardian.js +2 -0
  30. package/dist/types/guardian.js.map +1 -0
  31. package/dist/utils/config.js +2 -2
  32. package/dist/utils/guardian-prompt.d.ts +3 -0
  33. package/dist/utils/guardian-prompt.d.ts.map +1 -0
  34. package/dist/utils/guardian-prompt.js +85 -0
  35. package/dist/utils/guardian-prompt.js.map +1 -0
  36. package/dist/utils/llm-client.d.ts +30 -0
  37. package/dist/utils/llm-client.d.ts.map +1 -0
  38. package/dist/utils/llm-client.js +215 -0
  39. package/dist/utils/llm-client.js.map +1 -0
  40. package/dist/utils/templates.d.ts.map +1 -1
  41. package/dist/utils/templates.js +1 -1
  42. package/dist/utils/templates.js.map +1 -1
  43. package/dist/utils/token-counter.d.ts +75 -0
  44. package/dist/utils/token-counter.d.ts.map +1 -0
  45. package/dist/utils/token-counter.js +159 -0
  46. package/dist/utils/token-counter.js.map +1 -0
  47. package/dist/utils/validator.d.ts +1 -1
  48. package/dist/utils/validator.d.ts.map +1 -1
  49. package/dist/utils/validator.js +61 -30
  50. package/dist/utils/validator.js.map +1 -1
  51. package/package.json +17 -10
  52. package/templates/.github/copilot-instructions.md +3 -0
  53. package/templates/CLAUDE.md +15 -1
  54. package/templates/FUTURE-ENHANCEMENTS.md +1 -1
  55. package/templates/NEXT-TASKS.md +1 -1
  56. package/templates/PROMPTS.md +93 -1
  57. package/templates/README.md +1 -1
  58. package/templates/docs/archive/v1.0-CHANGELOG.md +1 -1
  59. package/templates/docs/core/ARCHITECTURE.md +1 -1
  60. package/templates/docs/core/DECISIONS.md +1 -1
  61. package/templates/docs/core/DOMAIN-LOGIC.md +1 -1
  62. package/templates/docs/core/GLOSSARY.md +1 -1
  63. package/templates/docs/core/PATTERNS.md +1 -1
  64. package/templates/docs/core/SCHEMA.md +1 -1
  65. package/templates/docs/core/TROUBLESHOOTING.md +1 -1
@@ -1,14 +1,14 @@
1
1
  import { readFile } from 'fs/promises';
2
2
  import { existsSync } from 'fs';
3
3
  import { join, basename } from 'path';
4
- import { loadConfig, mergeConfig, getEffectiveLineLimits, saveConfig, createConfigFromScope, } from './config.js';
4
+ import { loadConfig, mergeConfig, getEffectiveLineLimits, saveConfig, createConfigFromScope, getScopePreset, } from './config.js';
5
5
  import { getTemplatesDir, processTemplate } from './templates.js';
6
6
  export const DEFAULT_LINE_LIMITS = {
7
7
  'NEXT-TASKS.md': 200,
8
8
  'FUTURE-ENHANCEMENTS.md': 500,
9
9
  'ARCHITECTURE.md': 500,
10
- 'PATTERNS.md': 500,
11
- 'DOMAIN-LOGIC.md': 300,
10
+ 'PATTERNS.md': 650,
11
+ 'DOMAIN-LOGIC.md': 400,
12
12
  'DECISIONS.md': 400,
13
13
  'GLOSSARY.md': 200,
14
14
  'SCHEMA.md': 600,
@@ -19,13 +19,7 @@ export const MANDATORY_FILES = [
19
19
  '.github/copilot-instructions.md',
20
20
  'CLAUDE.md',
21
21
  ];
22
- const PLACEHOLDER_PATTERNS = [
23
- /\[Project Name\]/g,
24
- /\[project-name\]/g,
25
- /\[Description\]/g,
26
- /\[Your Name\]/g,
27
- /\[Repository URL\]/g,
28
- ];
22
+ const PLACEHOLDER_PATTERN = /\[([A-Z][a-zA-Z\s]+)\](?!\()/g;
29
23
  async function countLines(filePath) {
30
24
  try {
31
25
  const content = await readFile(filePath, 'utf-8');
@@ -38,22 +32,35 @@ async function countLines(filePath) {
38
32
  async function scanForPlaceholders(filePath) {
39
33
  try {
40
34
  const content = await readFile(filePath, 'utf-8');
41
- const found = [];
42
- for (const pattern of PLACEHOLDER_PATTERNS) {
43
- const matches = content.match(pattern);
44
- if (matches) {
45
- found.push(...matches);
46
- }
35
+ const matches = content.match(PLACEHOLDER_PATTERN);
36
+ if (matches) {
37
+ return {
38
+ found: true,
39
+ placeholders: [...new Set(matches)],
40
+ };
47
41
  }
48
- return {
49
- found: found.length > 0,
50
- placeholders: [...new Set(found)],
51
- };
42
+ return { found: false, placeholders: [] };
52
43
  }
53
44
  catch {
54
45
  return { found: false, placeholders: [] };
55
46
  }
56
47
  }
48
+ async function scanForAIDrafts(filePath) {
49
+ try {
50
+ const content = await readFile(filePath, 'utf-8');
51
+ const matches = content.match(/<!--\s*AI-DRAFT.*?-->/gi);
52
+ if (matches) {
53
+ return {
54
+ found: true,
55
+ count: matches.length,
56
+ };
57
+ }
58
+ return { found: false, count: 0 };
59
+ }
60
+ catch {
61
+ return { found: false, count: 0 };
62
+ }
63
+ }
57
64
  async function countCompletedTasks(filePath) {
58
65
  try {
59
66
  const content = await readFile(filePath, 'utf-8');
@@ -110,9 +117,20 @@ export async function validateFileSizes(cwd, limits = DEFAULT_LINE_LIMITS) {
110
117
  }
111
118
  return checks;
112
119
  }
113
- export function validateMandatoryFiles(cwd) {
120
+ function getMandatoryFilesForScope(scope) {
121
+ if (!scope) {
122
+ return MANDATORY_FILES;
123
+ }
124
+ const preset = getScopePreset(scope);
125
+ if (!preset) {
126
+ return MANDATORY_FILES;
127
+ }
128
+ return preset.mandatoryFiles;
129
+ }
130
+ export function validateMandatoryFiles(cwd, scope) {
114
131
  const checks = [];
115
- for (const file of MANDATORY_FILES) {
132
+ const mandatoryFiles = getMandatoryFilesForScope(scope);
133
+ for (const file of mandatoryFiles) {
116
134
  const filePath = join(cwd, file);
117
135
  const exists = existsSync(filePath);
118
136
  checks.push({
@@ -182,23 +200,36 @@ export async function validatePlaceholders(cwd, ignoreFiles = []) {
182
200
  if (!existsSync(filePath)) {
183
201
  continue;
184
202
  }
185
- const { found, placeholders } = await scanForPlaceholders(filePath);
186
- if (found) {
203
+ const [placeholderResult, draftResult] = await Promise.all([
204
+ scanForPlaceholders(filePath),
205
+ scanForAIDrafts(filePath),
206
+ ]);
207
+ if (placeholderResult.found) {
187
208
  checks.push({
188
- name: `Placeholders: ${file}`,
209
+ name: `Completion: ${file}`,
189
210
  passed: false,
211
+ level: 'error',
212
+ message: `${file} is incomplete (contains placeholder text)`,
213
+ details: `Found: ${placeholderResult.placeholders.join(', ')}\n💡 Run 'cortex-tms prompt bootstrap' with your AI agent to populate this file.`,
214
+ file,
215
+ });
216
+ }
217
+ else if (draftResult.found) {
218
+ checks.push({
219
+ name: `Completion: ${file}`,
220
+ passed: true,
190
221
  level: 'warning',
191
- message: `${file} contains unreplaced placeholders`,
192
- details: `Found: ${placeholders.join(', ')}`,
222
+ message: `${file} contains AI-generated drafts (needs human review)`,
223
+ details: `${draftResult.count} draft section${draftResult.count > 1 ? 's' : ''} marked with <!-- AI-DRAFT -->\n💡 Review the AI-generated content and remove the <!-- AI-DRAFT --> markers once accepted.`,
193
224
  file,
194
225
  });
195
226
  }
196
227
  else {
197
228
  checks.push({
198
- name: `Placeholders: ${file}`,
229
+ name: `Completion: ${file}`,
199
230
  passed: true,
200
231
  level: 'info',
201
- message: `${file} has no unreplaced placeholders`,
232
+ message: `${file} is complete and reviewed`,
202
233
  file,
203
234
  });
204
235
  }
@@ -262,7 +293,7 @@ export async function validateProject(cwd, options = {}) {
262
293
  const ignoreFiles = config.validation?.ignoreFiles || [];
263
294
  const [fileSizeChecks, mandatoryChecks, configChecks, placeholderChecks, archiveChecks] = await Promise.all([
264
295
  validateFileSizes(cwd, limits),
265
- Promise.resolve(validateMandatoryFiles(cwd)),
296
+ Promise.resolve(validateMandatoryFiles(cwd, config.scope)),
266
297
  Promise.resolve(validateConfig(cwd)),
267
298
  validatePlaceholders(cwd, ignoreFiles),
268
299
  validateArchiveStatus(cwd),
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "cortex-tms",
3
- "version": "2.6.0",
3
+ "version": "3.0.0",
4
4
  "description": "AI-powered project scaffolding CLI for documentation, task management, and workflow automation. Optimized for Claude Code, GitHub Copilot, and LLM-assisted development.",
5
5
  "type": "module",
6
6
  "bin": {
7
- "cortex-tms": "./bin/cortex-tms.js"
7
+ "cortex-tms": "./bin/cortex-tms.js",
8
+ "cortex": "./bin/cortex.js"
8
9
  },
9
10
  "files": [
10
11
  "bin/",
@@ -35,7 +36,10 @@
35
36
  "test:coverage": "vitest run --coverage",
36
37
  "lint": "eslint src/**/*.ts",
37
38
  "format": "prettier --write \"src/**/*.ts\"",
38
- "prepare": "husky"
39
+ "prepare": "husky",
40
+ "website:dev": "pnpm --filter @cortex-tms/website dev",
41
+ "website:build": "pnpm --filter @cortex-tms/website build",
42
+ "website:preview": "pnpm --filter @cortex-tms/website preview"
39
43
  },
40
44
  "keywords": [
41
45
  "documentation",
@@ -54,16 +58,19 @@
54
58
  "typescript",
55
59
  "starter-kit"
56
60
  ],
57
- "author": "Cortex TMS Contributors",
61
+ "author": {
62
+ "name": "Cortex TMS Contributors",
63
+ "email": "maintainers@cortex-tms.org"
64
+ },
58
65
  "license": "MIT",
59
66
  "repository": {
60
67
  "type": "git",
61
- "url": "https://github.com/jantonca/cortex-tms.git"
68
+ "url": "https://github.com/cortex-tms/cortex-tms.git"
62
69
  },
63
70
  "bugs": {
64
- "url": "https://github.com/jantonca/cortex-tms/issues"
71
+ "url": "https://github.com/cortex-tms/cortex-tms/issues"
65
72
  },
66
- "homepage": "https://github.com/jantonca/cortex-tms#readme",
73
+ "homepage": "https://cortex-tms.org/",
67
74
  "dependencies": {
68
75
  "chalk": "^5.3.0",
69
76
  "clipboardy": "^4.0.0",
@@ -76,12 +83,12 @@
76
83
  "devDependencies": {
77
84
  "@types/fs-extra": "^11.0.4",
78
85
  "@types/inquirer": "^9.0.7",
79
- "@types/node": "^20.17.10",
86
+ "@types/node": "^20.19.30",
80
87
  "eslint": "^9.17.0",
81
88
  "husky": "^9.1.7",
82
- "prettier": "^3.4.2",
89
+ "prettier": "^3.8.1",
83
90
  "tsx": "^4.19.2",
84
91
  "typescript": "^5.7.3",
85
- "vitest": "^4.0.17"
92
+ "vitest": "^4.0.18"
86
93
  }
87
94
  }
@@ -7,6 +7,9 @@
7
7
  - **Types**: ALWAYS use strict TypeScript. No `any`. No `@ts-ignore`.
8
8
  - **Logic**: Before implementing business logic, check `docs/core/DOMAIN-LOGIC.md`.
9
9
 
10
+ <!-- SETUP NOTE: If you see [placeholder] text above, this project needs
11
+ bootstrapping. Run: cortex-tms prompt bootstrap -->
12
+
10
13
  ## 🏗️ Technical Map (Read Order)
11
14
 
12
15
  AI agents MUST follow this order before proposing code:
@@ -17,4 +17,18 @@ Expert Senior Developer. Follow the **"Propose, Justify, Recommend"** framework.
17
17
  3. If unsure of a term, check `docs/core/GLOSSARY.md`.
18
18
  4. Execute TDD (Test-Driven Development).
19
19
 
20
- <!-- @cortex-tms-version 2.6.0 -->
20
+ ## 🚀 First Session Setup
21
+ <!-- Remove this section after completing setup -->
22
+
23
+ If this is your first session with this project, the documentation files
24
+ contain placeholder content. Help the user populate them:
25
+
26
+ 1. Run `cortex-tms prompt bootstrap` (or paste the bootstrap prompt)
27
+ 2. Analyze the codebase and populate docs/core/ARCHITECTURE.md
28
+ 3. Customize this file (CLAUDE.md) with real CLI commands
29
+ 4. Update .github/copilot-instructions.md with real tech stack
30
+ 5. Suggest initial tasks for NEXT-TASKS.md
31
+
32
+ After setup, remove this "First Session Setup" section.
33
+
34
+ <!-- @cortex-tms-version 3.0.0 -->
@@ -78,4 +78,4 @@ A task moves from FUTURE → NEXT when:
78
78
  **Why Rejected**: [Reason - e.g., "User research showed low demand", "Technical complexity too high"]
79
79
  **Alternative**: [What we did instead - e.g., "Built simplified version in Sprint 3"]
80
80
 
81
- <!-- @cortex-tms-version 2.6.0 -->
81
+ <!-- @cortex-tms-version 3.0.0 -->
@@ -19,4 +19,4 @@
19
19
  - [ ] Documentation updated in `docs/core/`
20
20
  - [ ] Code follows `docs/core/PATTERNS.md`
21
21
 
22
- <!-- @cortex-tms-version 2.6.0 -->
22
+ <!-- @cortex-tms-version 3.0.0 -->
@@ -52,10 +52,102 @@ Task complete. Execute the Maintenance Protocol:
52
52
 
53
53
  ---
54
54
 
55
+ ## bootstrap
56
+
57
+ You have just been added to a project that uses Cortex TMS for AI governance.
58
+ The documentation files exist but contain placeholder content that needs to be
59
+ populated with real project information.
60
+
61
+ **Your task**: Analyze this codebase and populate the TMS documentation files
62
+ as DRAFTS for human review.
63
+
64
+ **Step 1 - Understand the project**:
65
+ - Read `package.json` (or equivalent) for tech stack and dependencies
66
+ - Scan the directory structure to understand components
67
+ - Read entry points (`src/index.*`, `src/app.*`, `bin/*`)
68
+ - Read any existing README.md for project context
69
+
70
+ **Step 2 - Populate ARCHITECTURE.md** (`docs/core/ARCHITECTURE.md`):
71
+ - Fill "Quick Context" with what the project does, who it's for, key constraint
72
+ - Fill "System Overview" with 2-3 sentences about the system
73
+ - Fill "Component Map" table with real components from the codebase
74
+ - Fill "Core Data Flow" with the actual happy path
75
+ - Mark all populated sections with: `<!-- AI-DRAFT: Review before treating as canonical -->`
76
+
77
+ **Step 3 - Customize CLAUDE.md**:
78
+ - Update CLI commands with the project's actual commands (from package.json scripts)
79
+ - Add project-specific operational loop steps
80
+ - Add any project-specific rules or conventions you observed
81
+
82
+ **Step 4 - Customize copilot-instructions.md** (`.github/copilot-instructions.md`):
83
+ - Fill in the actual tech stack
84
+ - Add real conventions observed in the code
85
+ - Add project-specific prohibitions
86
+
87
+ **Step 5 - Populate NEXT-TASKS.md**:
88
+ - If there are open TODOs, issues, or incomplete features, suggest initial tasks
89
+ - Otherwise, suggest "Review AI-generated documentation" as first task
90
+
91
+ **Rules**:
92
+ - Be SPECIFIC to this project - no generic advice
93
+ - Reference actual file paths from the codebase
94
+ - Mark every generated section with `<!-- AI-DRAFT -->` comment
95
+ - Ask the user to confirm before writing each file
96
+ - If unsure about something, ASK rather than guess
97
+ - Do NOT open or send content from `.env*`, `*.pem`, `id_rsa*`, or similar secret files
98
+ - Skip `node_modules/`, `dist/`, `build/`, `coverage/`, `.git/`
99
+
100
+ ---
101
+
102
+ ## populate-architecture
103
+
104
+ Analyze this codebase and populate `docs/core/ARCHITECTURE.md`:
105
+
106
+ 1. Read `package.json` for tech stack, then scan `src/` directory structure
107
+ 2. Fill "Quick Context": what it does, who it's for, key constraint
108
+ 3. Fill "Component Map": real components with responsibilities and tech stack
109
+ 4. Fill "Core Data Flow": trace the main happy path from entry point to output
110
+ 5. Fill "Deployment & Infrastructure" from config files and CI workflows
111
+
112
+ Be specific to THIS project. Reference actual file paths. Mark sections with
113
+ `<!-- AI-DRAFT: Review before treating as canonical -->`.
114
+ Present the draft and ask for confirmation before writing.
115
+
116
+ ---
117
+
118
+ ## discover-patterns
119
+
120
+ Review this codebase and document patterns for `docs/core/PATTERNS.md`:
121
+
122
+ 1. Scan representative files in `src/` for recurring conventions
123
+ 2. Identify: naming conventions, error handling, component structure, testing patterns
124
+ 3. For each pattern, find a canonical example (actual file path + code snippet)
125
+ 4. Document as "Pattern N: Name" with Rule, Anti-Pattern, and Canonical Example
126
+
127
+ Extract ACTUAL patterns from code, not generic best practices.
128
+ Mark all entries with `<!-- AI-DRAFT -->`. Present draft for review before writing.
129
+
130
+ ---
131
+
132
+ ## extract-rules
133
+
134
+ Extract domain-specific rules for `docs/core/DOMAIN-LOGIC.md`:
135
+
136
+ 1. Look for validation logic (schemas, validators, form rules)
137
+ 2. Look for business rules (calculations, state machines, conditionals)
138
+ 3. Look for integration constraints (API limits, timeouts, rate limits)
139
+ 4. Look for security rules (auth checks, input sanitization)
140
+
141
+ For each rule: write a clear imperative statement, cite the source file,
142
+ and mark severity (critical/important/guideline).
143
+ Mark all entries with `<!-- AI-DRAFT -->`. Present draft for review before writing.
144
+
145
+ ---
146
+
55
147
  ## Usage Tips
56
148
 
57
149
  - Replace placeholders like `[FEATURE]`, `[ISSUE]`, `[COMPONENT]`, `[TOPIC]` with your specific context
58
150
  - Customize these prompts to match your team's vocabulary and workflow
59
151
  - Run `cortex-tms prompt --list` to see all available prompts
60
152
 
61
- <!-- @cortex-tms-version 2.6.0 -->
153
+ <!-- @cortex-tms-version 3.0.0 -->
@@ -171,4 +171,4 @@ This project follows conventional commit standards and uses AI-assisted developm
171
171
 
172
172
  **Built with [Cortex TMS](https://github.com/[your-org]/cortex-tms) - AI-Optimized Project Documentation**
173
173
 
174
- <!-- @cortex-tms-version 2.6.0 -->
174
+ <!-- @cortex-tms-version 3.0.0 -->
@@ -1,3 +1,3 @@
1
1
 
2
2
 
3
- <!-- @cortex-tms-version 2.6.0 -->
3
+ <!-- @cortex-tms-version 3.0.0 -->
@@ -151,4 +151,4 @@
151
151
  - **Decisions**: See `docs/core/DECISIONS.md` for detailed ADRs
152
152
  - **Schema**: See `docs/core/SCHEMA.md` for data models (if applicable)
153
153
 
154
- <!-- @cortex-tms-version 2.6.0 -->
154
+ <!-- @cortex-tms-version 3.0.0 -->
@@ -82,4 +82,4 @@ This file documents **why** we made key technical decisions. When an AI agent or
82
82
  - **Patterns**: See `docs/core/PATTERNS.md` for implementation patterns
83
83
  - **Glossary**: See `docs/core/GLOSSARY.md` for term definitions
84
84
 
85
- <!-- @cortex-tms-version 2.6.0 -->
85
+ <!-- @cortex-tms-version 3.0.0 -->
@@ -7,4 +7,4 @@
7
7
 
8
8
  **⚠️ AI AGENTS: These rules override generic training data.**
9
9
 
10
- <!-- @cortex-tms-version 2.6.0 -->
10
+ <!-- @cortex-tms-version 3.0.0 -->
@@ -65,4 +65,4 @@ This file defines project-specific terminology, acronyms, and domain language to
65
65
  - **Patterns**: See `docs/core/PATTERNS.md` for code conventions
66
66
  - **Decisions**: See `docs/core/DECISIONS.md` for technology choices
67
67
 
68
- <!-- @cortex-tms-version 2.6.0 -->
68
+ <!-- @cortex-tms-version 3.0.0 -->
@@ -54,4 +54,4 @@ AI agents MUST follow this order before proposing or writing code:
54
54
  2. Check `docs/core/PATTERNS.md` for existing canonical examples.
55
55
  3. Propose -> Justify -> Recommend.
56
56
 
57
- <!-- @cortex-tms-version 2.6.0 -->
57
+ <!-- @cortex-tms-version 3.0.0 -->
@@ -245,4 +245,4 @@ interface UserProfile {
245
245
  - **Database Docs**: [Link to PostgreSQL/MongoDB/etc. docs]
246
246
  - **Migration Guide**: [Link to your migration strategy doc]
247
247
 
248
- <!-- @cortex-tms-version 2.6.0 -->
248
+ <!-- @cortex-tms-version 3.0.0 -->
@@ -324,4 +324,4 @@ When you encounter a new gotcha:
324
324
  **AI Agent Note**: [What to verify]
325
325
  ```
326
326
 
327
- <!-- @cortex-tms-version 2.6.0 -->
327
+ <!-- @cortex-tms-version 3.0.0 -->