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/composables

Share auto-imported Vue logic across components and pages.

Place functions that compose Vue state and APIs here. Named exports are auto-imported into the application.

// app/composables/useCounter.ts
export function useCounter() {
  const count = ref(0);

  return {
    count,
    increment: () => count.value++,
  };
}
<script setup lang="ts">
const { count, increment } = useCounter();
</script>

Use app/composables/ for Vue-related functions: reactive state, lifecycle, injections, or application context. Put Vue-independent TypeScript utilities in an explicit domain directory.

To scan multiple directories:

export default defineConfig({
  composables: ["./app/composables", "./shared/composables"],
});
Report an issue Edit this page
components

Create Vue components that are available without manual imports.

globals

Make functions and variables automatically available in application code.

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