aerostack generate types
Introspect your connected databases and generate TypeScript interfaces + a type-safe database client.
Usage
aerostack generate types [flags]Flags
| Flag | Default | Description |
|---|---|---|
-o, --output | shared/types.ts | Output file path |
Examples
# Generate types to default location
aerostack generate types
# Custom output path
aerostack generate types --output src/db/types.tsWhat it generates
Given a posts table:
CREATE TABLE posts (
id TEXT PRIMARY KEY,
user_id TEXT NOT NULL,
title TEXT NOT NULL,
published INTEGER DEFAULT 0,
created_at INTEGER NOT NULL
);The command generates:
// shared/types.ts (auto-generated — do not edit)
export interface Post {
id: string
user_id: string
title: string
published: number
created_at: number
}
export interface DB {
posts: Post
// ... other tables
}Using the generated types
import { DB } from '@shared/types'
const { results } = await sdk.db.query<DB['posts']>(
'SELECT * FROM posts WHERE published = 1'
)
// results is typed as Post[]If AEROSTACK_API_KEY is set, generate types also fetches project metadata (collections, hooks) to include in the type output.
When to run
- After creating or modifying a migration
- After running
aerostack db pull - As part of your CI pipeline before building