ffca-feature
Installation
SKILL.md
FFCA Feature
Workflow for building a feature in an FFCA monorepo. Conventions and code shapes are not restated here: read the cited sections of ${CLAUDE_PLUGIN_ROOT}/references/ffca/ and adapt the templates in ${CLAUDE_PLUGIN_ROOT}/references/code_templates/.
Before you start
- Confirm the repo is FFCA-shaped (a
features/folder with{feature}_{layer}packages). If not, stop and use the layered-architecture skill. - Read
references/ffca/overview.md, section Feature layers, for the layer model, andreferences/ffca/project_structure.md, section Naming conventions, for package names (the hook validates them). - Check for a pre-generated API client first. If the backend ships one OpenAPI/Swagger definition, read
references/ffca/faq.md, section What if the backend has one large OpenAPI or Swagger definition for every endpoint? The client belongs inshared/, and each feature's data layer consumes it.
Build order: domain, then data, then presentation
Scaffold each package with the Very Good CLI (dart_package for domain and data, flutter_package for presentation), then fill it in. Build in dependency order so each layer compiles against the one below it.
1. Domain ({feature}_domain, Dart package)
Read references/ffca/domain.md and adapt references/code_templates/domain_templates.md: