Skip to content

UX: Refactor onboarding into a single post-deploy setup command #17

@leandrodamascena

Description

@leandrodamascena

Getting from "I cloned the repo" to "I submitted my first task" is honestly painful. I had to follow 4 different doc pages in the right order, bounce between REST and CLI without knowing which to use, manually copy stack outputs, run a dozen AWS CLI commands to wire up Cognito and Secrets Manager, and keep track of 6+ values across terminal sessions. I kept a notepad open just to track ARNs and IDs.

The current flow is roughly:

  1. Installation - prereqs, mise run install, mise run build. This part is fine.
  2. Repo preparation - fork a test repo, edit agent.ts to add a Blueprint, create a GitHub PAT, bootstrap, deploy (~10 min), then retrieve 4 stack outputs with a long aws cloudformation command.
  3. Authentication - store the PAT in Secrets Manager, create a Cognito user with admin-create-user + admin-set-user-password (password rules you discover by trial and error), smoke test with a manual initiate-auth + curl.
  4. CLI setup - build the CLI, run bgagent configure with the 4 values from step 2, bgagent login, finally submit.

That's ~25 manual steps. If you miss one or get the region wrong, you get errors that you have no idea. Someone evaluating the project will hit this wall before they ever see the agent do anything.

Ideal flow

mise run install && mise run build    # 1. Install
mise run //cdk:deploy                 # 2. Deploy
mise run setup                        # 3. One command: prompts for PAT, email,
                                      #    password. Reads stack outputs, stores
                                      #    secret, creates user, configures CLI.
bgagent submit --repo fork/repo --issue 42   # 4. Go

Possible approaches

  • mise run setup script that reads stack outputs, prompts for PAT/credentials, stores the secret, creates the Cognito user, configures the CLI, and runs a smoke test. Simplest to build.
  • bgagent setup command doing the same from the CLI itself. Nicer UX but more work.
  • At minimum, merge the 4 doc pages into one linear "Getting Started" guide and recommend CLI as the default path.

Acknowledgements

  • I may be able to implement this feature
  • This might be a breaking change

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions