@atscript/typescript
Define your models once — get TypeScript types, runtime validation, and DB metadata from a single .as model.
Documentation · TypeScript Guide
TypeScript language extension for Atscript. Compiles .as files to .d.ts type declarations and .js runtime modules with validation, serialization, and JSON Schema support. Includes the asc CLI.
Installation
pnpm add @atscript/typescript @atscript/core
Quick Start
# Compile .as files to .d.ts + .js
npx asc -f js
# Diagnostics only
npx asc --noEmit
// Runtime validation
import { buildJsonSchema } from '@atscript/typescript/utils'
import { User } from './schema/user.as'
User.validator().validate(inputData) // throws on failure
const schema = buildJsonSchema(User.annotatedType)
Features
- Generates
.d.tstype declarations and.jsruntime modules from.asfiles - CLI (
asc) for batch compilation with diagnostics Validatorclass for runtime data validation against@expect.*constraints- JSON Schema generation (
buildJsonSchema) and parsing (fromJsonSchema) - Serialization for JSON-safe round-trip of type definitions
- Type-safe utility types:
FlatOf<T>,PrimaryKeyOf<T>,OwnPropsOf<T>,NavPropsOf<T> - Global
atscript.d.tsgeneration for typed metadata access
AI Agent Skill
Unified skill for AI coding agents (Claude Code, Cursor, Windsurf, Codex, etc.) covering all @atscript/* packages:
npx skills add moostjs/atscript
Learn more at skills.sh.
Documentation
License
MIT