Compose modules
Start with vef.Run(...) and let FX assemble config, database, ORM, middleware, security, storage, MCP, and the application server.
FX assembly, resource-driven APIs, and built-in infrastructure
Build Go services around explicit resources, typed handlers, and framework defaults that are visible in source instead of hidden behind scaffolding.
Mental model
VEF is easiest to understand when you follow the same shape as the runtime: compose modules, register resources, and let the API engine dispatch operations.
Start with vef.Run(...) and let FX assemble config, database, ORM, middleware, security, storage, MCP, and the application server.
Expose APIs with api.NewRPCResource(...) or api.NewRESTResource(...), then register them through vef.ProvideAPIResource(...).
Inject fiber.Ctx, orm.DB, Principal, Logger, Params, Meta, Storage, Event, and Cron directly into handlers instead of wiring glue code by hand.
Capabilities
These are the framework surfaces that show up early in real projects and are backed directly by the current source tree.
RPC and REST are first-class resource types. Each operation carries auth, timeout, rate limit, audit, and versioning behavior.
Create, update, delete, paging, tree queries, import/export, batch operations, and hooks are composed from typed builders.
Build on Bun with audit models, transactional helpers, search tags, pagination, and source-backed defaults for enterprise data access.
Bearer, Signature, and public endpoints work with RBAC permission checks and request-scoped data permissions.
Authentication, storage, schema inspection, monitoring, and MCP are available as ready-to-use resources and middleware.
Extension points are grouped through FX and kept explicit: API resources, app middleware, CQRS behaviors, handler resolvers, and MCP providers.
Start here
These pages are the fastest way to understand how a VEF application is structured and how the main APIs are intended to be used.
Set up the project, application.toml, and the minimal runtime dependencies.
Walk through the smallest app that actually serves an API endpoint.
Learn how RPC requests, REST routes, params, meta, auth, and handlers fit together.
Move from hand-written handlers to generic operations, hooks, search, and pagination.