feat: add first spec document