Problem
The current initcommand is quite basic and doesn't provide much value. It requires a lot of manual work and doesn't align with Abby's level of UX/DX
Solution:
The init command should provide a full hands-on experience. The shadcn CLI is a great example of that (reference).
Potential Workflow:
- User runs Abby init
- Ask for the location (should default to the current dir)
- If there is an
abby.config.ts warn the user and abort.
- Get a list of all projects available for the signed-in user
- Show the user a list of all projects (select)
- Let the user select a project
- Fetch all existing items for the current project (environments, flags, remote configs, tests)
- Show the user an overview of the config that will be written to the file
- Allow the user to accept or cancel
Acceptance Criteria:
- User errors are caught and displayed in a nice manner
- the
currentEnvironment field should be set to process.env.NODE_ENV by default
- all existing data must be set for the projects
Problem
The current
initcommand is quite basic and doesn't provide much value. It requires a lot of manual work and doesn't align with Abby's level of UX/DXSolution:
The
initcommand should provide a full hands-on experience. The shadcn CLI is a great example of that (reference).Potential Workflow:
abby.config.tswarn the user and abort.Acceptance Criteria:
currentEnvironmentfield should be set toprocess.env.NODE_ENVby default