Agentic UI: Create blank or Blueprint sites - #4177
Conversation
…creation # Conflicts: # apps/studio/src/tests/ipc-handlers.test.ts # apps/ui/src/components/sidebar-header/index.tsx
📊 Performance Test ResultsComparing 3cea8eb vs trunk app-size
site-editor
site-startup
Results are median values from multiple test runs. Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff) |
| return { | ||
| ...base, | ||
| error: __( | ||
| 'The directory is already associated with another Studio site. Please choose a different site name or a custom local path.' |
| const field: Field< T > = { | ||
| id: 'wpVersion', | ||
| type: 'text', | ||
| label: __( 'WordPress version' ), |
| type: 'text', | ||
| label: __( 'WordPress version' ), | ||
| placeholder, | ||
| }; |
| adminPassword: 'first-password', | ||
| adminEmail: 'first@example.com', | ||
| } ); | ||
| fireEvent.change( screen.getByLabelText( /Admin username/ ), { |
There was a problem hiding this comment.
it is not a comment for this specific line, but just noting that in the original create-site form, when there is an error related to admin username field e.g. it is empty, the neighbouring Admin password field jumps down:
Additionally, this error looks different from the Local path error:
It would be nice if we can ensure consistency in this case
| return ( | ||
| <> | ||
| <h1>{ page }</h1> | ||
| <button type="button" onClick={ () => setProgress( 'Creating site…' ) }> |
There was a problem hiding this comment.
This button seems to visually overlap with whatever is on top of the create site screen, sometimes with the site title which I think does not look great:
Perhaps it could either replace the content on the screen or push it down if the button sticks to the top or we could find some sort of alternative approach
| } | ||
|
|
||
| if ( ! isZip ) { | ||
| throw new Error( __( 'Please select a Blueprint JSON or ZIP bundle.' ) ); |
There was a problem hiding this comment.
Perhaps we could make this error a bit clearer e.g. The provided file is not valid. Please select a Blueprint JSON or ZIP bundle.
Because if the user drops the file that is not valid, then see this error but the button to Create site is still enabled, they might assume that the blueprint file was used. Additionally, we could consider making the error more prominent
| return { | ||
| ...base, | ||
| error: __( | ||
| 'This directory is not empty. Please select an empty directory or an existing WordPress folder.' |
katinthehatsite
left a comment
There was a problem hiding this comment.
The flow to create a site either with or without blueprints worked for me and I did not encounter issues there 👍
I had some UI inconsistencies which I noted down in the comments so once these are addressed, I think this will be in a good shape for merging.
One thing to note is that we also don't have blueprints gallery in this PR: not sure if it was intentional or not so just leaving it here as an observation.
Thanks for the thorough testing, I've addressed the issues. Could you take another look please? 🙇
The blueprint gallery was removed based on the latest exploration pfHvTO-1wR-p2 and the Design Preview PR: #3975 |
katinthehatsite
left a comment
There was a problem hiding this comment.
thanks for addressing the feedback 👍
I tested everything thoroughly again and I think this is good to go 👍
The error and the form is much more consistent:
I would maybe think more about improving Creating site progress screen but it does not need to be handled in this PR and can be explored separately





Related issues
How AI was used in this PR
Codex helped compare the original umbrella PR with current trunk, implement the scoped first increment, and add focused coverage. The resulting behavior, cleanup paths, and tests were manually reviewed. The updated visual design still needs human review in both color schemes.
Proposed Changes
Testing Instructions
/onboarding/create.Pre-merge Checklist