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.
- 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.
Unified resource model
RPC and REST are first-class resource types. Each operation carries auth, timeout, rate limit, audit, and versioning behavior.
Generic CRUD builders
Create, update, delete, paging, tree queries, import/export, batch operations, and hooks are composed from typed builders.
Model-driven data layer
Build on Bun with audit models, transactional helpers, search tags, pagination, and source-backed defaults for enterprise data access.
Security and data scopes
Bearer, Signature, and public endpoints work with RBAC permission checks and request-scoped data permissions.
Built-in system resources
Authentication, storage, schema inspection, monitoring, and MCP are available as ready-to-use resources and middleware.
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.
Install and configure
Set up the project, application.toml, and the minimal runtime dependencies.
Build your first resource
Walk through the smallest app that actually serves an API endpoint.
Understand routing
Learn how RPC requests, REST routes, params, meta, auth, and handlers fit together.
Scale with CRUD builders
Move from hand-written handlers to generic operations, hooks, search, and pagination.