Skip to content

wp-native extraction: tracking issue #24

Description

@chubes4

Tracking

Umbrella issue for migrating extrachill-app from a standalone Extra Chill app into a consumer of chubes4/wp-native.

wp-native is built on the WordPress Abilities API. The shell consumes abilities by name; site-specific knowledge lives on the WordPress server, not in client wrappers. See the ROADMAP for the architecture.

Sub-issues

Coupling to extract

Cleanup after migration

End state

When this is done, extrachill-app looks roughly like:

extrachill-app/
├── app.json                       # EC identity (bundle ID, scheme, name)
├── extrachill.config.ts           # All EC-specific config:
│                                  #   • baseUrl
│                                  #   • brand strings
│                                  #   • handoffHosts
│                                  #   • navigation: [{ ability: 'extrachill/...' }]
│                                  #   • onboarding: { ability, screen }
├── app/
│   ├── _layout.tsx                # 5 lines: <WPNativeApp config={config}/>
│   ├── onboarding.tsx             # EC's custom onboarding screen
│                                  #   (calls client.execute() with the
│                                  #    configured onboarding ability)
│   └── (drawer)/                  # EC-specific extra screens (if any)
└── package.json
    dependencies:
      wp-native-shell:  file:../wp-native/packages/shell    (dev)
      wp-native-client: file:../wp-native/packages/api-client (dev)
      # or github: deps when committed

Almost all current code in src/ migrates into the shell package. The app becomes the world's thinnest config + identity wrapper.

@extrachill/api-client is deleted. All API calls go through wp-native-client.execute('namespace/ability', args). No typed client per site.

Roadmap

This is M7–M8 in the wp-native roadmap. Prerequisite milestones M3 (universal client + abilities discovery), M4 (auth plugin), M5 (shell core), M6 (shell screens) all happen in chubes4/wp-native first.

Order of operations

  1. Ship wp-native v0.1 (M3–M6) as a working framework
  2. Ensure all EC routes currently exposed via @extrachill/api-client have corresponding abilities registered server-side
  3. Land each extraction issue above one at a time, each as a small PR
  4. Final PR replaces src/api/ and src/auth/ with imports from wp-native-shell
  5. Migrate other @extrachill/api-client consumers (Retire @extrachill/api-client (post-wp-native migration) #25)
  6. Delete @extrachill/api-client

Metadata

Metadata

Assignees

No one assigned

    Labels

    wp-native-extractionCoupling to extract for wp-native framework

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions