Overview
Feature templates in the template library currently only support task-level data (name, hours, resource type). They should also support description and assumptions fields using the TipTap rich text editor, consistent with how these fields work on epics, features, and stories in the backlog.
Scope
Template-level fields
- Add
description (rich text) to FeatureTemplate — appears in the template editor and is applied when the template is used
- Add
assumptions (rich text) to FeatureTemplate — same
Template task-level fields
- Add
description (rich text) to TemplateTask — propagated to the generated Task when the template is applied to a feature
Behaviour when applying a template
When a FeatureTemplate is applied to a Feature:
- The feature's
description should be populated from the template's description (if the feature's description is currently empty)
- The feature's
assumptions should be populated from the template's assumptions (same condition)
- Each generated
Task should carry the corresponding TemplateTask.description
UI
- Template editor (create/edit modal or inline editor) should show TipTap rich text fields for description and assumptions
- Use the existing
RichTextEditor component from client/src/components/shared/RichTextEditor.tsx
Schema changes required
FeatureTemplate: add description String? and assumptions String?
TemplateTask: add description String?
- Migration needed
Overview
Feature templates in the template library currently only support task-level data (name, hours, resource type). They should also support description and assumptions fields using the TipTap rich text editor, consistent with how these fields work on epics, features, and stories in the backlog.
Scope
Template-level fields
description(rich text) toFeatureTemplate— appears in the template editor and is applied when the template is usedassumptions(rich text) toFeatureTemplate— sameTemplate task-level fields
description(rich text) toTemplateTask— propagated to the generatedTaskwhen the template is applied to a featureBehaviour when applying a template
When a
FeatureTemplateis applied to aFeature:descriptionshould be populated from the template'sdescription(if the feature's description is currently empty)assumptionsshould be populated from the template'sassumptions(same condition)Taskshould carry the correspondingTemplateTask.descriptionUI
RichTextEditorcomponent fromclient/src/components/shared/RichTextEditor.tsxSchema changes required
FeatureTemplate: adddescription String?andassumptions String?TemplateTask: adddescription String?