Skip to content

Publish vendor-bundled release artifact for public installability #407

@chubes4

Description

@chubes4

Problem

Data Machine Code cannot be installed cleanly from a tagged release into a standard WordPress site (or a Playground blueprint via `installPlugin: git:directory`) because the plugin's entry file requires composer's autoloader, and `vendor/` is correctly gitignored — composer dependencies should not live in version control.

Today the local repo happens to have `vendor/` because composer install was run during development, but anyone cloning fresh, downloading the GitHub source zip, or pulling via `git:directory` gets a fatal on activation.

This is the same issue I just filed against Extra-Chill/data-machine#2029 — the fix shape is identical.

What this asks for

DMC currently has no `.github/` workflows directory; releases must be happening via Homeboy CLI from a different location. Adding a homeboy-action release workflow would solve both "automated tagged releases" and "release-artifact publishing" at once.

Two-step adoption:

  1. Add the standard `homeboy-action` reusable release workflow (`.github/workflows/homeboy.yml`) so DMC gets the same automatic release flow DM has — conventional commits trigger tags, changelogs, and releases on push to main.
  2. Add a follow-up build job that runs after homeboy-action creates a release:
    • `composer install --no-dev --optimize-autoloader --prefer-dist`
    • Stage a clean distributable `data-machine-code/` directory excluding `tests/`, `docs/`, `.github/`, etc.
    • Zip and upload as `data-machine-code.zip` via `gh release upload`.

Concrete blocked use case

Adding DMC to the public Playground blueprint at `chubes4/world-of-wordpress/blueprints/world.json` so the agent's runtime is what visitors see. `installPlugin: git:directory` pulls the source without running composer; activation fatals on the missing vendor.

Why this matters beyond Playground

  • wp-coding-agents installs can pull DMC from a release zip instead of running composer locally.
  • A8C Intelligence WP Cloud deploys can deploy from a release zip via Homeboy's plugin deploy path.
  • Any future consumer that wants "DMC as a normal WordPress plugin" gets one.

Notes on what already exists

  • `.gitignore` correctly excludes `vendor/`, `node_modules/`, `build/`, and `*.zip` — distributable artifacts shouldn't be checked in.
  • A `.homeboy-build/` directory exists locally suggesting homeboy already has a build pipeline concept here.
  • `composer.json` is minimal — DMC's runtime composer deps are small enough that the bundled vendor will stay reasonable size.

AI assistance

  • AI assistance: Yes
  • Tool(s): Claude Code (Sonnet 4.5)
  • Used for: Diagnosed that DMC has no CI workflows and no release artifacts, traced the same activation-fatal gap as DM, and drafted this issue. Chris specified that the fix should be upstream artifacts rather than blueprint workarounds.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions