Codync
무료 오픈소스 1:1 대안, Grok Bot과 Muse 대신
아이디어를 바탕으로 테마 가능한 React 컴포넌트와 프리셋, 코딩 가이드를 통해 아름다운 웹·앱을 만든다
Build a beautiful website or app from your idea, with themeable React components, reusable presets, and a skill that guides your coding agent.
개발 도구TypeScript · JavaScriptGitHub @sableui온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Themeable React components, presets and agent tooling. sableui.com
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Sable is a themeable React component system with layout patterns, semantic tokens, and tools for coding agents. Original Sable code is MIT licensed.
Install it from npm as @sableui/react. Docs and the live catalog are at
sableui.com; third-party credits are in
THIRD_PARTY_NOTICES.md.
AI agents / quick start: the install recipe is in
AGENTS.md, and machine-readable in theconsumeblock ofpackages/sable/registry.json. To install:pnpm add @sableui/react.
This repo is a small pnpm workspace:
packages/sable → the published library (@sableui/react). Tailwind v4 + semantic CSS-variable tokens, behaviour from Base UI, a pluggable icon adapter, and a token-driven motion layer. Default theme: Sable.apps/docs → the living catalog (@sableui/docs), a Vite SPA that renders every component, token, and pattern. Not published.Use the package-owned Sable skill:
$sable build a portfolio for a furniture designer
$sable inspire these references into a ceramics shop preset
$sable build a ceramics shop using .sable/presets/clay.json
$sable audit our checkout and report prioritized findings
$sable polish our checkout and fix the reported issues
An idea can go straight to a build. A preset supplies theme values and design guidance; the product brief determines content and behavior. Canvas imports and downloads the same portable preset format. The workflow guide connects inspiration, presets, the component library, and rendered review.
In another project, install Sable and run pnpm exec sable setup --agent.
Codex and Cursor share a small .agents entry; Claude Code uses a .claude entry
and /sable. All entries load the installed package's skill. Package upgrades
update the workflow; setup --agent --update refreshes unchanged managed entries.
Keep personal presets and preferences in the consuming project.
pnpm install
pnpm docs:dev # the catalog on http://localhost:4000
pnpm build # build packages/sable → dist (tsup ESM + .d.ts + CSS)
pnpm typecheck # type-check every workspace
pnpm package:check # validate the built tarball in a fresh external consumer
The package publishes to npm as @sableui/react, with provenance.
packages/sable/package.json and SABLE_UI_VERSION in packages/sable/src/index.ts, update the changelog, and run pnpm build to regenerate the catalog.main.origin/main, run pnpm release. It validates the checkout, creates the version tag, and pushes it.Install:
pnpm add @sableui/react
Bundler: dedupe React or Base UI resolves a second copy → "invalid hook call". For Vite:
// vite.config.ts
export default defineConfig({ resolve: { dedupe: ["react", "react-dom"] } })
CSS (order matters):
@import "tailwindcss";
@import "@sableui/react/styles.css";
/* let Tailwind scan the package for the classes its components use */
@source "../node_modules/@sableui/react/dist/**/*.{js,mjs}";
Fonts: the default theme expects Figtree (sans) + DM Mono (mono) — load them via <link> or @font-face (the theme declares the stacks, it doesn't ship the files).
Providers + dark mode:
import { IconProvider, MotionProvider } from "@sableui/react"
// <html class="dark"> for dark-by-default; toggle the class to switch.
<IconProvider set={myIconAdapter}> {/* you supply the concrete icon set */}
<MotionProvider> {/* optional — motion on/off toggle */}
<App />
</MotionProvider>
</IconProvider>
Use it:
import { Button, Card, Carousel } from "@sableui/react"
pnpm public:check lists open release blockers; pnpm public:export dry-runs the
public repository export (what would be published, and its identity, path and
credential scans).
Building with Sable: packages/sable/AGENTS.md.
Contributing: packages/sable/CONTRIBUTING.md.