L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

backend-services-api

backend-services-api

Operate Nexent backend FastAPI app/service/database changes, environment constants, domain exceptions, auth and tenant permissions, prompt templates, and API orchestration.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: backend-services-api description: "Operate Nexent backend FastAPI app/service/database changes, environment constants, domain exceptions, auth and tenant permissions, prompt templates, and API orchestration." disable-model-invocation: true metadata: disco-role: operating license: MIT

Backend Services API

Use this sub-skill for Nexent backend work that changes or diagnoses FastAPI routes, service orchestration, database helpers, backend configuration constants, domain exceptions, tenant/auth permissions, prompt-template storage, agent/model/skill/repository/memory route wiring, or backend service entrypoints.

Route here when

  • Adding, changing, or debugging a route under backend app modules such as /agent, /skills, /model, /repository/*, /prompt*, /tenant*, /user*, /mcp*, /nb/*, or shared app construction.
  • Tracing an API failure across app endpoint, service function, domain exception, database helper, auth utility, or prompt-template synchronization.
  • Adding a backend environment variable, version constant, error code, exception, request/response Pydantic model, tenant/role permission check, or database CRUD helper.
  • Updating backend NL2Agent/NL2Skill orchestration, prompt-generation templates, service startup composition, or route-to-service ownership.
  • Selecting focused backend app/service pytest cases and mocks for route, service, auth, and database boundaries.

Route elsewhere

  • Direct SDK agent/model/tool usage, AgentConfig, ModelConfig, streaming SDK internals, MCP transport semantics, sandbox policy, scheduler primitives, or SDK skill-manager details: ../sdk-agent-runtime/SKILL.md.
  • Deep document ingestion, vector database implementation, storage, knowledge-base retrieval, memory records/retrieval/dreaming, Redis/Elasticsearch/MinIO live behavior, or data-process worker details: ../knowledge-data-memory/SKILL.md.
  • Next.js service clients, TypeScript contracts, chat UI streaming components, stores, i18n, or frontend build issues: ../frontend-integration/SKILL.md.
  • Docker/Kubernetes/offline deployment, SQL migration/init synchronization, env-file deployment ownership, image builds, runtime operations, or uninstall/upgrade scripts: ../deployment-operations/SKILL.md.

Operating procedure

  1. Read references/backend-architecture.md for the layer contract, environment-variable source of truth, exception flow, tenant/auth rules, prompt-template ownership, and safe entrypoint reasoning.
  2. Read references/api-service-map.md to identify the route family, app module, service owner, likely database helper, and boundary handoff before editing code.
  3. Use scripts/list_fastapi_routes.py to statically inventory backend app routes from a checkout without importing the backend or starting services.
  4. Read references/testing.md before selecting app/service tests or mocks. Patch dependencies at the module lookup site and avoid live external services unless a test explicitly provisions them.
  5. Read references/troubleshooting.md when an import, route, permission, exception envelope, startup hook, prompt template, or service dependency behaves unexpectedly.

Non-negotiable backend rules

  • Only backend constants may read environment variables. Add or change backend env vars in backend/consts/const.py, import resolved constants elsewhere, and pass configuration to SDK code as parameters.
  • App modules parse/validate HTTP input, derive auth context, call services, map domain exceptions to HTTP responses, and preserve existing route shapes. Do not put core business logic in an app endpoint.
  • Services orchestrate business logic, database helpers, SDK calls, and external clients. Do not raise HTTPException or return FastAPI/Starlette responses from service code.
  • Database helpers use get_db_session() as the transaction boundary, use TableBase audit fields for ordinary tables, soft-delete with delete_flag='Y', and do not manually commit, rollback, or close sessions.
  • Domain exceptions belong in backend/consts/exceptions.py; business error-code mappings belong in backend/consts/error_code.py and message mappings beside them.
  • Keep prompt-template YAML placeholders and language variants aligned. Startup sync stores the system default prompt template, so template schema changes require service and test updates.
  • Unit and route tests must mock storage, database, Redis, Elasticsearch, model providers, network clients, and SDK agent execution unless the selected native case explicitly supplies those services.
Skills enregistrées