nori-ai 19.0.2 → 19.0.3

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.
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "permissions": {
3
3
  "allow": [
4
- "Bash(gh pr checks:*)"
4
+ "Bash(gh pr checks:*)",
5
+ "Bash(npm run format:*)",
6
+ "Bash(npm run lint)"
5
7
  ],
6
8
  "deny": [],
7
9
  "ask": []
@@ -37521,7 +37521,7 @@ var PathScurryBase = class {
37521
37521
  *
37522
37522
  * @internal
37523
37523
  */
37524
- constructor(cwd = process.cwd(), pathImpl, sep3, { nocase, childrenCacheSize = 16 * 1024, fs: fs40 = defaultFS } = {}) {
37524
+ constructor(cwd = process.cwd(), pathImpl, sep4, { nocase, childrenCacheSize = 16 * 1024, fs: fs40 = defaultFS } = {}) {
37525
37525
  this.#fs = fsFromOption(fs40);
37526
37526
  if (cwd instanceof URL || cwd.startsWith("file://")) {
37527
37527
  cwd = fileURLToPath2(cwd);
@@ -37532,7 +37532,7 @@ var PathScurryBase = class {
37532
37532
  this.#resolveCache = new ResolveCache();
37533
37533
  this.#resolvePosixCache = new ResolveCache();
37534
37534
  this.#children = new ChildrenCache(childrenCacheSize);
37535
- const split = cwdPath.substring(this.rootPath.length).split(sep3);
37535
+ const split = cwdPath.substring(this.rootPath.length).split(sep4);
37536
37536
  if (split.length === 1 && !split[0]) {
37537
37537
  split.pop();
37538
37538
  }
@@ -41436,6 +41436,103 @@ var getProfileAgentsMd = (args) => {
41436
41436
  };
41437
41437
  var BEGIN_MARKER2 = "# BEGIN NORI-AI MANAGED BLOCK";
41438
41438
  var END_MARKER2 = "# END NORI-AI MANAGED BLOCK";
41439
+ var extractFrontMatter2 = (args) => {
41440
+ const { content } = args;
41441
+ const frontMatterRegex = /^---\n([\s\S]*?)\n---/;
41442
+ const match2 = content.match(frontMatterRegex);
41443
+ if (match2 == null) {
41444
+ return null;
41445
+ }
41446
+ const frontMatter = {};
41447
+ if (match2[1].trim() === "") {
41448
+ return frontMatter;
41449
+ }
41450
+ const lines = match2[1].split("\n");
41451
+ for (const line of lines) {
41452
+ const colonIndex = line.indexOf(":");
41453
+ if (colonIndex === -1) {
41454
+ continue;
41455
+ }
41456
+ const key = line.substring(0, colonIndex).trim();
41457
+ let value = line.substring(colonIndex + 1).trim();
41458
+ if (value.startsWith('"') && value.endsWith('"') || value.startsWith("'") && value.endsWith("'")) {
41459
+ value = value.substring(1, value.length - 1);
41460
+ }
41461
+ frontMatter[key] = value;
41462
+ }
41463
+ return frontMatter;
41464
+ };
41465
+ var findRuleFiles = async (args) => {
41466
+ const { dir } = args;
41467
+ const files = await glob("**/RULE.md", {
41468
+ cwd: dir,
41469
+ absolute: true,
41470
+ nodir: true
41471
+ });
41472
+ return files;
41473
+ };
41474
+ var formatRuleInfo = async (args) => {
41475
+ const { rulePath, installDir } = args;
41476
+ try {
41477
+ const content = await fs31.readFile(rulePath, "utf-8");
41478
+ const frontMatter = extractFrontMatter2({ content });
41479
+ const pathParts = rulePath.split(path31.sep);
41480
+ const ruleMdIndex = pathParts.lastIndexOf("RULE.md");
41481
+ if (ruleMdIndex === -1 || ruleMdIndex === 0) {
41482
+ return null;
41483
+ }
41484
+ const ruleName = pathParts[ruleMdIndex - 1];
41485
+ const installedPath = path31.join(installDir, "rules", ruleName, "RULE.md");
41486
+ let output = `
41487
+ ${installedPath}`;
41488
+ if (frontMatter != null && frontMatter.description != null) {
41489
+ output += `
41490
+ Description: ${frontMatter.description}`;
41491
+ }
41492
+ return output;
41493
+ } catch {
41494
+ return null;
41495
+ }
41496
+ };
41497
+ var generateRulesList = async (args) => {
41498
+ const { installDir } = args;
41499
+ try {
41500
+ const cursorDir = getCursorDir({ installDir });
41501
+ const rulesDir = path31.join(cursorDir, "rules");
41502
+ const ruleFiles = await findRuleFiles({ dir: rulesDir });
41503
+ if (ruleFiles.length === 0) {
41504
+ return "";
41505
+ }
41506
+ const formattedRules = [];
41507
+ for (const file of ruleFiles) {
41508
+ const formatted = await formatRuleInfo({
41509
+ rulePath: file,
41510
+ installDir: cursorDir
41511
+ });
41512
+ if (formatted != null) {
41513
+ formattedRules.push(formatted);
41514
+ }
41515
+ }
41516
+ if (formattedRules.length === 0) {
41517
+ return "";
41518
+ }
41519
+ const usingRulesPath = path31.join(cursorDir, "rules", "using-rules", "RULE.md");
41520
+ const contextMessage = `
41521
+ # Nori Rules System
41522
+
41523
+ You have access to the Nori rules system. Read the full instructions at: ${usingRulesPath}
41524
+
41525
+ ## Available Rules
41526
+
41527
+ Found ${formattedRules.length} rules:${formattedRules.join("")}
41528
+
41529
+ Check if any of these rules are relevant to the user's task. If relevant, use read_file to load the rule before proceeding.
41530
+ `;
41531
+ return contextMessage;
41532
+ } catch {
41533
+ return "";
41534
+ }
41535
+ };
41439
41536
  var insertAgentsMd = async (args) => {
41440
41537
  const { config } = args;
41441
41538
  info({ message: "Configuring AGENTS.md with Nori instructions..." });
@@ -41452,6 +41549,12 @@ var insertAgentsMd = async (args) => {
41452
41549
  content: instructions,
41453
41550
  installDir: cursorDir
41454
41551
  });
41552
+ const rulesList = await generateRulesList({
41553
+ installDir: config.installDir
41554
+ });
41555
+ if (rulesList.length > 0) {
41556
+ instructions = instructions + rulesList;
41557
+ }
41455
41558
  await fs31.mkdir(cursorDir, { recursive: true });
41456
41559
  let content = "";
41457
41560
  try {
@@ -13,7 +13,7 @@ if ! command -v jq >/dev/null 2>&1; then
13
13
  NC='\033[0m'
14
14
 
15
15
  echo -e "${YELLOW}⚠️ Nori statusline requires jq. Install: brew install jq (macOS) or apt install jq (Linux)${NC}"
16
- echo -e "${YELLOW}Augmented with Nori v19.0.2${NC}"
16
+ echo -e "${YELLOW}Augmented with Nori v19.0.3${NC}"
17
17
  exit 0
18
18
  fi
19
19
 
@@ -196,9 +196,9 @@ PROFILE_NAME=$(echo "$INPUT" | jq -r '.profile_name // ""')
196
196
  # Build branding message with upgrade link for free tier
197
197
  if [ "$CONFIG_TIER" = "free" ]; then
198
198
  # OSC 8 hyperlink format: \033]8;;URL\033\\TEXT\033]8;;\033\\
199
- BRANDING="${YELLOW}Augmented with Nori v19.0.2 (\033]8;;https://tilework.tech\033\\upgrade\033]8;;\033\\)${NC}"
199
+ BRANDING="${YELLOW}Augmented with Nori v19.0.3 (\033]8;;https://tilework.tech\033\\upgrade\033]8;;\033\\)${NC}"
200
200
  else
201
- BRANDING="${YELLOW}Augmented with Nori v19.0.2 ${NC}"
201
+ BRANDING="${YELLOW}Augmented with Nori v19.0.3 ${NC}"
202
202
  fi
203
203
 
204
204
  # Array of rotating tips about Nori features
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/features/cursor-agent/profiles/agentsmd/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AAqMzG;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,mBAY5B,CAAC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/features/cursor-agent/profiles/agentsmd/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AA0YzG;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,mBAY5B,CAAC"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import * as fs from "fs/promises";
6
6
  import * as path from "path";
7
+ import { glob } from "glob";
7
8
  import { getAgentProfile } from "../../../../../cli/config.js";
8
9
  import { getCursorDir, getCursorAgentsMdFile, } from "../../../../../cli/features/cursor-agent/paths.js";
9
10
  import { substituteTemplatePaths } from "../../../../../cli/features/cursor-agent/template.js";
@@ -25,6 +26,152 @@ const getProfileAgentsMd = (args) => {
25
26
  // Markers for managed block
26
27
  const BEGIN_MARKER = "# BEGIN NORI-AI MANAGED BLOCK";
27
28
  const END_MARKER = "# END NORI-AI MANAGED BLOCK";
29
+ /**
30
+ * Extract front matter from markdown file content
31
+ * @param args - Function arguments
32
+ * @param args.content - Markdown file content
33
+ *
34
+ * @returns Front matter object or null
35
+ */
36
+ const extractFrontMatter = (args) => {
37
+ const { content } = args;
38
+ const frontMatterRegex = /^---\n([\s\S]*?)\n---/;
39
+ const match = content.match(frontMatterRegex);
40
+ if (match == null) {
41
+ return null;
42
+ }
43
+ const frontMatter = {};
44
+ if (match[1].trim() === "") {
45
+ return frontMatter;
46
+ }
47
+ const lines = match[1].split("\n");
48
+ for (const line of lines) {
49
+ const colonIndex = line.indexOf(":");
50
+ if (colonIndex === -1) {
51
+ continue;
52
+ }
53
+ const key = line.substring(0, colonIndex).trim();
54
+ let value = line.substring(colonIndex + 1).trim();
55
+ // Remove quotes if present
56
+ if ((value.startsWith('"') && value.endsWith('"')) ||
57
+ (value.startsWith("'") && value.endsWith("'"))) {
58
+ value = value.substring(1, value.length - 1);
59
+ }
60
+ frontMatter[key] = value;
61
+ }
62
+ return frontMatter;
63
+ };
64
+ /**
65
+ * Find all RULE.md files in a directory using glob pattern
66
+ *
67
+ * INVARIANT: All rule files MUST be named "RULE.md"
68
+ * If this naming convention changes, this function must be updated.
69
+ *
70
+ * @param args - Function arguments
71
+ * @param args.dir - Directory to search
72
+ *
73
+ * @returns Array of rule file paths
74
+ */
75
+ const findRuleFiles = async (args) => {
76
+ const { dir } = args;
77
+ // Use glob to find all RULE.md files recursively
78
+ const files = await glob("**/RULE.md", {
79
+ cwd: dir,
80
+ absolute: true,
81
+ nodir: true,
82
+ });
83
+ return files;
84
+ };
85
+ /**
86
+ * Format rule information for display in AGENTS.md
87
+ * @param args - Function arguments
88
+ * @param args.rulePath - Path to RULE.md file in installed rules directory
89
+ * @param args.installDir - Custom installation directory (.cursor path)
90
+ *
91
+ * @returns Formatted rule information or null if path doesn't match expected format
92
+ */
93
+ const formatRuleInfo = async (args) => {
94
+ const { rulePath, installDir } = args;
95
+ try {
96
+ const content = await fs.readFile(rulePath, "utf-8");
97
+ const frontMatter = extractFrontMatter({ content });
98
+ // Extract the rule name from the path
99
+ // Path format: .../rules/{rule-name}/RULE.md
100
+ // The rulePath is an absolute path, so we need to extract just the rule directory name
101
+ const pathParts = rulePath.split(path.sep);
102
+ const ruleMdIndex = pathParts.lastIndexOf("RULE.md");
103
+ if (ruleMdIndex === -1 || ruleMdIndex === 0) {
104
+ return null;
105
+ }
106
+ // The rule name is the directory containing RULE.md
107
+ const ruleName = pathParts[ruleMdIndex - 1];
108
+ // Format the installed path based on install directory
109
+ const installedPath = path.join(installDir, "rules", ruleName, "RULE.md");
110
+ let output = `\n${installedPath}`;
111
+ if (frontMatter != null && frontMatter.description != null) {
112
+ output += `\n Description: ${frontMatter.description}`;
113
+ }
114
+ return output;
115
+ }
116
+ catch {
117
+ // If we can't read or parse the rule file, skip it
118
+ return null;
119
+ }
120
+ };
121
+ /**
122
+ * Generate rules list content to embed in AGENTS.md
123
+ *
124
+ * @param args - Function arguments
125
+ * @param args.installDir - Installation directory
126
+ *
127
+ * @returns Formatted rules list markdown (empty string if rules cannot be found)
128
+ */
129
+ const generateRulesList = async (args) => {
130
+ const { installDir } = args;
131
+ try {
132
+ // Get rules directory from installed location
133
+ const cursorDir = getCursorDir({ installDir });
134
+ const rulesDir = path.join(cursorDir, "rules");
135
+ // Find all rule files
136
+ const ruleFiles = await findRuleFiles({ dir: rulesDir });
137
+ if (ruleFiles.length === 0) {
138
+ return "";
139
+ }
140
+ // Format all rules
141
+ const formattedRules = [];
142
+ for (const file of ruleFiles) {
143
+ const formatted = await formatRuleInfo({
144
+ rulePath: file,
145
+ installDir: cursorDir,
146
+ });
147
+ if (formatted != null) {
148
+ formattedRules.push(formatted);
149
+ }
150
+ }
151
+ if (formattedRules.length === 0) {
152
+ return "";
153
+ }
154
+ // Build rules list message with correct path for the install directory
155
+ const usingRulesPath = path.join(cursorDir, "rules", "using-rules", "RULE.md");
156
+ const contextMessage = `
157
+ # Nori Rules System
158
+
159
+ You have access to the Nori rules system. Read the full instructions at: ${usingRulesPath}
160
+
161
+ ## Available Rules
162
+
163
+ Found ${formattedRules.length} rules:${formattedRules.join("")}
164
+
165
+ Check if any of these rules are relevant to the user's task. If relevant, use read_file to load the rule before proceeding.
166
+ `;
167
+ return contextMessage;
168
+ }
169
+ catch {
170
+ // If we can't find or read rules, silently return empty string
171
+ // Installation will continue without rules list
172
+ return "";
173
+ }
174
+ };
28
175
  /**
29
176
  * Insert or update AGENTS.md with nori instructions in a managed block
30
177
  * @param args - Configuration arguments
@@ -50,6 +197,13 @@ const insertAgentsMd = async (args) => {
50
197
  content: instructions,
51
198
  installDir: cursorDir,
52
199
  });
200
+ // Generate and append rules list
201
+ const rulesList = await generateRulesList({
202
+ installDir: config.installDir,
203
+ });
204
+ if (rulesList.length > 0) {
205
+ instructions = instructions + rulesList;
206
+ }
53
207
  // Create .cursor directory if it doesn't exist
54
208
  await fs.mkdir(cursorDir, { recursive: true });
55
209
  // Read existing content or start with empty string
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../../../../src/cli/features/cursor-agent/profiles/agentsmd/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAMhD;;;;;;;;GAQG;AACH,MAAM,kBAAkB,GAAG,CAAC,IAG3B,EAAU,EAAE;IACX,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACzC,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,4BAA4B;AAC5B,MAAM,YAAY,GAAG,+BAA+B,CAAC;AACrD,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAEjD;;;;GAIG;AACH,MAAM,cAAc,GAAG,KAAK,EAAE,IAAwB,EAAiB,EAAE;IACvE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,IAAI,CAAC,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC,CAAC;IAErE,kEAAkE;IAClE,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,YAAY,EAAE,WAAW,IAAI,MAAM,CAAC;IAExD,6BAA6B;IAC7B,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,qBAAqB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAE9E,2CAA2C;IAC3C,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;QAC7C,WAAW;QACX,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;IACH,IAAI,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAEnE,wEAAwE;IACxE,YAAY,GAAG,uBAAuB,CAAC;QACrC,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,SAAS;KACtB,CAAC,CAAC;IAEH,+CAA+C;IAC/C,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,mDAAmD;IACnD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,qCAAqC;IACvC,CAAC;IAED,wCAAwC;IACxC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,iCAAiC;QACjC,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,GAAG,YAAY,iBAAiB,UAAU,KAAK,EAC/C,GAAG,CACJ,CAAC;QACF,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,KAAK,EACL,GAAG,YAAY,KAAK,YAAY,KAAK,UAAU,IAAI,CACpD,CAAC;QACF,IAAI,CAAC,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,2BAA2B;QAC3B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,YAAY,KAAK,UAAU,IAAI,CAAC;QACtE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,EAAE,6BAA6B,YAAY,EAAE,EAAE,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,cAAc,GAAG,KAAK,EAAE,IAAwB,EAAiB,EAAE;IACvE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,qBAAqB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAE9E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEzD,gCAAgC;QAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,MAAM,YAAY,iBAAiB,UAAU,KAAK,EAClD,GAAG,CACJ,CAAC;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE3C,4CAA4C;QAC5C,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO,CAAC,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC;gBACN,OAAO,EAAE,6DAA6D;aACvE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,QAAQ,GAAG,KAAK,EAAE,IAEvB,EAA6B,EAAE;IAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAG,qBAAqB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAE9E,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CACT,gEAAgE,CACjE,CAAC;QACF,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,qBAAqB;YAC9B,MAAM;SACP,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC7B,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,0BAA0B;YACnC,MAAM;SACP,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CACT,iEAAiE,CAClE,CAAC;QACF,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,4BAA4B;YACrC,MAAM;SACP,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAwB;IACjD,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,4CAA4C;IACzD,OAAO,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE;QAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,SAAS,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE;QAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,QAAQ;CACT,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../../../../src/cli/features/cursor-agent/profiles/agentsmd/loader.ts"],"names":[],"mappings":"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"}
@@ -151,5 +151,104 @@ describe("cursor-agent agentsmd loader", () => {
151
151
  expect(result.errors).toBeDefined();
152
152
  });
153
153
  });
154
+ describe("rules list generation", () => {
155
+ test("includes Nori Rules System section when rules exist", async () => {
156
+ const config = createConfig();
157
+ // Create rules directory with a rule
158
+ const rulesDir = path.join(testInstallDir, ".cursor", "rules");
159
+ const ruleDir = path.join(rulesDir, "test-rule");
160
+ await fs.mkdir(ruleDir, { recursive: true });
161
+ await fs.writeFile(path.join(ruleDir, "RULE.md"), "---\ndescription: A test rule for testing\nalwaysApply: false\n---\n\n# Test Rule\n\nContent here.");
162
+ await agentsMdLoader.install({ config });
163
+ const agentsMdPath = path.join(testInstallDir, "AGENTS.md");
164
+ const content = await fs.readFile(agentsMdPath, "utf-8");
165
+ expect(content).toContain("# Nori Rules System");
166
+ expect(content).toContain("## Available Rules");
167
+ });
168
+ test("includes rule count in rules list", async () => {
169
+ const config = createConfig();
170
+ // Create rules directory with two rules
171
+ const rulesDir = path.join(testInstallDir, ".cursor", "rules");
172
+ const rule1Dir = path.join(rulesDir, "rule-one");
173
+ await fs.mkdir(rule1Dir, { recursive: true });
174
+ await fs.writeFile(path.join(rule1Dir, "RULE.md"), "---\ndescription: First rule\nalwaysApply: false\n---\n\n# Rule One");
175
+ const rule2Dir = path.join(rulesDir, "rule-two");
176
+ await fs.mkdir(rule2Dir, { recursive: true });
177
+ await fs.writeFile(path.join(rule2Dir, "RULE.md"), "---\ndescription: Second rule\nalwaysApply: false\n---\n\n# Rule Two");
178
+ await agentsMdLoader.install({ config });
179
+ const agentsMdPath = path.join(testInstallDir, "AGENTS.md");
180
+ const content = await fs.readFile(agentsMdPath, "utf-8");
181
+ expect(content).toContain("Found 2 rules:");
182
+ });
183
+ test("includes rule paths and descriptions", async () => {
184
+ const config = createConfig();
185
+ // Create rules directory with a rule
186
+ const rulesDir = path.join(testInstallDir, ".cursor", "rules");
187
+ const ruleDir = path.join(rulesDir, "my-awesome-rule");
188
+ await fs.mkdir(ruleDir, { recursive: true });
189
+ await fs.writeFile(path.join(ruleDir, "RULE.md"), "---\ndescription: This is an awesome rule for awesome things\nalwaysApply: false\n---\n\n# My Awesome Rule");
190
+ await agentsMdLoader.install({ config });
191
+ const agentsMdPath = path.join(testInstallDir, "AGENTS.md");
192
+ const content = await fs.readFile(agentsMdPath, "utf-8");
193
+ // Should include the rule path
194
+ expect(content).toContain("my-awesome-rule/RULE.md");
195
+ // Should include the description
196
+ expect(content).toContain("This is an awesome rule for awesome things");
197
+ });
198
+ test("includes reference to using-rules intro file", async () => {
199
+ const config = createConfig();
200
+ // Create rules directory with using-rules and another rule
201
+ const rulesDir = path.join(testInstallDir, ".cursor", "rules");
202
+ const usingRulesDir = path.join(rulesDir, "using-rules");
203
+ await fs.mkdir(usingRulesDir, { recursive: true });
204
+ await fs.writeFile(path.join(usingRulesDir, "RULE.md"), "---\ndescription: How to use rules\nalwaysApply: false\n---\n\n# Using Rules");
205
+ const otherRuleDir = path.join(rulesDir, "other-rule");
206
+ await fs.mkdir(otherRuleDir, { recursive: true });
207
+ await fs.writeFile(path.join(otherRuleDir, "RULE.md"), "---\ndescription: Other rule\nalwaysApply: false\n---\n\n# Other");
208
+ await agentsMdLoader.install({ config });
209
+ const agentsMdPath = path.join(testInstallDir, "AGENTS.md");
210
+ const content = await fs.readFile(agentsMdPath, "utf-8");
211
+ // Should reference the using-rules intro file
212
+ expect(content).toContain("using-rules/RULE.md");
213
+ });
214
+ test("handles missing rules directory gracefully", async () => {
215
+ const config = createConfig();
216
+ // Don't create any rules directory
217
+ await agentsMdLoader.install({ config });
218
+ const agentsMdPath = path.join(testInstallDir, "AGENTS.md");
219
+ const content = await fs.readFile(agentsMdPath, "utf-8");
220
+ // Should still create AGENTS.md with profile content
221
+ expect(content).toContain("Amol Profile");
222
+ // Should not have rules system section
223
+ expect(content).not.toContain("# Nori Rules System");
224
+ });
225
+ test("handles empty rules directory gracefully", async () => {
226
+ const config = createConfig();
227
+ // Create empty rules directory
228
+ const rulesDir = path.join(testInstallDir, ".cursor", "rules");
229
+ await fs.mkdir(rulesDir, { recursive: true });
230
+ await agentsMdLoader.install({ config });
231
+ const agentsMdPath = path.join(testInstallDir, "AGENTS.md");
232
+ const content = await fs.readFile(agentsMdPath, "utf-8");
233
+ // Should still create AGENTS.md with profile content
234
+ expect(content).toContain("Amol Profile");
235
+ // Should not have rules system section when no rules exist
236
+ expect(content).not.toContain("# Nori Rules System");
237
+ });
238
+ test("handles rule without front matter", async () => {
239
+ const config = createConfig();
240
+ // Create rules directory with a rule that has no front matter
241
+ const rulesDir = path.join(testInstallDir, ".cursor", "rules");
242
+ const ruleDir = path.join(rulesDir, "no-frontmatter-rule");
243
+ await fs.mkdir(ruleDir, { recursive: true });
244
+ await fs.writeFile(path.join(ruleDir, "RULE.md"), "# Rule Without Frontmatter\n\nJust content, no YAML.");
245
+ await agentsMdLoader.install({ config });
246
+ const agentsMdPath = path.join(testInstallDir, "AGENTS.md");
247
+ const content = await fs.readFile(agentsMdPath, "utf-8");
248
+ // Should still include the rule (path at minimum)
249
+ expect(content).toContain("# Nori Rules System");
250
+ expect(content).toContain("no-frontmatter-rule/RULE.md");
251
+ });
252
+ });
154
253
  });
155
254
  //# sourceMappingURL=loader.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.test.js","sourceRoot":"","sources":["../../../../../../../src/cli/features/cursor-agent/profiles/agentsmd/loader.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AAIzF,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,IAAI,cAAsB,CAAC;IAE3B,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,cAAc,GAAG,MAAM,EAAE,CAAC,OAAO,CAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAC7C,CAAC;QAEF,4EAA4E;QAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAClC,kDAAkD,CACnD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,YAA6B,EAAE,EAAU,EAAE,CAAC,CAAC;QACjE,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QAChE,GAAG,SAAS;KACb,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC5B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;YAC3B,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAE9B,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC5D,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAE9B,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAEzD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;YAC3D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAE9B,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAEzD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAE9B,kDAAkD;YAClD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,EACtC,oDAAoD,CACrD,CAAC;YAEF,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAEzD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;YACvD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAE9B,gBAAgB;YAChB,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzC,yBAAyB;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,cAAc,EACd,SAAS,EACT,UAAU,EACV,MAAM,CACP,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAClC,wCAAwC,CACzC,CAAC;YAEF,YAAY;YACZ,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAEzD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;YAClD,qCAAqC;YACrC,MAAM,gBAAgB,GAAG,CACvB,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE,CACtD,CAAC,MAAM,CAAC;YACT,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAE9B,2DAA2D;YAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAC/B,cAAc,EACd,SAAS,EACT,UAAU,EACV,MAAM,EACN,WAAW,CACZ,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAChB,eAAe,EACf,kDAAkD,CACnD,CAAC;YAEF,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAEzD,yDAAyD;YACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACvE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAE9B,gBAAgB;YAChB,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzC,iBAAiB;YACjB,MAAM,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAE3C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAE5D,4DAA4D;YAC5D,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACzD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;gBAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;YAC/D,CAAC;YAAC,MAAM,CAAC;gBACP,0CAA0C;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAE9B,kDAAkD;YAClD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,EACtC,oDAAoD,CACrD,CAAC;YAEF,+BAA+B;YAC/B,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzC,oCAAoC;YACpC,MAAM,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAE3C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAEzD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAE9B,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAE9B,yCAAyC;YACzC,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,EACtC,sCAAsC,CACvC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"loader.test.js","sourceRoot":"","sources":["../../../../../../../src/cli/features/cursor-agent/profiles/agentsmd/loader.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nori-ai",
3
- "version": "19.0.2",
3
+ "version": "19.0.3",
4
4
  "keywords": [
5
5
  "claude code",
6
6
  "claude",