← ClaudeAtlas

dart-use-primary-constructorslisted

Help users write syntactically and semantically correct primary constructors in Dart, and migrate/use the new constructor syntax, empty-body semicolon syntax, in-body initializer list syntax, and abbreviated concise constructor syntax.
novahiz/novahiz · ★ 1 · AI & Automation · score 70
Install: claude install-skill novahiz/novahiz
# Dart Primary Constructors & New Constructor Syntax Skill Use this skill when helping users write, refactor, or debug code using Dart's **Primary Constructors** feature. ### Dart Version Requirements * **Dart 3.13 and above**: Primary constructors are enabled by default. * **Dart 3.12**: The feature is available but experimental. Users must explicitly enable the experiment flag `primary-constructors` via `--enable-experiment=primary-constructors` or in `analysis_options.yaml`: ```yaml analyzer: enable-experiment: - primary-constructors ``` * **Dart 3.11 and earlier**: Primary constructors are not supported. --- ## 1. Overview Primary Constructors allow developers to declare a non-redirecting generative constructor as well as a set of instance variables directly in the class header. This significantly reduces boilerplate and improves code readability. ### Key Benefits - Combines field declaration, parameter declaration, and initialization into a single declaration known as a declaring parameter declaration. - Enables safe reference to constructor parameters in non-late field initializers (Primary Initializer Scope). - Allows empty declaration bodies to be represented concisely with a semicolon (`;`). - Introduces abbreviated concise syntax for in-body constructors. --- ## 2. Syntax Reference ### 2.1 Basic Class Header Syntax To declare a primary constructor, place a parameter list immediately after the type name (and optional type parameters): ```dart //