ClaudeMods
☰
EN
● 0 online · Views 0 times
SponsorsSubmit a project
GitHub repositories · by andrew54068

tui-preview-mod

Claude Code のターミナル内で Markdown、画像、動画、送信前の貼り付け画像をプレビューします。Plugin 名は **`tui-preview-mod`**、`claude-code-preview-mod` はプロジェクト名です。

andrew54068@andrew54068

andrew54068/claude-plugins/tree/main/tui-preview-mod

Not yet translated

About this mod

Claude Code 2.1.289 でテスト済みです(0.1.2 より前は 2.1.288)。Markdown のレイアウト、Ghostty の画像ピクセル(ローカル、herdr 0.9.3 内、Air から SSH 経由)、連続した動画フレーム、再生操作、送信前の貼り付け画像プレビュー、返信内の画像パスをクリックしてプレビューを開く動作を実測しました。mosh が同期するのはテキスト画面だけで、画像ピクセルは表示できません。Air からリモートへのクリップボード転送と、その他の Claude Code バージョンは未検証です。 詳細は互換性と検証記録を参照してください。

実行要件と試用

Mods を利用できる Claude Code、対話型ターミナル、そして Claude を実行するホストにインストールされた Node.js 20+、ffmpeg、ffprobe が必要です。Node は Claude プロセスの PATH に入っていなければなりません。メディアツールは /opt/homebrew/bin、/usr/local/bin、/usr/bin の順に探します。テスト環境は Node 26.8.1、ffmpeg/ffprobe 9.0.2 でした。すべての Node/codec バージョンを検証したわけではありません。

Yarn、node_modules、MCP server、ブラウザ、HTTP port は不要です。まず権限とデータ境界を読み、取得済みで信頼できるプロジェクトディレクトリから読み込んでください。

GitHub からインストール(推奨)

コードは andrew54068/claude-plugins の tui-preview-mod/ に公開されており、既存の andrew54068 marketplace を使うため、private repo へのアクセス権は要りません。インストールと Node/ffmpeg/ffprobe の準備は Claude を実行するホストで行う必要があります。 Air から SSH で Pro の Claude を使う場合、これらのツールが必要なのは Pro です。公式 marketplace 説明

Claude で次の順に実行します。

/plugin marketplace add andrew54068/claude-plugins
/plugin install tui-preview-mod@andrew54068
/reload-plugins
/preview README.md

andrew54068 が登録済みなら、ソースを再度追加する必要はありません。先に shell で claude plugin marketplace update andrew54068 を実行してからインストールしてください。

以前 tui-preview-mod@preview-mods をインストールした場合は、まず /plugin の Installed → 旧 plugin → Configure で保存済みの roots と autoPreview を控えます。その後、同名の Mod が同時に読み込まれないよう旧 plugin をアンインストールします。アンインストールで旧 plugin が保存した options は消えますが、他の plugin や marketplace には影響しません。

/plugin uninstall tui-preview-mod@preview-mods

次に tui-preview-mod@andrew54068 をインストールし、Configure で控えた設定を適用し直します。特に autoPreview を false にしていた場合は必ず戻してください。そうしないと既定値の true に戻ります。andrew54068 は marketplace 名、tui-preview-mod は plugin 名で、この版は 0.1.3 です。古い preview-mods ソースは残して構いません。ソースの切り替えは Mod のスイッチを回避する方法ではありません。

GitHub からのインストールで変わるのは plugin の取得方法だけで、/preview が必ず使えるようになるわけではありません。 まだコマンドがない場合は /plugin で mods active を確認し、shell で claude plugin test を実行して読み込み制限を調べてください。組織のポリシーや Anthropic の Mod スイッチによって拒否されることがあります。公式のトラブルシューティング

インストールしないローカル開発試用

claude --version
node --version
ffmpeg -version
ffprobe -version
claude plugin validate --strict /absolute/path/to/claude-plugins/tui-preview-mod/.claude-plugin/plugin.json
claude plugin validate /absolute/path/to/claude-plugins/.claude-plugin/marketplace.json
claude --plugin-dir /absolute/path/to/claude-plugins/tui-preview-mod

この読み込みはその Claude session にだけ適用され、全体にはインストールされません。起動後に /plugin で tui-preview-mod が読み込まれたか確認します。組織のポリシーや rollout の状態によって Mods がブロックされる場合もあります。拒否メッセージを成功扱いにしたり、ポリシーを回避したりしないでください。公式 Mods 説明

plugin manifest は tui-preview-mod/.claude-plugin/ に、marketplace manifest は repository ルートの .claude-plugin/ にあります。ファイルを別々に指定してください。repository ディレクトリだけを検証すると marketplace が選ばれ、Mod の hooks/calls が抜けます。元の marketplace には既存の metadata warnings があるため、新しい plugin の strict validation と混同しないでください。

使い方

| コマンド | 効果 | | --- | --- | | /preview notes.md | ネイティブ Markdown のページとして表示 | | /preview images/photo with spaces.jpg | 画像を表示。パス内の空白は保持 | | /preview "videos/demo clip.mp4" | 音声なしで実際の連続フレームとして動画を再生 | | 返信内の content/a.png をシングルクリック | 同じ preview pane を開く。全画面インターフェースが必要です | | /preview pasted | 現在の session で直近に完了した貼り付け画像のプレビューを開く | | /preview close | pane を閉じ、デコーダープロセスを停止 | | /preview on、/preview off | 今回の読み込みで自動貼り付け/Read 画像プレビューを切り替え | | /preview | 操作説明を表示 |

パスは既定では現在の session.root() に制限されます。追加ディレクトリは /plugin の tui-preview-mod 設定に絶対パスで明示的に追加してください。使用できるのは最大 32 個です。autoPreview は再読み込み時の既定値を制御し、on/off は設定を保存しません。off にしても明示的なパスのプレビューは妨げません。

動画は p で再生/一時停止、h で 5 秒進む、l で 5 秒戻る、r で再生し直す、x または Esc で閉じます。Markdown は h/l またはボタンでページを移動します。まず pane にキーボードフォーカスを渡してください。ネイティブの Ctrl-X Tab でフォーカスを切り替えられます。

返信内のパスをクリック

全画面インターフェース(CLAUDE_CODE_NO_FLICKER=1 または /tui fullscreen)では、Claude の返信に含まれる画像・動画パスがリンクとして描画され、シングルクリックで preview pane が開きます。相対パスは session.root() を基準に解決し、絶対パスは許可された roots 内に必要があります。

  • Cmd+click はターミナルが処理します:Ghostty は macOS でファイルを開くため、Mod はこのクリックを受け取りません。シングルクリックを使ってください。Ctrl/Alt+click は Claude Code 本来の開き方のままです。
  • メディアパスに言及した返信だけを再描画し、それ以外はネイティブ描画のままです。保存済みメッセージやモデル入力は書き換えません。再描画後に選択できないリンク(vscode://、mailto:、Email など)が返信に含まれる場合は、返信全体をネイティブ描画します。
  • クリック前にファイルは読みません。クリック後は /preview <path> と同じディレクトリ、サイズ、形式の検査を行います。
  • Claude Code が選択可能なリンクを描画できるターミナルでだけ返信を再描画します。Ghostty、iTerm2、WezTerm、kitty、Alacritty、Warp、VS Code 1.72+、tmux 3.4+ などが対象で、判定方法は 2.1.289 に合わせています。Terminal.app と herdr(TERM_PROGRAM=herdr)は対象外で、返信はネイティブ描画です。herdr で FORCE_HYPERLINK=1 を設定すれば選択可能なパスになります。詳しくはカスタム API と herdrを参照してください。
  • 返信を再描画したくない場合は、/plugin の設定で clickablePaths を false にします。

ネイティブの貼り付け画像が現在の composer に入ると、プレビュー列は約 500ms ごとに更新されます。サムネイルは最大 2 枚で、残りは画像ボタンから明示的に読み込みます。Read inline と composer は 2 つの自動デコード枠を共有し、前面の pane は別の明示操作です。Mod は入力を書き換えず、prompt を送信せず、Read がモデルに渡す内容も変えません。貼り付けが未完了、読み込み失敗、自動プレビュー停止のいずれかなら、/preview pasted に使えるスナップショットがない場合があります。画像ボタンから再試行できます。実装

形式と上限

| 項目 | 上限/動作 | | --- | --- | | Markdown:.md、.markdown | UTF-8、2 MiB。1 ページ最大 9000 文字単位、ターミナル制御文字を除去 | | 画像:PNG、JPEG、WebP、GIF | 入力 32 MiB。GIF は最初のフレームだけ | | 動画:MP4、MOV、WebM、MKV | 入力 2 GiB。デコード可否はインストール済み ffmpeg に依存 | | すべての画像/動画出力 | PNG、最大 640×360、1 フレーム最大 2 MiB | | 動画再生 | 8 fps、音声なし。ソースの先頭 600 秒だけをプレビューし、シークもこの範囲に制限 |

URL、デバイス、FIFO、範囲外のファイル、ファイル symlink はサポートしません。PNG bytes はネイティブの Image/ui.blit に渡します。ターミナルがピクセルを描けない場合は、ネイティブの代替テキストを表示できます。独立したプレーヤーではなく、リモート Claude のない SSH ファイルブラウザでもありません。helper

カスタム API と herdr

settings でカスタム ANTHROPIC_BASE_URL/ANTHROPIC_AUTH_TOKEN を使うか、herdr 内で Claude を実行するときは次のコマンドで起動します。

claude --settings '{"env":{"DISABLE_TELEMETRY":"1","CLAUDE_CODE_FORCE_TERMINAL_IMAGES":"1","FORCE_HYPERLINK":"1"}}'

| 設定 | 理由 | 代償 | | --- | --- | --- | | DISABLE_TELEMETRY=1 | カスタム API では、Claude Code はこのプロセスの Mods スイッチを flag service から取得せず、別のプロセスが ~/.claude.json に書いた古い値を使います。古い値がオフなら /preview は表示されません | その session の実験機能は組み込み既定値に切り替わり(たとえば Artifact ツールを有効にしない)、テレメトリーも送信しません | | CLAUDE_CODE_FORCE_TERMINAL_IMAGES=1 | herdr が返すターミナル名は libghostty で、Claude Code が認識できず画像を無効にします | ターミナルが Kitty 画像に対応しないと空白が描画されます | | FORCE_HYPERLINK=1 | 返信内のパスを選択可能なリンクにします | すべてのリンクがターミナルのハイパーリンク出力になります |

herdr は 0.9.3 以上が必要です。kitty_graphics = true を設定しても、0.8.x では直接送信した Kitty 画像が空白になります。Ghostty で直接実行する場合、最初の設定が必要なのはカスタム API のときだけです。

毎回 --settings を付けたくなければ、最初の設定を ~/.claude/settings.json の env に入れ、後の 2 つは herdr 内でだけ export します(herdr の pane には HERDR_ENV があります)。

if [[ -n $HERDR_ENV ]]; then
  export CLAUDE_CODE_FORCE_TERMINAL_IMAGES=1 FORCE_HYPERLINK=1
fi

settings.json を書き換える cc-switch のようなツールを使う場合、保存される設定にも env と enabledPlugins を書いてください。そうしないと provider を切り替えた後に消えます。

SSH

ファイルがあるリモートホストで Claude Code + この Mod + Node/ffmpeg/ffprobe を実行し、client のターミナルから表示します。既存の信頼できる SSH 接続を使えばよく、Mod のために port を開く必要はありません。

ssh your-trusted-host
claude --plugin-dir /absolute/path/on/remote/claude-plugins/tui-preview-mod

Air から SSH で Pro の herdr に接続し、上のコマンドで起動すると、Air の Ghostty で画像ピクセルを描画できました。SSH だからといって client のクリップボードが server のクリップボードになるわけではありません。プレビューするには、画像が実際にリモート Claude の composer に入っている必要があります。

mosh はテキスト画面だけを同期し、Kitty 画像プロトコルを転送しないため、mosh 経由ではピクセルを見られません。pane、キー、クリックは使えます。Air からピクセルを見る必要があるときは SSH を使ってください。

更新と削除

shell で GitHub catalog と plugin を更新し、Claude を再起動して適用します。

claude plugin marketplace update andrew54068
claude plugin update tui-preview-mod@andrew54068

対話型 /plugin には update サブコマンドがありません。Installed ページの Update now からも更新できますが、/plugin update は使わないでください。

marketplace を残して plugin だけ削除します:/plugin uninstall tui-preview-mod@andrew54068。この Mod を削除するために andrew54068 marketplace 全体を削除しないでください。他の plugin にも影響します。 shell での同等コマンドは先頭の / を外し、plugin の前に claude を付けます。既定以外の scope でインストールした場合は、削除時も同じ --scope を指定します。

--plugin-dir だけで試用している場合は、次回その引数を付けなければ構いません。公式 marketplace 説明

開発とドキュメント

開発には Yarn Classic を使います。yarn run check が検証するのは Node/helper core だけです。ネイティブ Mod には claude plugin test . と、runtime で型を生成した後の Mod typecheck も必要です。完全なコマンドは CONTRIBUTING を参照してください。

MIT License。詳しくは LICENSE を参照してください。

Installation

Check the author's README for the marketplace and plugin name first. Commands may change as the repository evolves.

claude plugin marketplace add andrew54068/claude-plugins
claude plugin install tui-preview-mod
Original text / README

Claude Code Preview Mod

在 Claude Code 終端內預覽 Markdown、圖片、影片,以及尚未送出的貼圖。Plugin 名稱是 tui-preview-mod;claude-code-preview-mod 是專案名稱。

本專案以 Claude Code 2.1.289 測試(0.1.2 以前為 2.1.288)。已實測 Markdown 排版、Ghostty 圖片像素(本機、herdr 0.9.3 內、從 Air 經 SSH)、連續影片影格、播放控制、送出前貼圖預覽列,以及點選回覆中的圖片路徑開啟預覽。mosh 只同步文字畫面,看不到圖片像素;Air 剪貼簿傳到遠端與其他 Claude Code 版本尚未驗證。 詳見 相容性 與 驗證紀錄。

執行需求與試用

需要可使用 Mods 的 Claude Code、互動式終端,以及執行 Claude 的主機上已安裝的 Node.js 20+、ffmpeg、ffprobe。Node 必須在 Claude 程序的 PATH;媒體工具在 /opt/homebrew/bin、/usr/local/bin 或 /usr/bin 查找。測試環境為 Node 26.8.1、ffmpeg/ffprobe 9.0.2,並未驗證所有 Node/codec 版本。

執行不需要 Yarn、node_modules、MCP server、瀏覽器或 HTTP port。先閱讀 權限與資料邊界,再從你已取得並信任的專案目錄載入:

從 GitHub 安裝(建議)

程式碼公開放在 andrew54068/claude-plugins 的 tui-preview-mod/,使用既有 andrew54068 市集,不需要私人 repo 存取權。安裝與 Node/ffmpeg/ffprobe 必須在執行 Claude 的主機完成;Air 透過 SSH 使用 Pro 的 Claude 時,是 Pro 需要這些工具。官方 marketplace 說明

在 Claude 裡依序執行:

/plugin marketplace add andrew54068/claude-plugins
/plugin install tui-preview-mod@andrew54068
/reload-plugins
/preview README.md

如果 andrew54068 已註冊,不必重複加入來源;先在 shell 執行 claude plugin marketplace update andrew54068 再安裝即可。

若先前安裝過 tui-preview-mod@preview-mods,先在 /plugin 的 Installed → 舊外掛 → Configure 記下已儲存的 roots 與 autoPreview。再卸載舊外掛,避免同名 Mod 同時載入;卸載會移除舊外掛保存的 options,不影響其他外掛或市集:

/plugin uninstall tui-preview-mod@preview-mods

再安裝 tui-preview-mod@andrew54068,並從 Configure 重新套用先前記下的設定;尤其是曾設為 false 的 autoPreview,否則會恢復預設 true。andrew54068 是 marketplace 名稱;tui-preview-mod 是 plugin 名稱;本版為 0.1.3。舊 preview-mods 來源可保留;切換來源不是用來繞過 Mod 開關。

GitHub 安裝只改變取得外掛的方式,不能保證 /preview 一定可用。若仍缺少指令,執行 /plugin 檢查 mods active,並在 shell 執行 claude plugin test 查看載入限制;組織政策或 Anthropic 的 Mod 開關仍可拒絕它。官方診斷

不安裝的本機開發試用

claude --version
node --version
ffmpeg -version
ffprobe -version
claude plugin validate --strict /absolute/path/to/claude-plugins/tui-preview-mod/.claude-plugin/plugin.json
claude plugin validate /absolute/path/to/claude-plugins/.claude-plugin/marketplace.json
claude --plugin-dir /absolute/path/to/claude-plugins/tui-preview-mod

這種載入只作用於該次 Claude session,沒有安裝到全域。進入後用 /plugin 檢查 tui-preview-mod 是否載入。組織政策或 rollout 狀態仍可能阻擋 Mods;看到拒絕訊息時不能把它當成成功,也不要繞過政策。官方 Mods 說明

plugin manifest 在 tui-preview-mod/.claude-plugin/;marketplace manifest 在 repository 根目錄的 .claude-plugin/。請分別指定檔案;只驗證 repository 目錄會選到 marketplace,漏掉 Mod 的 hooks/calls。原市集有既有 metadata warnings,不能把它們與新外掛的 strict validation 混為一談。

使用方式

| 命令 | 效果 | | --- | --- | | /preview notes.md | 以原生 Markdown 分頁 | | /preview images/photo with spaces.jpg | 顯示圖片;路徑中的空白保留 | | /preview "videos/demo clip.mp4" | 以真實連續影格播放影片,無聲音 | | 單擊回覆中的 content/a.png | 開啟同一個預覽 pane;需全螢幕介面,見下方說明 | | /preview pasted | 開啟目前 session 最近已完成的貼圖預覽 | | /preview close | 關閉 pane 並停止其解碼程序 | | /preview on、/preview off | 切換本次載入的自動貼圖/Read 圖片預覽 | | /preview | 顯示操作說明 |

路徑預設限制在目前 session.root()。額外目錄需在 /plugin 的 tui-preview-mod 設定中明確加入 roots 絕對路徑;最多採用 32 個。autoPreview 設定控制重新載入時的預設,on/off 不會儲存這項設定。off 不妨礙明確的路徑預覽。

影片按 p 播放/暫停、h 往前 5 秒、l 往後 5 秒、r 重播、x 或 Esc 關閉。Markdown 用 h/l 或按鈕換頁。先讓 pane 取得鍵盤焦點;原生 Ctrl-X Tab 可切換焦點。

點選回覆中的路徑

全螢幕介面(CLAUDE_CODE_NO_FLICKER=1 或 /tui fullscreen)下,Claude 回覆裡的圖片或影片路徑會畫成連結,單擊就開啟預覽 pane。相對路徑以 session.root() 為準,絕對路徑須在允許的 roots 內。

  • Cmd+click 由終端處理:Ghostty 會用 macOS 開啟檔案,Mod 收不到這個點擊;請用單擊。Ctrl/Alt+click 也維持 Claude Code 原本的開啟方式。
  • 只重畫提到媒體路徑的回覆,其餘回覆照原生繪製;不改寫已儲存的訊息,也不改變模型輸入。回覆若含重畫後無法點選的連結(vscode://、mailto:、Email 等),整則照原生繪製。
  • 點選前不讀取任何檔案;點選後走與 /preview <path> 相同的目錄、大小與格式檢查。
  • 只在 Claude Code 會畫可點選連結的終端重畫:Ghostty、iTerm2、WezTerm、kitty、Alacritty、Warp、VS Code 1.72+、tmux 3.4+ 等,判斷方式比照 2.1.289。Terminal.app 與 herdr(TERM_PROGRAM=herdr)不在其中,回覆照原生繪製;herdr 設定 FORCE_HYPERLINK=1 後才會變成可點選的路徑,見自訂 API 與 herdr。
  • 不想重畫回覆時,在 /plugin 的設定把 clickablePaths 設為 false。

原生貼圖進入目前 composer 後,約每 500ms 更新預覽列;最多兩張縮圖,其餘透過圖片按鈕明確載入。Read inline 與 composer 共用兩個自動解碼名額,前景 pane 是另外一個明確操作。Mod 不改寫輸入、不提交 prompt、不改變 Read 傳給模型的內容。貼圖若尚未完成、讀取失敗或自動預覽關閉,/preview pasted 可能沒有可用快照;可透過圖片按鈕重試。實作

格式與上限

| 項目 | 上限/行為 | | --- | --- | | Markdown:.md、.markdown | UTF-8,2 MiB;每頁最多 9000 字元單位,移除終端控制字元 | | 圖片:PNG、JPEG、WebP、GIF | 來源 32 MiB;GIF 只取第一幀 | | 影片:MP4、MOV、WebM、MKV | 來源 2 GiB;是否可解碼仍取決於已安裝 ffmpeg | | 所有圖片/影片輸出 | PNG,最大 640×360,每幀最多 2 MiB | | 影片播放 | 8 fps、無聲音,只預覽來源前 600 秒,跳轉也受此範圍限制 |

不支援 URL、裝置、FIFO、越界檔案或檔案 symlink。PNG bytes 交給原生 Image/ui.blit;終端無法畫像素時可顯示原生替代文字。這不是獨立播放器,亦不提供無遠端 Claude 的 SSH 檔案瀏覽器。helper

自訂 API 與 herdr

settings 使用自訂 ANTHROPIC_BASE_URL/ANTHROPIC_AUTH_TOKEN,或在 herdr 內執行 Claude 時,用這個指令啟動:

claude --settings '{"env":{"DISABLE_TELEMETRY":"1","CLAUDE_CODE_FORCE_TERMINAL_IMAGES":"1","FORCE_HYPERLINK":"1"}}'

| 設定 | 原因 | 代價 | | --- | --- | --- | | DISABLE_TELEMETRY=1 | 自訂 API 時,Claude Code 不會向旗標服務取得本程序的 Mods 開關,而是沿用其他程序寫入 ~/.claude.json 的舊值;舊值為關閉時 /preview 不會出現 | 該 session 的實驗功能都改用內建預設(例如不啟用 Artifact 工具),也不送遙測 | | CLAUDE_CODE_FORCE_TERMINAL_IMAGES=1 | herdr 回報的終端名稱是 libghostty,Claude Code 不認得就停用圖片 | 終端不支援 Kitty 圖片時畫出空白 | | FORCE_HYPERLINK=1 | 讓回覆中的路徑成為可點選連結 | 所有連結都改用終端超連結輸出 |

herdr 需 0.9.3 以上;0.8.x 即使設定 kitty_graphics = true,直接送出的 Kitty 圖片也是空白。直接在 Ghostty 執行時,只有自訂 API 需要第一項。

不想每次加 --settings,可把第一項放進 ~/.claude/settings.json 的 env,後兩項只在 herdr 內 export(herdr 的 pane 有 HERDR_ENV):

if [[ -n $HERDR_ENV ]]; then
  export CLAUDE_CODE_FORCE_TERMINAL_IMAGES=1 FORCE_HYPERLINK=1
fi

用 cc-switch 這類會重寫 settings.json 的工具時,env 與 enabledPlugins 也要寫進它保存的設定,否則切換供應商後會消失。

SSH

在檔案所在的遠端主機執行 Claude Code + 此 Mod + Node/ffmpeg/ffprobe,再由 client 終端觀看。使用現有可信 SSH 連線即可,不需為 Mod 開 port:

ssh your-trusted-host
claude --plugin-dir /absolute/path/on/remote/claude-plugins/tui-preview-mod

從 Air 經 SSH 連到 Pro 的 herdr,用上方指令啟動後,Air 的 Ghostty 已畫出圖片像素。client 剪貼簿不會因 SSH 自動變成 server 的剪貼簿:先讓圖片真正進入遠端 Claude composer,才有可預覽的附件。

mosh 只同步文字畫面,不轉送 Kitty 圖片協定,所以經 mosh 看不到像素;pane、按鍵與點選仍可用。需要從 Air 看到像素時請改用 SSH。

更新與移除

在 shell 更新 GitHub catalog 與外掛,然後重新啟動 Claude 套用更新:

claude plugin marketplace update andrew54068
claude plugin update tui-preview-mod@andrew54068

互動式 /plugin 沒有 update 子命令;也可從 Installed 頁面的 Update now 更新,不要使用 /plugin update。

只移除外掛,保留 marketplace:/plugin uninstall tui-preview-mod@andrew54068。不要為了移除此 Mod 而刪除整個 andrew54068 市集,那會影響其餘外掛。 shell 的等效命令去掉前面的 /,並在 plugin 前加 claude;若以非預設 scope 安裝,移除時指定相同 --scope。

只用 --plugin-dir 試用者,下次不帶該參數即可。官方 marketplace 說明

開發與文件

開發用 Yarn Classic;yarn run check 只驗證 Node/helper core。原生 Mod 另需 claude plugin test . 與 runtime 產生型別後的 Mod typecheck,完整命令見 CONTRIBUTING。

MIT License,見 LICENSE。

Similar projects