SDKs

Understand the primary Vango authoring packages and how they divide responsibility across app code.

#sdk#packages#go

SDKs

Vango is currently a Go-first framework. In practice, the primary developer surface is a small set of packages rather than many separate client SDKs.

The packages that matter most

github.com/vango-go/vango

Use the root package for:

  • app creation and configuration

  • contexts and session access

  • Setup component wiring

  • transactions and scheduling helpers

  • page actions and response helpers

  • navigation helpers

  • typed session keys

github.com/vango-go/vango/setup

Use setup for reactive allocation and app-facing async primitives:

  • Signal

  • Memo

  • SharedSignal

  • GlobalSignal

  • Resource

  • ResourceKeyed

  • Action

  • Form

  • RouteForm

  • URLParam

If it allocates reactive state for app code, it should probably come from setup.

github.com/vango-go/vango/el

Use el for view construction:

  • HTML and SVG constructors

  • attributes

  • event handlers

  • conditional rendering

  • list helpers

  • client boundaries

The blessed path

For most app code, start here:

go
1import "github.com/vango-go/vango"
2import "github.com/vango-go/vango/setup"
3import . "github.com/vango-go/vango/el"

That is the standard Vango authoring surface.

Lower-level and secondary surfaces

Prefer not to build new app code directly on:

  • github.com/vango-go/vango/pkg/vango

  • github.com/vango-go/vango/pkg/vdom

  • github.com/vango-go/vango/pkg/server

  • most github.com/vango-go/vango/pkg/features/* packages

Those packages exist, but their existence is not a recommendation to make them your default app-facing API.

Secondary packages you may use when the feature requires them

Examples include:

  • pkg/auth

  • pkg/authmw

  • pkg/auth/sessionauth

  • pkg/shell

  • pkg/surface

  • pkg/toast

  • pkg/upload

  • pkg/vtest

Reach for these when the feature genuinely requires them. Do not treat them as a replacement for the main vango, setup, and el flow.

Choosing a package by problem type

  • building the app, routes, context, or response helpers -> vango

  • allocating state or async work -> setup

  • building UI -> el

  • protecting routes or reading auth -> pkg/auth , pkg/authmw

  • uploads -> pkg/upload

  • live toast events -> pkg/toast

  • testing -> pkg/vtest

If you want the concrete helper inventory, use the API Reference alongside this page.