# µLang v1 > µLang v1 is a small contract language. A contract declares one typed facts entity, the actions it governs, and sourced FORBID/ENSURE rules; a decision is PERMIT or DENY plus the deciding clause id. Reference implementation: ulang-lite 0.1.0 (TypeScript, MIT, zero dependencies) at https://github.com/ThinkTechHoldings/ulang-git/tree/61af4281ed6fd09d5f9f2100d3960630d757ae49/packages/ulang-lite. ## Docs - [Introduction](https://ulang.dev/docs/) - [Install](https://ulang.dev/docs/install) - [Quickstart](https://ulang.dev/docs/quickstart) - [Tutorial](https://ulang.dev/docs/tutorial) - [Language tour](https://ulang.dev/docs/tour) - [Patterns](https://ulang.dev/docs/patterns) - [FAQ](https://ulang.dev/docs/faq) - [Node.js](https://ulang.dev/docs/guides/node) - [Cloudflare Workers](https://ulang.dev/docs/guides/workers) - [Browser](https://ulang.dev/docs/guides/browser) - [Testing contracts](https://ulang.dev/docs/guides/testing) - [Continuous integration](https://ulang.dev/docs/guides/ci) - [Audit trail](https://ulang.dev/docs/guides/audit) - [Pinning to a schema](https://ulang.dev/docs/guides/schema) - [Command line](https://ulang.dev/docs/cli) - [API](https://ulang.dev/docs/api) - [Grammar](https://ulang.dev/docs/grammar) - [Diagnostics](https://ulang.dev/errors/): every diagnostic code, with an example and a fix ## Specification - [Overview](https://ulang.dev/spec/v1/): What µLang v1 is, what it decides, and how this specification relates to ulang-lite. - [Syntax](https://ulang.dev/spec/v1/syntax): Characters, comments, names, literals, the complete v1 grammar, and the places it surprises people. - [Executable subset](https://ulang.dev/spec/v1/executable-subset): What a valid v1 contract may contain. The grammar is wider; this is the part that runs. - [Validation and diagnostics](https://ulang.dev/spec/v1/validation): The fixed order of checks, and every diagnostic kind and code a v1 implementation reports. - [Evaluation](https://ulang.dev/spec/v1/evaluation): How a valid contract decides an action, how facts are checked, and exactly how comparisons behave. - [Canonical forms](https://ulang.dev/spec/v1/canonical-forms): The one canonical layout of a contract, its key-sorted JSON, and the SHA-256 digest that names it. - [Limits](https://ulang.dev/spec/v1/limits): The bounds scan that runs before parsing, and the resource limits every input is held to. - [API and CLI](https://ulang.dev/spec/v1/api-and-cli): Using ulang-lite, the reference v1 implementation, from TypeScript and from the command line. - [Test vectors](https://ulang.dev/spec/v1/test-vectors): Every case on this site with its expected result, produced by the released engine. Machine-readable as JSON. - [Changelog](https://ulang.dev/spec/v1/changelog): Versions of µLang v1, known errata, and changes to this specification. ## Machine-readable - [Grammar (EBNF)](https://ulang.dev/spec/v1/ulang-v1.ebnf) - [Test vectors (JSON)](https://ulang.dev/spec/v1/test-vectors.json) ## Examples - [ForgeAgentExecution](https://ulang.dev/examples/ForgeAgentExecution.ul): Execution authority is distinct from assignment and from SDK state/progress. - [ForgeAgentManagement](https://ulang.dev/examples/ForgeAgentManagement.ul): Agent management is metadata authority only; it never grants Git, review, check or landing authority. - [ForgeClaim](https://ulang.dev/examples/ForgeClaim.ul) - [ForgeExecutionBudget](https://ulang.dev/examples/ForgeExecutionBudget.ul): Metered plan-run spend: committed plus worst-case reservation stays within the plan's declared limit and a fixed ceiling. - [ForgeGitPush](https://ulang.dev/examples/ForgeGitPush.ul): A git push is a decision: who may update which refs of this repository, decided before any byte reaches storage. - [ForgeLanding](https://ulang.dev/examples/ForgeLanding.ul) - [ForgePlanning](https://ulang.dev/examples/ForgePlanning.ul): Additive Projects/Issues metadata authority; never grants task or merge authority. - [ForgePolicyActivation](https://ulang.dev/examples/ForgePolicyActivation.ul) - [ForgeTaskReconcile](https://ulang.dev/examples/ForgeTaskReconcile.ul): Owner-only reconcile of a wedged task: fork credentials revoked and fork head recorded before its claim is released. - [ForgeTokenCustody](https://ulang.dev/examples/ForgeTokenCustody.ul) - [ForgeToolCall](https://ulang.dev/examples/ForgeToolCall.ul): Every call to an upstream MCP tool is one governed decision: catalog-pinned, allow-listed and bounded. - [ForgeWorkflowRun](https://ulang.dev/examples/ForgeWorkflowRun.ul): Workflow runs are governed: who may start or cancel a run, on which trigger, with which network egress and bounds.