reopt designreopt design
DocsExploreToolsPricingBuilder
로그인
시작하기
개요
시작하기
Mission
핵심 개념
핵심 개념
Recipes
Adapters
구축·운영
Agent Contract
Builder Rollout
Builder Shell Presets
Rollout Playbook
컴포넌트 · Workspaces
ShellPage
ListWorkspace
DetailWorkspace
EditorWorkspace
DashboardWorkspace
LandingWorkspace
컴포넌트 · Layout
ShellProvider
ShellAppShell
ShellLandingPage
ShellFullscreenToolSurface
컴포넌트 · Navigation
ShellCollapsibleNav
ShellNavItem
ShellNavGroup
ShellNavAccordion
컴포넌트 · Panels
ShellResizableLayout
ShellResizeHandle
ShellBottomBar
ShellFlyoutAside
ShellHeaderStackProvider
컴포넌트 · Helpers
ShellSection
ShellStateBoundary
ShellSpacing
ShellPolicyToggler
컴포넌트 · Adapters
ShellDataGridAdapter
ShellEditorAdapter
Oopt-shell
reopt designreopt design

AI 시대를 위한 디자인 시스템

  • 문서
  • 가격
  • 릴리즈 노트
  • GitHub
  • 서비스 약관
  • 개인정보처리방침

주식회사 리옵트사업자등록번호 217-88-02453contact@reopt.ai

© 2026 reopt Inc. All rights reserved.

핵심 개념
  1. 문서
  2. /
  3. 핵심 개념
  4. /
  5. Adapters

Adapters

opt-datagrid와 opt-editor 엔진을 바꾸지 않고 harness chrome만 덧씌우는 연결층을 설명합니다.

reopt design · 업데이트 2026년 8월 2일

개요시작하기Mission핵심 개념RecipesAdaptersAgent ContractBuilder RolloutBuilder Shell PresetsRollout Playbook

1. adapter가 의미하는 것

adapter는 엔진을 재구현하지 않습니다. DataGrid는 여전히 grid engine이고, Editor는 여전히 document engine입니다. harness는 그 바깥에서 title, description, toolbar, status, empty/error fallback, inspector, footer를 공통 규칙으로 감쌉니다.

방식누가 무엇을 소유하나결과
직접 사용페이지가 toolbar, status, empty, inspector, footer를 모두 직접 배치화면마다 구조가 흩어지고 engine 주변 chrome이 중복됩니다.
adapter 사용엔진은 원래 패키지에 두고, chrome과 fallback UX는 harness가 소유초기 wrapper 설계는 필요하지만 제품 일관성이 훨씬 높아집니다.

2. ShellDataGridAdapter

`ShellDataGridAdapter`는 `rows`, `columns`, `ref`, callback surface는 그대로 `opt-datagrid`에 전달하고, 그 위에 title / toolbar / status / footer / empty state만 얹습니다.

tsx
import { ShellDataGridAdapter } from "@reopt-ai/opt-shell";

<ShellDataGridAdapter
  title="User Directory"
  description="opt-datagrid는 엔진을 유지하고, harness가 toolbar/status/footer를 소유합니다."
  toolbar={<UserActions />}
  status={<GridMetrics />}
  footer={<GridFooter />}
  rows={rows}
  columns={columns}
  getRowId={(row) => row.id}
  onRowsChange={setRows}
  empty={{
    title: "사용자가 없습니다",
    description: "새 사용자를 추가하거나 필터를 해제해 보세요.",
  }}
/>;

3. ShellEditorAdapter

`ShellEditorAdapter`는 `store`, `catalog`, `mode` 같은 editor runtime은 그대로 유지하면서 status, inspector, footer, empty fallback을 공통 chrome으로 정리합니다.

tsx
import { ShellEditorAdapter } from "@reopt-ai/opt-shell";

<ShellEditorAdapter
  title="Release Draft"
  description="opt-editor는 문서 엔진을 유지하고, harness가 status/inspector/footer chrome을 소유합니다."
  toolbar={<DraftToolbar />}
  status={<DraftStatus />}
  inspector={<DraftInspector />}
  footer={<PublishChecklist />}
  store={store}
  catalog={catalog}
  mode="edit"
  isEmpty={spec.root.length === 0}
  empty={{
    title: "초안이 비어 있습니다",
    description: "AI 생성 또는 블록 추가로 문서를 시작하세요.",
  }}
/>;

4. 현재 데모 경로

DataGrid Playground

중앙 panel만 ShellDataGridAdapter로 감싸서 engine과 chrome의 경계를 바로 볼 수 있습니다.

Editor Playground

preview toolbar, inspector, footer를 ShellEditorAdapter가 소유하는 데모입니다.

Builder Rollout

playground에서 확인한 adapter 방식이 Builder 실화면과 proof-aware governance로 어떻게 이어지는지 정리합니다.

PreviousRecipesList, Detail, Editor, Dashboard workspace를 canonical recipe로 정리합니다.핵심 개념
Recipes 페이지로 이동
NextAgent Contract에이전트가 opt-shell 화면을 생성하거나 수정할 때 지켜야 하는 우선순위와 definition of done입니다.구축·운영