Skip to content

Setup wizard #1239

@matejchalk

Description

@matejchalk

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 init command.
  • 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/ci are 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.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions