{"id":50083965,"url":"https://github.com/vercel-labs/zerolang","last_synced_at":"2026-06-08T22:00:34.732Z","repository":{"id":358152003,"uuid":"1239996076","full_name":"vercel-labs/zerolang","owner":"vercel-labs","description":"The programming language for agents","archived":false,"fork":false,"pushed_at":"2026-06-03T04:42:36.000Z","size":5249,"stargazers_count":4817,"open_issues_count":124,"forks_count":311,"subscribers_count":24,"default_branch":"main","last_synced_at":"2026-06-03T05:25:18.383Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://zerolang.ai","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vercel-labs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-15T16:55:16.000Z","updated_at":"2026-06-03T03:58:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/vercel-labs/zerolang","commit_stats":null,"previous_names":["vercel-labs/zero","vercel-labs/zerolang"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/vercel-labs/zerolang","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vercel-labs%2Fzerolang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vercel-labs%2Fzerolang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vercel-labs%2Fzerolang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vercel-labs%2Fzerolang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vercel-labs","download_url":"https://codeload.github.com/vercel-labs/zerolang/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vercel-labs%2Fzerolang/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34082130,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-22T18:00:20.933Z","updated_at":"2026-06-08T22:00:34.726Z","avatar_url":"https://github.com/vercel-labs.png","language":"C","funding_links":[],"categories":["C","Agent graph / runtime","Design Primitives"],"sub_categories":["Tool Design"],"readme":"# Zerolang\n\n**The programming language for agents.**\n\nZerolang is an experimental graph-native programming language where the semantic graph is the program database. Humans ask for outcomes. Agents query the graph, submit checked edits, and prove the result.\n\n\u003e **Safety warning**\n\u003e\n\u003e Zerolang is experimental. Expect breaking changes, rough edges, and security issues. Run it in isolated workspaces, not against production systems or sensitive data.\n\n## Start With a Request\n\nThe expected workflow is a normal conversation:\n\n```text\nbuild hello world for zerolang\n```\n\nThe agent should use the compiler, not guess from source text:\n\n```sh\nzero init\nzero patch --op 'addMain' --op 'addCheckWrite fn=\"main\" text=\"hello from zero\\n\"'\nzero run\n```\n\nThe result is still reviewable as a text projection:\n\n```zero\npub fn main(world: World) -\u003e Void raises {\n    check world.out.write(\"hello from zero\\n\")\n}\n```\n\nThat `.0` file is a projection of `zero.graph`. Humans can read it, review it, and occasionally edit it. Agents should normally keep using `zero query` and `zero patch`.\n\n## The Program Database\n\nTraditional agent coding loops treat text as the source of truth:\n\n```mermaid\nflowchart LR\n    A[agent writes text] --\u003e B[check]\n    B --\u003e C[format]\n    C --\u003e D[build]\n    D --\u003e E[inspect failures]\n    E --\u003e A\n```\n\nZerolang moves the agent closer to the compiler:\n\n```mermaid\nflowchart LR\n    A[agent queries graph] --\u003e B[agent submits checked patch]\n    B --\u003e C{compiler accepts?}\n    C -- invalid or stale --\u003e A\n    C -- valid --\u003e D[agent runs task validation]\n    D --\u003e E[human reviews projection when useful]\n```\n\nThe graph gives agents explicit handles: symbols, node IDs, graph hashes, types, effects, ownership facts, capabilities, imports, call edges, and target facts. Edits can target semantic structure instead of line ranges. Stale graph hashes, unexpected field values, invalid shapes, and type errors fail before the store is written.\n\n## What Exists Today\n\n- `zero.graph` is the checked compiler input for graph-first packages.\n- `.0` files are human-readable projections, not the normal agent authoring surface.\n- `zero patch` applies checked graph edits and rejects stale or invalid changes.\n- `zero query`, `zero inspect`, `zero check`, `zero test`, and `zero run` expose compiler facts through agent-friendly commands.\n- `zero import` and `zero export` make the projection boundary explicit, so human text edits do not silently diverge from the graph.\n\n## Install\n\nInstall the compiler:\n\n```sh\ncurl -fsSL https://zerolang.ai/install.sh | bash\nexport PATH=\"$HOME/.zero/bin:$PATH\"\nzero --version\n```\n\nInstall the agent bootstrap skill:\n\n```sh\nnpx skills add vercel-labs/zerolang\n```\n\nThe compiler bundles version-matched skills for agents:\n\n```sh\nzero skills\nzero skills get agent\nzero skills get graph\nzero skills get language\nzero skills get stdlib\n```\n\n## Daily Loop\n\nFor most package work:\n\n```sh\nzero query\nzero patch --op help\nzero patch --op 'addMain'\nzero check\nzero test\nzero run -- \u003cargs\u003e\n```\n\nThe default input is the current directory. Use `.` only when you want to be explicit.\n\nWhen a human wants to review projection text:\n\n```sh\nzero export\nzero verify-projection\n```\n\nWhen a human intentionally edits a projection:\n\n```sh\nzero import\nzero check\n```\n\n## Runtime Goals\n\nThe graph-first model should reduce agent guessing without relaxing the runtime goals:\n\n- Token-efficient inspection\n- Low memory usage\n- Fast startup and builds\n- Low runtime latency\n- Explicit capabilities\n- Small, dependency-free artifacts\n\n## Developing Zerolang\n\nBuild the local compiler:\n\n```sh\npnpm install\nmake -C native/zero-c\nbin/zero --version\n```\n\nUseful checks:\n\n```sh\npnpm run docs:build\npnpm run conformance\npnpm run native:test\npnpm run command-contracts\n```\n\nFor local iteration:\n\n```sh\npnpm run conformance:local -- --list\npnpm run conformance:local -- --shard 1/4\npnpm run command-contracts:local\n```\n\nRead the docs at [zerolang.ai](https://zerolang.ai).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvercel-labs%2Fzerolang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvercel-labs%2Fzerolang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvercel-labs%2Fzerolang/lists"}