@angular/cli 20.1.4 → 20.1.6

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.
@@ -1815,8 +1815,7 @@
1815
1815
  },
1816
1816
  "zoneless": {
1817
1817
  "description": "Create an initial application that does not utilize `zone.js`.",
1818
- "type": "boolean",
1819
- "default": false
1818
+ "type": "boolean"
1820
1819
  }
1821
1820
  }
1822
1821
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/cli",
3
- "version": "20.1.4",
3
+ "version": "20.1.6",
4
4
  "description": "CLI tool for Angular",
5
5
  "main": "lib/cli/index.js",
6
6
  "bin": {
@@ -25,13 +25,13 @@
25
25
  },
26
26
  "homepage": "https://github.com/angular/angular-cli",
27
27
  "dependencies": {
28
- "@angular-devkit/architect": "0.2001.4",
29
- "@angular-devkit/core": "20.1.4",
30
- "@angular-devkit/schematics": "20.1.4",
28
+ "@angular-devkit/architect": "0.2001.6",
29
+ "@angular-devkit/core": "20.1.6",
30
+ "@angular-devkit/schematics": "20.1.6",
31
31
  "@inquirer/prompts": "7.6.0",
32
32
  "@listr2/prompt-adapter-inquirer": "2.0.22",
33
33
  "@modelcontextprotocol/sdk": "1.13.3",
34
- "@schematics/angular": "20.1.4",
34
+ "@schematics/angular": "20.1.6",
35
35
  "@yarnpkg/lockfile": "1.1.0",
36
36
  "algoliasearch": "5.32.0",
37
37
  "ini": "5.0.0",
@@ -48,14 +48,14 @@
48
48
  "ng-update": {
49
49
  "migrations": "@schematics/angular/migrations/migration-collection.json",
50
50
  "packageGroup": {
51
- "@angular/cli": "20.1.4",
52
- "@angular/build": "20.1.4",
53
- "@angular/ssr": "20.1.4",
54
- "@angular-devkit/architect": "0.2001.4",
55
- "@angular-devkit/build-angular": "20.1.4",
56
- "@angular-devkit/build-webpack": "0.2001.4",
57
- "@angular-devkit/core": "20.1.4",
58
- "@angular-devkit/schematics": "20.1.4"
51
+ "@angular/cli": "20.1.6",
52
+ "@angular/build": "20.1.6",
53
+ "@angular/ssr": "20.1.6",
54
+ "@angular-devkit/architect": "0.2001.6",
55
+ "@angular-devkit/build-angular": "20.1.6",
56
+ "@angular-devkit/build-webpack": "0.2001.6",
57
+ "@angular-devkit/core": "20.1.6",
58
+ "@angular-devkit/schematics": "20.1.6"
59
59
  }
60
60
  },
61
61
  "packageManager": "pnpm@9.15.9",
@@ -18,7 +18,7 @@ To start using the Angular CLI MCP Server, add this configuration to your host:
18
18
  "mcpServers": {
19
19
  "angular-cli": {
20
20
  "command": "npx",
21
- "args": ["@angular/cli", "mcp"]
21
+ "args": ["-y", "@angular/cli", "mcp"]
22
22
  }
23
23
  }
24
24
  }
@@ -26,6 +26,8 @@ async function createMcpServer(context) {
26
26
  resources: {},
27
27
  tools: {},
28
28
  },
29
+ instructions: 'For Angular development, this server provides tools to adhere to best practices, search documentation, and find code examples. ' +
30
+ 'When writing or modifying Angular code, use the MCP server and its tools instead of direct shell commands where possible.',
29
31
  });
30
32
  server.registerResource('instructions', 'instructions://best-practices', {
31
33
  title: 'Angular Best Practices and Code Generation Guide',
@@ -40,8 +42,7 @@ async function createMcpServer(context) {
40
42
  });
41
43
  (0, best_practices_1.registerBestPracticesTool)(server);
42
44
  // If run outside an Angular workspace (e.g., globally) skip the workspace specific tools.
43
- // Currently only the `list_projects` tool.
44
- if (!context.workspace) {
45
+ if (context.workspace) {
45
46
  (0, projects_1.registerListProjectsTool)(server, context);
46
47
  }
47
48
  await (0, doc_search_1.registerDocSearchTool)(server);
@@ -14,6 +14,7 @@ exports.registerBestPracticesTool = registerBestPracticesTool;
14
14
  const promises_1 = require("node:fs/promises");
15
15
  const node_path_1 = __importDefault(require("node:path"));
16
16
  function registerBestPracticesTool(server) {
17
+ let bestPracticesText;
17
18
  server.registerTool('get_best_practices', {
18
19
  title: 'Get Angular Coding Best Practices Guide',
19
20
  description: 'You **MUST** use this tool to retrieve the Angular Best Practices Guide ' +
@@ -26,12 +27,16 @@ function registerBestPracticesTool(server) {
26
27
  openWorldHint: false,
27
28
  },
28
29
  }, async () => {
29
- const text = await (0, promises_1.readFile)(node_path_1.default.join(__dirname, '..', 'instructions', 'best-practices.md'), 'utf-8');
30
+ bestPracticesText ??= await (0, promises_1.readFile)(node_path_1.default.join(__dirname, '..', 'instructions', 'best-practices.md'), 'utf-8');
30
31
  return {
31
32
  content: [
32
33
  {
33
34
  type: 'text',
34
- text,
35
+ text: bestPracticesText,
36
+ annotations: {
37
+ audience: ['assistant'],
38
+ priority: 0.9,
39
+ },
35
40
  },
36
41
  ],
37
42
  };
@@ -22,4 +22,4 @@ class Version {
22
22
  this.patch = patch;
23
23
  }
24
24
  }
25
- exports.VERSION = new Version('20.1.4');
25
+ exports.VERSION = new Version('20.1.6');