ToolsCommandsCommands for packages
jadpo package
On this page
Show, check, import and install packages.
new <Name> --library or --provider starts a package in its own repository, in a folder named as the registry writes the name, and it passes check as written; --publisher <handle> names who publishes it, and without it the command asks on a terminal and leaves the key out elsewhere. show <name> prints a package's description, licence, version, kind and public surface (area 11), installed in packages/ or the app's own in shared/providers/; show <name> <declaration> prints one operation, function, type or failure in full with its file, and --guide prints the package's GUIDE.md. check, run in a package's own repository, checks it as the app's own integration, runs the publishing bar (no errors, a description on every public declaration, the examples in its descriptions run as tests, its tests, a version its changes since the last tag allow, a changelog that says why), prints the release's facts and change record, and writes surface.jadpo_record and CHANGELOG.md's new section. verify <folder> [--previous <folder>] [--publisher <handle>] runs the same bar as the registry's verifier does, on a commit as it stands, writing nothing, and --json gives all a release shows; --serve answers the registry, in a sandbox with no network. import openapi <file> reads an OpenAPI 3 document, as JSON, once and offline, into the app's own integration in shared/providers/protocol <document> checks a registry's OpenAPI document, a file or an address, against the registry protocol (area 11), exiting 1 if it differs. record <connection> <resource>.<operation> calls the provider's sandbox once, never live, with --input as the operation's input, checks the answer against the operation's types and keeps it in the package's recordings/ with its values as placeholders; jadpo test and check then decode it with every decoder. add installs a package from its folder or from a git repository at a release tag (<repository>@v<version>) into packages/ and jadpo.lock, once its surface matches its code; update moves one to its newest release, listing what changed; remove takes out one the app no longer uses; link compiles the app against a package's live checkout, which CI refuses, and unlink goes back to the installed version. recipe <package> <recipe> --into <domain> copies one of a package's recipes into a domain, where it becomes the app's own code, never writing over a file it has. add @<publisher>/<name> installs that exact name from the registry, checked against its public log; update then takes the newest release at least three days old, or an urgent one at once, and --to <version> takes that release at once. search <words> finds packages and standard-library functions for a need, audit lists the advisories against the app's packages and whether the app reaches each, publish [--dry-run] asks the registry to release the package from its pushed tag, and preview serves the package's registry page on this machine.
Also: jadpo packages.
jadpo package <action> [name] [declaration]Arguments
action: What to do: show, check, verify, import, record, conform, protocol, add, update, remove, link, unlink, recipe, search, audit, publish or previewname(optional): The package, such as holidays; for check, verify, link and preview, its folder; for add, @/ , its folder or @v ; for search, the words; for import, openapi; for record, the connection; for conform and recipe, the package; for protocol, the registry's OpenAPI document, a file or an address declaration(optional): One of its declarations, such as uk.dates; for import, the file; for record, the operation, as. ; for conform, the capability, ai; for recipe, the recipe
Flags
--guide: Print the package's GUIDE.md--as <name>: For import: its name, such as Tidepool.v1--input <json>: For record: the operation's input as JSON--live: For conform: run it against the real API--into <domain>: For recipe: the domain it is copied into--previous <folder>: For verify: the release before this one--publisher <handle>: For verify and new: who publishes it--library: For new: a package of code an app calls--provider: For new: a package that describes an API--serve: For verify: answer the registry--listen <address>: For --serve: where to listen--registry <url>: For --serve: where old archives come from--no-run: For verify: run none of the package's code--to <version>: The release to take; for search, a type--from <type>: For search: the type a function takes--kind <kind>: For search: library or provider--dry-run: For publish: check, and publish nothing
On every command
--json: Print data for tools instead of text--full: Show everything a report shortens--help: Show every flag, with examples--color <when>: Choose when to use colour
jadpo package --json writes one JSON document to standard output instead of text, with the same exit code. The document has schemaVersion, command ("package"), ok, data (what the command produced, null when it failed) and diagnostics (each error with its rule, reason, next and help). A command that needs a terminal refuses --json and names the flags that do the same job.
Examples
# Start a library package in its own repositoryjadpo package new TidePool --library --publisher @acme# See what the holidays package offersjadpo package show holidays# See one of its functions in fulljadpo package show holidays uk.dates# Run the publishing bar in a package's own repositoryjadpo package check# Check a release as the registry does, against the one before itjadpo package verify ../holidays --previous ../holidays-2.0.0 --json# Import another Jadpo application's APIjadpo package import openapi ../orders/build/openapi/main.json# Install a package from the registryjadpo package add @acme/holidays# Take a release before its three days are upjadpo package update holidays --to 2.1.0# Find what answers a needjadpo package search "uk bank holidays"# See whether an advisory touches what the app reachesjadpo package audit# Run the registry's verifier on the pushed tag, publishing nothingjadpo package publish --dry-run# See the package's registry page before publishingjadpo package preview# Install a package from its git repository at a releasejadpo package add github.com/acme/holidays@v2.1.0# Try the app against a package's checkout before it is releasedjadpo package link ../holidays# Copy a package's recipe into a domainjadpo package recipe holidays closures --into scheduling# Record a sandbox's answer to confirm an operationjadpo package record holidays dates.list --input '{"year": 2027}'
Errors
cli.package_arguments: Ajadpo packagecommand names no action, one it doesn't have, or a package the project doesn't holdcli.package_not_openapi: A file given tojadpo package importis JSON but not an OpenAPI 3.0 or 3.1 documentcli.package_unreadable: A file given tojadpo package importisn't there, can't be read, or isn't JSONrecording.failed: A recording byjadpo package recordorjadpo ai recordgot no answer worth keeping from the sandbox or the model, or its call couldn't be maderecording.refused: A recording was refused before anything was sent, because its connection would call a live API or has nothing set for its sandbox, its package is installed, or there is nothing to ask its prompt withconform.failed: A package's answers tojadpo package conformdon't fit the capability it fills, or the suite couldn't runconform.refused: The conformance suite wasn't sent to the provider's live API, because the app has no connection to the package, nothing sets the connection's credential or address, orai:doesn't ask its models through itinstall.fetch_failed: Installing a package couldn't read its git repository, or found no release there at the tag you gaveinstall.in_use: Package to remove is still used by the appinstall.not_in_registry: The registry has no package of the name you gave, or no such release of itinstall.not_proved: The registry's answers don't prove the release is the one in its public loginstall.surface_mismatch: The package you are installing has code that offers something different from its committedsurface.jadpo_recordinstall.yanked: The release you asked for has been yanked, so it can't be newly installedpackage.advisory: An advisory is against a declaration of an installed package that the app reachespackage.name_taken: A package has the same name as one of the app's domains, libraries, declarations or other packagespublish.behaviour_changed: An example or test of a package's last release fails against its new version, and the change isn't marked a fixpublish.breaking_change: A package's new version changes or removes something its last release offered, within the same major versionpublish.changelog_missing: Package's changelog doesn't say why its new version is releasedpublish.description_missing: Package's public declaration has no descriptionpublish.example_failed: Example in a package's description doesn't compile or doesn't holdpublish.example_missing: Package's function has no example, or a failure it raises is shown by nonepublish.failed: The registry's verifier refused the releasepublish.licence_proprietary: A package's licence isLicence.proprietary, which the public registry refusespublish.not_at_tag: Whatjadpo package publishwould ask for isn't a pushedv<version>tag whose commit is the one checked outpublish.publisher_mismatch: A release names another publisher than the one asked to publish itpublish.publisher_missing: A package's index names no publisher, and it has to for the registrypublish.repository_refused: The package's repository isn't one the registry can fetch: a public git repository reached over HTTPSpublish.stale_files: A commit'ssurface.jadpo_recordor changelog list isn't what the package's code givesregistry.unreachable: The registry couldn't be reached, or answered in a way that can't be readrecord.edited: Generated record was edited by handtest.failed: A test failed underjadpo test, or among a package's own tests underjadpo package checktoolchain.artifact_write_failed: A file Jadpo writes for you, such as a record, couldn't be written, usually because it or its folder is read-onlytoolchain.not_built_yet: Operation is declared but not built yettoolchain.project_not_found: You ran a command that works on a project in a folder with noapp.jadpo, in it or in any folder above ittoolchain.scaffold_destination_exists: You ranjadpo neworjadpo package newwith the name of a file that already existstoolchain.scaffold_destination_not_empty: You ranjadpo neworjadpo package newon a folder that already has files in it, hidden files includedtoolchain.scaffold_read_failed: You ranjadpo neworjadpo package newon a path Jadpo can't look into, such as a folder you can't read or a path through a filetoolchain.scaffold_write_failed: You ranjadpo neworjadpo package new, and writing its files failed, usually because the folder they go in can't be writtentoolchain.source_read_failed: A.jadpofile in the project couldn't be read, because it isn't UTF-8 text or you aren't allowed to read it
Markdown for agents: /docs/jadpo-package.md.Built from Jadpo main at aee2e8f.