Skip to content
This repository was archived by the owner on Feb 5, 2026. It is now read-only.
This repository was archived by the owner on Feb 5, 2026. It is now read-only.

Implement client-side integration for abilities registered on the server #41

@gziolo

Description

@gziolo

We are close to wrapping up the Abilities API 1.0 Milestone, covering all server-side aspects. Now, it's time to start working on implementing a client-side registry for the Abilities API to streamline usage with JavaScript.

We can use for inspiration the existing implementation in the WP Feature API plugin:

https://github.com/Automattic/wp-feature-api/tree/trunk/packages/client

Planned Tasks

I propose we start with developing a JavaScript package on top of the server-side registry, so it's easy to:

  • list all available abilities
  • find a specific ability by name
  • execute a selected ability on the server

Internally, this would use the existing REST API endpoints added in #6.

See the prototyped version:

https://github.com/Automattic/wp-feature-api/blob/trunk/packages/client/src/api.ts

Future

  1. Implement a way to register abilities that work only on the client.
  2. It's also worth considering a solution that allows extending the ability registered on the server with an alternative implementation optimized for client usage. A good example is operations on data entities (such as posts or pages) through the @wordpress/core-data package, which provides an abstraction layer on top of REST API operations, offering optimistic updates, data caching, and tight integration with the editor's UI.

Metadata

Metadata

Labels

[Status] In ProgressAssigned work scheduled[Type] OverviewComprehensive, high level view of an area of focus often with multiple tracking issues
No fields configured for Enhancement.

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions