Skip to content

feat(factory): First Pass on Quickstart Factory Skills for Green Field#1

Open
johnson2500 wants to merge 2 commits into
mainfrom
rj_quickstart_factory
Open

feat(factory): First Pass on Quickstart Factory Skills for Green Field#1
johnson2500 wants to merge 2 commits into
mainfrom
rj_quickstart_factory

Conversation

@johnson2500
Copy link
Copy Markdown
Collaborator

@johnson2500 johnson2500 commented Jun 3, 2026

Description

This PR is to add functionality to the Quickstart Factory to create a new Quickstart from a user's idea all the way to the final product.
This include most of the SDLC for creating quickstart projects.

Changes

Stage Skill Output Description
1 rh-qs-discovery data/prds/<slug>.md Discovery of the user's idea and creation of a PRD
2 rh-qs-architect data/designs/<slug>.md Architecture of the quickstart and creation of a design document
3 rh-qs-scaffold GitHub repo + CI/CD Scaffolding of the quickstart and creation of a GitHub repo
4 rh-qs-implement Working application code Implementation of the quickstart and creation of a working application code
5 rh-qs-deploy Helm chart + compose.yml Deployment of the quickstart and creation of a Helm chart and compose.yml
6 rh-qs-document README.md + docs/ Documentation of the quickstart and creation of a README.md and docs/
7 rh-qs-ship PR URL + blog draft Shipping of the quickstart and creation of a PR and blog draft

Considerations

This was tested on my machine using an already pre-built quickstart project to see how well it would do.
Please test this out on your own machines to see how well it works for you. This is NOT production ready and should be used accordingly.

Please leave comments and feedback on the PR to help improve the quality of the quickstart factory.

Known Issues

  • Not the best test coverage out the box.
  • We may have stale data when it comes to Openshift AI new features.
  • We may be out of data on some docs especcially when it comes to the ai-architecture-charts repo this can change.
  • We need to ensure after each step we are running tests and enuring no breakage occure.

Example outputs

The entire repo was created by the skills here:

### Create repository

```bash
gh repo create rh-ai-quickstart/<slug> --public --description "<from PRD>" --clone
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I think that the default state should be:
1. Open a new rh-ai-quickstart/ repo - with an empty readme & license
2. Fork it under your user.
3. Work on the fork.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

While running this skill, the a yml file was generated with the following lines:

pgvector:
    image: pgvector/pgvector:pg16
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: semantic_router
    volumes:
      - pgvector-data:/var/lib/postgresql/data

For POSTGRES_PASSWORD:

  1. The user should be able to set the value or be aware that we are using generic passwords.
  2. Either way, it's better if we include the passwords under the .env file and create secrets later when deploying

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Two comments about this stage:

  1. The repo was cloned under /tmp directory by default, which probably happened during the scaffolding.
  2. Since most of the code of the app is being written at this stage, I'd add a recommendation for the user to open their IDE.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I wasn't sure where to put the source code. We could also have this in the data/ directory like the other artifacts.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

rh-qs-scaffold created pyproject.toml files. When running the implementation skill, it does not use uv for package management and Python virtual environment (.venv)

cd /tmp/vllm-semantic-router/packages/api && pip install -e ".[test]" -q 2>&1 | tail -5)
  ⎿  (eval):1: command not found: pip

cd /tmp/vllm-semantic-router/packages/api && pip3 install -e ".[test]" -q 2>&1 | tail -5

cd /tmp/vllm-semantic-router/packages/api && python3 -m venv .venv && .venv/bin/pip install -e ".[test]" -q 2>&1 | tail -3

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Created issue for this.

@Hadar301
Copy link
Copy Markdown

Hadar301 commented Jun 4, 2026

I'd consider adding a skill (maybe with a sub-agent so the main context will stay clear), such that:

  1. Building and pushing all the Containers that are defined in the Containerfiles
  2. Check if the user is connected to a cluster and suggest deploying all the components e2e.
  3. Report back to the main agent all the lessons learned so that it can document them and edit the code.

@YosiElias
Copy link
Copy Markdown

  1. Check if the user is connected to a cluster and suggest deploying all the components e2e.

As part of the blueprint to RHOAI skill conversion, we also need an agent to deploy the project and debug deployment failures. I totally agree that this loop will save a lot of engineering time. However, we need to consider security, and we are checking the best options for how to restrict the agent while giving it enough freedom to deploy and debug on the cluster.
@johnson2500 @Hadar301 If you have any take on this, I'd love to hear it. Of course, once we find a solution, we'll share it so we can use the same agent.

@johnson2500
Copy link
Copy Markdown
Collaborator Author

  1. Check if the user is connected to a cluster and suggest deploying all the components e2e.

As part of the blueprint to RHOAI skill conversion, we also need an agent to deploy the project and debug deployment failures. I totally agree that this loop will save a lot of engineering time. However, we need to consider security, and we are checking the best options for how to restrict the agent while giving it enough freedom to deploy and debug on the cluster. @johnson2500 @Hadar301 If you have any take on this, I'd love to hear it. Of course, once we find a solution, we'll share it so we can use the same agent.

Agreed. We may be missing an entire skill. We may need to make this an explcit step or ensure each stage has security considerations. I do not have ideas yet but we can brainstorm.

@@ -0,0 +1,123 @@
# Sync and validate skills under core/skills/.
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is broken and needs a fix.

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.

3 participants