@trackunit/iris-app 2.2.24 → 2.2.26-alpha-288640a1f26.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/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 2.2.25 (2026-07-30)
2
+
3
+ This was a version bump only for iris-app to align it with other projects, there were no code changes.
4
+
1
5
  ## 2.2.24 (2026-07-29)
2
6
 
3
7
  ### 🧱 Updated Dependencies
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/iris-app",
3
- "version": "2.2.24",
3
+ "version": "2.2.26-alpha-288640a1f26.0",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "main": "src/index.js",
6
6
  "generators": "./generators.json",
@@ -18,18 +18,18 @@
18
18
  "ts-morph": "^20.0.0",
19
19
  "@phenomnomnominal/tsquery": "^6.1.3",
20
20
  "typescript": "6.0.2",
21
- "@nx/js": "22.7.5",
22
- "@nx/eslint": "22.7.5",
23
- "@nx/react": "22.7.5",
21
+ "@nx/js": "23.1.0",
22
+ "@nx/eslint": "23.1.0",
23
+ "@nx/react": "23.1.0",
24
24
  "@npmcli/arborist": "^9.1.9",
25
25
  "win-ca": "^3.5.1",
26
- "@trackunit/shared-utils": "1.15.85",
27
- "@trackunit/iris-app-api": "2.1.23",
26
+ "@trackunit/shared-utils": "1.15.86-alpha-288640a1f26.0",
27
+ "@trackunit/iris-app-api": "2.1.24-alpha-288640a1f26.0",
28
28
  "tslib": "^2.6.2",
29
29
  "@clack/prompts": "^1.0.0",
30
30
  "@npm/types": "^1.0.2",
31
- "@nx/devkit": "22.7.5",
32
- "nx": "22.7.5"
31
+ "@nx/devkit": "23.1.0",
32
+ "nx": "23.1.0"
33
33
  },
34
34
  "migrations": "./migrations.json",
35
35
  "types": "./src/index.d.ts",
@@ -11,7 +11,7 @@ nx g @trackunit/iris-app:ai-agent-sync
11
11
  ## What it syncs
12
12
 
13
13
  - `.agents/skills/` - AI agent skills for the IrisX App SDK (editor-agnostic)
14
- - `.cursor/mcp.json` - Cursor-specific MCP configuration
14
+ - `.mcp.json` - project-scoped MCP configuration for coding agents
15
15
  - `AGENTS.md` - Workspace-level agent instructions (always applied)
16
16
  - `CLAUDE.md` - Claude-specific configuration (references AGENTS.md)
17
17
 
@@ -75,8 +75,9 @@ async function aiAgentSyncGenerator(tree, options) {
75
75
  `Then run this generator again.`);
76
76
  }
77
77
  }
78
- // Clean up old .cursor/rules and .cursor/commands files that were managed by previous versions
78
+ // Clean up old .cursor files that were managed by previous versions.
79
79
  const oldManagedFiles = [
80
+ ".cursor/mcp.json",
80
81
  ".cursor/rules/irisx-app-sdk.mdc",
81
82
  ".cursor/rules/rules-index.mdc",
82
83
  ".cursor/rules/structured-development.mdc",
@@ -94,12 +95,9 @@ async function aiAgentSyncGenerator(tree, options) {
94
95
  tree.delete(file);
95
96
  }
96
97
  }
97
- // Copy Cursor-specific configuration (mcp.json)
98
- const cursorTemplatePath = path.join(__dirname, "../preset/files/.cursor");
99
- (0, devkit_1.generateFiles)(tree, cursorTemplatePath, ".cursor", {});
100
- // Copy agent skills (editor-agnostic)
101
- const agentsTemplatePath = path.join(__dirname, "../preset/files/.agents");
102
- (0, devkit_1.generateFiles)(tree, agentsTemplatePath, ".agents", {});
98
+ // Copy MCP configuration and agent skills shared with the preset generator.
99
+ const managedFilesTemplatePath = path.join(__dirname, "../preset/files");
100
+ (0, devkit_1.generateFiles)(tree, managedFilesTemplatePath, ".", {});
103
101
  // Copy AGENTS.md and CLAUDE.md to workspace root
104
102
  const rootTemplatePath = path.join(__dirname, "../preset/root-files");
105
103
  (0, devkit_1.generateFiles)(tree, rootTemplatePath, ".", {});
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IrisAppGenerator = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nx/devkit");
6
- const get_npm_scope_1 = require("@nx/js/src/utils/package-json/get-npm-scope");
6
+ const internal_1 = require("@nx/js/internal");
7
7
  const pacote = tslib_1.__importStar(require("pacote"));
8
8
  const path = tslib_1.__importStar(require("path"));
9
9
  function normalizeOptions(tree, options) {
@@ -11,7 +11,7 @@ function normalizeOptions(tree, options) {
11
11
  const projectDirectory = options.directory ? path.join(options.directory, name) : name;
12
12
  const toNxRoot = `../../${projectDirectory.indexOf("/") !== -1 ? "../" : ""}`;
13
13
  const projectName = name.replace(new RegExp("/", "g"), "_");
14
- const npmScope = (0, get_npm_scope_1.getNpmScope)(tree);
14
+ const npmScope = (0, internal_1.getNpmScope)(tree);
15
15
  if (!npmScope) {
16
16
  throw new Error("Could not find npm scope in package.json");
17
17
  }
@@ -83,11 +83,11 @@ const IrisAppGenerator = async function (tree, options) {
83
83
  "single-spa-react": "5.1.4",
84
84
  }, {
85
85
  ...tuDevDependencies,
86
- nx: "22.7.5",
87
- "@nx/react": "22.7.5",
88
- "@nx/workspace": "22.7.5",
89
- "@nx/devkit": "22.7.5",
90
- "@nx/eslint-plugin": "22.7.5",
86
+ nx: "23.1.0",
87
+ "@nx/react": "23.1.0",
88
+ "@nx/workspace": "23.1.0",
89
+ "@nx/devkit": "23.1.0",
90
+ "@nx/eslint-plugin": "23.1.0",
91
91
  "@types/react": "19.0.8",
92
92
  eslint: "9.33.0",
93
93
  "eslint-plugin-react-hooks": "7.0.1",
@@ -12,10 +12,10 @@ exports.spaDependencies = {
12
12
  "single-spa-react": "5.1.4",
13
13
  };
14
14
  exports.testDependencies = {
15
- "@nx/jest": "22.7.5",
15
+ "@nx/jest": "23.1.0",
16
16
  "@testing-library/react": "16.2.0",
17
17
  "@testing-library/dom": "^10.4.0",
18
- jest: "30.0.5",
18
+ jest: "30.3.0",
19
19
  "jest-environment-jsdom": "30.0.5",
20
20
  "jest-transform-stub": "^2.0.0",
21
21
  "jest-fetch-mock": "^3.0.3",
@@ -6,7 +6,7 @@ const tslib_1 = require("tslib");
6
6
  const devkit_1 = require("@nx/devkit");
7
7
  const eslint_1 = require("@nx/eslint");
8
8
  const js_1 = require("@nx/js");
9
- const get_npm_scope_1 = require("@nx/js/src/utils/package-json/get-npm-scope");
9
+ const internal_1 = require("@nx/js/internal");
10
10
  const react_1 = require("@nx/react");
11
11
  const iris_app_api_1 = require("@trackunit/iris-app-api");
12
12
  const fs = tslib_1.__importStar(require("fs"));
@@ -24,7 +24,7 @@ function normalizeOptions(tree, options) {
24
24
  const projectRoot = `${wsLayout.libsDir}/${projectDirectory}`;
25
25
  const sourceRoot = `${wsLayout.libsDir}/${projectDirectory}/src`;
26
26
  const dependencyDefinitionFile = `${wsLayout.libsDir}/${projectDirectory}/package.json`;
27
- const npmScope = (0, get_npm_scope_1.getNpmScope)(tree);
27
+ const npmScope = (0, internal_1.getNpmScope)(tree);
28
28
  if (!npmScope) {
29
29
  throw new Error("Could not find npm scope in package.json");
30
30
  }
@@ -104,6 +104,10 @@ const IrisAppExtensionGenerator = async function (tree, options) {
104
104
  style: "none",
105
105
  skipFormat: false,
106
106
  strict: true,
107
+ // Nx 23 warns that "jest" emits the deprecated @nx/jest:jest target, but unlike
108
+ // createSubgraph this generator has no jest.config/tsconfig.spec templates of its
109
+ // own and updates the generated tsconfig.spec.json below. Switching to "none"
110
+ // requires shipping those templates first.
107
111
  unitTestRunner: "jest",
108
112
  linter: eslint_1.Linter.EsLint,
109
113
  routing: false,
@@ -26,11 +26,12 @@ Before browser testing, verify the MCP is available:
26
26
  If Chrome DevTools MCP is not available:
27
27
 
28
28
  1. **Install the MCP server** - Guide the user to install `chrome-devtools-mcp`
29
- 2. **Configure in Cursor** - Add the server to `.cursor/mcp.json`:
29
+ 2. **Configure the coding agent** - Add the server to `.mcp.json` at the workspace root:
30
30
  ```json
31
31
  {
32
32
  "mcpServers": {
33
33
  "chrome-devtools": {
34
+ "type": "stdio",
34
35
  "command": "npx",
35
36
  "args": ["-y", "chrome-devtools-mcp@latest"]
36
37
  }
@@ -1,14 +1,17 @@
1
1
  {
2
2
  "mcpServers": {
3
3
  "chrome-devtools": {
4
+ "type": "stdio",
4
5
  "command": "npx",
5
6
  "args": ["-y", "chrome-devtools-mcp@latest"]
6
7
  },
7
8
  "nx-mcp": {
9
+ "type": "stdio",
8
10
  "command": "npx",
9
11
  "args": ["-y", "nx-mcp@latest"]
10
12
  },
11
13
  "trackunit": {
14
+ "type": "http",
12
15
  "url": "https://mcp.trackunit.ai/mcp"
13
16
  }
14
17
  }
@@ -8,6 +8,8 @@ This is an IrisX App project generated by the Trackunit SDK. Follow AGENTS.md fo
8
8
 
9
9
  SDK-specific skills live in `.agents/skills/`. The generator creates a `.claude/skills` symlink pointing at `../.agents/skills` so Claude Code auto-discovers them. When a skill is referenced in AGENTS.md, read it from `.agents/skills/[skill-name]/SKILL.md`.
10
10
 
11
+ Project-scoped MCP servers are configured in `.mcp.json` at the workspace root. Restart Claude Code after changing that file so the MCP servers are reloaded.
12
+
11
13
  If skills are not appearing in your available skills list, the symlink may be missing (for example on Windows without Developer Mode, or if a real `.claude/skills` directory existed first). Recreate it with:
12
14
 
13
15
  ```bash