Repository navigation
feat: Add custom agents and skills for Ignite UI CLI - #1840
Open
Marina-L-Stoyanova wants to merge 9 commits into
Open
Marina-L-Stoyanova wants to merge 9 commits into
Marina-L-Stoyanova wants to merge 9 commits into
Conversation
Contributor
There was a problem hiding this comment.
🟡 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` | |
Member
|
@Marina-L-Stoyanova @ChronosSF flagged to me that ACS is abandoned. Could you sync to determine what new standard we should follow? |
…I/igniteui-cli into mstoyanova/custom-agents
…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.
…aging package pins
…I/igniteui-cli into mstoyanova/custom-agents
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


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.mdis the guide.This PR changes documentation only. No CLI, template or MCP server code is touched.
Skills
igniteui-cli-template-version-updateig new/ig addscaffold, for Angular, React and Web Components. Applies patch and minor updates only. Finds every pin (constants, projectpackage.jsonfiles, hard-codedthis.packages), checks peer ranges, and validates with the template specs and the smoke test.dry-runmode gives a read-only report of stale pins and peer conflicts.igniteui-cli-component-templateig 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-changelogwriteinserts, theCHANGELOG.mdsection for a release cut, built from the PRs merged since the previous cut and written in the existing style.igniteui-cli-smoke-testscripts/smoke-test.sh, what a PASS proves per framework, checks inside a kept project, and failure triage.igniteui-cli-template-anatomyindex.tsfields, 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 previousCLAUDE.mdcontent, updated so that:npm run buildis listed as also building the MCP server;npx jasmine <compiled spec>instead of editingspec/jasmine-runner.ts.CLAUDE.mdnow only importsAGENTS.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
git status --short.Related Issue
Closes #1839
Type of 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
npm run test)npm run build)npm run lint)Additional Context