連合の様子を、手元で覗けます。fedify init で新しい島の縄張りが引けて、fedify lookup でよそのactorの中身が見られて、fedify inbox と tunnel を組めば、本物のMastodonからの手紙を自分のノートPCで受け取れます。
debuggerは額縁です。動いているFederationをproxyで包んで、行き交う文書をリアルタイムで見せてくれる。「いま何が届いて、何を返したのか」が見えるだけで、連合の開発はずいぶん怖くなくなります。
見どころ
- subcommandはdefineCommand()/CommandMetadataの型でcommands.tsに束ねられる
- CLIにはbun/nodeで分かれたKvStoreシム(kv.bun.ts / kv.node.ts)と、自前のdocloader.tsまである
- debuggerは2.0.0からの新入り。包んだ相手の邪魔をせず、指定パスの下だけ自分の台所にする
経文の一節
import { benchMetadata, benchOptions } from "./bench/command.ts";
import { inboxMetadata, inboxOptions } from "./inbox/command.ts";
import { lookupMetadata, lookupOptions } from "./lookup/command.ts";
import { nodeInfoMetadata, nodeInfoOptions, runNodeInfo } from "./nodeinfo.ts";
import type { GlobalOptions } from "./options.ts";
import { relayMetadata, relayOptions } from "./relay/command.ts";
import { runTunnel, tunnelMetadata, tunnelOptions } from "./tunnel.ts";
import { webFingerMetadata, webFingerOptions } from "./webfinger/command.ts";