Summary
Net-new Sistent components, grounded in the existing Meshery Cloud GitHub connection implementation — do not redesign from scratch.
If Cloud’s flow can be enhanced, enhance it; Sistent primitives should be extracted / generalized from that current UI, then published so Kanvas and Cloud both consume @sistent/sistent instead of forking the experience.
Today Sistent still has no GitHub-connection component (only GithubIcon, a github color token, and a generic ConnectionChip). The product UI to start from lives in Meshery Cloud.
Start from Meshery Cloud (source of truth for behavior/UX)
Repo: layer5io/meshery-cloud
| Area |
Location |
| Route / page |
ui/pages/connect/[...connection].tsx → /connect/github/... |
| Wizard shell |
ui/components/connect/index.tsx |
| Stepper |
ui/components/connect/stepper/ (index.tsx, stepper.tsx, stepper-content.tsx, constants.tsx, info-panel.tsx) |
| GitHub App step |
ui/components/connect/stepper/github.tsx (+ getGithubInstallationId) |
| Step labels (today) |
Connect GitHub App → Select Repositories → Import Designs → Enable Snapshots (…) → Finish (constants.tsx steps) |
| Verify |
ui/components/connect/verify/ |
| API client |
ui/api/github.ts |
| Redux |
ui/store/slices/connection.ts |
| Integrations cards |
ui/components/workspaces/integrations/ (connection-card.tsx, connectionsTable.tsx, metadata.tsx) |
| E2E reference |
ui/e2e/github-connection-wizard.spec.ts |
Guidance: Lift presentational patterns (stepper chrome, CONNECT CTA states, empty/error, repo/file pick lists, finish) into Sistent; leave Cloud-specific data fetching, GitHub App URLs, and persistence in Cloud. Enhance Cloud where needed, then mirror the same primitives in Kanvas.
Goal
Create new Sistent primitives for GitHub connections, derived from the Cloud wizard above, and publish via @sistent/sistent.
Proposed new primitives (from Cloud, not greenfield fantasy)
Out of scope: MeshKit Trees crawl (meshery/meshkit#1119).
Related product issues (consume these primitives; start from Cloud UX)
Acceptance criteria
Research context
layer5labs/meshery-extensions#4366 · layer5io/meshery-cloud#6115 · meshery/meshkit#1118
Contributor Guide · https://layer5.io/projects/sistent
Summary
Net-new Sistent components, grounded in the existing Meshery Cloud GitHub connection implementation — do not redesign from scratch.
If Cloud’s flow can be enhanced, enhance it; Sistent primitives should be extracted / generalized from that current UI, then published so Kanvas and Cloud both consume
@sistent/sistentinstead of forking the experience.Today Sistent still has no GitHub-connection component (only
GithubIcon, agithubcolor token, and a genericConnectionChip). The product UI to start from lives in Meshery Cloud.Start from Meshery Cloud (source of truth for behavior/UX)
Repo:
layer5io/meshery-cloudui/pages/connect/[...connection].tsx→/connect/github/...ui/components/connect/index.tsxui/components/connect/stepper/(index.tsx,stepper.tsx,stepper-content.tsx,constants.tsx,info-panel.tsx)ui/components/connect/stepper/github.tsx(+getGithubInstallationId)constants.tsxsteps)ui/components/connect/verify/ui/api/github.tsui/store/slices/connection.tsui/components/workspaces/integrations/(connection-card.tsx,connectionsTable.tsx,metadata.tsx)ui/e2e/github-connection-wizard.spec.tsGuidance: Lift presentational patterns (stepper chrome, CONNECT CTA states, empty/error, repo/file pick lists, finish) into Sistent; leave Cloud-specific data fetching, GitHub App URLs, and persistence in Cloud. Enhance Cloud where needed, then mirror the same primitives in Kanvas.
Goal
Create new Sistent primitives for GitHub connections, derived from the Cloud wizard above, and publish via
@sistent/sistent.Proposed new primitives (from Cloud, not greenfield fantasy)
ConnectApppatternsConnectionChip+GithubIcon)stepsinconstants.tsx; apps supply data/callbacksOut of scope: MeshKit Trees crawl (meshery/meshkit#1119).
Related product issues (consume these primitives; start from Cloud UX)
Acceptance criteria
Research context
layer5labs/meshery-extensions#4366 · layer5io/meshery-cloud#6115 · meshery/meshkit#1118
Contributor Guide · https://layer5.io/projects/sistent