Roadmap

What we are building

Where SyncLangs stands today. The parser, type checker, and TypeScript and Python generators ship now. Go is in progress. The rest is planned or still being explored.

24%
Items shipped
Shipped

Lark-based Grammar Parser

LALR(1) parser that reads the .syln schema syntax.

Shipped

Semantic Analysis Phase

Builds the symbol table, checks types, and catches reference cycles.

Planned

Runtime Validation

Generate Zod (TypeScript) and Pydantic (Python) validators from the schema.

Planned

Framework Templates

Ready-made configs for stacks like Next + FastAPI and React + Django.

Planned

Git Hooks Integration

A pre-commit hook that runs syln check and blocks the commit on type drift.

Planned

Monorepo Architecture

Generate and check schemas across multiple packages in one repository.

Planned

Plugin Architecture

Write your own generators and extensions for target languages we do not cover.

Shipped

TypeScript Generator

Generate type-safe TypeScript interfaces and enums from the schema.

Shipped

Python Generator

Generate Pydantic models and TypedDicts from the schema.

In progress

Go Struct Generator

Map .syln types to Go structs with JSON tags. Records and enums work; nested generics are next.

Progress30%
Planned

Mobile SDKs

Generate Swift (iOS) and Kotlin (Android) types from the same schema.

Planned

GraphQL Generation

Generate a GraphQL schema from .syln, and read GraphQL schemas back into .syln.

Exploring

AI Schema Generation

Moonshot

Draft a .syln schema from existing code, a plain-English description, or a SQL schema.

Progress0%
Exploring

Bidirectional Sync

Moonshot

Edit a generated type in any target language and write the change back to .syln.

Progress0%
Planned

API Client Generation

Generate typed API clients (fetch, axios, httpx) from the schema.

Planned

Visual Schema Designer

Build a .syln schema in the browser and preview the generated types as you go.

Exploring

SyncLangs Hub

Moonshot

A registry for publishing and reusing .syln schemas across teams, like a package registry for types.

Progress0%

Want to help build this?

Open the GitHub repository