Tutorial

Introduction

Understand what Point is, who it is for, and the first commands to run.

Summary

Point is a general-purpose language for application logic — semantic blocks that humans and agents read, check, and repair.

New here? Start with Point in 60 seconds — three moves, no block laundry list.

What Point is

Each block states intent directly — a rule accumulates score from conditions; a label classifies a value — instead of hiding that meaning inside generic functions.

module Readiness

record Launch Signals
  has bundle id: Bool
  submitted for review: Bool
  has passing tests: Bool

rule launch readiness
  input signals: Launch Signals
  output score: Int
  score starts at 0
  add 30 when signals.has bundle id
  add 40 when signals.submitted for review
  add 30 when signals.has passing tests
  return score
point check readiness.point

Import built-in std modules in one line: capabilities http json time (see Capabilities). Model success and failure with domain outcomes — variants, not generic Result.

Five block families

Point grows with you — start with Logic, add families when you need them:

FamilyBlocksStart with
Logicrecord, calculation, rule, label, variant✅ Day one
Effectsaction, external, policyHost boundaries
Approute, page, view, layout, navigation, middlewareFull-stack apps — UI is native blocks, not capabilities
Agentcommand, workflow, pipeline, prompt, scheduleCLI + automation
Datarecords + use sql + point build-schemaSchema + queries

Full block map: Language overview.

Who Point is for

Point fits teams that want:

  • Explicit application logic — scoring, eligibility, workflows, UI, and API rules in one checked source
  • Agent-native repair — the compiler is the agent's IDE (check-json, stable refs, repair-plan)
  • A full application surface — routes, pages, pipelines, and commands in the same language

You do not need to migrate an entire monorepo on day one. Start with one module, point check it, and grow from there.

First commands

bun install -g @hatchingpoint/point
point check examples/math.point          # logic
point box examples/command.point         # discover
point launch examples/command.point hello cli   # run

Logic-only files use point check. Runnable tools need a command block — list them with point commands, then point launch.

When a host app imports compiled output: point build. See Build and emit for the decision tree.

What you write vs what runs

You author `.point`. Runtime-owned apps are the default: point create scaffolds runtime-app, and point dev runs the interpreter, HTTP server, and SSR from packages/point/runtime/. Legacy Vite/React hosts remain opt-in templates. Python emit covers supported logic, routes, workflows, and pipelines.

See also