Authentication — Cognito owns authentication — passwords, MFA, hosted signup, groups. Belt owns the record of the human Cognito authenticated, so your app can answer its own que
Backups — Belt integrates automated pre-deploy backups into the deploy lifecycle. When configured, belt deploy creates recovery points before applying changes.
Console — belt console (alias: belt c) starts an interactive Ruby session with your application fully loaded — models, configuration, AWS clients, everything.
Controllers — Belt controllers inherit from BeltController::Base and handle HTTP requests dispatched by Belt::ActionRouter. They provide callbacks, strong parameters, respons
Deployment — Belt deploys serverless applications to AWS using Terraform. The CLI wraps terraform init/plan/apply with conventions for environment management, Lambda packagi
Frontends — Belt can host one or more JavaScript SPAs (React, Vue, or Svelte) next to the Lambda API. A typical app has a single frontend/ directory. Some apps — Stowzilla
Generators — Belt generators scaffold code and infrastructure for common patterns. Run belt generate --help to see all available generators (built-in + plugins).
Lambda Handler — Belt::LambdaHandler is the module you include in your Lambda entry point. It provides the lambdahandler method that AWS Lambda invokes, wrapping your applicatio
Models — Belt uses ActiveItem as its ORM for DynamoDB. Models inherit from ActiveItem::Base (typically via an ApplicationRecord base class).
Observability — Belt provides structured logging and CloudWatch metrics out of the box. These are initialized automatically by Belt::LambdaHandler — no setup required.
Plugins — Belt plugins are separate gems that extend the CLI and runtime. They're discovered automatically — no registration file or initializer hook needed.
Routing — Belt routes map HTTP requests to controller actions. Routes are defined in config/routes.rb using a Ruby DSL that mirrors infrastructure (API Gateway + Lambda).
Project Structure — A Belt application follows a conventional directory layout. Understanding this structure helps you navigate and extend the app effectively.