feat(ai-config): add agent choices for skills/instruction locations#1664
feat(ai-config): add agent choices for skills/instruction locations#1664damyanpetev merged 55 commits intomasterfrom
Conversation
…ions - Add AIAgentTarget type and AI_AGENT_SKILLS_DIRS mapping for claude, copilot, cursor, codex, windsurf, gemini, junie, and generic agents - Add getSkillsDir() utility to resolve agent name to skills directory - Accept optional skillsDir parameter in copyAISkillsToProject() - Add --agent (-a) and --skills-dir (-d) CLI options to ig ai-config - Default to .claude/skills for backward compatibility when no option given - Add 15 new unit tests for agent-aware destinations and getSkillsDir Agent-Logs-Url: https://github.com/IgniteUI/igniteui-cli/sessions/6ffa80e2-ee1c-4982-8606-c428fb045137 Co-authored-by: kdinev <1472513+kdinev@users.noreply.github.com>
Agent-Logs-Url: https://github.com/IgniteUI/igniteui-cli/sessions/6ffa80e2-ee1c-4982-8606-c428fb045137 Co-authored-by: kdinev <1472513+kdinev@users.noreply.github.com>
ig ai-config agent-agnostic instead of hard-coding .claude/skillsig ai-config agent-agnostic instead of hard-coding .claude/skills
|
@copilot Update angular schematics to accepts an optional output directory, when copying the skills. The ai-config schematic should work same as ai-config cli command |
…lls-dir options - Add ai-config-schema.json with agent and skillsDir properties - Update collection.json to reference the schema - Update aiConfig() to accept and pass through skillsDir - Update addAIConfig() to resolve skillsDir from agent/skillsDir options - Add 6 new schematic tests verifying agent-aware skill copy Agent-Logs-Url: https://github.com/IgniteUI/igniteui-cli/sessions/235a5b72-55c7-4dda-a33d-47abfb77073e Co-authored-by: Marina-L-Stoyanova <6087266+Marina-L-Stoyanova@users.noreply.github.com>
Done in d4478a9. The
Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
Updates ig ai-config to support multiple AI agents by resolving agent-specific (or custom) skills destination directories instead of always writing to .claude/skills.
Changes:
- Core: add agent target type + agent→directory mapping,
getSkillsDir(), and allowcopyAISkillsToProject()to accept an optional output directory (defaulting to.claude/skills). - CLI: add
--agent/--skills-diroptions and thread the resolved directory through skills configuration. - Angular schematics: add
ai-configschema/options foragent/skillsDir, pass resolved directory through, and add schematic specs.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
packages/core/util/ai-skills.ts |
Introduces agent targets + mapping + resolver; makes skills copy destination configurable. |
packages/cli/lib/commands/ai-config.ts |
Adds CLI flags to select agent/custom directory and passes destination into core copy routine. |
packages/ng-schematics/src/cli-config/index.ts |
Adds schematic options and resolves skillsDir from agent/skillsDir. |
packages/ng-schematics/src/cli-config/ai-config-schema.json |
Defines schema for agent enum and skillsDir override. |
packages/ng-schematics/src/collection.json |
Wires the new schema into the ai-config schematic entry. |
packages/ng-schematics/src/cli-config/index_spec.ts |
Adds tests validating option resolution and passthrough behavior. |
spec/unit/ai-skills-spec.ts |
Adds core unit coverage for agent-aware destinations, resolver, and mapping shape. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…llsDir handling Co-authored-by: Copilot <copilot@github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
… Google Analytics event tracking Co-authored-by: Copilot <copilot@github.com>
… updating skills directory handling Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
… logging output Co-authored-by: Copilot <copilot@github.com>
…hub.com/IgniteUI/igniteui-cli into copilot/update-ai-config-agent-agnostic
…rect screenview and event parameters
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
ig ai-config agent-agnostic instead of hard-coding .claude/skills
ig ai-confighard-coded.claude/skillsas the only skill destination. The CLI positions this as general AI tooling, but the implementation only supported Claude Code.Core (
packages/core/util/ai-skills.ts)AIAgentTargettype:claude | copilot | cursor | codex | windsurf | gemini | junie | genericAI_AGENT_SKILLS_DIRSmapping each agent to its conventional skills directorygetSkillsDir(target?)resolvercopyAISkillsToProject(skillsDir?)now accepts an optional output directory; defaults to.claude/skillsfor backward compatCLI (
packages/cli/lib/commands/ai-config.ts)--agent(-a) — pick a known agent target--skills-dir(-d) — arbitrary path, overrides--agentconfigureSkills()andconfigure()thread through the resolved directoryAngular Schematics (
packages/ng-schematics/src/cli-config)ai-configschematic now acceptsagentandskillsDiroptions, matching the CLI command behaviorai-config-schema.jsonwithagent(enum of supported targets) andskillsDir(custom path) propertiescollection.jsonto reference the schemaaddAIConfig()resolvesskillsDirfromagent/skillsDiroptions (skillsDiroverridesagent)aiConfig()passes the resolved directory through tocopyAISkillsToProject()Agent → directory mapping
claude.claude/skillscopilot.github/skillscursor.cursor/skillscodex.codex/skillswindsurf.windsurf/skillsgemini.gemini/skillsjunie.junie/skillsgeneric.agents/skillsUsage
Tests
15 new core specs covering agent-aware destinations,
getSkillsDir()for each target, custom paths, and theAI_AGENT_SKILLS_DIRSshape. 6 new schematic specs verifying agent/skillsDir option resolution and passthrough. Existing tests pass unchanged — no-arg calls still write to.claude/skills.