Tutorial

Quick start

Install Point, write a first .point file, check it, and run it.

Summary

Install the CLI, write a small .point file, check it, format it, and launch a command.

Fastest path: Point in 60 seconds. Full app eval: Golden app demo.

Install the compiler

bun install -g @hatchingpoint/point

Also works: npm install -g @hatchingpoint/point (same registry).

Point runs on Bun — install Bun if point cannot start.

Create a file

Create checkout.point:

module Checkout

record Cart Item
  name: Text
  unit price: Int
  quantity: Int

calculation line total
  input item: Cart Item
  output total: Int
  total is item.unit price * item.quantity

rule cart total
  input items: List<Cart Item>
  output total: Int
  total starts at 0
  for each item in items
  add item.unit price * item.quantity to total
  return total

label order size
  input total: Int
  output Text
  when total >= 10000 return "Large order"
  otherwise return "Standard"

Check and launch

point check checkout.point
point fmt checkout.point

Logic-only files validate with point check. To execute something, use a file with a command block:

point box examples/command.point
point launch examples/command.point hello cli

When a host project imports compiled files:

point build checkout.point generated/checkout.js

See Build and emit for the decision tree.

Agent commands

The compiler is the agent's IDE:

point check-json examples/cart-total.point
point repair-plan examples/cart-total.point
point index examples/cart-total.point
point explain examples/cart-total.point point://semantic/Checkout/rule.cart total

Prefer semantic refs over line numbers or generated names.

Scaffold an app

Create a runtime-native Point app (.point only — owned interpreter, HTTP, and SSR; no Vite or React):

point create my-app
cd my-app
bun install
point check src/app.point
point dev src/app.point

Open the URL printed by point dev — SSR readiness UI, JSON at /readiness, navigation at /readiness-ui.

For auth + SQLite, use the runtime SaaS template:

point create my-saas --template runtime-saas-app
cd my-saas
bun install
point run init database
point dev src/app.point

Walkthrough: Golden app demo.

Production: bun run serve. See Deploy runtime-owned apps and Deploy.

Templates ship inside @hatchingpoint/point — no monorepo checkout required. List options with point create --list-templates.

See also