fair-protocol/registry.md
toderash c1135dc02d spec: add composer-name, x-composer-requires, x-composer-repositories, and env key registry
Adds three interrelated changes to support Composer ecosystem integration:

- `composer-name` (Metadata Document): optional field declaring the canonical
  Composer vendor/package name, providing the FAIR → Composer direction of the
  bidirectional identity link.

- `x-composer-requires` (Release Document): optional map of Composer-native
  dependencies not registered in FAIR, allowing full dependency graph resolution
  for packages whose transitive deps have no FAIR DIDs.

- `x-composer-repositories` (Release Document): optional source hints for
  x-composer-requires entries not resolvable through standard public registries.

- Environment keys table (registry.md): registers env:php, env:php-{name},
  env:typo3, and env:wp with value format and Composer platform package mappings.
  Unregistered env: keys are effectively client blockers per the requires spec.

Signed-off-by: toderash <brent@toderash.net>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 10:48:54 -05:00

2.9 KiB

Registry

This document is a registry for the known extensions to the FAIR Package Management Protocol, along with defined package and artifact types.

Extensions

Name Contact
FAIR Authentication Methods FAIR Working Group
FAIR for WordPress Packages FAIR Working Group
FAIR for TYPO3 Packages FAIR Working Group

Package Types

Type Extension Contact
wp-core FAIR for WordPress Packages FAIR Working Group
wp-plugin FAIR for WordPress Packages FAIR Working Group
wp-theme FAIR for WordPress Packages FAIR Working Group
typo3-core Reserved for future use. FAIR Working Group
typo3-extension FAIR for TYPO3 Packages FAIR Working Group
typo3-theme Reserved for future use. FAIR Working Group

Environment Keys

Environment keys appear in the requires, suggests, and compatibility maps of Release Documents, prefixed with env:. They represent runtime environment requirements that are not themselves FAIR packages.

Key Extension Description Value format
env:php FAIR for TYPO3, FAIR for WordPress PHP interpreter version semver range
env:php-{name} FAIR for TYPO3, FAIR for WordPress PHP extension presence. The suffix {name} is the PHP extension identifier (e.g. env:php-json, env:php-mbstring). semver range, or * for any version
env:typo3 FAIR for TYPO3 TYPO3 CMS version semver range
env:wp FAIR for WordPress WordPress core version semver range

env:php-{name} is a pattern key matching any key of the form env:php- followed by a valid PHP extension name. The value * means presence is required but any version is acceptable. Clients that cannot determine the installed version of a PHP extension MAY treat a specific version constraint as unfulfilled.

For Composer integration: env:php maps to the php platform package; env:php-{name} maps to ext-{name}; env:typo3 maps to typo3/cms-core; env:wp maps to roots/wordpress.

Authentication Methods

Method Extension Contact
bearer FAIR Authentication Methods FAIR Working Group
basic FAIR Authentication Methods FAIR Working Group
oauth2 FAIR Authentication Methods FAIR Working Group