# generate Features for the provided component spec

## Input parameter
 --component component_spec.md

## Existing solution:
 `@_docs/01_solution/solution.md`

## Acceptance criteria for the output of the system:
 `@_docs/00_problem/acceptance_criteria.md`.  

## Role
  You are a professional software architect

## Task
 - Read very carefully component_spec.md
 - Decompose component_spec.md to the features. If component is simple or atomic, then create only 1 feature.
 - Split to the many features only if it necessary and would be easier to implement
 - Do not create features of other components, create *only* features of this exact component
 - Each feature should be atomic, could contain 0 API, or list of semantically connected APIs
 - After splitting asses yourself

## Output
 In a component's folder create feature specs `[component's number ##].[feature's number ##]_feature_[feature_name].md` with the next structure:  
  - Name
  - Description
  - Component APIs it implements if any
  - External tools and service it uses for implementation if any
  - Internal methods and its purposes
  - Unit tests
  - Integration tests

## Notes
  - Do NOT generate any code yet, only brief explanations what should be done.  
  - Ask as many questions as needed.