-
Notifications
You must be signed in to change notification settings - Fork 14
Description
User story
As a user, I would like there to be a tool that guides me through the process of setting up Code PushUp in my project and automates a lot of the work for me. This would allow me to quickly try out Code PushUp without investing a lot of effort up-front. Particularly for monorepos, this could be a real game-changer.
I would like this setup wizard to be interactive, as I want to select what official plugins I need, whether to use a standalone or monorepo setup, etc. To help me make the right choices, the tool should infer smart defaults for each prompt.
Although this tool should work for any project (npm init @code-pushup/cli), the same functionality should also be available to use as an Nx generator (nx g @code-pushup/nx-plugin:setup).
Implementation plan
See sub-issues.
Acceptance criteria
- Users can trigger the setup wizard with the
npm initcommand. - Nx users can trigger the setup wizard using our Nx plugin.
- The setup wizard uses interactive prompts to get information from the user.
- The setup wizard infers smart defaults from the user's repository.
- The setup wizard may also be run non-interactively if CLI arguments are supplied.
- Users can select any of our official plugins.
- Users are prompted for additional configuration for each selected plugin.
- Users can choose between standalone or monorepo mode.
- All the monorepo setups supported by
@code-pushup/ciare recognized. - In standalone mode, a working config file is generated.
- In monorepo mode, working config files are generated per project, each extending some shared preset file.
- Once the code scaffolding is complete, users need only run 1 command to get a full report.