Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions .ai/angular-patterns.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ Components rely on signals for UI updates.
Example:

@Component({
standalone: true,
selector: 'app-counter',
changeDetection: ChangeDetectionStrategy.OnPush
})
export class CounterComponent {

store = inject(CounterStore)
store = inject(CounterStore);

count = this.store.count
count = this.store.count;

}

Expand All @@ -35,16 +35,17 @@ export const CounterStore = signalStore(

withMethods((store) => ({
increment() {
store.count.update(v => v + 1)
store.count.update(v => v + 1);
}
}))
)

Usage in component:

@Component({
standalone: true
selector: 'app-counter',
changeDetection: ChangeDetectionStrategy.OnPush
})
export class CounterComponent {
store = inject(CounterStore)
store = inject(CounterStore);
}
3 changes: 1 addition & 2 deletions .ai/angular-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Framework version: Angular 21

## Core rules

- Use standalone components only.
- Use standalone components only (default since Angular 19, no need to set `standalone: true` explicitly).
- Do not introduce NgModules.
- Prefer Angular Signals for local state.
- Avoid RxJS when Signals are sufficient.
Expand All @@ -23,7 +23,6 @@ Framework version: Angular 21
Example:

@Component({
standalone: true,
changeDetection: ChangeDetectionStrategy.OnPush
})

Expand Down
26 changes: 22 additions & 4 deletions .ai/dev-commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,34 @@ LLM tools should prefer these commands instead of inventing new ones.

## Install dependencies

npm install
pnpm install

## Development server

Start the Angular development server:

npm run start
pnpm start

Start the development server against mock data:

pnpm start_mock

## Build

Build the Angular library project:
Build the Angular application:

pnpm build

## Tests

Run the test suite once:

pnpm test

Run tests in watch mode:

pnpm test:watch

Run tests with coverage:

npm run build
pnpm test:coverage
3 changes: 2 additions & 1 deletion .ai/project-context.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
- NgRx Signal Store for application state
- Signals preferred over RxJS
- Vitest for testing
- Node 20+
- Node 22.13+
- pnpm as package manager

## Architecture principles

Expand Down
13 changes: 8 additions & 5 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,20 @@ jobs:

strategy:
matrix:
node-version: [22.12.x, 24.0.x]
node-version: [22.13.x, 24.0.x]

steps:
- uses: actions/checkout@v6
- name: Use pnpm
uses: pnpm/action-setup@v4
with:
version: 11.17.0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
cache: pnpm
- name: install package
run: |
npm install -g @angular/cli@21
npm ci
run: pnpm install --frozen-lockfile
- name: run tests
run: npm test
run: pnpm test
10 changes: 10 additions & 0 deletions .stylelintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"rules": {
"scss/at-rule-no-unknown": [
true,
{
"ignoreAtRules": ["plugin"]
}
]
}
}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ pnpm install
- [Angular 21](https://angular.dev)
- [NgRx Signal Store](https://ngrx.io/guide/signals)
- [Tailwind CSS](https://tailwindcss.com)
- [Prime NG](https://primeng.org)
- [Optimus UI](https://optimus.openng.org/)
- [Vitest](https://vitest.dev)

## Serveur
Expand Down
Loading
Loading