[6.x] Sidecar - #15099
Open
jackmcdade wants to merge 7 commits into
Open
Conversation
Driver packages now register SSG compatibility via Sidecar::pair(), so install discovery no longer depends on a published config key. Co-authored-by: Cursor <cursoragent@cursor.com>
Nested Sidecar content will use real folders instead of slash-containing slugs, so PathSlug and preserve_paths are no longer needed. Co-authored-by: Cursor <cursoragent@cursor.com>
Drivers can opt into folder-based nesting so structure changes rewrite entry paths and sibling order instead of encoding hierarchy in slugs. Co-authored-by: Cursor <cursoragent@cursor.com>
jackmcdade
marked this pull request as draft
August 1, 2026 23:07
Custom Closure/Blueprint fallbacks skipped the title contents update that the default path applied, so Sidecar and other custom fallbacks got inconsistent blueprint titles. Co-authored-by: Cursor <cursoragent@cursor.com>
jackmcdade
marked this pull request as ready for review
August 2, 2026 17:20
Guard registerCustomDirectory when the entries store is missing, and update publish-array expectations for the textarea rows default. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Experimental: Sidecar — a core framework for editing external markdown content (docs sites, SSGs) as Statamic collections in the Control Panel, in place, without importing or changing how the source system builds.
This PR ships the CMS portion only. Concrete adapters live in separate packages (
statamic/sidecar-laradocs,statamic/sidecar-jigsaw, …).Why
Teams already have content in LaraDocs, Jigsaw, etc. Sidecar lets them keep that filesystem contract and still get Statamic’s CP: blueprints, structure trees, Live Preview, permissions — pointed at the real files.
What’s in core
Sidecarmanager + driver contract — packages register viaSidecar::extend()/Sidecar::pair(); collections are declared inconfig/statamic/sidecar.phpCollection::register()so Sidecar collections don’t need acontent/collections/*.yamlfile (on-disk cascade data is still preserved when present)content/collections/{handle}usesNestedFolders()) rewrite paths from the structure tree (page.md↔page/_index.md, prune empty dirs, sync siblingorder)php please sidecar:installdetects paired SSG packages and scaffolds configCollection::hasLivePreview()+ driverpreviewUrl()so headless/Sidecar collections can still Visit / previewDriver packages (out of this PR)
_index.md+orderFMsource/docs/+navigation.phpas hierarchyExample