Modules
Importing from Vibe Files
Section titled “Importing from Vibe Files”Import functions, constants, and models from other .vibe files:
import { greet, helper } from "./utils.vibe"import { sharedModel } from "./config.vibe"
let message = greet("World")Importing from TypeScript
Section titled “Importing from TypeScript”Import directly from TypeScript files:
import { formatDate, parseConfig } from "./helpers.ts"
let formatted = formatDate("2025-01-15")System Imports
Section titled “System Imports”Vibe provides built-in utilities. Core functions like print and env are always available without import:
// No import needed for core functionslet apiKey = env("ANTHROPIC_API_KEY")print("Key loaded")Other utilities require import:
import { uuid, now, random } from "system/utils"Exporting
Section titled “Exporting”Export Functions
Section titled “Export Functions”export function greet(name: text): text { return "Hello, " + name}Export Constants
Section titled “Export Constants”export const VERSION = "1.0.0"export const MAX_RETRIES = 3Export Models
Section titled “Export Models”export model sharedAssistant = { name: "claude-sonnet-4-20250514", apiKey: env("ANTHROPIC_API_KEY"), provider: "anthropic"}File Organization
Section titled “File Organization”A typical project structure:
my-project/├── main.vibe # Entry point├── config.vibe # Shared models and constants├── utils.vibe # Helper functions├── tools/│ ├── web.vibe # Web-related tools│ └── files.vibe # File tools└── .env # API keysExample config.vibe:
// env() is always available - no import neededexport model claude = { name: "claude-sonnet-4-20250514", provider: "anthropic", apiKey: env("ANTHROPIC_API_KEY")}
export model gpt = { name: "gpt-5.2", provider: "openai", apiKey: env("OPENAI_API_KEY")}Example main.vibe:
import { claude } from "./config.vibe"import { summarize } from "./utils.vibe"
let content = "..."let summary = summarize(content)print(summary)