{"id":50609618,"url":"https://github.com/bounded-systems/prx","last_synced_at":"2026-07-04T02:01:45.855Z","repository":{"id":361506353,"uuid":"1254682425","full_name":"bounded-systems/prx","owner":"bounded-systems","description":"The agent-run work-unit CLI: capability-scoped agents whose every privileged effect is verified against its signed owner, driving a work unit through one signed pipeline to a merged PR.","archived":false,"fork":false,"pushed_at":"2026-06-28T22:21:21.000Z","size":8552,"stargazers_count":1,"open_issues_count":64,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-28T22:21:36.033Z","etag":null,"topics":["agent-infra","agents","ai-agent","ai-agents","anthropic","capability-security","claude","claude-code","cli","llm","mcp","security"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bounded-systems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":"docs/roadmap/prx.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-30T21:59:08.000Z","updated_at":"2026-06-28T22:09:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bounded-systems/prx","commit_stats":null,"previous_names":["bounded-systems/prx"],"tags_count":64,"template":false,"template_full_name":null,"purl":"pkg:github/bounded-systems/prx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bounded-systems%2Fprx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bounded-systems%2Fprx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bounded-systems%2Fprx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bounded-systems%2Fprx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bounded-systems","download_url":"https://codeload.github.com/bounded-systems/prx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bounded-systems%2Fprx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35107463,"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-07-04T02:00:05.987Z","response_time":113,"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":["agent-infra","agents","ai-agent","ai-agents","anthropic","capability-security","claude","claude-code","cli","llm","mcp","security"],"created_at":"2026-06-06T02:08:32.524Z","updated_at":"2026-07-04T02:01:45.850Z","avatar_url":"https://github.com/bounded-systems.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n  Generated by `bun run readme:render` from community/community.json and the\n  per-package `description` fields. Edit this template or those sources, not\n  README.md — `bun run readme:check` (and the test suite) fail on drift.\n--\u003e\n# prx\n\n\u003e The agent-run work-unit CLI: capability-scoped agents driving each work unit through one signed, content-addressed pipeline to a merged PR — git-writes signed by a capability-gated actor.\n\n`prx` — the agent-run PR contract / work-unit CLI, plus the `@bounded-systems/*`\nlibraries it builds on. A Bun + TypeScript monorepo.\n\n## Layout\n\n- `packages/prx/` — The agent-run PR contract / work-unit CLI\n- `packages/*` — the `@bounded-systems/*` libraries it builds on, workspace-internal\n  via `workspace:*`:\n    - `prx-config` — TUI configuration schema parser/emitter for L1 Claude and L2 Warp tools\n- `spec/` — the prx effect/contract spec (`schema.cue`)\n\n## Build \u0026 test\n\n```bash\nbun install\nbun test\nbun run typecheck\nbun run prx:build      # → dist/prx (self-contained binary)\n```\n\n## Install\n\nprx ships as a **released binary** (per platform) attached to each GitHub\nrelease, plus a container image at `ghcr.io/bounded-systems/prx`. Distribution\nis the binary — nix is one install path among several.\n\n### Homebrew\n\nThis repo doubles as a tap (it has a `Formula/`), so:\n\n```bash\nbrew tap bounded-systems/prx https://github.com/bounded-systems/prx\nbrew install prx\n```\n\n(The explicit tap URL is needed because the repo is `prx`, not `homebrew-prx`.)\n\n### Nix flake (hermetic)\n\nThe flake's packages are the released binaries fetched via `fetchurl`, so they\nbuild under `sandbox = true` with no `nix.conf` changes:\n\n```bash\nnix run github:bounded-systems/prx -- --version\nnix build github:bounded-systems/prx#prx       # → result/bin/prx\n```\n\n### home-manager (portable module)\n\nAny home-manager config can install prx via the exported module:\n\n```nix\n{\n  inputs.prx.url = \"github:bounded-systems/prx\";\n\n  # in your home-manager configuration's modules list:\n  modules = [ prx.homeManagerModules.default ];\n}\n```\n\n```nix\n# then, in a home-manager module:\nprograms.prx = {\n  enable = true;\n  # optional consumer wiring the released binary does not bake:\n  aiHomeRoot = \"${config.home.homeDirectory}/.config/ai-home\"; # PRX_AI_HOME_ROOT\n  claudePath = \"${config.home.homeDirectory}/.local/bin/claude\"; # BAKED_CLAUDE_CODE_PATH\n  installWt  = true;   # also install the `wt` worktree wrapper\n};\n```\n\nThis installs `prx` (and optionally `wt`) into\n`~/.local/bin`. The per-release sha256s live in `release-hashes.json`, updated\nautomatically by the `release-binary` workflow on each tag.\n\n## Publishing\n\nPublic `@bounded-systems/*` leaves (e.g. `cas`) are published to npm via\nchangesets + `.github/workflows/release.yml` (SLSA provenance). See\n`docs/companion-repos.md`.\n\n## Community \u0026 governance\n\n- [`LICENSE`](LICENSE) — see below\n- [`CONTRIBUTING.md`](CONTRIBUTING.md) — how to build, test, and propose changes\n- [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md) — Contributor Covenant 2.1\n- [`SECURITY.md`](SECURITY.md) — report vulnerabilities privately\n\nThese files, the `.github/` issue + pull-request templates, and their shared\nfacts (project, copyright, security contact, supported versions) are\n**generated** from `packages/prx/community/` — edit `community.json` (validated\nagainst a JSON Schema with ajv) or the pinned templates, then\n`bun run community:render`. `bun run community:check` (and the test suite) fail\non drift, so the governance docs can't fall out of sync.\n\nThis README is generated the same way: `community.json` and each package's\n`description` are first projected into [`prx.jsonld`](prx.jsonld) — a hostable\nschema.org JSON-LD `@graph` of the project, its packages, and its governance\nfacts (`packages/prx/src/graph/`). `bun run readme:render` then reads the\nREADME's tokens out of that graph and renders this template;\n`bun run jsonld:render` / `bun run readme:render` (and their `:check` variants,\nrun in CI) keep the graph, the README, and the sources in lockstep.\n\n## License\n\n`prx` is **source-available**, not OSI open-source. It is licensed under the\n[PolyForm Noncommercial License 1.0.0](https://polyformproject.org/licenses/noncommercial/1.0.0)\n(`PolyForm-Noncommercial-1.0.0`): free for any **noncommercial** use, with all\ncommercial rights reserved to the copyright holder. For a commercial license,\ncontact the maintainer at \u003chttps://github.com/bdelanghe\u003e. See [`LICENSE`](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbounded-systems%2Fprx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbounded-systems%2Fprx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbounded-systems%2Fprx/lists"}