chore: relocate dev-only files from dream-server/ to monorepo root#223
chore: relocate dev-only files from dream-server/ to monorepo root#223evereq wants to merge 32 commits intoLight-Heart-Labs:mainfrom
Conversation
626d907 to
c229410
Compare
Lightheartdevs
left a comment
There was a problem hiding this comment.
The structural rationale is sound — separating dev/CI tooling from the deployable dream-server/ directory is a clean improvement. The path reference updates look thorough.
Three things to address:
-
Coordinate merge order with #225. Both PRs modify
.github/workflows/test-linux.yml. If #225 merges first (which it should — it's smaller and approved), this PR will need a rebase. Plan accordingly. -
Keep a stub README in
dream-server/. Deleting the inner README entirely means anyone who clones andcd dream-server/sees no orientation. A one-line pointer (# Dream Server — see [root README](../README.md)) costs nothing and prevents confusion. -
README consolidation bloat. Merging the inner README content into the root adds ~150 lines of architecture diagrams, config snippets, and troubleshooting FAQ. Consider whether some of this belongs in
docs/rather than the root README — the root README is already substantial.
|
@Lightheartdevs thanks for feedback, I'll work tomorrow to finalize all and rebase so we can merge it :) |
|
Main has moved significantly — this needs a rebase to resolve conflicts before we can merge. Could you update? |
|
@Lightheartdevs yes, I saw it, no worries absolutely, I can manage it today later, rebase, improve docs etc. |
Move documentation, tests, examples, CI config, and community files out of dream-server/ to keep it focused on runtime-essential content only. This reduces the installed footprint on target devices. Changes: - Moved docs/ (34 files), tests/ (35 files), examples/ (2 files) to monorepo root - Merged .github/ (pull_request_template moved, superseded templates/workflows removed) - Merged dream-server/.gitignore into root .gitignore and removed dream-server copy - Consolidated dream-server/README.md content into root README.md - Updated CI workflows (test-linux.yml, matrix-smoke.yml) for new test paths - Updated Makefile test paths - Kept LICENSE in dream-server/ for compliance - Moved dev-only root files: CHANGELOG, CODE_OF_CONDUCT, SECURITY, FAQ, QUICKSTART, EDGE-QUICKSTART, .shellcheckrc, PSScriptAnalyzerSettings.psd1 - Replaced root CONTRIBUTING.md with richer dream-server version
…eck-release-claims.sh
dd42435 to
e70e189
Compare
|
@Lightheartdevs I did more work on this, rebased, incorporated your suggestions, added some more fixes and improvements etc (updated all in PR description). I would really recommend to merge this as soon as we can, otherwise again tons of work might be needed. Note that also it's VERY hard to predict all possible issues related to moving such files around etc, so I hope not much of things got broken, but on the positive side - even if something does got broken it means that we need to add tests to prevent it again to happen and I think all such issues can be fixed very fast anyway. Also I would like to point out one thing that this PR really doing conceptually - it clean up "dream-server" folder to really be only what we installing on target device and attempts to move all other things outside of that folder. That way now for example, we will have mono-repo root "scripts" folder with scripts used by developers (e.g. say simulate installers script or check releases etc), while the |
Problem
When installing DreamServer on a target machine, the installer copies the entire
dream-server/directory — including documentation, examples, CI scripts, and other development-only files that are never needed at runtime. This unnecessarily inflates the installed package size.Solution
Restructure the monorepo so
dream-server/contains only runtime-essential files — what's actually needed to run DreamServer on a target machine. Development-only files are relocated to the monorepo root where they belong.What Changed
📁 Documentation — moved to
/docs/(36 files)All files from
dream-server/docs/→ rootdocs/. Includes SUPPORT-MATRIX, TROUBLESHOOTING, HARDWARE-GUIDE, INSTALLER-ARCHITECTURE, EXTENSIONS, platform-specific guides (Windows, macOS, WSL2, Intel Arc), and all other documentation.All 38 internal relative links updated (
../scripts/→../dream-server/scripts/, etc.) to reflect the new location.📁
resources/docs/— deduplicated (34 files removed)Removed 34 duplicate/subset files from
resources/docs/that already existed indocs/with identical or more content. 15 unique files retained: AUDIT, CAPABILITIES, DEPLOY-RUNBOOK, GOLDEN-BUILD, GUARDIAN, INFRASTRUCTURE, LIVEKIT-DEPLOYMENT-GUIDE, M1-QUICK-REFERENCE, M1-ZERO-CLOUD-RECIPE, PHILOSOPHY, PRODUCT-PORTFOLIO, PROTOCOLS, SETUP, TOKEN-MONITOR-PRODUCT-SCOPE, TOKEN-SPY.📁 Examples — moved to
/examples/(2 files)dream-server/examples/→ rootexamples/(sample-code.py,sample-doc.txt).📁 Dev Scripts — moved to
/scripts/(5 files + README)CI/release-gate scripts that are never needed on target machines:
check-compatibility.shcheck-release-claims.shrelease-gate.shsimulate-installers.shvalidate-sim-summary.pyAll 27 runtime scripts (dream-doctor, health-check, preflight, hardware detection, etc.) remain in
dream-server/scripts/.📁 Community & Config Files — moved to monorepo root (8 files)
CHANGELOG.md,CODE_OF_CONDUCT.md,SECURITY.md,FAQ.md,QUICKSTART.md,EDGE-QUICKSTART.md,.shellcheckrc,PSScriptAnalyzerSettings.psd1📄 Makefile — moved to monorepo root
Developer validation tool (
make lint,make test,make smoke,make gate). All internal paths updated for root location.📄
.github/— mergedpull_request_template.mdmoved to root.github/(supersedes old YAML-based templates)dream-server/.github/ISSUE_TEMPLATE/deleted (superseded by root.github/ISSUE_TEMPLATE/*.yml)dream-server/.github/workflows/lint-shell.ymldeleted (duplicate of root workflow)📄 README.md — consolidated
Extracted 6 sections unique to our README that don't exist in upstream, moved to appropriate
docs/files:docs/HOW-DREAM-SERVER-WORKS.mddocs/PROFILES.mddocs/TESTING.mddocs/TROUBLESHOOTING.mddocs/INSTALLER-ARCHITECTURE.mddocs/TROUBLESHOOTING.mdRoot README now matches upstream's section structure exactly.
dream-server/README.mdreplaced with a short pointer to the root README (for repo browsers) and the GitHub project URL (for local installers).📄 CONTRIBUTING.md — enriched
Replaced with comprehensive contributor guide covering 5 priority areas (hardware support, clean installs, extensions, testing, portability), merge criteria, PR anti-patterns, style guidelines, and
make gateworkflow. Code of Conduct moved to standaloneCODE_OF_CONDUCT.mdwith a reference link.dream-server/CONTRIBUTING.mddeleted (fully absorbed).📄
.gitignore— merged & updateddream-server/.gitignoreentries merged into root.gitignorewith appropriatedream-server/prefixes. Addedartifacts/to prevent CI simulation output from being committed.dream-server/.gitignoredeleted.🔧 CI Workflows — updated
test-linux.yml: dev script paths updated to../scripts/(sinceworking-directory: dream-server)🔧 Smoke Tests — decoupled from docs
Removed
grep docs/SUPPORT-MATRIX.mdfrom 3 smoke tests (linux-nvidia.sh,wsl-logic.sh,macos-dispatch.sh). These doc-consistency checks now live exclusively incheck-release-claims.sh. Smoke tests are now fully self-contained withindream-server/with zero external dependencies.🔧 Contract Tests — updated
Removed
simulate-installers.shfrom executable check intest-installer-contracts.sh(moved to rootscripts/).🔧 Dev Scripts — updated for new locations
check-compatibility.sh: Fixed paths to referencedream-server/for compose, workflow catalog, extension schema, and ports contract lookups; addedtr -d '\r'for Windows CR compatibilitycheck-release-claims.sh: Rewrote grep patterns to match current upstream SUPPORT-MATRIX content (macOS now Tier B, Windows label changed to Docker Desktop + WSL2, removed stale Tier C and Windows native installer UX checks)simulate-installers.sh: Updated tocdintodream-server/and adjusted--script-dirpathrelease-gate.sh: Updated test/smoke paths todream-server/tests/What Stayed in
dream-server/Everything needed to run on a target machine:
install.sh,install-core.sh,get-dream-server.sh, etc.dream-clidream-update.sh,dream-backup.sh,dream-restore.sh,dream-uninstall.sh,dream-preflight.shconfig/,.env,.env.example,.env.schema.jsonNet Impact
dream-server/reduced from ~100+ files to runtime-only essentialsresources/docs/reduced from 49 to 15 files (34 duplicates removed)upstream/mainTesting
Dev script validation (run from repo root):