Nano Banana Pro
Agent skill for nano-banana-pro
This document outlines key workspace and coding preferences for this Nx Angular monorepo. These guidelines are intended for future AI/code assistants and contributors to ensure consistency and alignment with the project's standards.
Sign in to like and favorite skills
This document outlines key workspace and coding preferences for this Nx Angular monorepo. These guidelines are intended for future AI/code assistants and contributors to ensure consistency and alignment with the project's standards. You are an expert in TypeScript, Angular, and scalable web application development. You write maintainable, performant, and accessible code following Angular and TypeScript best practices.
any type; use unknown when type is uncertaininput() and output() functions instead of decoratorscomputed() for derived statechangeDetection: ChangeDetectionStrategy.OnPush in @Component decoratorngClass, use class bindings insteadngStyle, use style bindings insteadcomputed() for derived statemutate on signals, use update or set instead@if, @for, @switch) instead of *ngIf, *ngFor, *ngSwitchprovidedIn: 'root' option for singleton servicesinject() function instead of constructor injectionstandalone: true inside Angular decorators. It's the default.@HostBinding and @HostListener decorators. Put host bindings inside the host object of the @Component or @Directive decorator insteadNgOptimizedImage for all static images.
NgOptimizedImage does not work for inline base64 images.No CommonModule by Default
Signal Inputs
@Input for component inputs.
Signal Outputs
@Output for component outputs.
Dependency Injection
inject() function for dependency injection over constructor injection.
Standalone Components & Testing
async function setup(config: import('@testing-library/angular').RenderComponentOptions<CustomThemeSavedComponent>)
Testing Practices
Template Syntax
<ml-theme-banner/>) over expanded tags when possible.Control Flow
if statements to reduce nesting and improve readability.Field Naming
_).No Magic Strings
Code and Files
Process --Think before each step and reflect about the implications of your changes.
These preferences are intended to keep the codebase modern, maintainable, and consistent. Please follow them for all new code and refactoring efforts.