jaseci-labs/jac

The Jac Programming Language -- The ultimate language for agents to build everything.

What it solves

Jac eliminates the "glue code" and fragmented toolchains that plague modern full-stack development. By providing a single, compiler-checked language that spans frontend, backend, and data models, it removes the need for separate notations (like SQL, JSON, or YAML) and prevents bugs caused by boundaries between different languages and systems.

How it works

Jac uses a "polypiler" that treats the entire application as a single, contiguous program. It compiles to Python bytecode, JavaScript, and native machine code, allowing you to use existing ecosystems (PyPI, npm, C) without wrappers. It features "Object-Spatial Programming," where data persists as a graph of nodes and edges, and "walkers" carry computation through that graph. It also includes gradual borrow checking, allowing you to opt into high-performance, memory-safe native code only where needed.

Who it’s for

Jac is designed for developers and AI agents building complex, data-driven applications. It is specifically optimized for coding agents, providing a self-documenting environment where the compiler can catch cross-tier errors that would otherwise only appear at runtime.

Highlights

  • All-in-one toolchain: A single binary replaces Python, Node, compilers, package managers, and deployment tools.
  • End-to-end type safety: One compiler checks the entire stack, turning cross-tier integration errors into compile-time mistakes.
  • Built-in persistence: Data objects persist automatically, eliminating the need for manual database management, ORMs, or migrations.
  • AI-native: AI interactions are treated as typed function calls, with the compiler enforcing prompt structures and return types.
  • Seamless deployment: Deploy from your laptop to Kubernetes with a single command, without writing Dockerfiles or YAML configuration.

Related

  • Project
  • Dispatch
  • Project
  • Project
  • Project