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
      .output.apptsconfig.app.jsonapppageslayoutscomponentscomposablesglobalspluginsmiddlewarescssapp.vueerror.vuemodulesnode_modulespublic.env.gitignorerunable.config.tsserver.tspackage.jsontsconfig.jsontsconfig.node.json

app/layouts

Share an interface structure across several pages.

A layout wraps page content. default.vue is used when a page does not explicitly select another layout.

<!-- app/layouts/default.vue -->
<template>
  <div>
    <header>My application</header>
    <main><slot /></main>
  </div>
</template>

Create a named layout for a specific area:

<!-- app/pages/admin.vue -->
<script setup lang="ts">
definePageMeta({ layout: "dashboard" });
</script>

<template>
  <h1>Administration</h1>
</template>

The dashboard name maps to app/layouts/dashboard.vue. Runable generates the registry and related types in .app/layouts.d.ts.

Layouts can use composables, auto-imported components, and RouterLink like the rest of the application.

Report an issue Edit this page
pages

Create Vue routes from the file tree.

components

Create Vue components that are available without manual imports.

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