Skip to main content

FX assembly, resource-driven APIs, and built-in infrastructure

VEF Framework Go

Build Go services around explicit resources, typed handlers, and framework defaults that are visible in source instead of hidden behind scaffolding.

RPC endpoint/api
Default versionv1
Default timeout30s
Default rate limit100 / 5m
Bootstrap shape
  • Resources are registered explicitly and resolved by the API engine.
  • CRUD builders, result helpers, and parameter injection remove repetitive glue code.
  • Defaults come from source: version `v1`, timeout `30s`, and rate limit `100 / 5m`.

Mental model

Start from composition, not from routes

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.

01

Compose modules

Start with vef.Run(...) and let FX assemble config, database, ORM, middleware, security, storage, MCP, and the application server.

02

Register resources

Expose APIs with api.NewRPCResource(...) or api.NewRESTResource(...), then register them through vef.ProvideAPIResource(...).

03

Keep handlers lean

Inject fiber.Ctx, orm.DB, Principal, Logger, Params, Meta, Storage, Event, and Cron directly into handlers instead of wiring glue code by hand.

Capabilities

The parts you should reach for first

These are the framework surfaces that show up early in real projects and are backed directly by the current source tree.

API

Unified resource model

RPC and REST are first-class resource types. Each operation carries auth, timeout, rate limit, audit, and versioning behavior.

CRUD

Generic CRUD builders

Create, update, delete, paging, tree queries, import/export, batch operations, and hooks are composed from typed builders.

ORM

Model-driven data layer

Build on Bun with audit models, transactional helpers, search tags, pagination, and source-backed defaults for enterprise data access.

AUTH

Security and data scopes

Bearer, Signature, and public endpoints work with RBAC permission checks and request-scoped data permissions.

SYS

Built-in system resources

Authentication, storage, schema inspection, monitoring, and MCP are available as ready-to-use resources and middleware.

FX

Modular runtime

Extension points are grouped through FX and kept explicit: API resources, app middleware, CQRS behaviors, handler resolvers, and MCP providers.

Start here

Follow the shortest path to useful context

These pages are the fastest way to understand how a VEF application is structured and how the main APIs are intended to be used.