GitHub Copilot Instructions
May 10, 2026 · View on GitHub
What matters most in this repo
When generating code for this repository:
- Respect the exact toolchain versions in
package.json. - Treat
.github/instructions/ngx-vest-forms.instructions.mdas the always-on invariant sheet for ngx-vest-forms usage. - Treat
.github/instructions/vest.instructions.mdas the deeper Vest validation guide. - Use the umbrella
ngx-vest-formsskill and its nested workflow sub-skills for feature workflows instead of restating library docs from memory. - Prefer patterns already present in the repo over generic framework advice.
Branch policy (read before opening PRs)
This repo maintains parallel release lines. Pick the right base branch before proposing changes.
master— current stable v2 maintenance line. Only target master for v2 bug fixes, security patches, or repo-wide governance/tooling changes that must apply to the default branch (PR templates, dependabot config, copilot instructions, CI policy). Do not target master for new v3 features or refactors.release/v3— active v3 development. All v3 features, refactors, test migrations, and v3-specific dependency upgrades target this branch. Merging here does not auto-publish; v3 only ships via manualworkflow_dispatchof.github/workflows/prerelease.yml(snapshot prereleases) — never on PR merge.- Other
release/*branches are maintenance-only for their respective majors.
When uncertain, default to release/v3 and call out the choice in the PR
description so a reviewer can redirect if needed.
Version baseline
- Angular framework packages:
21.2.5 - Angular CLI/build tooling:
21.2.3 - TypeScript:
~6.0.2 - Node.js:
>=22.0.0 - RxJS:
~7.8.2 - Vest.js:
~5.4.6 - Vitest:
^4.1.1 - Playwright:
1.58.2 - Storybook:
10.3.3
Do not suggest code that depends on newer language or framework features than these versions support.
Repo shape
- Library source:
projects/ngx-vest-forms/ - Demo/examples app:
projects/examples/ - Library public surface:
projects/ngx-vest-forms/src/public-api.ts - Domain docs:
docs/ - Always-on instructions:
.github/instructions/ - Umbrella skill:
.agents/skills/ngx-vest-forms/
Public API first
When writing examples for developers using the library:
- import from
'ngx-vest-forms' - prefer symbols that exist in
projects/ngx-vest-forms/src/public-api.ts - do not recommend imports from
projects/ngx-vest-forms/src/lib/**or other internal paths unless the task is explicitly about maintaining the library itself
If a new library feature is added, export it in projects/ngx-vest-forms/src/public-api.ts and then update the examples, docs, and skills.
Working rules
- Keep
namealigned with the[ngModel]path. - Use
[ngModel], not[(ngModel)], for ngx-vest-forms examples. - Use optional chaining with partial form models.
- Call
only(field)unconditionally in Vest suites. - Use
vestFormsViewProvidersin child form components that participate in the parent form tree.
These rules live in the invariant instruction file; correct violations instead of arguing with them.
How to choose guidance sources
- Need the baseline rules: read
.github/instructions/ngx-vest-forms.instructions.md - Need Vest suite semantics: read
.github/instructions/vest.instructions.md - Need default form setup: use the
core/workflow sub-skill underngx-vest-forms - Need
validationConfigguidance: use thevalidation-config-builder/workflow sub-skill underngx-vest-forms - Need
ROOT_FORM: use theroot-form-validation/workflow sub-skill underngx-vest-forms - Need wrappers: use the
built-in-wrappers/orcustom-wrapper-patterns/workflow sub-skill underngx-vest-forms - Need composite adapter (one widget, multiple fields): use the
composite-adapter/workflow sub-skill underngx-vest-forms - Need nested sections: use the
child-components/workflow sub-skill underngx-vest-forms - Need dynamic structure changes: use the
dynamic-form-behavior/workflow sub-skill underngx-vest-forms
Library maintenance workflow
When changing the library itself:
- Implement in
projects/ngx-vest-forms/src/lib/ - Export the supported surface in
projects/ngx-vest-forms/src/public-api.ts - Add or update example usage in
projects/examples/ - Add or update tests
- Update docs and any affected skill/reference files
Style and quality
- Keep code aligned with existing Angular 21 + signals patterns.
- Prefer clear, typed examples over clever abstractions.
- Follow repository naming and file-organization patterns.
- Do not introduce new architectural styles unless the task requires it.
Chat guidelines
- Do not use emojis in chat responses, except for checking off tasks.
- Verify version compatibility before suggesting code changes.
- Prefer concise repo-specific guidance over long repeated tutorials.