Scope
This repository contains only the Rancher UI extension. Backend, corpus, and model code live in separate repositories and are not accepted here.Prerequisites
- Node.js 22+ (use nvm to manage versions)
- Yarn 1.x (classic)
- Rancher 2.8+ (local or remote instance for testing)
Workflow
Developer Load into Rancher
Start the package server with
yarn serve-pkgs, then load the extension in Rancher via Extensions → Developer Load using http://127.0.0.1:4500.Pull Request Requirements
- The build must pass (
yarn build-pkg pastures). - Use conventional commits:
feat:— new featurefix:— bug fixdocs:— documentation onlychore:— maintenance, dependencies
- Keep PRs focused on a single change.
Code Style
| Convention | Detail |
|---|---|
| Components | Vue 3 <script setup lang="ts"> with Composition API |
| Styling | Rancher CSS variables (--body-text, --border, --primary, --box-bg, etc.) — no hardcoded colors |
| API calls | engineFetch() from lib/pasturesApi.ts |
| Demo mode | Guard with isGlobalDemoMode(); load DEMO_* constants when true |
| Types | TypeScript interfaces for all API responses and component props |