mcpField
F
fba

fba

github.com/fastapi-practicesDevelopment10458 installsUpdated 6d ago
Repository

About fba

fba is a coding skill for projects using FastAPI Best Architecture. It directs developers to the project's layered conventions, required coding practices, and task-specific references for backend and plugin work.

Key features

  1. 01Follow API, Service, CRUD, Schema, and Model layers
  2. 02Require coding-style and naming references
  3. 03Select task-specific architecture documentation
  4. 04Apply plugin structure and sharing conventions
  5. 05Use the fba CLI help for commands

Use cases

  1. 01Implement or review a FastAPI backend feature
  2. 02Choose module boundaries for cross-layer work
  3. 03Create or update a project plugin
  4. 04Check code against project conventions

Install

Copy the command and run it in a terminal.

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

After installing, type/fbain Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

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

Details

From the project README

FastAPI Best Architecture

Official documentation: https://fastapi-practices.github.io/fastapi_best_architecture_docs/

Use this skill to follow fba architecture and plugin conventions. Load the required baseline below, then only the additional references needed for the task.

Required Coding Baseline

For every backend Python implementation, fix, refactor, or code review, read references/coding-style.md and references/naming.md before working on code. These rules apply to ordinary development as well as explicit style requests; the user does not need to repeat them. Apply them to maintained application and plugin code, including runtime modules, utilities, and relevant tests, while preserving framework-required contracts.

For cross-layer features, directory changes, or SDK integrations, also read references/development.md before choosing module boundaries, then load the layer-specific references.

Keep the requested scope: a comprehensive plugin review covers all maintained modules in that plugin and affected tests, not only API/Service/CRUD files. An ordinary feature or fix does not authorize unrelated repository-wide cleanup. For documentation-only work, load the relevant documentation reference without the Python baseline.

Before completion, apply the review checks in references/coding-style.md. Ruff passing alone does not verify function design, test-driven helper extraction, or layer boundaries.

Core Architecture

Project adopts a layered backend architecture centered on API, Service, and CRUD, with Schema and Model as explicit data contracts:

LayerResponsibility
APIRoute processing, parameter validation, and response return
SchemaData transfer objects, request/response data structure definitions
ServiceBusiness logic, data processing, exception handling
CRUDDatabase operations (inherits CRUDPlus)
ModelORM models (inherits Base)

Development Workflow

  1. Define database models (model)
  2. Define data validation models (schema)
  3. Define routes (router)
  4. Write business logic (service)
  5. Write database operations (crud)

Reference Selection

TaskRead
Feature/module development flow, Service/CRUD placement, pagination, cache, Celery, i18n, code generationreferences/development.md
API routes, dependencies, response patterns, auth, permissionsreferences/api.md
Pydantic request/response DTOsreferences/schema.md
SQLAlchemy models and migrationsreferences/model.md
CRUD, Service, API, Schema, entity and table prefix namingreferences/naming.md
Backend/frontend plugin development and plugin README filesreferences/plugin.md
Plugin sharing, public repositories, marketplace PRs, submodules, updatesreferences/plugin-sharing.md
Every backend Python implementation/review: functions, private helpers, test boundaries, typing, formatting, comments, docstringsreferences/coding-style.md (required baseline)
Global settings and configurationreferences/config.md

Plugin Work

When creating, reviewing, or updating plugins:

  1. Read references/plugin.md for plugin type, structure, manifest, configuration, hooks, SQL, and README rules
  2. Read references/plugin-sharing.md when the task involves sharing, publishing, updating, marketplace PRs, plugin repositories, or Git submodules
  3. Prefer source-code behavior from fastapi-best-architecture when docs and implementation differ
  4. Do not perform git add, commit, push, or PR actions unless the user explicitly asks

CLI

Execute fba -h for more details.

Comments

Markdown supported