Installation and First Run#
Get Jac installed and ready to use in under 2 minutes.
One-Line Install (Recommended)#
Install Jac with a single command -- no Python setup required:
This automatically installs uv (if needed), a Python 3.12+ runtime, and the full Jac ecosystem including all plugins.
Installer Options#
Pass flags after -- to customize the install:
# Core language only (no plugins)
curl -fsSL https://raw.githubusercontent.com/jaseci-labs/jaseci/main/scripts/install.sh | bash -s -- --core
# Specific version
curl -fsSL https://raw.githubusercontent.com/jaseci-labs/jaseci/main/scripts/install.sh | bash -s -- --version 2.3.1
# Standalone binary (self-contained, no Python/uv needed at runtime)
curl -fsSL https://raw.githubusercontent.com/jaseci-labs/jaseci/main/scripts/install.sh | bash -s -- --standalone
# Uninstall
curl -fsSL https://raw.githubusercontent.com/jaseci-labs/jaseci/main/scripts/install.sh | bash -s -- --uninstall
| Flag | Description |
|---|---|
--core |
Install only the Jac language compiler, no plugins |
--standalone |
Download a pre-built binary from GitHub Releases |
--version V |
Install a specific version |
--uninstall |
Remove Jac |
Upgrading#
Re-run the install command to upgrade to the latest version. The installer detects existing installations and upgrades in place.
Install via pip#
If you already have Python 3.12+ and prefer pip:
The jaseci package is a meta-package that bundles all Jac ecosystem packages together. This installs:
jaclang- The Jac language and compilerbyllm- AI/LLM integrationjac-client- Full-stack web developmentjac-scale- Production deploymentjac-super- Enhanced console output
Verify the installation:
This also warms the cache, making subsequent commands faster.
Installation Options#
Minimal Install (Language Only)#
If you only need the core language:
Individual Plugins#
Install plugins as needed:
# AI/LLM integration
pip install byllm
# Full-stack web development
pip install jac-client
# Production deployment & scaling
pip install jac-scale
# Enhanced console output
pip install jac-super
Virtual Environment (Recommended)#
# Create environment
python -m venv jac-env
# Activate it
source jac-env/bin/activate # Linux/Mac
jac-env\Scripts\activate # Windows
# Install Jac
pip install jaseci
IDE Setup#
VS Code (Recommended)#
Install the official Jac extension for the best development experience:
Option 1: From Marketplace
- Open VS Code
- Click Extensions in the sidebar (or press
Ctrl+Shift+X/Cmd+Shift+X) - Search for "Jac"
- Click Install on "Jac Language Support" by Jaseci Labs
Or install directly: Open in VS Code Marketplace
Option 2: Quick Install
Press Ctrl+P / Cmd+P and paste:
Features:
- Syntax highlighting for
.jacfiles - Intelligent autocomplete
- Real-time error detection
- Hover documentation
- Go to definition
- Graph visualization
Cursor#
- Download the latest
.vsixfrom GitHub releases - Press
Ctrl+Shift+P/Cmd+Shift+P - Select "Extensions: Install from VSIX"
- Choose the downloaded file
Verify Installation#
Expected output:
_
(_) __ _ ___ Jac Language
| |/ _` |/ __|
| | (_| | (__ Version: 0.X.X
_/ |\__,_|\___| Python 3.12.3
|__/ Platform: Linux x86_64
📚 Documentation: https://docs.jaseci.org
💬 Community: https://discord.gg/6j3QNdtcN6
🐛 Issues: https://github.com/Jaseci-Labs/jaseci/issues
Run your first program to confirm everything works. Create hello.jac:
You should see Hello from Jac! printed to the console.
Scaffold a Full-Stack App#
With the jac-client plugin installed, scaffold a complete full-stack project in one command:
This creates a project with a Jac backend and a React frontend, ready to go at http://localhost:8000.
Community Jacpacks#
Jacpacks are ready-made Jac project templates you can spin up instantly. Since --use accepts a URL, you can run any jacpack directly from GitHub:
jac create my-todo --use https://raw.githubusercontent.com/jaseci-labs/jacpacks/main/multi-user-todo-app/multi-user-todo-app.jacpack
cd my-todo
jac add
jac start main.jac
Want to try one with AI built in? The multi-user-todo-meals-app uses Jac's AI integration features to generate smart shopping lists with costs and nutritional info. It works out of the box with an Anthropic API key:
export ANTHROPIC_API_KEY="your-key-here"
jac create meals-app --use https://raw.githubusercontent.com/jaseci-labs/jacpacks/main/multi-user-todo-meals-app/multi-user-todo-meals-app.jacpack
cd meals-app
jac add
jac start main.jac
To use any of the other jacpacks, just swap the URL:
jac create my-app --use https://raw.githubusercontent.com/jaseci-labs/jacpacks/main/<jacpack-name>/<jacpack-name>.jacpack
Upgrading Jac#
If you installed via the one-line installer, re-run it to upgrade:
If you installed via pip:
# Upgrade everything at once
pip install --upgrade jaseci
# Or upgrade individual packages
pip install --upgrade jaclang
pip install --upgrade byllm
pip install --upgrade jac-client
pip install --upgrade jac-scale
pip install --upgrade jac-super
Creating a Project#
Use jac create to scaffold a new project:
# Full-stack web app (frontend + backend)
jac create my-app --use client
# Start the development server
cd my-app
jac start main.jac
The --use client template sets up a complete project with:
main.jac-- Entry point with server and client codejac.toml-- Project configurationstyles.css-- Default stylesheet- Bundled frontend dependencies (via Bun)
Available templates:
| Template | Command | What It Creates |
|---|---|---|
| Client | --use client |
Full-stack web app with frontend and backend |
| Fullstack | --use fullstack |
Alias for --use client |
You can also use community templates (Jacpacks):
For Contributors#
See the Contributing Guide for development setup.
Next Steps#
- Core Concepts - Codespaces, OSP, and compiler-integrated AI
- Build an AI Day Planner - Build a complete full-stack application