Skip to content

Commit 560244f

Browse files
committed
chore: add AI agents docs and skills
1 parent 9cfefe8 commit 560244f

5 files changed

Lines changed: 624 additions & 67 deletions

File tree

.github/agents/bug-fixing-implementer-agent.md

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,37 @@ If the fix adds or modifies user-facing strings:
7575

7676
---
7777

78+
## Styles and Theming
79+
80+
If the bug is in a component's visual styles, read `skills/igniteui-angular-theming/references/contributing.md` in full before modifying any SCSS.
81+
82+
### Non-negotiable rules
83+
84+
- All visual styles (colors, sizes, shadows) live in the **theme file** (`_<name>-theme.scss`). Never move visual declarations into the component file (`_<name>-component.scss`).
85+
- Use `var-get($theme, 'token-name')` for every design token reference. **Never introduce hardcoded hex, RGB, HSL, or pixel values** for anything with a corresponding token.
86+
- Every `@extend` must use `!optional`.
87+
- BEM naming: Two Dashes style — see `css-naming-convention.md` (handled by the `b()`, `e()`, and `m()` mixins).
88+
89+
### Linting
90+
91+
```bash
92+
# SCSS-only fix
93+
npm run lint:styles
94+
95+
# Final check before finishing
96+
npm run lint:lib
97+
```
98+
99+
### Style tests
100+
101+
If you modify functions or mixins in `base/` (not component themes), run:
102+
103+
```bash
104+
npm run test:styles
105+
```
106+
107+
---
108+
78109
## What You Do NOT Do
79110

80111
- Do not write tests — the `tdd-test-writer-agent` handles that.
@@ -112,13 +143,13 @@ Before finishing:
112143

113144
Run the smallest relevant suite:
114145

115-
| Components changed | Command |
116-
|---|---|
146+
| Components changed | Command |
147+
| ------------------- | ------------------------- |
117148
| Non-grid components | `npm run test:lib:others` |
118-
| Grid | `npm run test:lib:grid` |
119-
| Tree-grid | `npm run test:lib:tgrid` |
120-
| Hierarchical-grid | `npm run test:lib:hgrid` |
121-
| Pivot-grid | `npm run test:lib:pgrid` |
149+
| Grid | `npm run test:lib:grid` |
150+
| Tree-grid | `npm run test:lib:tgrid` |
151+
| Hierarchical-grid | `npm run test:lib:hgrid` |
152+
| Pivot-grid | `npm run test:lib:pgrid` |
122153

123154
---
124155

.github/agents/feature-implementer-agent.md

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ You write **production code** for Ignite UI for Angular to make failing tests pa
1616

1717
You are an independent specialist. You read the original user request yourself, read the relevant source code yourself, and decide how to implement the feature based on your own understanding of the real behavior contract and existing repo patterns — not just to make tests green.
1818

19-
Treat failing tests as guidance, not as the full specification.
19+
Treat failing tests as guidance, not as the full specification.
2020

2121
---
2222

@@ -37,6 +37,9 @@ Treat failing tests as guidance, not as the full specification.
3737
Check the relevant skill file for component APIs and patterns:
3838
- Non-grid components → `skills/igniteui-angular-components/SKILL.md`
3939
- Grid components → `skills/igniteui-angular-grids/SKILL.md`
40+
- Theming & Styling → `skills/igniteui-angular-theming/SKILL.md`
41+
42+
Each skill file is a routing hub pointing to detailed reference files under its `references/` folder. **Read the relevant reference files in full** before modifying any component code.
4043

4144
---
4245

@@ -82,6 +85,47 @@ Every new UI element must include:
8285

8386
---
8487

88+
## Theming and Styles
89+
90+
If the feature adds or modifies component styles, read `skills/igniteui-angular-theming/references/contributing.md` in full before touching any SCSS.
91+
92+
### When styles are involved
93+
94+
| Scenario | Files to touch |
95+
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
96+
| New component | `_<name>-theme.scss`, `_<name>-component.scss`, `components/_index.scss`, `themes/_core.scss`, `themes/generators/_base.scss` |
97+
| New visual state / modifier | `_<name>-theme.scss` (new placeholder), `_<name>-component.scss` (new `@include m/e`) |
98+
| Bug fix in existing styles | The relevant `_<name>-theme.scss` or `_<name>-component.scss` |
99+
100+
### Non-negotiable rules
101+
102+
- All visual styles (colors, sizes, shadows) live in the **theme file** (`_<name>-theme.scss`). The component file (`_<name>-component.scss`) contains only structural layout that is theme-independent.
103+
- Use `var-get($theme, 'token-name')` for every design token reference. **Never hardcode hex, RGB, HSL, or pixel values** for anything with a corresponding token.
104+
- Every `@extend` must use `!optional`.
105+
- Call `@include tokens($theme, $mode: 'scoped')` as the first statement inside every theme mixin.
106+
- Call `register-component($name: ..., $deps: (...))` inside the root `b()` block of every component mixin.
107+
- BEM naming: Two Dashes style — see `css-naming-convention.md`.
108+
109+
### Linting
110+
111+
```bash
112+
# SCSS-only changes
113+
npm run lint:styles
114+
115+
# Final check before finishing
116+
npm run lint:lib
117+
```
118+
119+
### Style tests
120+
121+
If you modify functions or mixins in `base/` (not component themes), run:
122+
123+
```bash
124+
npm run test:styles
125+
```
126+
127+
---
128+
85129
## REFACTOR Phase — Clean Up
86130

87131
1. **Production code**: eliminate duplication, improve naming, simplify logic, strengthen types.

.github/agents/feature-orchestrator-agent.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ projects/igniteui-angular/test-utils/ ← shared test helpers
101101
projects/igniteui-angular/migrations/ ← migration schematics
102102
CHANGELOG.md ← root changelog
103103
src/app/<component>/ ← demo pages
104+
projects/igniteui-angular/core/src/core/styles/ ← component SCSS themes
104105
```
105106

106107
---
@@ -116,6 +117,7 @@ src/app/<component>/ ← demo pages
116117
- Whether this replaces, renames, or deprecates any existing API
117118
- Whether a migration schematic is needed
118119
- Whether i18n strings are affected
120+
- Whether styles or component themes are affected
119121
- Which test suite to use (grid vs non-grid)
120122

121123
### Step 2 — Present a Scope Summary
@@ -124,7 +126,7 @@ Present a brief scope summary to the user:
124126

125127
- **What**: one sentence describing the feature
126128
- **Where**: affected components and main files
127-
- **Impact**: breaking change, deprecation, i18n, accessibility, or docs/demo follow-through if relevant
129+
- **Impact**: breaking change, deprecation, i18n, accessibility, styles/theming, or docs/demo follow-through if relevant
128130
- **Agents needed**: which specialist agents will be used
129131
- **Test suite**: the smallest likely suite
130132

@@ -139,8 +141,8 @@ Delegate work only through isolated subagent execution when available. If isolat
139141
For each subagent call, send only this minimal context:
140142
- the original user request
141143
- affected component(s) and file path(s)
142-
- whether breaking-change, i18n, accessibility, changelog, or README follow-through may apply
143-
- the likely test suite
144+
- whether breaking-change, i18n, accessibility, styles/theming, changelog, or README follow-through may apply
145+
- the likely test suite
144146

145147
Do not send:
146148
- detailed feature requirements

0 commit comments

Comments
 (0)