What problem does it solve?
Bitwarden's client monorepo spans web, browser, desktop, and CLI apps with strict architectural rules that are easy to violate. This Skill ensures new code follows the correct Angular patterns, dependency injection style, and cross-client constraints so contributions pass review without rework.
Core Features & Use Cases
- Angular conventions enforcement: Guides creation of standalone components with OnPush change detection, control flow syntax, inject()-based DI, and Reactive Forms.
- Cross-client architecture rules: Explains why libs/common must avoid Angular imports, when to use Signals versus RxJS, and how abstract service interfaces work across CLI and Angular clients.
- Style and naming standards: Covers kebab-case file naming, tw- prefixed Tailwind classes, frozen const objects instead of TypeScript enums (ADR-0025), and Jest testing with jest-mock-extended.
- Use Case: When asked to add a new vault settings component to the web app, the Skill produces a standalone OnPush component using @if/@for control flow, inject() for services, and tw- prefixed Tailwind classes.
Quick Start
Ask the assistant to create a new Angular component or service for the Bitwarden web, browser, or desktop app following the repository's coding conventions.