Skip to content

Productionize project onboarding wizard#1233

Draft
simple-agent-manager[bot] wants to merge 3 commits into
mainfrom
sam/productionize-project-onboarding-prototype-01ktev
Draft

Productionize project onboarding wizard#1233
simple-agent-manager[bot] wants to merge 3 commits into
mainfrom
sam/productionize-project-onboarding-prototype-01ktev

Conversation

@simple-agent-manager

Copy link
Copy Markdown
Contributor

Summary

Productionizes idea 01KTEQTH0E2VYRBP6MK3QK6HJ1 by replacing the flat /projects/new form with a guided 3-step onboarding wizard wired to real production endpoints.

  • Step 1 creates GitHub-backed projects from live installations/repositories/branches and maps duplicate name, repository, and GitHub repo ID conflicts inline.
  • Step 2 lets users optionally create conversation/task agent profiles and a cron-only trigger, using only configured agents from GET /api/agents.
  • Step 3 starts either task or conversation kickoff through POST /api/projects/:projectId/tasks/submit, with graceful cloud-credential 403 handling.

Constraints Preserved

  • DRAFT PR only. DO NOT MERGE.
  • No product mocks; the wizard uses production API clients/endpoints.
  • Skills are excluded from onboarding payloads and UI.
  • Agent choices are filtered to configured === true.
  • Trigger onboarding is cron-only, requires cronExpression, and handles per-project trigger-name 409s.
  • githubCliPolicy is omitted for inherited/default policy and sent only with the exact custom schema.
  • Branch copy does not claim the default branch stays untouched.
  • The throwaway /prototype/project-onboarding route/directory is absent from the current tree.

Validation

  • pnpm --filter @simple-agent-manager/web typecheck passed.
  • pnpm --filter @simple-agent-manager/web test -- tests/unit/components/project-onboarding-wizard.test.tsx passed.
  • pnpm --filter @simple-agent-manager/web lint passed with existing repo warnings.
  • pnpm lint passed with existing repo warnings.
  • pnpm typecheck passed.
  • pnpm build passed.
  • Playwright visual audit passed at 375px and 1280px:
    npx playwright test tests/playwright/project-create-artifacts-audit.spec.ts --project="iPhone SE (375x667)" --project="Desktop (1280x800)"
  • Staging deploy and smoke tests passed: https://github.com/raphaeltm/simple-agent-manager/actions/runs/27068216032
  • Staging authenticated /projects/new rendered the wizard with no horizontal overflow.
  • Staging create/kickoff verification created project 01KTEY73G24BJY922G2AT59TWW; POST /api/projects/:projectId/tasks/submit returned queued task 01KTEY75G1FHYW220Q49S93PNS.

Known Caveat

  • Full pnpm test did not exit cleanly because of an unrelated order-dependent assertion in apps/web/tests/unit/pages/project-library.test.tsx: screen.getByText(/2 files/) matches both visible text and an sr-only live-region duplicate. The isolated rerun of that test passed.

@sonarqubecloud

sonarqubecloud Bot commented Jun 6, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant