vanilo/contracts
vanilo/contracts defines the shared PHP interfaces behind Vanilo’s e-commerce components, providing consistent contracts for products, orders, customers, pricing, and related services so Laravel packages can interoperate cleanly.
To executives: This is not a product — it is the "rulebook" that defines how a Laravel-based commerce stack describes products, orders, and payments. Its strategic value is low-cost lock-in protection: because it is MIT-licensed and interface-only, swapping vendors or building custom modules later does not require rewriting core business logic. The trade-off is ecosystem maturity — this is a small community project, so we should treat it as plumbing we can afford to own or replace, not a strategic platform bet. Recommended posture: adopt only if we are committing to Vanilo, and scope a spike to validate the fit before we build on it.
To engineering: The contracts package is the clean boundary you want. Interfaces only, MIT, no runtime coupling — implement the parts of the domain you need (product, order, checkout, payment) and leave the rest stubbed. It gives us parallelism across teams, a defensible abstraction for swapping payment/shipping providers, and a natural place to enforce conventions. The risk to flag: low stars, minimal visible dependents, and version bumps likely tied to Vanilo majors. Plan for a thin internal adapter layer so a future upgrade — or exit — is a contained change rather than a rewrite.
How can I help you explore Laravel packages today?