Skip to content

Complete monorepo flattening #1956

Closed

Description

@bpamiri

Summary

Finalize the monorepo restructuring so git clone → box server start works out of the box.

Details

  • Verify zero-config startup after clone
  • Update Docker compose volume mounts for flattened paths
  • Merge test directories into unified tests/ structure
  • Ensure box.json at root has correct module mappings

Source

design_docs/MONOREPO-REORGANIZATION.md — Option A

Activity

  1. bpamiri commented on Mar 16, 2026

    @bpamiri
    CollaboratorAuthor

    Analysis

    Synopsis

    Finalize the monorepo flattening so the repo works with a single git clone + box server start — unifying paths, Docker mounts, and test directories.

    Merit Assessment

    Recommendation: Proceed with modifications

    • The flattening is already largely done: app/, config/, public/, vendor/, tests/ all exist at root. lucee.json has correct mappings. The build scripts (prepare-base.sh, prepare-core.sh) already copy from root-level dirs.
    • One real remaining issue: release.yml line 78 still reads templates/base/src/box.json which no longer exists (templates/base/src/ is gone). This will fail on main branch releases.
    • Docker compose volume mounts already point at ./ (e.g., ./:/wheels-test-suite). Per-engine config overrides use tools/docker/<engine>/ paths which are correct.
    • The templates/base/ directory still exists but only as a build template source — this is by design, not a leftover.

    Implementation Plan

    1. Fix release.yml line 78 — change jq -r '.version' templates/base/src/box.json to jq -r '.version' box.json (the version validation step in the "Validate Release Checklist" block). This is the only actual bug.
    2. Verify zero-config startup — run box server start from repo root with lucee.json and confirm the app loads. The mappings in lucee.json (/wheels -> ../vendor/wheels, /app -> ../app, etc.) assume webroot is public/, which is configured.
    3. Audit for any other stale templates/base/src references — grep found one in .github/workflows/tests.yml.keep (a backup file, can be deleted) and the release.yml bug above.
    4. Complexity: Low — 1-2 file edits + verification.

    Dependencies & Risks

    • The release.yml fix is a silent bug that will surface on the next main branch release. Should be fixed before any stable release.
    • Related: Update GitHub Actions workflows for flattened repo #1957 covers additional workflow path updates and should be addressed together.
    • No breaking change risk — this is cleanup/bugfix only.

    Automated analysis by @claude — review and adjust as needed.

  2. added a commit that references this issue on Mar 16, 2026
    82ab9d2
  3. added this to the v3.1 milestone on Mar 17, 2026
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

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions