Runable v1.0.0-alpha.20
Why Runable? Docs Modules Work with AI Blog About Changelog
  • 01Why Runable?
  • 02Docs
  • 03Modules
  • 04Work with AI
  • 05Blog
  • 06About
  • 07Changelog
Vue without a fixed server runtime.
Getting Started Structure Integrations Guide MCP API
  • Getting Started Structure Integrations Guide MCP API
Build the Interface
  • Routing
  • Layouts
  • Middlewares
  • Error Handling
Load and Render
  • Data Fetching
  • SSR and CSR
  • Head and SEO
Extend Runable
  • Auto-imports
  • Plugins
  • Modules
Configure and Ship
  • Runtime Configuration
  • CSS and Assets
  • Production Build
CLI
  • Overview
  • Create
  • Prepare
  • Build
  • MCP
  • AI Skills
  • Inspector

Runtime configuration

Load typed variables without exposing secrets to the browser.

Runable reads .env files for the active Vite mode and variables from process.env. It keeps names prefixed with RUN_, or VITE_.

Declare values

RUN_PUBLIC_API_BASE=/api
RUN_PUBLIC_FEATURE_ENABLED=true
RUN_DATABASE_URL=postgres://localhost/acme
RUN_RETRY_COUNT=3

The PUBLIC_ segment determines visibility:

VariableGenerated accessClientServer
RUN_PUBLIC_API_BASEruntime.public.apiBaseYesYes
RUN_PUBLIC_FEATURE_ENABLEDruntime.public.featureEnabledYesYes
RUN_DATABASE_URLruntime.databaseUrlNoYes
RUN_RETRY_COUNTruntime.retryCountNoYes

Read values

const runtime = useRuntime();

const apiBase = runtime.public.apiBase;

if (import.meta.server) {
  console.log(runtime.databaseUrl);
}

Runable removes the prefix, converts names to camelCase, and infers booleans, numbers, arrays, JSON objects, null, and undefined.

Use import.meta.env

Static accesses are also replaced during compilation:

const apiBase = import.meta.env.RUN_PUBLIC_API_BASE;

Dynamic notation such as import.meta.env[key] is not transformed. Prefer useRuntime() for the public separation and generated types.

Provide editor types

Runable writes .app/runtime.d.ts at startup. Restart the server after adding or renaming a variable to regenerate the declaration.

A public variable is never secret

Every *_PUBLIC_* value is included in the client bundle. Never use one for a password, private token, or connection string.

Report an issue Edit this page
Modules

Group and distribute a configurable Runable feature.

CSS and Assets

Load global styles and serve the application's static files.

On this page

  • 1Declare values
  • 2Read values
  • 3Use import.meta.env
  • 4Provide editor types
Runable

The Vue framework that brings productive conventions to any backend.

Product

  • Why Runable
  • Documentation
  • Installation
  • Integrations

Project

  • About
  • Blog
  • Changelog
  • Sponsor

Community

  • GitHub
  • Issues
  • Discussions
  • Bluesky

© 2026 Runable. Released under the MIT License.

Open source Built with Vue and Runable