eaf-ui

Guides development of Angular frontend components, services, and routing for EAF applications.

Updated May 8, 2026
One-click install
npx skills add https://github.com/afonsoft/EAF --skill eaf-ui-afonsoft
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: eaf-ui
Source: https://github.com/afonsoft/EAF/tree/main/.claude/skills/eaf-ui
Command: npx skills add https://github.com/afonsoft/EAF --skill eaf-ui-afonsoft

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building and maintaining the Angular frontend for an EAF (Enterprise Application Foundation) application requires deep knowledge of Angular standalone components, signals, PrimeNG data tables, JWT authentication, and EAF-specific API patterns, which is time-consuming to get right without expert guidance. ## Core Features & Use Cases - Angular Component Development: Create standalone components using signals, OnPush change detection, reactive forms, and smart/dumb component patterns. - EAF Integration Patterns: Implement JWT authentication with HTTP interceptors, route guards with permission checks, and services consuming EAF REST APIs. - Data Tables & Forms: Build paginated PrimeNG data tables and validated reactive forms wired to EAF paged result endpoints. - Use Case: You need to add a user management page to your EAF app. The skill provides the route configuration with auth and permission guards, a PrimeNG table component, a user service calling the EAF API, and a reactive creation form. ## Quick Start Ask the assistant to create an Angular component, service, or route for your EAF UI, such as building a user list page with a PrimeNG table and authentication guard.

Frequently Asked Questions about eaf-ui

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a standalone component in Angular with signals?▼

Define a component with standalone: true, declare its imports array, and use signal(), computed(), and effect() for reactive state. Signals replace BehaviorSubjects for local state and work well with OnPush change detection.

How to implement JWT authentication in an Angular app?▼

Create an AuthService that posts credentials to the TokenAuth endpoint and stores the access token in localStorage. Add an HTTP interceptor that clones outgoing requests and attaches the Authorization Bearer header when a token exists.

How do I build a paginated data table with PrimeNG?▼

Use the p-table component with the paginator and rows attributes bound to your data array. Fetch data from the EAF API using a paged input DTO with skipCount and maxResultCount, then bind result.items to the table value.

Can I use route guards for permission-based access in Angular?▼

Yes, define functional CanActivateFn guards that inject AuthService and check route.data for a required permission string. Redirect unauthenticated users to login and unauthorized users to an access-denied page.

Why do RxJS subscriptions cause memory leaks in Angular?▼

Subscriptions that are never unsubscribed keep observers alive after the component is destroyed. Use takeUntilDestroyed with DestroyRef or unsubscribe in destroyRef.onDestroy to clean up automatically.

When should I not use this Angular UI guidance?▼

Do not use it for backend API development, database work, or non-Angular frontend frameworks. It is scoped to the EAF Angular frontend consuming EAF REST APIs.