Download the PHP package milpa/command without Composer
On this page you can find all versions of the php package milpa/command. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download milpa/command
More information about milpa/command
Files in milpa/command
Download milpa/command
More information about milpa/command
Files in milpa/command
Vendor milpa
Package command
Short Description The Command-as-atom core: the surface-agnostic Operation value object plus the CommandProvider and SurfaceProjector contracts. One operation, N surfaces.
License Apache-2.0
Package command
Short Description The Command-as-atom core: the surface-agnostic Operation value object plus the CommandProvider and SurfaceProjector contracts. One operation, N surfaces.
License Apache-2.0
Please rate this library. Is it a good library?
Informations about the package command
# Milpa Command
> The **Command-as-atom** core of Milpa: one surface-agnostic `Operation` value object — schema of
> inputs + handler + metadata (`mutating` / `requiresConfirmation` / `scopes` / `outputSchema` /
> `version` / `path` / `surfaces`) — plus two contracts, `CommandProvider` (the discovery seam a
> plugin implements to declare operations) and `SurfaceProjector` (the contract each surface
> projector implements). One operation, N surfaces — CLI, MCP, HTTP, web, TUI.
[](https://github.com/getmilpa/command/actions/workflows/ci.yml)
[](https://packagist.org/packages/milpa/command)
[](https://www.php.net/)
[](LICENSE)
[](https://getmilpa.github.io/command/)
`milpa/command` carries the Command-as-atom contracts for Milpa — one operation, written once, that
N surfaces materialize from. An `Operation` is a plain `readonly` value object: a name, a
description, a handler, and the metadata a projector needs to decide how — and whether — to expose
it. **No projector, no kernel, no registry** — just the atom and the two seams everything else binds
to. The concrete surface projectors (CLI, MCP, HTTP, …) live host-side, in the skeleton; this
package has zero package dependencies, Milpa or otherwise.
## Install
## Quick example
One `Operation` — `create_post` — and a `CliProjector` turns it into a `coa` command, an MCP
projector registers it as a tool, an HTTP projector synthesizes the `POST /posts` route. Each
projector decides, per operation, whether and how to project it (`supports()` / `supportsSurface()`);
`milpa/command` never runs any of them — that dispatch is the host's job.
## Two contracts, one atom
| Contract | Role |
|-------|------------|
| `CommandProvider` | The discovery seam a plugin implements to declare the operations it contributes — the kernel checks every booted plugin for it and merges `operations()` into the command table. |
| `SurfaceProjector` | The contract every surface projector implements: reports the surface it targets (`cli`, `mcp`, `http`, …) and whether a given `Operation` opts into that surface. |
The concrete projectors — the CLI command factory, the MCP tool registrar, the HTTP route
synthesizer — live host-side, not in this package.
## An operation can own its doubt
Since 0.5, an operation may declare that its target must be **named by the human** who asked:
Declaring is the whole job of this package — the field is a contract, not a behaviour. Whoever
holds the session enforces it (the framework's session gate does: an agent calling
`plugins.disable {name: X}` when the request never named X gets a **formal question** back, not an
execution). It exists because 160 measured runs showed an ambiguous imperative reads as
authorisation at every link of the chain: ask "remove the old plugin" and a sampled candidate dies,
with no fact saying why. With the contract declared, an unnamed target becomes a question instead.
The doubt belongs to the operation that discovers a concrete operation cannot exist yet.
## Requirements
- PHP **≥ 8.3**
- Nothing else — `milpa/command` has no package dependencies, Milpa or otherwise
## Documentation
**Full API reference: [getmilpa.github.io/command](https://getmilpa.github.io/command/)** —
generated straight from the source DocBlocks and dressed with the Milpa design system.
## Contributing
Contributions are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md). Please report security
issues via [SECURITY.md](SECURITY.md), and note that this project follows a
[Code of Conduct](CODE_OF_CONDUCT.md).
## License
[Apache-2.0](LICENSE) © Rodrigo Vicente - TeamX Agency.
---
Milpa is designed, built, and maintained by **[Rodrigo Vicente - TeamX Agency](https://teamx.agency/?utm_source=github&utm_medium=readme&utm_campaign=milpa&utm_content=command)**.
All versions of command with dependencies
PHP Build Version
Package Version
The package milpa/command contains the following files
Loading the files please wait ...