Skip to main content

Auto-discovery

Three directories are scanned at startup, and their contents registered for you.

models/

SQLAlchemy models.

services/

Business logic classes.

routes/

api/ mounts at /api/*, pages/ at /*.
Discovery is strict. A module that fails to import stops the app rather than being dropped silently, and the error names the module.

Framework-provided assets

These are served from /feather-static/ and update when you upgrade Feather:
  • Components. See the component reference for the full list.
  • JavaScript. api.js for CSRF-aware fetch, and feather.js for the islands runtime.
To override a component, create your own version in templates/components/ using the same filename. The template loader resolves yours first, and feather components marks it as an override.