Skip to main content

VEF Framework Go

Resource-driven Go APIs, end to end.

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
main.goGO
  • 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.

  1. 01

    Compose modules

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

  2. 02

    Register resources

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

  3. 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.