Skip to content

Commit b15c512

Browse files
fix(ai-config): update assistant terminology from "general" to "generic"
1 parent ee7bc1e commit b15c512

7 files changed

Lines changed: 21 additions & 23 deletions

File tree

packages/cli/lib/commands/ai-config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export async function configure(agents: AIAgentTarget[] = [], assistants: AiCodi
4747

4848
const AI_AGENT_CHECKBOX_DEFAULTS: AIAgentTarget[] = ["generic", "claude"];
4949

50-
const AI_ASSISTANT_CHECKBOX_DEFAULTS: AiCodingAssistant[] = ["general"];
50+
const AI_ASSISTANT_CHECKBOX_DEFAULTS: AiCodingAssistant[] = ["generic"];
5151

5252
const AI_AGENT_CHECKBOX_CHOICES = [
5353
{ value: "none", name: "None (skip skills and instructions)" },

packages/cli/lib/commands/new.ts

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ const command: NewCommandType = {
6060
type: "string"
6161
})
6262
.option("agents", {
63-
alias: "a",
6463
describe: "AI agents/tools to generate configuration files for",
6564
choices: [...AI_AGENT_CHOICES, "none"] as string[],
6665
type: "array"
@@ -156,15 +155,6 @@ const command: NewCommandType = {
156155
cd14: theme
157156
});
158157

159-
const config = projTemplate.generateConfig(argv.name, theme);
160-
for (const templatePath of projTemplate.templatePaths) {
161-
await Util.processTemplates(templatePath, path.join(process.cwd(), argv.name),
162-
config, projTemplate.delimiters, false);
163-
}
164-
165-
Util.log(Util.greenCheck() + " Project Created");
166-
167-
168158
process.chdir(argv.name);
169159
const rawAgents = argv.agents as string[] | undefined;
170160
const filteredAgents = rawAgents?.filter(a => a !== "none") as AIAgentTarget[] | undefined;
@@ -173,6 +163,14 @@ const command: NewCommandType = {
173163
}
174164
process.chdir("..");
175165

166+
const config = projTemplate.generateConfig(argv.name, theme);
167+
for (const templatePath of projTemplate.templatePaths) {
168+
await Util.processTemplates(templatePath, path.join(process.cwd(), argv.name),
169+
config, projTemplate.delimiters, false);
170+
}
171+
172+
Util.log(Util.greenCheck() + " Project Created");
173+
176174
if (!argv.skipInstall) {
177175
process.chdir(argv.name);
178176
await PackageManager.installPackages();

packages/core/util/mcp-config.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export interface McpServerEntry {
77
args: string[];
88
}
99

10-
export const AI_ASSISTANT_CHOICES = ["general", "vscode", "cursor", "gemini", "junie"] as const;
10+
export const AI_ASSISTANT_CHOICES = ["generic", "vscode", "cursor", "gemini", "junie"] as const;
1111
export type AiCodingAssistant = typeof AI_ASSISTANT_CHOICES[number];
1212

1313
interface AssistantMcpConfig {
@@ -16,15 +16,15 @@ interface AssistantMcpConfig {
1616
}
1717

1818
export const AI_ASSISTANT_LABELS: Record<AiCodingAssistant, string> = {
19-
"general": ".mcp.json (general for Claude Code, VS Code, and other assistants)",
19+
"generic": ".mcp.json (generic for Claude Code, VS Code, and other assistants)",
2020
"vscode": "VS Code (GitHub Copilot)",
2121
"cursor": "Cursor",
2222
"gemini": "Gemini",
2323
"junie": "JetBrains Junie",
2424
};
2525

2626
export const AI_ASSISTANT_MCP_CONFIGS: Record<AiCodingAssistant, AssistantMcpConfig> = {
27-
"general": { mcpFilePath: ".mcp.json", rootKey: "mcpServers" },
27+
"generic": { mcpFilePath: ".mcp.json", rootKey: "mcpServers" },
2828
"vscode": { mcpFilePath: ".vscode/mcp.json", rootKey: "servers" },
2929
"cursor": { mcpFilePath: ".cursor/mcp.json", rootKey: "mcpServers" },
3030
"gemini": { mcpFilePath: ".gemini/settings.json", rootKey: "mcpServers" },
@@ -50,7 +50,7 @@ const IGNITEUI_MCP_SERVERS: Record<string, McpServerEntry> = {
5050
* @returns whether the file was modified
5151
*/
5252
export function addMcpServers(
53-
assistant: AiCodingAssistant = "vscode",
53+
assistant: AiCodingAssistant,
5454
additionalServers?: Record<string, McpServerEntry>
5555
): boolean {
5656
const { mcpFilePath, rootKey } = AI_ASSISTANT_MCP_CONFIGS[assistant];

packages/ng-schematics/src/cli-config/ai-config-schema.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,18 @@
3434
"assistants": {
3535
"type": "array",
3636
"description": "Coding assistant(s) to configure MCP servers for.",
37-
"default": ["general"],
37+
"default": ["generic"],
3838
"items": {
3939
"type": "string",
40-
"enum": ["none", "general", "vscode", "cursor", "gemini", "junie"]
40+
"enum": ["none", "generic", "vscode", "cursor", "gemini", "junie"]
4141
},
4242
"x-prompt": {
4343
"message": "Which coding assistants should MCP servers be configured for?",
4444
"type": "list",
4545
"multiselect": true,
4646
"items": [
4747
{ "value": "none", "label": "None (skip MCP configuration)" },
48-
{ "value": "general", "label": ".mcp.json (general for Claude Code, VS Code, and other assistants)" },
48+
{ "value": "generic", "label": ".mcp.json (generic for Claude Code, VS Code, and other assistants)" },
4949
{ "value": "vscode", "label": "VS Code (GitHub Copilot)" },
5050
{ "value": "cursor", "label": "Cursor" },
5151
{ "value": "gemini", "label": "Gemini" },

packages/ng-schematics/src/cli-config/index_spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,7 @@ export const appConfig: ApplicationConfig = {
456456
});
457457

458458
it("should write to .mcp.json when assistant is claude-code", async () => {
459-
await runner.runSchematic("ai-config", { assistants: ["general"] }, tree);
459+
await runner.runSchematic("ai-config", { assistants: ["generic"] }, tree);
460460

461461
const filePath = "/.mcp.json";
462462
expect(tree.exists(filePath)).toBeTruthy();

spec/acceptance/help-spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ describe("Help command", () => {
7070
[boolean]
7171
--skip-install, --si Do not install packages after scaffolding [boolean]
7272
--template Project template [string]
73-
-a, --agents AI agents/tools to generate configuration files for
73+
--agents AI agents/tools to generate configuration files for
7474
[array] [choices: "generic", "claude", "copilot", "cursor", "codex",
7575
"windsurf", "gemini", "junie", "none"]
7676
--assistants Coding assistant(s) to configure MCP servers for
77-
[array] [choices: "general", "vscode", "cursor", "gemini", "junie",
77+
[array] [choices: "generic", "vscode", "cursor", "gemini", "junie",
7878
"none"]
7979
8080
Examples:

spec/unit/ai-config-spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ describe("Unit - ai-config command", () => {
300300
await aiConfig.default.handler({ _: ["ai-config"], $0: "ig" });
301301

302302
expect(InquirerWrapper.checkbox).not.toHaveBeenCalled();
303-
expect(GoogleAnalytics.post).toHaveBeenCalledWith(jasmine.objectContaining({ t: "event", ea: "agent: generic, claude; assistant: general" }));
303+
expect(GoogleAnalytics.post).toHaveBeenCalledWith(jasmine.objectContaining({ t: "event", ea: "agent: generic, claude; assistant: generic" }));
304304
});
305305

306306
it("logs skipping and does not post analytics when none is selected", async () => {
@@ -399,7 +399,7 @@ describe("Unit - ai-config command", () => {
399399
spyOn(Util, "canPrompt").and.returnValue(true);
400400
spyOn(InquirerWrapper, "checkbox").and.returnValues(
401401
Promise.resolve(["claude"]),
402-
Promise.resolve(["general"])
402+
Promise.resolve(["generic"])
403403
);
404404

405405
await aiConfig.default.handler({ _: ["ai-config"], $0: "ig" });

0 commit comments

Comments
 (0)