Skip to content

feat: Add custom agents and skills for Ignite UI CLI - #1840

Open
Marina-L-Stoyanova wants to merge 9 commits into
masterfrom
mstoyanova/custom-agents
Open

Marina-L-Stoyanova wants to merge 9 commits into
masterfrom
mstoyanova/custom-agents

Conversation

@Marina-L-Stoyanova

@Marina-L-Stoyanova Marina-L-Stoyanova commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Description

Adds AI agent skills for maintaining the CLI's project and component templates.

Skills live in .agents/skills/<name>/SKILL.md (Agent Skills format). VS Code Copilot discovers them automatically: you ask for the task and it loads the matching skill. Any other assistant can use one when you name its file. .agents/README.md is the guide.

This PR changes documentation only. No CLI, template or MCP server code is touched.

Skills

Skill Kind What it does
igniteui-cli-template-version-update Workflow Updates the Ignite UI versions that ig new / ig add scaffold, for Angular, React and Web Components. Applies patch and minor updates only. Finds every pin (constants, project package.json files, hard-coded this.packages), checks peer ranges, and validates with the template specs and the smoke test. dry-run mode gives a read-only report of stale pins and peer conflicts.
igniteui-cli-component-template Workflow Adds a component template (ig add <id>) for Angular, React and/or Web Components. Checks every API it uses against the package version that is currently pinned, reuses the same id across frameworks, and validates with the template specs, the smoke test and checks inside the generated project (type-check, lint, test file).
igniteui-cli-changelog Workflow Drafts, or with write inserts, the CHANGELOG.md section for a release cut, built from the PRs merged since the previous cut and written in the existing style.
igniteui-cli-smoke-test Reference Build, running one spec file, the specs that guard templates, running scripts/smoke-test.sh, what a PASS proves per framework, checks inside a kept project, and failure triage.
igniteui-cli-template-anatomy Reference Template layout per framework, index.ts fields, placeholders, model templates to copy, every place a version is pinned (with search patterns), which package provides which component, and how to audit which templates exist in which framework.

Other changes

  • AGENTS.md (new): build/test/lint, architecture, MCP server notes, conventions, and the Maintenance Workflows rules. It is based on the previous CLAUDE.md content, updated so that:
    • npm run build is listed as also building the MCP server;
    • running a single spec uses npx jasmine <compiled spec> instead of editing spec/jasmine-runner.ts.
  • CLAUDE.md now only imports AGENTS.md (@AGENTS.md).
  • .agents/README.md (new): what each skill does, how the skills fit together, example requests, and how to maintain or add skills.

How to try it

  • Read-only, safe to run: ask "dry-run template version update, all frameworks" or "which component templates are missing per framework?".
  • Full workflow: "update webcomponents template versions" or "add a Tile Manager component template for react". Expect the working tree to change, a smoke run, and a final report with git status --short.

Related Issue

Closes #1839

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring / code cleanup
  • Build / CI configuration change

Affected Packages

  • igniteui-cli (packages/cli)
  • @igniteui/cli-core (packages/core)
  • @igniteui/angular-templates (packages/igx-templates)
  • @igniteui/angular-schematics (packages/ng-schematics)
  • @igniteui/mcp-server (packages/igniteui-mcp)

Checklist

  • I have tested my changes locally (npm run test)
  • I have built the project successfully (npm run build)
  • I have run the linter (npm run lint)
  • I have added/updated tests as needed
  • My changes do not introduce new warnings or errors

Additional Context

Copilot AI balanced review requested due to automatic review settings October 9, 2026 08:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Validation guidance misses hidden project manifests and Angular template tests, and misidentifies Angular’s test runner.

3 open findings
What changed in this PR

Adds ACS-style agents and reusable skills for maintaining Ignite UI CLI templates, versions, testing, and changelogs.

Changes:

  • Adds template-version, component-template, and changelog agents.
  • Documents build, smoke-test, and template workflows.
  • Defines shared context, permissions, and ACS metadata.
File Description
.agents/​README.md Documents agent usage and maintenance.
.agents/​main.yaml Defines the ACS manifest.
.agents/​context/​project.md Establishes agent working rules.
.agents/​permissions/​policy.yaml Documents access boundaries.
.agents/​agents/​template-version-update-agent.md Defines version-update automation.
.agents/​agents/​component-template-agent.md Defines component-template creation.
.agents/​agents/​changelog-agent.md Defines release-note generation.
.agents/​skills/​igniteui-cli-build-test/​SKILL.md Documents build and test commands.
.agents/​skills/​igniteui-cli-smoke-test/​SKILL.md Documents smoke-test execution and triage.
.agents/​skills/​igniteui-cli-template-anatomy/​SKILL.md Documents template structure and version pins.

🧠 Review effort: Balanced


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +99 to +101
- `npx tsc --noEmit`, **Web Components only**: its Vite build does not type-check. Angular and React builds already do, so skip it there.
- `npx eslint src/app/<id>`
- `npx vitest run src/app/<id>` for React and Web Components (needs Playwright Chromium; see the smoke-test skill if it is missing).
2. Smoke test, per framework in scope, each into its **own output directory** (a run wipes its `--out` at start, so a shared directory loses the earlier run's results). Scope the run to what changed:
- The framework's main package changed (`igniteui-angular`, `igniteui-react`, `igniteui-webcomponents`), which nearly every template pulls in: `scripts/smoke-test.sh -f <fw> --out output/smoke-<fw>` (default project + every component template).
- Otherwise, only the templates that pull in a changed package: search the framework's variant `index.ts` files for the package name or its constant, read each match's `this.id`, and run `scripts/smoke-test.sh -f <fw> --templates <id>,<id> --out output/smoke-<fw>`. For example, an `igniteui-dockmanager` update runs `--templates dock-manager`. The default project is always scaffolded, so a pin in its `package.json` is covered too.
- Additionally, when any `projects/*/files/package.json` changed: `scripts/smoke-test.sh -f <fw> --all-projects --out output/smoke-<fw>-projects`. If a changed package appears only in project manifests (no template pulls it in, e.g. `@igniteui/material-icons-extended`), this run alone covers it; skip the `--templates` run.

| Framework | Placeholders | Files under `files/src/app/__path__/` | Test runner in generated project |
|---|---|---|---|
| Angular | `<%=ClassName%>`, `<%=filePrefix%>`, `<%=igxPackage%>` | `__filePrefix__.ts`, `.html`, `.scss`, `.spec.ts` | Karma/Jasmine-style `TestBed` |
@coveralls

coveralls commented Oct 9, 2026 •

Copy link
Copy Markdown

Coverage Status

coverage: 94.559%. remained the same — mstoyanova/custom-agents into master

@kdinev

kdinev commented Oct 9, 2026

Copy link
Copy Markdown
Member

@Marina-L-Stoyanova @ChronosSF flagged to me that ACS is abandoned. Could you sync to determine what new standard we should follow?

Marina-L-Stoyanova and others added 4 commits October 12, 2026 13:27
…oke testing, template anatomy, and version updates

- Introduced `igniteui-cli-changelog` skill for drafting changelog sections based on merged PRs.
- Added `igniteui-cli-component-template` skill to create component templates for Angular, React, and Web Components.
- Created `igniteui-cli-smoke-test` skill to verify the installation and build process of generated projects.
- Developed `igniteui-cli-template-anatomy` skill to outline the structure and version pinning of templates across frameworks.
- Implemented `igniteui-cli-template-version-update` skill to manage and audit Ignite UI package versions in templates.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create custom agents for version update and component templates

5 participants