Skip to content

Conversation

@ibuziuk
Copy link
Collaborator

@ibuziuk ibuziuk commented Jan 22, 2026

@ibuziuk ibuziuk requested a review from a team as a code owner January 22, 2026 11:10
@ibuziuk ibuziuk changed the title 1765 Initial implementation of the Devfile GUI Wizard Jan 22, 2026
ibuziuk and others added 28 commits January 22, 2026 12:20
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 <[email protected]>

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Added badges for contribution and Che server.

Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Signed-off-by: Ilya Buziuk <[email protected]>
Copy link
Member

@michael-valdron michael-valdron left a 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.

options={COMPONENT_TYPES}
/>

{component.type === 'container' && (
Copy link
Member

@michael-valdron michael-valdron Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Component fields are missing the inputs to fill in the devfile, was this intentional to batch out the features based on imminent interest?

For volumes, there could be a dynamic field on either the container or volume component that ties it to the other.

The fields missing are the following:

container

volume

kubernetes

All fields: https://devfile.io/docs/2.3.0/devfile-schema#components-kubernetes

openshift

All fields: https://devfile.io/docs/2.3.0/devfile-schema#components-openshift

image

All fields: https://devfile.io/docs/2.3.0/devfile-schema#components-image

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, those are for further improvements once the initial implementation is merged

options={COMMAND_TYPES}
/>

{command.kind === 'exec' && (
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Command fields are missing the inputs to fill in the devfile, was this intentional to batch out the features based on imminent interest?

The fields missing are the following:

exec

apply

All fields: https://devfile.io/docs/2.3.0/devfile-schema#commands-apply

composite

All fields: https://devfile.io/docs/2.3.0/devfile-schema#commands-composite

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should there be another step or expand this step to include starterProjects? Also dependentProjects?

Copy link
Collaborator Author

@ibuziuk ibuziuk Jan 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, I do not want to expose it on UI, at the very least for now

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, I do not understand why starterProjects / dependendentProjects properties are needed. This is also probably smth. odo specific

</div>
</main>

<footer className="bg-white border-t border-gray-200 mt-12">
Copy link
Member

@michael-valdron michael-valdron Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One more comment is that CNCF requires us to have the following line on all page footers:

Copyright © Devfile a Series of LF Projects, LLC
For website terms of use, trademark policy and other project policies please see lfprojects.org/policies/.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed
Screenshot 2026-01-23 at 11 05 34

README.md Outdated

## License

This project is open source and available under the [MIT License](LICENSE).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should convert this to Apache-2.0

cc @elsony

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

switching to Apache License, Version 2.0

Signed-off-by: Ilya Buziuk <[email protected]>
…tial PR. The workflow Will be implemented for https://quay.io/ in the future

Signed-off-by: Ilya Buziuk <[email protected]>
@ibuziuk
Copy link
Collaborator Author

ibuziuk commented Jan 23, 2026

@michael-valdron thank you for the review:

We should change from the image built under your registry, seeing your private conversation we can address separately this after this PR

sounds good, I have removed the image build action from the initial 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.

done

Signed-off-by: Ilya Buziuk <[email protected]>
@openshift-ci openshift-ci bot removed the lgtm label Jan 29, 2026
@openshift-ci
Copy link

openshift-ci bot commented Jan 29, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: dmytro-ndp, ibuziuk, rohanKanojia, svor

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants