diff --git a/packages/schematics/angular/ai-config/index.ts b/packages/schematics/angular/ai-config/index.ts index 7dab2fccbdef..6da0214f5f36 100644 --- a/packages/schematics/angular/ai-config/index.ts +++ b/packages/schematics/angular/ai-config/index.ts @@ -19,7 +19,11 @@ const AGENTS_MD_CFG: ContextFileInfo = { const AI_TOOLS: { [key in Exclude]: ContextFileInfo[] } = { ['claude-code']: [ - AGENTS_MD_CFG, + { + type: ContextFileType.BestPracticesMd, + name: 'CLAUDE.md', + directory: '.', + }, { type: ContextFileType.McpConfig, name: '.mcp.json', diff --git a/packages/schematics/angular/ai-config/index_spec.ts b/packages/schematics/angular/ai-config/index_spec.ts index f4408e96444c..b2eae216246f 100644 --- a/packages/schematics/angular/ai-config/index_spec.ts +++ b/packages/schematics/angular/ai-config/index_spec.ts @@ -32,9 +32,9 @@ describe('AI Config Schematic', () => { workspaceTree = await schematicRunner.runSchematic('workspace', workspaceOptions); }); - it('should create Angular MCP server config and AGENTS.md for Claude Code', async () => { + it('should create Angular MCP server config and CLAUDE.md for Claude Code', async () => { const tree = await runAiConfigSchematic([ConfigTool.ClaudeCode]); - expect(tree.exists('AGENTS.md')).toBeTruthy(); + expect(tree.exists('CLAUDE.md')).toBeTruthy(); expect(tree.exists('.mcp.json')).toBeTruthy(); }); @@ -89,7 +89,7 @@ describe('AI Config Schematic', () => { it('should omit best practices creation, if the file already exists', async () => { const customContent = 'custom user content'; - workspaceTree.create('AGENTS.md', customContent); + workspaceTree.create('CLAUDE.md', customContent); const messages: string[] = []; const loggerSubscription = schematicRunner.logger.subscribe((x) => messages.push(x.message)); @@ -97,9 +97,9 @@ describe('AI Config Schematic', () => { try { const tree = await runAiConfigSchematic([ConfigTool.ClaudeCode]); - expect(tree.readContent('AGENTS.md')).toBe(customContent); + expect(tree.readContent('CLAUDE.md')).toBe(customContent); expect(messages).toContain( - `Skipping configuration file for 'ClaudeCode' at './AGENTS.md' because it already exists.\n` + + `Skipping configuration file for 'ClaudeCode' at './CLAUDE.md' because it already exists.\n` + 'This is to prevent overwriting a potentially customized file. ' + 'If you want to regenerate it with Angular recommended defaults, please delete the existing file and re-run the command.\n' + 'You can review the latest recommendations at https://angular.dev/ai/develop-with-ai.\n', diff --git a/packages/schematics/angular/ai-config/schema.json b/packages/schematics/angular/ai-config/schema.json index 4cb63468ae53..66818095d68d 100644 --- a/packages/schematics/angular/ai-config/schema.json +++ b/packages/schematics/angular/ai-config/schema.json @@ -4,7 +4,7 @@ "title": "Angular AI Config File Options Schema", "type": "object", "additionalProperties": false, - "description": "Generates AI configuration files for Angular projects. This schematic creates AGENTS.md file and Angular MCP server configuration, improving the quality of AI-generated code and suggestions.", + "description": "Generates AI configuration files for Angular projects. This schematic creates instruction files (e.g. AGENTS.md, CLAUDE.md) and Angular MCP server configuration, improving the quality of AI-generated code and suggestions.", "properties": { "tool": { "type": "array", @@ -20,7 +20,7 @@ }, { "value": "claude-code", - "label": "Claude Code [ `AGENTS.md` + Angular MCP server config ]" + "label": "Claude Code [ `CLAUDE.md` + Angular MCP server config ]" }, { "value": "cursor", @@ -40,7 +40,7 @@ } ] }, - "description": "Specifies which AI tools to generate configuration files (AGENTS.md, MCP server config) for.", + "description": "Specifies which AI tools to generate configuration files (AGENTS.md, CLAUDE.md, MCP server config) for.", "items": { "type": "string", "enum": ["none", "claude-code", "cursor", "gemini-cli", "open-ai-codex", "vscode"] diff --git a/packages/schematics/angular/ng-new/index_spec.ts b/packages/schematics/angular/ng-new/index_spec.ts index a9a6b4a1b6b2..8023c9b08531 100644 --- a/packages/schematics/angular/ng-new/index_spec.ts +++ b/packages/schematics/angular/ng-new/index_spec.ts @@ -109,7 +109,7 @@ describe('Ng New Schematic', () => { const tree = await schematicRunner.runSchematic('ng-new', options); const files = tree.files; - expect(files).toContain('/bar/AGENTS.md'); + expect(files).toContain('/bar/CLAUDE.md'); expect(files).toContain('/bar/.mcp.json'); expect(files).toContain('/bar/.gemini/GEMINI.md'); expect(files).toContain('/bar/.gemini/settings.json');