|
1 | | -# OpenShift Designs |
| 1 | +# OpenShift Origin Design (HPUX mono-repo) |
2 | 2 |
|
3 | | -[Click here to view the website](https://openshift.github.io/openshift-origin-design/) |
| 3 | +Mono-repo for the **Hybrid Platforms UX (HPUX)** design team at Red Hat. It holds design documentation, UX research, and interactive prototypes for OpenShift Container Platform, Advanced Cluster Management (ACM), Advanced Cluster Security (ACS/RHACS), Observability, and related Hybrid Platforms products. |
4 | 4 |
|
5 | | -This repository includes [designs](https://openshift.github.io/openshift-origin-design/designs/), [conventions](https://openshift.github.io/openshift-origin-design/conventions/), and [research](https://openshift.github.io/openshift-origin-design/research/) related to the OpenShift Container Platform ecosystem. Most of this repository is created and maintained by the [Red Hat User Experience Design team](https://www.redhat.com/en/about/product-design), but we welcome external contributions and suggestions. |
| 5 | +This is an **internal design and prototyping workspace**, not a customer-facing product repository. |
6 | 6 |
|
7 | | -Reviewing a pull request? Our [GitHub PR Image Inserter](https://andybraren.com/tools/gh-pr-image-inserter.html) utility makes it easier to see the images you're commenting on. |
| 7 | +## Live sites |
| 8 | + |
| 9 | +| Resource | URL | |
| 10 | +|----------|-----| |
| 11 | +| **Design documentation** (Jekyll) | [openshift.github.io/openshift-origin-design](https://openshift.github.io/openshift-origin-design/) | |
| 12 | +| **Prototype hub** (`hub/`) | Branch previews via GitHub Actions: `https://<owner>.github.io/<repo>/preview/<branch-slug>/` (see [Hub branch preview workflow](.github/workflows/hub-github-pages-preview.yml); open the latest run's job summary for the exact link) | |
| 13 | +| **HPUX Prototypes** (`hpux-prototypes/`) | [kuklas.github.io/HPUX-Prototypes](https://kuklas.github.io/HPUX-Prototypes/) (standalone GitHub Pages; also embedded in the hub) | |
| 14 | + |
| 15 | +The Jekyll site uses `baseurl: /openshift-origin-design/` (see `_config.yml`). Prototype apps under this tree are excluded from the Jekyll build and ship separately. |
| 16 | + |
| 17 | +## Product and team coverage |
| 18 | + |
| 19 | +The **OpenShift Prototype Hub** (`hub/`) indexes prototypes by team and cross-cutting area. Teams in `hub/src/data/prototypes.manifest.json` include ACS, ACM, Virtualization, Core OpenShift, Sovereign Cloud, Migration Advisor, OME, Observability, and OCM. Cross-product groupings include RBAC, Upgrades, Agentic, and Install. |
| 20 | + |
| 21 | +## Repository structure |
| 22 | + |
| 23 | +``` |
| 24 | +openshift-origin-design/ |
| 25 | +├── designs/ # Design specs (administrator, developer, OCM, etc.) |
| 26 | +├── conventions/ # UX conventions |
| 27 | +├── research/ # User research artifacts |
| 28 | +├── releases/ # Release-specific documentation |
| 29 | +├── hpux-prototypes/ # Primary React prototype app (Webpack, PatternFly) |
| 30 | +├── hub/ # Prototype hub launcher (Vite); reads prototypes.manifest.json |
| 31 | +├── rhacs-ux-prototypes/ # RHACS static prototypes (vendored) |
| 32 | +├── ome-console/ # OME Console prototype (Vite) |
| 33 | +└── osac-demo/ # OSAC static demo |
| 34 | +``` |
| 35 | + |
| 36 | +## Contributing |
| 37 | + |
| 38 | +### Design documentation |
| 39 | + |
| 40 | +Edit Markdown under `designs/`, `conventions/`, or `research/`. The published site is built from the upstream [openshift/openshift-origin-design](https://github.com/openshift/openshift-origin-design) GitHub Pages configuration. |
| 41 | + |
| 42 | +### New interactive prototype |
| 43 | + |
| 44 | +1. Work in `hpux-prototypes/` (see `guides/` for architecture and setup). |
| 45 | +2. Scaffold from the template: `npm run create-prototype` (runs `scripts/create-prototype.cjs`). |
| 46 | +3. Follow branch and safety practices in [hpux-prototypes/SAFE_WORKFLOW.md](hpux-prototypes/SAFE_WORKFLOW.md). |
| 47 | +4. Register the prototype in `hub/src/data/prototypes.manifest.json` so it appears on the hub (or ask a maintainer to add the entry). |
| 48 | + |
| 49 | +**Private prototypes:** set `private: true` in the prototype's `prototype.config.ts` to hide it from the launcher and hub listing while keeping direct URL access. See `hpux-prototypes/src/app/prototypes/_template/prototype.config.ts` for the field. |
| 50 | + |
| 51 | +**Upstream sync:** `hpux-prototypes/` is vendored from [kuklas/HPUX-Prototypes](https://github.com/kuklas/HPUX-Prototypes); see [hpux-prototypes/VENDOR.md](hpux-prototypes/VENDOR.md). |
| 52 | + |
| 53 | +### Hub and embed builds |
| 54 | + |
| 55 | +From `hub/`: `npm run dev` for local development; `npm run build` bundles vendored apps (`hpux-prototypes`, `rhacs-ux-prototypes`, `ome-console`, `osac-demo`, etc.) into `hub/dist/` for deploy. |
| 56 | + |
| 57 | +There is no separate top-level CONTRIBUTORS file; contributor workflow lives in `hpux-prototypes/guides/` and the hub contributor copy in `hub/src/App.tsx`. |
| 58 | + |
| 59 | +## Local development |
| 60 | + |
| 61 | +**Jekyll design site** (from repo root): |
| 62 | + |
| 63 | +```bash |
| 64 | +bundle exec jekyll serve |
| 65 | +``` |
| 66 | + |
| 67 | +**HPUX Prototypes** (from `hpux-prototypes/`): |
| 68 | + |
| 69 | +```bash |
| 70 | +npm start # dev server |
| 71 | +npm run type-check # before commit |
| 72 | +``` |
| 73 | + |
| 74 | +**Hub** (from `hub/`): |
| 75 | + |
| 76 | +```bash |
| 77 | +npm run dev |
| 78 | +``` |
| 79 | + |
| 80 | +## Reviewing design PRs |
| 81 | + |
| 82 | +When reviewing pull requests with images, the [GitHub PR Image Inserter](https://andybraren.com/tools/gh-pr-image-inserter.html) utility makes inline image review easier. |
0 commit comments