Reusable drag and drop UI layout for frontends
| Document | Description |
|---|---|
| AGENTS.md | AI agent onboarding: tech stack, conventions, pitfalls |
| CONTRIBUTING.md | Contribution workflow, commit conventions, PR guidelines |
| Architecture | System design, data flow, widget pipeline, deployment |
| Testing Guidelines | Jest and Playwright testing patterns |
| Component Development | Widget and component development patterns |
| Layout Data Format | Layout data structures, API endpoints, and data flow |
| Widget Layout Component | WidgetLayout federated module interface |
| GridLayout Component | Core layout engine with drag-and-drop |
| Creating Custom Widgets | Custom widget integration guide |
| AI Agent Guidelines | Guidelines for AI-generated code documentation |
In order to access the https://[env].foo.redhat.com in your browser, you have to add entries to your /etc/hosts file. This is a one-time setup that has to be done only once (unless you modify hosts) on each machine.
To setup the hosts file run following command:
npm run patch:hostsIf this command throws an error run it as a sudo:
sudo npm run patch:hosts-
npm install -
npm run start -
Open browser in URL listed in the terminal output
-
Currently,
App.tsxwill throw a type error until your app is registered and anavIdhas been set
Update config/dev.webpack.config.js according to your application URL. Read more.
npm run verify will run npm run lint (eslint) and npm test (Jest)
!Prerequisites! Podman, podman-compose and go (ideally gvm) installed
- Pull chrome-services repository
- Run
make infrain chrome-services repository - Create .env file and copy default values as mentioned in chrome-service-backend#local-testing in chrome-services repository
- Run
go run main.goin chrome-services repository - Run
CONFIG_PORT=8000 npm run startin widget-layout reposiroty