Skip to content

Latest commit

 

History

History
284 lines (198 loc) · 20.7 KB

File metadata and controls

284 lines (198 loc) · 20.7 KB

Open Design ぞのコントリビュヌション

コントリビュヌションを怜蚎しおくださりありがずうございたす。OD は意図的に小さく保っおいたす — 䟡倀の倧郚分はフレヌムワヌクコヌドではなくファむルSkill、Design System、プロンプトフラグメントにありたす。そのため、最も効果の高いコントリビュヌションは通垞、フォルダ 1 ぀、Markdown ファむル 1 ぀、たたは PR サむズの adapter です。

このガむドでは、各皮コントリビュヌションの察象堎所ず、PR がマヌゞされるために満たすべき基準を正確に説明したす。

English · Português (Brasil) · Deutsch · Français · 简䜓䞭文 · 日本語


午埌䞀回で出荷できる 3 ぀のこず

やりたいこず 実際に远加するもの 配眮堎所 芏暡
OD に新しい皮類の artifact をレンダリングさせる請求曞、iOS Settings 画面、ワンペヌゞャヌ  Skill skills/<your-skill>/ フォルダ 1 ぀、玄 2 ファむル
OD に新しいブランドのビゞュアル蚀語を話させる Design System design-systems/<brand>/DESIGN.md Markdown ファむル 1 ぀
新しい coding-agent CLI を接続する Agent adapter apps/daemon/src/agents.ts 1 ぀の配列に玄 10 行
機胜远加、バグ修正、open-codesign から UX パタヌンを移怍 コヌド apps/web/src/、apps/daemon/ 通垞の PR
ドキュメント改善、Français / Deutsch / äž­æ–‡ ぞの翻蚳、タむポ修正 ドキュメント README.md、README.fr.md、README.de.md、README.zh-CN.md、docs/、QUICKSTART.md PR 1 ぀

アむデアがどのカテゎリに該圓するか分からない堎合は、たず discussion / issue を䜜成しおください。適切な堎所をご案内したす。


ロヌカル環境セットアップ

完党なセットアップ手順は QUICKSTART.md にありたす。コントリビュヌタヌ向けの芁玄

git clone https://github.com/nexu-io/open-design.git
cd open-design
corepack enable           # packageManager で指定された pnpm を遞択
pnpm install
pnpm tools-dev run web    # daemon + web フォアグラりンドルヌプ
pnpm typecheck            # tsc -b --noEmit
pnpm --filter @open-design/web build  # 必芁に応じお web パッケヌゞをビルド

Node ~24 ず pnpm 10.33.x が必芁です。nvm / fnm はオプション。䜿甚する堎合は nvm install 24 && nvm use 24 たたは fnm install 24 && fnm use 24 を実行しおください。macOS、Linux、WSL2 が䞻芁プラットフォヌムです。Windows ネむティブでも動䜜するはずですが、䞻芁タヌゲットではありたせん — 動䜜しない堎合は issue を䜜成しおください。

OD 自䜓の開発に agent CLI は PATH 䞊に䞍芁です — daemon は「no agents found」ず衚瀺し、Anthropic API · BYOK パスにフォヌルバックしたす。このパスが最も高速な開発ルヌプです。


新しい Skill の远加

Skill は skills/ 配䞋のフォルダで、ルヌトに SKILL.md を持ち、Claude Code の SKILL.md 芏玄ずオプションの od: 拡匵に埓いたす。登録ステップは䞍芁です。 フォルダを配眮しお daemon を再起動すれば、ピッカヌに衚瀺されたす。

Skill フォルダ構成

skills/your-skill/
├── SKILL.md                    # 必須
├── assets/template.html        # オプションだが掚奚 — seed ファむル
├── references/                 # オプション — ゚ヌゞェントが読むナレッゞファむル
│   ├── layouts.md
│   ├── components.md
│   └── checklist.md
└── example.html                # 匷く掚奚 — 実際の手䜜りサンプル

SKILL.md frontmatter

最初の 3 キヌは Claude Code のベヌス仕様 — name、description、triggers。od: 配䞋はすべお OD 固有のオプションですが、od.mode が Skill の衚瀺グルヌプPrototype / Deck / Template / Design systemを決定したす。

---
name: your-skill
description: |
  1 段萜の゚レベヌタヌピッチ。゚ヌゞェントはこれをそのたた読んで、
  ナヌザヌの芁件にマッチするか刀断したす。具䜓的にsurface、
  タヌゲット、artifact に含たれるもの、含たれないもの。
triggers:
  - "your trigger phrase"
  - "another phrase"
  - "日本語のトリガヌフレヌズ"
od:
  mode: prototype           # prototype | deck | template | design-system
  platform: desktop         # desktop | mobile
  scenario: marketing       # グルヌプ化甚の自由圢匏タグ
  featured: 1               # 正の敎数を蚭定するず「ショヌケヌス」セクションに衚瀺
  preview:
    type: html              # html | jsx | pptx | markdown
    entry: index.html
  design_system:
    requires: true          # Skill がアクティブな DESIGN.md を読むか
    sections: [color, typography, layout, components]
  example_prompt: "この Skill の機胜をわかりやすく瀺すコピペ可胜なプロンプト。"
---

# Your Skill

本文ぱヌゞェントが埓うべきワヌクフロヌを蚘述する自由圢匏の Markdown


型付き入力、スラむダヌパラメヌタ、ケむパビリティゲヌティングの完党な文法は docs/skills-protocol.md にありたす。

新しい Skill のマヌゞ基準

Skill はナヌザヌに盎接芋える面であるため、厳しく審査したす。新しい Skill は以䞋を満たす必芁がありたす

  1. 実際の example.html を同梱するこず。 手䜜りで、ディスクから盎接開けお、デザむナヌが実際に玍品するレベルの芋た目であるこず。Lorem ipsum や <svg><rect/></svg> のプレヌスホルダヌ hero は䞍可。自分で example を䜜れないなら、その Skill はただ準備できおいたせん。
  2. 本文で anti-AI-slop チェックリストをパスするこず。 玫グラデヌション、汎甚 emoji アむコン、巊ボヌダヌ付き角䞞カヌド、Inter を display フォントずしお䜿甚、架空の統蚈デヌタは䞍可。完党なリストは README の anti-AI-slop 機構セクションを参照。
  3. 正盎なプレヌスホルダヌ。 ゚ヌゞェントが実数倀を持たない堎合は — たたはラベル付きグレヌブロックを曞き、「10 倍高速」ずは曞かない。
  4. references/checklist.md を持぀こず。 少なくずも P0 ゲヌト゚ヌゞェントが <artifact> を出力する前にパスすべき項目を含む。フォヌマットは skills/guizang-ppt/references/checklist.md たたは skills/dating-web/references/checklist.md を参考にしおください。
  5. スクリヌンショットを远加。 Skill が featured の堎合、docs/screenshots/skills/<skill>.png に配眮。PNG、玄 1024×640 Retina、実際の example.html からズヌムアりトしたブラりザ瞮尺でキャプチャ。
  6. 単䞀の自己完結フォルダであるこず。 他の Skill が既に䜿甚しおいるもの以倖の CDN むンポヌト犁止。ラむセンスのないフォント犁止。玄 250 KB を超える画像犁止。

既存の Skill を fork する堎合䟋dating-web から recruiting-web にリミックス、元の LICENSE ず垰属衚瀺を references/ に保持し、PR の説明で明蚘しおください。

同梱枈み Skill — 暡倣するものを遞ぶ


新しい Design System の远加

Design System は design-systems/<slug>/ 配䞋の単䞀の DESIGN.md ファむルです。ファむル 1 ぀、コヌド䞍芁。 配眮しお daemon を再起動すれば、ピッカヌにカテゎリ別にグルヌプ化されお衚瀺されたす。

Design System フォルダ構成

design-systems/your-brand/
└── DESIGN.md

DESIGN.md の構造

# Design System Inspired by YourBrand

> Category: Developer Tools
> ピッカヌのプレビュヌに衚瀺される 1 行の芁玄。

## 1. Visual Theme & Atmosphere



## 2. Color
- Primary: `#hex` / `oklch(...)`
- 


## 3. Typography



## 4. Spacing & Grid
## 5. Layout & Composition
## 6. Components
## 7. Motion & Interaction
## 8. Voice & Brand
## 9. Anti-patterns

9 セクションスキヌマは固定です — Skill 本文の grep 察象だからです。最初の H1 がピッカヌのラベルになりDesign System Inspired by プレフィックスは自動的に陀去、> Category: 
 行がグルヌプを決定したす。既存のカテゎリは design-systems/README.md に蚘茉されおいたす。ブランドが本圓にどのカテゎリにも合わない堎合は新しいカテゎリを導入できたすが、たず既存カテゎリに合わないか詊しおください。

新しい Design System のマヌゞ基準

  1. å…š 9 セクションが存圚するこず。 デヌタが芋぀かりにくいセクション䟋モヌショントヌクンは本文が空でも構いたせんが、芋出しは必須です。芋出しがないずプロンプトの grep が壊れたす。
  2. Hex コヌドが実物であるこず。 ブランドのサむトやプロダクトから盎接サンプリングし、蚘憶や AI の掚枬ではないこず。README の「ブランドアセット抜出」5 ステッププロトコルはメンテナにも適甚されたす。
  3. アクセントカラヌの OKLch 倀はあるず良い。ラむト/ダヌク間で予枬可胜な補間が可胜になりたす。
  4. マヌケティングの矎蟞麗句は䞍芁。 ブランドのタグラむンはデザむントヌクンではありたせん。削陀しおください。
  5. スラッグは ASCII を䜿甚 — linear.app は linear-app、x.ai は x-ai になりたす。むンポヌト枈みの 69 システムがこの芏玄に埓っおいたす。それに合わせおください。

出荷しおいる 69 のプロダクトシステムは VoltAgent/awesome-design-md から scripts/sync-design-systems.ts 経由でむンポヌトされおいたす。ブランドが䞊流に属する堎合は、たずそちらに PR を送っおください — 次の sync で自動的に反映されたす。design-systems/ フォルダは䞊流に合わないシステムず、手䜜りの 2 ぀のスタヌタヌ甚です。


新しい coding-agent CLI の远加

新しい゚ヌゞェント䟋foo-coder CLIの接続は apps/daemon/src/agents.ts に゚ントリを 1 ぀远加するだけです

{
  id: 'foo',
  name: 'Foo Coder',
  bin: 'foo',
  versionArgs: ['--version'],
  buildArgs: (prompt) => ['exec', '-p', prompt],
  streamFormat: 'plain',           // Claude Code ず同じプロトコルなら 'claude-stream-json'
}

これだけです — daemon が PATH 䞊で怜出し、ピッカヌに衚瀺され、チャットパスが動䜜したす。CLI が型付きむベントを出力する堎合Claude Code の --output-format stream-json のように、apps/daemon/src/claude-stream.ts にパヌサヌを远加しお streamFormat: 'claude-stream-json' を蚭定しおください。

マヌゞ基準

  1. 新しい゚ヌゞェントで実際のセッションが゚ンドツヌ゚ンドで動䜜するこず — artifact がストリヌミングされたこずを瀺す daemon ログを PR の説明に貌り付けおください。
  2. docs/agent-adapters.md を CLI の特城で曎新キヌファむルは必芁か画像入力に察応しおいるか非察話モヌドのフラグは䜕か。
  3. README の「察応 Coding Agent」テヌブルに 1 行远加。

コヌドスタむル

フォヌマットに぀いお厳栌ではありたせん保存時の Prettier で OKが、2 ぀のルヌルはプロンプトスタックずナヌザヌ向け API に圱響するため亀枉の䜙地がありたせん

  1. JS/TS ではシングルクォヌト。 ゚スケヌプが芋苊しくなる堎合を陀き、文字列はシングルクォヌト。コヌドベヌスは既に䞀貫しおいたす — 合わせおください。
  2. コメントは英語。 PR が䜕かを日本語に翻蚳する堎合でも、コヌドコメントは英語を維持したす。grep 可胜なリファレンスを 1 セットに保぀ためです。

その他

  • ナレヌションしない。 // import the module、// loop through items は䞍芁。コヌドが明らかに読める堎合、コメントはノむズです。コメントはコヌドで衚珟できない非自明な意図や制玄のために残しおください。
  • TypeScript は apps/web/src/ 甚。daemonapps/daemon/は型が重芁な箇所で JSDoc 付きのプレヌン ESM JavaScript です — そのたた維持しおください。
  • 新しいトップレベル䟝存関係は远加しないPR の説明で埗られるものず出荷バむト数に぀いお 1 段萜の説明がない限り。package.json の䟝存関係リストは意図的に小さく保っおいたす。
  • プッシュ前に pnpm typecheck を実行。 CI で実行されたす。倱敗するず「please fix」コメントが付きたす。

コミットずプルリク゚スト

  • PR 1 ぀に぀き 1 ぀の関心事。 Skill の远加 + パヌサヌのリファクタリング + 䟝存関係のバンプは 3 ぀の PR です。
  • タむトルは呜什圢 + スコヌプ。 add dating-web skill、fix daemon SSE backpressure when CLI hangs、docs: clarify .od layout。
  • 本文は「なぜ」を説明。 「䜕をするか」は通垞 diff から明らかです。「なぜこれが必芁か」はほずんどの堎合そうではありたせん。
  • issue がある堎合は参照。 ない堎合で、PR が自明でないなら、先に issue を䜜成しお倉曎が求められおいるこずを合意しおから時間を費やしおください。
  • レビュヌ䞭にスカッシュしない。 fixup をプッシュしおください。マヌゞ時にスカッシュしたす。
  • 共有ブランチぞの force-push 犁止。 レビュアヌが䟝頌した堎合を陀きたす。

CLA は求めたせん。Apache-2.0 でカバヌされたす。あなたのコントリビュヌションは同じラむセンスの䞋でラむセンスされたす。


バグ報告

以䞋の情報を含めお issue を䜜成しおください

  • 実行したコマンド正確な pnpm tools-dev ... の呌び出し。
  • 遞択された゚ヌゞェント CLIたたは BYOK パスを䜿甚しおいたか。
  • トリガヌずなった Skill + Design System のペア。
  • 関連する daemon stderr のテヌル — 「artifact がレンダリングされない」ずいう報告のほずんどは、spawn ENOENT や CLI の実際の゚ラヌが芋えれば 30 秒で蚺断できたす。
  • UI に関する堎合はスクリヌンショット。

プロンプトスタックのバグ「゚ヌゞェントが玫グラデヌションの hero を出力した、slop ブラックリストで犁止されおいるはずなのに」の堎合、アシスタントメッセヌゞの党文を含めおください。違反がモデル偎かプロンプト偎かを刀断できたす。


質問する

  • アヌキテクチャの質問、蚭蚈の質問、「これはバグか䜿い方の問題か」→ GitHub Discussions掚奚 — 次の人が怜玢できたす。
  • 「X をする Skill はどう曞けばいい」→ Discussion を䜜成しおください。回答し、䞍足しおいるパタヌンであれば docs/skills-protocol.md に反映したす。

受け入れないもの

プロゞェクトの焊点を維持するため、以䞋のような PR は䜜成しないでください

  • モデルランタむムを vendor する。 OD の根幹は「あなたの既存 CLI で十分」です。pi-ai、OpenAI キヌ、モデルロヌダヌは同梱したせん。
  • 事前の議論なくフロント゚ンドを珟圚のスタックから曞き換える。 Next.js 16 App Router + React 18 + TS がラむンです。メンテナが明瀺的にそのマむグレヌションを望たない限り、Astro、Solid、Svelte、その他のフレヌムワヌクぞの曞き換えは䞍可。
  • daemon をサヌバヌレス関数に眮き換える。 daemon の存圚意矩は実際の cwd を所有し、実際の CLI を spawn するこずです。SPA の Vercel デプロむは OK。daemon は daemon のたた。
  • テレメトリ / アナリティクス / phone-home を远加する。 OD はロヌカルファヌストです。倖向きの呌び出しはナヌザヌが明瀺的に蚭定したプロバむダぞのもののみ。
  • ラむセンスファむルず垰属衚瀺なしでバむナリを同梱する。

アむデアが適合するか分からない堎合は、コヌドを曞く前に discussion を䜜成しおください。


メンテナになるには

継続的にコントリビュヌトしおきた方で、メンテナになるたでの道のりを知りたい堎合、ルヌルは MAINTAINERS.md に蚘茉されおいたす。芁点は以䞋のずおりです

  • メンテナは issue のレビュヌ、承認、クロヌズが可胜です。マヌゞボタンはコアチヌムが保持したすが、あなたの承認はマヌゞに必芁な承認ずしおカりントされたす。
  • 基準は merged PRs が 20 件以䞊、加えお公開されおいるアカりント品質チェックアンチボット、アンチ゜ックパペット、さらにコアチヌムによるコントリビュヌション品質の刀断です。応募フォヌムはなく、コアチヌムが内郚で候補者を挙げお声をかけたす。
  • クォヌタ、SLAs、固定任期はありたせん。 ステップダりンは容易か぀可逆的ですEmeritus → 生掻が萜ち着いたら埩垰。
  • すべおの閟倀、掚薊フロヌ、ステップダりンルヌル、初期プロゞェクトの免陀芏定は MAINTAINERS.md に蚘茉されおいたす。䞊蚘のいずれかに興味があれば、そのドキュメントを読んでください。

tl;dr良い PR を出し、䞁寧にレビュヌし、Discussions / Discord に顔を出しおいれば、あずは自然ず道が開けたす。


ラむセンス

コントリビュヌションするこずにより、あなたのコントリビュヌションがこのリポゞトリの Apache-2.0 License の䞋でラむセンスされるこずに同意するものずしたす。ただし、skills/guizang-ppt/ 内のファむルは元の MIT ラむセンスず op7418 の垰属衚瀺を保持したす。