[{"data":1,"prerenderedAt":367},["ShallowReactive",2],{"docs:\u002Freference\u002Fcli":3},{"page":4,"untranslated":366,"translated":366},{"id":5,"title":6,"body":7,"description":356,"extension":357,"meta":358,"navigation":359,"path":360,"publishedAt":361,"seo":362,"stem":363,"updatedAt":364,"__hash__":365},"docs_ja\u002Freference\u002Fcli.md","CLI",{"type":8,"value":9,"toc":345},"minimark",[10,14,39,61,66,69,116,172,176,227,230,253,257,260,286,322,326,341],[11,12,6],"h1",{"id":13},"cli",[15,16,17,21,22,25,26,28,29,32,33,35,36,38],"p",{},[18,19,20],"code",{},"tsumugi","パッケージは、セットアップ用のCLIを含みます。",[23,24],"br",{},"\n別途インストールする必要はありません。",[23,27],{},"\nパッケージを追加したプロジェクトで、",[18,30,31],{},"npx tsumugi","を実行します。",[23,34],{},"\n引数なしで実行すると、対話モードで起動します。",[23,37],{},"\nパイプやCIなどTTYでない環境では、対話モードにならず、使用方法を出力して終了します。",[40,41,46],"pre",{"className":42,"code":43,"language":44,"meta":45,"style":45},"language-bash shiki shiki-themes github-light github-dark","npx tsumugi\n","bash","",[18,47,48],{"__ignoreMap":45},[49,50,53,57],"span",{"class":51,"line":52},"line",1,[49,54,56],{"class":55},"sScJk","npx",[49,58,60],{"class":59},"sZZnC"," tsumugi\n",[62,63,65],"h2",{"id":64},"tsumugi-init","tsumugi init",[15,67,68],{},"プロジェクトにTsumugiをセットアップします。",[40,70,72],{"className":42,"code":71,"language":44,"meta":45,"style":45},"npx tsumugi init [--name \u003Cname>] [--format jsonc|toml]\n",[18,73,74],{"__ignoreMap":45},[49,75,76,78,81,84,88,92,95,98,101,104,107,110,113],{"class":51,"line":52},[49,77,56],{"class":55},[49,79,80],{"class":59}," tsumugi",[49,82,83],{"class":59}," init",[49,85,87],{"class":86},"sVt8B"," [--name ",[49,89,91],{"class":90},"szBVR","\u003C",[49,93,94],{"class":59},"nam",[49,96,97],{"class":86},"e",[49,99,100],{"class":90},">",[49,102,103],{"class":59},"]",[49,105,106],{"class":86}," [--format ",[49,108,109],{"class":59},"jsonc",[49,111,112],{"class":90},"|",[49,114,115],{"class":55},"toml]\n",[15,117,118,121,122,125,126,129,130,132,133,136,137,140,141,143,144,147,148,147,151,154,155,157,158,161,162,125,165,168,169,32],{},[18,119,120],{},"init","は、",[18,123,124],{},"wrangler queues create \u003Cname>","と",[18,127,128],{},"wrangler d1 create \u003Cname>","でリソースを作成します。",[23,131],{},"\nwranglerの設定ファイルが存在しない場合、新たに生成し、",[18,134,135],{},"wrangler d1 create","が出力した",[18,138,139],{},"database_id","を書き込みます。",[23,142],{},"\n次に、",[18,145,146],{},"src\u002Findex.ts",", ",[18,149,150],{},"src\u002Fperformers\u002F",[18,152,153],{},".dev.vars","を生成します。",[23,156],{},"\n最後に、",[18,159,160],{},"wrangler d1 migrations apply","(",[18,163,164],{},"--local",[18,166,167],{},"--remote",")と",[18,170,171],{},"wrangler types",[173,174,175],"h3",{"id":175},"オプション",[177,178,179,191],"table",{},[180,181,182],"thead",{},[183,184,185,188],"tr",{},[186,187,175],"th",{},[186,189,190],{},"内容",[192,193,194,215],"tbody",{},[183,195,196,202],{},[197,198,199],"td",{},[18,200,201],{},"--name \u003Cname>",[197,203,204,205,147,208,211,212,214],{},"Workerの名前。省略した場合は、既存の設定ファイルの",[18,206,207],{},"name",[18,209,210],{},"package.json","の",[18,213,207],{},", ディレクトリ名の順に使用",[183,216,217,222],{},[197,218,219],{},[18,220,221],{},"--format \u003Cjsonc|toml>",[197,223,224,225],{},"生成する設定ファイルの形式。既定は",[18,226,109],{},[173,228,229],{"id":229},"既存ファイルの扱い",[15,231,232,234,235,237,238,147,241,147,244,247,248,250,252],{},[18,233,120],{},"は、既存のファイルを変更しません。",[23,236],{},"\nwranglerの設定ファイル(",[18,239,240],{},"wrangler.json",[18,242,243],{},"wrangler.jsonc",[18,245,246],{},"wrangler.toml",")が既に存在する場合は、追記する内容をそのファイルの形式で出力します。",[23,249],{},[18,251,146],{},"などの雛形のうち、既存のファイルは再生成しません。",[62,254,256],{"id":255},"tsumugi-add-performer","tsumugi add-performer",[15,258,259],{},"performerを追加します。",[40,261,263],{"className":42,"code":262,"language":44,"meta":45,"style":45},"npx tsumugi add-performer \u003CNAME>\n",[18,264,265],{"__ignoreMap":45},[49,266,267,269,271,274,277,280,283],{"class":51,"line":52},[49,268,56],{"class":55},[49,270,80],{"class":59},[49,272,273],{"class":59}," add-performer",[49,275,276],{"class":90}," \u003C",[49,278,279],{"class":59},"NAM",[49,281,282],{"class":86},"E",[49,284,285],{"class":90},">\n",[15,287,288,121,291,294,295,297,300,301,303,304,306,307,309,310,313,314,317,318,321],{},[18,289,290],{},"add-performer",[18,292,293],{},"src\u002Fperformers\u002F\u003Cname>.ts","にperformerのクラスを生成します。",[23,296],{},[18,298,299],{},"src\u002Fperformers\u002Findex.ts","には、export行を1行追記します。",[23,302],{},"\n名前は、kebab-case, camelCase, PascalCase, SNAKE_CASEのいずれの形式も受け付けます。",[23,305],{},"\nクラス名はPascalCaseに、ファイル名はkebab-caseに変換します。",[23,308],{},"\nたとえば",[18,311,312],{},"send-mail","は、クラス",[18,315,316],{},"SendMail","とファイル",[18,319,320],{},"send-mail.ts","として生成されます。",[173,323,325],{"id":324},"service-bindingの設定","Service Bindingの設定",[15,327,328,329,332,333,335,337,338,340],{},"別のWorkerからこのperformerを呼び出す場合は、呼び出し側の設定ファイルに",[18,330,331],{},"services","の値を追加してください。",[23,334],{},[18,336,290],{},"は、追加すべき値を出力します。",[23,339],{},"\n同じWorker内でperformerを実行する場合は、追加は不要です。",[342,343,344],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":45,"searchDepth":346,"depth":346,"links":347},3,[348,353],{"id":64,"depth":349,"text":65,"children":350},2,[351,352],{"id":175,"depth":346,"text":175},{"id":229,"depth":346,"text":229},{"id":255,"depth":349,"text":256,"children":354},[355],{"id":324,"depth":346,"text":325},"tsumugiパッケージに含まれるCLIのコマンド, tsumugi initとtsumugi add-performerのオプションと動作について","md",{},true,"\u002Freference\u002Fcli","2026-07-22",{"title":6,"description":356},"reference\u002Fcli","2026-10-25","1pOJwRXn-UPR4zPwNqXildavi0Utao2maFSCWsbSAEc",false,1794027571454]