Project structure

Projects are folders of .vamp modules plus a vamp.toml manifest. Routing is file-based under app/.

Full-stack layout

my-app/
  vamp.toml
  main.vamp
  lib/
    store.vamp
    api.vamp
    ui_kit.vamp
  app/
    page.vamp
    settings/page.vamp
    server/
      health.vamp
      items.vamp
  data/
  README.md

Backend-only

my-backend/
  vamp.toml          # kind = "backend"
  main.vamp
  lib/store.vamp
  lib/api.vamp
  app/server/*.vamp
  data/

vamp.toml

name = "my-web-app"
version = "0.1.0"
entry = "main.vamp"
kind = "web"

capabilities = [
  "ui", "storage", "clock",
  "fs.read", "fs.write", "background",
]

Imports

import "lib/api"
import "lib/store"

fn main() {
  print(api_health())
}

Resolution: adjacent .vampmod.vamp → project root → lib/src/.

Next.js map

Next.jsVampCode
app/page.tsxapp/page.vamp
app/api/…app/server/*.vamp
JSXColumn { Text("x") }
next run/buildvampcode run/build