-
Notifications
You must be signed in to change notification settings - Fork 0
Initial implementation of the Devfile GUI Wizard #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Build a complete single-page application that guides users through creating devfile 2.3.0 YAML files via an interactive 7-step wizard interface. Features: - Step-by-step wizard covering all devfile 2.3.0 sections (metadata, projects, components, commands, events, variables) - Real-time YAML preview with syntax highlighting - Built-in validation for devfile compliance - One-click download and copy-to-clipboard functionality - Responsive design with Tailwind CSS - Client-side state management using React useReducer + Context API Technical Stack: - React 18.3.1 with modern hooks - Tailwind CSS 3.4.0 with forms plugin - Vite 5.4.0 for fast development and builds - js-yaml for YAML generation Documentation: - Comprehensive README.md with setup and usage instructions - Working devfile.yaml for developing this project itself - Updated CLAUDE.md with project guidance Resolves: devfile/api#1765 Signed-off-by: Ilya Buziuk <ibuziuk@users.noreply.github.com> Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Added badges for contribution and Che server. Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
michael-valdron
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good work on this @ibuziuk!
I left a few comments to address to best match the Devfile v2.3.0 schema and a bit of UX. Few more comments I have:
- We should change from the image built under your registry, seeing your private conversation we can address separately this after this PR
- To deploy, you'll need to fill in the commands to build and export to a static website here, start.devfile.io should already be pointing here so once the deploy workflow is completed you'll start seeing it there.
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
…tial PR. The workflow Will be implemented for https://quay.io/ in the future Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
|
@michael-valdron thank you for the review:
sounds good, I have removed the image build action from the initial PR
done |
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
michael-valdron
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ibuziuk Some follow ups to the recent revisions, I'll approve the current state given the current size of the PR.
| const project = projects[index] | ||
| let updates = {} | ||
|
|
||
| if (field === 'sourceType') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar story with commands and components, source type value for projects is the field name of the object that stores the source type specific fields, see: https://devfile.io/docs/2.3.0/devfile-schema#projects-git and https://devfile.io/docs/2.3.0/devfile-schema#projects-zip
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to be improved, once the initial PR is merged
| options={COMPONENT_TYPES} | ||
| /> | ||
|
|
||
| {componentType === 'container' && ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed since the revision, container component type is the only one that works, other component type options don't work (either blanks the section of the devfile or prevent the option from being chosen).
Reviewing the source below I guess this is intentional as the other are not implemented yet, correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yup, to be improved going forward. Contributions are most welcome ;-)
michael-valdron
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Deploys as expected and confirmed can use the static website from public/ using python -m http.server -d public after running npm run build.
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: dmytro-ndp, ibuziuk, michael-valdron, rohanKanojia, svor The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Related issue - devfile/api#1765
Original repository - https://github.com/ibuziuk/devfile-gui-wizard
Preview - https://devfile-gui-wizard-devfile-gui-wizard.apps.che-dev.x6e0.p1.openshiftapps.com/
Developer Sandbox