# Jac (the Jaseci stack) > Jac is a programming language designed for humans and AI to build together. It compiles one Python-like syntax to Python bytecode, JavaScript, and native machine code, with full access to the PyPI, npm, and C ecosystems. AI calls (`by llm()`), persistent graphs, REST APIs, React-style UIs (`cl` code), and Kubernetes deployment are language features delivered through one self-contained `jac` binary. Key facts: statements end with `;`, blocks use `{ }`, fields are declared with `has name: type;`, `node`/`edge`/`walker` archetypes model domains as graphs, the graph under `root` persists automatically, and `def f(...) -> T by llm();` delegates a function to an LLM with the return type as the enforced output schema. ## Getting started - [What is Jac](https://docs.jaseci.org/quick-guide/): overview and positioning - [Install](https://docs.jaseci.org/quick-guide/install/): the self-contained binary, upgrading, IDE setup - [Why Jac exists](https://docs.jaseci.org/quick-guide/why-jac/): the diagnosis -- discontinuities, glue, and the two von Neumann assumptions - [The two ideas](https://docs.jaseci.org/quick-guide/ideas-behind-jac/): the two properties -- synechic (one checked medium across ecosystems/tiers/toolchains) and topokinetic (computation moves through a topology of data), and why they compound - [Core concepts](https://docs.jaseci.org/quick-guide/what-makes-jac-different/): the practical tour -- codespaces, persistence, walkers, by/sem - [Vocabulary](https://docs.jaseci.org/quick-guide/vocabulary/): one-line canonical definitions of every coined term - [One binary, build anything](https://docs.jaseci.org/quick-guide/one-binary/): the toolchain inside the jac binary, and the polypiler - [Syntax cheatsheet](https://docs.jaseci.org/reference/language/syntax-cheatsheet/): the whole language on one page - [One app, two stacks](https://docs.jaseci.org/quick-guide/jac-vs-traditional-stack/): the same app built both ways, with the glue counted ## Tutorials - [Jac fundamentals](https://docs.jaseci.org/tutorials/language/basics/): the language, for Python developers - [Object-Spatial Programming](https://docs.jaseci.org/tutorials/language/osp/): nodes, edges, and walkers - [Build an AI Day Planner](https://docs.jaseci.org/tutorials/first-app/build-ai-day-planner/): flagship full-stack tutorial - [Your first AI function](https://docs.jaseci.org/tutorials/ai/quickstart/): `by llm()` quickstart - [Full-stack web apps](https://docs.jaseci.org/build/fullstack-web/): frontend and backend in one file - [Backend APIs](https://docs.jaseci.org/build/backend-apis/): walkers as REST endpoints - [CLI tools and native binaries](https://docs.jaseci.org/build/cli-and-native/): the native compilation pathway - [AI agents and LLM apps](https://docs.jaseci.org/build/ai-agents/): agentic patterns in Jac ## Reference - [Reference overview](https://docs.jaseci.org/reference/): language and stack reference index - [CLI reference](https://docs.jaseci.org/reference/cli/): every jac command and flag - [byllm plugin](https://docs.jaseci.org/reference/plugins/byllm/): meaning types (`by llm()`, `sem`) and model configuration - [jac-scale](https://docs.jaseci.org/reference/plugins/jac-scale/): deployment and scaling subsystem ## Optional - [Research & papers](https://docs.jaseci.org/community/research/): the peer-reviewed foundations (OSP, MTP, Jaseci) - [GitHub repository](https://github.com/jaseci-labs/jaseci) - [Agent setup skill](https://raw.githubusercontent.com/jaseci-labs/jaseci/main/SKILL.md): step-by-step install and MCP setup for AI coding agents - [Jac Playground](https://playground.jaseci.org): run Jac in the browser, no install