Skip to content

Extract embedded affinescript-* subtrees to their own repos (or to developer-ecosystem/) #392

Description

@hyperpolymath

Context

PR #391 (extract road-skate/ to its own repo) is the first of a series. Five more subdirectories in this repo are similarly-misplaced consolidations from the 2026-04-22 "Consolidate ecosystem projects into affinescript repo" commit, and need the same treatment.

These are not part of the AffineScript compiler — they are downstream brand-surface / integration / runtime-binding projects that share the AffineScript dependency but are independently scoped.

Subtrees needing extraction

Subtree Suggested new home Notes
affinescript-vite/ developer-ecosystem/affinescript-ecosystem/affinescript-vite/ Vite plugin. Already has a parallel directory under the developer-ecosystem monorepo — the embedded copy here is a stale duplicate. Diff the two before merging.
affinescript-dom/ developer-ecosystem/affinescript-ecosystem/affinescript-dom/ (or its own repo) DOM bindings for browser-host targets.
affinescript-pixijs/ developer-ecosystem/affinescript-ecosystem/affinescript-pixijs/ (or its own repo) Pixi.js bindings.
affinescript-tea/ developer-ecosystem/affinescript-ecosystem/affinescript-tea/ (or its own repo) The Elm Architecture (TEA) framework.
affinescriptiser/ hyperpolymath/affinescriptiser (already exists; embedded copy is duplicate) Drop the embedded copy; standalone repo at hyperpolymath/affinescriptiser is the source of truth.

Stays in this tree

  • affinescript-deno-test/ — approved Deno-test-harness exemption per CLAUDE.md.

Extraction pattern (lifted from PR #391)

For each subtree:

  1. git subtree split --prefix=affinescript-vite -b vite-extract (or per-subtree branch name)
  2. Strip RSR template scaffolding from the extracted branch (verification/proofs/, stale "AffineScript-Vite" READMEs copy-pasted between siblings, etc.)
  3. If pushing to a new repo: gh repo create hyperpolymath/<name> --public --description "..." --homepage "..." then push the extracted branch as main.
  4. If integrating into developer-ecosystem/affinescript-ecosystem/: diff against the existing copy there first; cherry-pick / replace as appropriate.
  5. Single removal PR against this repo: git rm -r <subtree>/ + fix any references in docs/workflows. Auto-merge ON, GPG-sign.

Why one issue per series instead of per-subtree

The same agent should sweep these in one focused session — they share the same template-residue cleanup, the same reference-update mechanics, and the same risk class (each is one PR per extraction). Per-subtree issues would fragment without benefit.

Refs

  • PR chore: extract road-skate to its own repo (hyperpolymath/road-skate) #391road-skate extraction (the worked example).
  • 2026-04-22 commit 11485aa"Consolidate ecosystem projects into affinescript repo" (the original mistake being reverted).
  • developer-ecosystem/affinescript-ecosystem/ — canonical home for the brand-surface / binding ecosystem projects, in the hyperpolymath/developer-ecosystem monorepo.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    majorMajor issue — significant scope, broader impact than a feature/bug

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions