mcpField
F
fandhe-backend

fandhe-backend

github.com/fandhe-ai開発5318 回インストール今日更新
リポジトリ

fandhe-backend について

fandhe-backendは、バックエンド開発者向けのRust製HTTPサーバーフレームワークです。sans-IO HTTP/1.1パーサーや拡張ポイントを備え、機能をオプションのプラグインとして提供します。

主な機能

  1. 01sans-IO HTTP/1.1パーサー
  2. 024種類のサーバー拡張ポイント
  3. 03DoS上限の標準搭載
  4. 04グレースフルシャットダウン
  5. 05featureフラグによるプラグイン選択

活用シーン

  1. 01Rust製HTTPバックエンドの構築
  2. 02ミドルウェアやリクエストゲートの追加
  3. 03WebSocketやGraphQLの提供
  4. 04必要なサーバープラグインの選択

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/fandhe-ai/agent-reference-skills --skill fandhe-backend

インストール後、Claude Code で/fandhe-backendを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/core/
bound-server.md
diagnostics.md
extension-points.md
gate-context.md
handler.md
interceptor.md
middleware.md
README.md
rebind-handle.md
request-gate.md
server.md
streaming-response.md
upgrade-handler.md
references/getting-started/
crates.md
features.md
installation.md
minimal-server.md
overview.md
README.md
references/guides/
dpop.md
extension-points.md
feature-samples.md
graceful-shutdown.md
jwks-refresh.md
reading.md
README.md
streaming.md
tutorial.md
ws-gate-extensions.md
references/http/
body.md

詳細

プロジェクトの README より

fandhe-backend

fandhe-backend は Rust 製バックエンド HTTP サーバーフレームワーク。Server / BoundServer を核に、Middleware / UpgradeHandler / RequestGate / Interceptor という 4 つの拡張点で Web サーバーの挙動を組み立てる。sans-IO な HTTP/1.1 パーサー、DoS 上限、graceful shutdown を標準機能として持ち、CORS・圧縮・静的配信・WebSocket・GraphQL・OpenAPI・WebRTC 等はすべて feature フラグで切り出したプラグインとして提供される(pay-for-what-you-use)。ただし Gate 型の hub-wiring / jwt / csrf は feature を持たない独立クレートで、Server::gate で登録する。

他スキルとの使い分け — Server / Router / Middleware / CORS / WebSocket という語は複数のフレームワークで共通するため誤参照しやすい。hono(Web Standards JS)・fastify(Node.js ネイティブ)・go-echo(Go)は別フレームワークであり、いずれも本スキルとは別物。fandhe-frontend は同じ fandhe ファミリーの Rust 製フロントエンド層(SSR / SPA / SSG)であり、Rust 製バックエンド HTTP サーバーを調べる場合は本スキル(fandhe-backend)を参照すること。

対象バージョン: v0.6.1(2026-10-28 crates.io 公開、15 クレート lockstep、git 9a75278。各ページ内の「vX.Y.Z で追加」は導入バージョンを示す)。v0.6.0 で RequestGate::check に第 3 引数 extensions が加わる破壊的変更あり。

公式ドキュメント: https://fandhe-ai.github.io/fandhe-backend/

ディレクトリ構成

skills/fandhe-backend/
  SKILL.md
  references/
    getting-started/
      README.md
      overview.md
      crates.md
      features.md
      installation.md
      minimal-server.md
    guides/
      README.md
      reading.md
      tutorial.md
      feature-samples.md
      extension-points.md
      streaming.md
      graceful-shutdown.md
      dpop.md
      jwks-refresh.md
      ws-gate-extensions.md
    core/
      README.md
      server.md
      bound-server.md
      handler.md
      middleware.md
      request-gate.md
      gate-context.md
      upgrade-handler.md
      rebind-handle.md
      interceptor.md
      streaming-response.md
      diagnostics.md
      extension-points.md
    routes/
      README.md
      router.md
      path-patterns.md
      handler-types.md
    http/
      README.md
      overview.md
      request.md
      extensions.md
      response.md
      cookie.md
      location.md
      query.md
      form.md
      percent.md
      body.md
      chunked.md
      buffer.md
      error.md
      socket.md
      connection.md
    plugins/
      README.md
      cors.md
      compression.md
      static.md
      tracing.md
      websocket.md
      graphql.md
      openapi.md
      webrtc.md
      webrtc-proxy.md
      hub-wiring.md
      jwt.md
      jwt-dpop.md
      jwt-jwks-refresh.md
      csrf.md
  samples/
    README.md
    minimal-server.md
    crud-routing.md
    custom-middleware.md
    request-gate-auth.md
    interceptor.md
    cors.md
    websocket-handler.md
    graphql-schema.md
    streaming-response.md
    graceful-shutdown.md
    static-file-serving.md
    compression.md
    full-featured-app.md
    csrf-gate.md
    jwt-gate.md
    session-cookie-see-other.md
  scripts/
    README.md
    install.md
    dev.md

探索手順

タスクからカテゴリを引き、カテゴリの README.md で目的のページを特定する:

  1. 下記マッピング表でタスクに対応するカテゴリを探す。同名ファイルが複数カテゴリに存在する点に注意する(extension-points.md は guides = 拡張点の契約・自作手順、core = 型ごとの API 定義・全体フロー。overview.md は getting-started = フレームワーク全体像、http = crate 内モジュール構成。minimal-server.md / streaming-response.md / graceful-shutdown.md / cors.md / compression.md / interceptor.md は references と samples の双方に存在し、references = API 定義、samples = 動く配線例)
  2. そのカテゴリの references/{category}/README.md を参照して目的のページを特定する
  3. 該当ページの .md を Read して詳細を確認する

タスク → カテゴリ マッピング

タスクカテゴリ参照 README
フレームワークの全体像・2 つの核となる原則、クレート構成、feature フラグ一覧、インストール手順、最小構成のコード例を知りたいgetting-startedreferences/getting-started/README.md
最小サーバから Middleware 実装までの段階的チュートリアル、feature 別サンプル一覧、4 拡張点の契約・自作手順、ストリーミング送信、graceful shutdown の手順、ガイド群の読み方・対象読者を知りたいguidesreferences/guides/README.md
Server / BoundServer / Handler / Middleware / RequestGate / UpgradeHandler / Interceptor / StreamingResponse の型定義・API、GateContext(RequestGate::check へ渡される接続コンテキスト、peer_addr)、BoundServer::rebind_handle / RebindHandle(稼働中 listener の無停止差し替え)、4 拡張点・plugin シームの全体フローを知りたいcorereferences/core/README.md
リダイレクト返却・レスポンス差し替え(Interceptor の intercept / map_response)を知りたいcorereferences/core/README.md
実行時診断の送信先を差し替えたい(Diagnostics trait / DiagnosticEvent / StderrDiagnostics / Server::diagnostics)corereferences/core/README.md
ステータスコード付きアクセスログを取りたい(Middleware::on_response_with_status)corereferences/core/README.md
Router のルーティング規則、{name} / {*name} パスパターン、HandlerFuture 等の公開型エイリアス、Router::merge による複数 Router の合成と衝突検出を知りたいroutesreferences/routes/README.md
WebSocket でサーバーから push したい(WsSender)、接続の開閉フック(on_open / on_close / CloseReason)、ハンドシェイク検証(handshake check)、パスパターン、ping keepalive を知りたいpluginsreferences/plugins/README.md
sans-IO なリクエスト/レスポンスパーサー、Cookie・クエリ・フォーム・percent-decode、body フレーミング・chunked コーディング、読み取りバッファ、エラーレスポンス、ソケットオプション・keep-alive を知りたいhttpreferences/http/README.md
セッション Cookie(SetCookie::session、__Host- / __Secure- 接頭辞)、POST 後 303(Response::see_other / SameOriginLocation)、Vary / no-store、フォーム上限(FormLimits)を知りたいhttpreferences/http/README.md
JWT 検証ゲート(JwtGate / JwtPolicy / JWKS KeySet)、CSRF ゲート(CsrfGate、Sec-Fetch-Site / Origin)を使いたいpluginsreferences/plugins/README.md
DPoP(RFC 9449)で sender-constrained トークンを検証したい、JWKS を取り直して鍵ローテーションに追従したい(jwt-dpop / jwt-jwks-refresh)pluginsreferences/plugins/README.md
リクエスト単位の型付き拡張領域(RequestExtensions)を使いたい、ゲートの検証結果をハンドラへ渡したい(RequestGate::check の extensions 引数)httpreferences/http/README.md
WebSocket のアップグレード時にゲートの検証結果(extensions)を UpgradeHandler へ渡したいguidesreferences/guides/README.md
DPoP 検証の導入手順、JWKS 取り直しの手順を知りたいguidesreferences/guides/README.md
CORS・圧縮・静的配信・トレーシング・WebSocket・GraphQL・OpenAPI・WebRTC(in-process / proxy)・hub 共通配線・JWT / CSRF ゲートなど、プラグイン API を知りたいpluginsreferences/plugins/README.md
最小サーバ、CRUD ルーティング、Middleware / RequestGate / Interceptor 自作、CORS・WebSocket・GraphQL・ストリーミング・graceful shutdown・静的配信・圧縮・JwtGate・CsrfGate・セッション Cookie + 303 の動く配線例、実運用形テンプレートを知りたいsamplessamples/README.md
クレート導入・feature 有効化コマンド、ビルド・実行・テスト・lint・依存監査コマンドを知りたいscriptsscripts/README.md

コメント