reopt designreopt design
DocsExploreToolsPricingBuilder
시작하기
개요
시작하기
핵심 개념
컴포넌트 가이드
Rich Parts
스타일링
구축·운영
Tool 승인 UI
커스텀 파트
Production readiness
Oopt-chat
reopt designreopt design

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

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

© 2026 reopt-ai. All rights reserved.

구축·운영
  1. 문서
  2. /
  3. 구축·운영
  4. /
  5. Production readiness

Production readiness

opt-chat을 배포 직전에 100점 기준으로 확인하는 install, browser, streaming, release 운영 게이트입니다.

reopt design · 업데이트 2026년 6월 26일

1. 릴리즈 게이트

opt-chat의 코드·CI가 통과해도 실제 배포 확신은 소비자 앱 설치, 브라우저 상호작용, 느린 네트워크 조건, 운영 기록까지 닫혀야 올라갑니다. 아래 네 항목을 모두 통과하면 production-ready gate를 닫습니다.

Gate필수 증거잡아내는 리스크
Consumer install smokefresh Next/Vite 앱에서 root import, ./flow, styles.css import, production build 통과workspace:* range 누락, optional peer 정적 import, dist export 누락
Browser matrixdesktop/mobile에서 keyboard submit, attachment-only submit, approval approve/deny, tool/source 렌더 통과버튼 중복 locator, viewport overflow, focus/submit 회귀
Streaming soak느린 file part 변환 중 단일 submit, abort/retry 후 loading reset, tool output/source-document 보존중복 메시지, stale loading, source 누락
Release opsCHANGELOG, private publish snapshot, rollback note, 커밋 해시가 한 묶음으로 남음재현 불가능한 수동 publish, 롤백 경로 부재

2. Consumer install smoke

`npm pack` 또는 publish snapshot이 통과해도 fresh app install smoke는 별도로 필요합니다. 루트 import와 `@reopt-ai/opt-chat/flow` subpath가 optional peer 없이도 안전한지 확인합니다.

bash
# 1. opt-chat dist와 publish snapshot 검증
bun run --filter @reopt-ai/opt-chat build
node scripts/validate-private-publish.mjs

# 2. fresh consumer app에서 tarball install smoke
TMP_DIR=$(mktemp -d)
npm create vite@latest "$TMP_DIR/opt-chat-smoke" -- --template react-ts
cd "$TMP_DIR/opt-chat-smoke"
npm install
npm install /path/to/reopt-design/packages/opt-chat/reopt-ai-opt-chat-*.tgz
npm run build

3. Browser matrix

Explore 예제는 릴리즈 스모크 픽스처입니다. `starter-conversation`, `approval-flow`, `tool-transcript`, `release-soak`을 통해 키보드 제출, 첨부, 승인/거부, tool/source 렌더링을 확인합니다.

bash
cd apps/web
node $PWD/../../node_modules/.bin/playwright test \
  e2e/opt-chat.spec.ts \
  e2e/ai-stream-integrations.spec.ts

4. Streaming soak

실제 AI stream은 느린 파일 변환, abort, retry, tool output, source parts가 겹칩니다. `/explore/opt-chat/release-soak`은 이 조건을 결정적인 fixture로 보여주며, E2E에서는 핵심 텍스트와 상태 전환을 검증합니다.

5. Release ops

릴리즈 전에는 아래 명령이 모두 통과해야 합니다. GitHub Packages publish는 패키지명, 버전 bump, registry 대상이 명시적으로 승인된 뒤에만 실행합니다.

bash
bun run --filter @reopt-ai/opt-chat lint
bun run --filter @reopt-ai/opt-chat typecheck
bun run --filter @reopt-ai/opt-chat test
bun run --filter @reopt-ai/opt-chat build
node scripts/validate-private-publish.mjs
bun run lint
bun run typecheck
bun run test
bun run build
Previous커스텀 파트MessageParts의 renderPart 콜백으로 커스텀 파트를 추가하는 방법구축·운영
커스텀 파트 페이지로 이동