mcpField
F
fba

fba

github.com/fastapi-practices開発10458 回インストール6 日前に更新
リポジトリ

fba について

fbaは、FastAPI Best Architectureを採用するプロジェクト向けのコーディングスキルです。バックエンドやプラグイン開発で、レイヤー構成、必須のコーディング規則、タスク別リファレンスに沿う方法を示します。

主な機能

  1. 01API、Service、CRUD、Schema、Modelの各層に従う
  2. 02コーディング規則と命名規則の参照を必須化
  3. 03タスクに応じてアーキテクチャ文書を選択
  4. 04プラグイン構成と共有の規約を適用
  5. 05fba CLIのヘルプでコマンドを確認

活用シーン

  1. 01FastAPIバックエンド機能の実装やレビュー
  2. 02複数レイヤーにまたがる作業のモジュール境界を決定
  3. 03プロジェクトプラグインの作成や更新
  4. 04プロジェクト規約に照らしたコード確認

インストール

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

$npx skills add https://github.com/fastapi-practices/skills --skill fba

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

同梱ファイル

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

references/
api.md
coding-style.md
config.md
development.md
model.md
naming.md
plugin-sharing.md
plugin.md
schema.md

詳細

FastAPI ベストアーキテクチャ

公式ドキュメント:https://fastapi-practices.github.io/fastapi_best_architecture_docs/

このスキルを使用して、fba のアーキテクチャとプラグインの規約に従ってください。以下の必須ベースラインを読み込んだ後、タスクに必要な追加のリファレンスのみを読み込んでください。

必須のコーディングベースライン

バックエンドの Python 実装、修正、リファクタリング、コードレビューを行う場合は、作業に取りかかる前に references/coding-style.md と references/naming.md を読んでください。これらのルールは通常の開発にも、明示的にスタイルを指定された場合にも適用されます。ユーザーが改めて指示する必要はありません。フレームワークで必須とされる契約を維持しながら、ランタイムモジュール、ユーティリティ、関連するテストなど、保守対象のアプリケーションコードとプラグインコードに適用してください。

複数レイヤーにまたがる機能、ディレクトリの変更、SDK 統合を行う場合は、モジュールの境界を決める前に references/development.md も読み、その後、該当するレイヤー別のリファレンスを読み込んでください。

依頼された範囲を守ってください。包括的なプラグインレビューでは、API/Service/CRUD ファイルだけでなく、そのプラグインの保守対象となるすべてのモジュールと、影響を受けるテストを対象にします。通常の機能追加や修正を理由に、無関係なリポジトリ全体のクリーンアップを行ってはいけません。ドキュメントのみの作業では、Python ベースラインを適用せず、関連するドキュメントのリファレンスを読み込んでください。

作業を完了する前に、references/coding-style.md のレビュー項目を適用してください。Ruff が通っても、関数の設計、テスト駆動によるヘルパーの抽出、レイヤーの境界が検証されたことにはなりません。

コアアーキテクチャ

このプロジェクトでは、API、Service、CRUD を中心としたレイヤー化バックエンドアーキテクチャを採用し、Schema と Model を明示的なデータ契約として定義します。

レイヤー責務
APIルート処理、パラメーターの検証、レスポンスの返却
Schemaデータ転送オブジェクト、リクエスト/レスポンスのデータ構造の定義
Serviceビジネスロジック、データ処理、例外処理
CRUDデータベース操作(CRUDPlus を継承)
ModelORM モデル(Base を継承)

開発ワークフロー

  1. データベースモデルを定義する(model)
  2. データ検証モデルを定義する(schema)
  3. ルートを定義する(router)
  4. ビジネスロジックを実装する(service)
  5. データベース操作を実装する(crud)

リファレンスの選択

タスク読むもの
機能/モジュール開発の流れ、Service/CRUD の配置、ページネーション、キャッシュ、Celery、i18n、コード生成references/development.md
API ルート、依存関係、レスポンスのパターン、認証、権限references/api.md
Pydantic のリクエスト/レスポンス DTOreferences/schema.md
SQLAlchemy モデルとマイグレーションreferences/model.md
CRUD、Service、API、Schema、エンティティ名とテーブル名のプレフィックスreferences/naming.md
バックエンド/フロントエンドのプラグイン開発とプラグインの README ファイルreferences/plugin.md
プラグインの共有、公開リポジトリ、マーケットプレイス PR、サブモジュール、更新references/plugin-sharing.md
すべてのバックエンド Python 実装/レビュー:関数、プライベートヘルパー、テストの境界、型付け、フォーマット、コメント、docstringreferences/coding-style.md(必須ベースライン)
グローバル設定と構成references/config.md

プラグイン作業

プラグインを作成、レビュー、更新する場合:

  1. プラグインの種類、構成、マニフェスト、設定、フック、SQL、README のルールについて、references/plugin.md を読む
  2. タスクに共有、公開、更新、マーケットプレイス PR、プラグインリポジトリ、Git サブモジュールが関わる場合は、references/plugin-sharing.md を読む
  3. ドキュメントと実装が異なる場合は、fastapi-best-architecture のソースコードでの挙動を優先する
  4. ユーザーから明示的な依頼がない限り、git add、commit、push、PR の操作を行わない

CLI

詳細については fba -h を実行してください。

コメント