-
-
Notifications
You must be signed in to change notification settings - Fork 28
[#1907] Renamed default.services.local to example.services.local to better show the intent.
#1910
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[#1907] Renamed default.services.local to example.services.local to better show the intent.
#1910
Conversation
WalkthroughReplaced references to Drupal local override files from “default..local” to “example..local” across ignore rules, docs, tests, and new example/local files; removed the old default.settings.local.* file and moved local service/settings content into new example.*.local files. Changes
Sequence Diagram(s)(omitted — changes are renames and file content moves, no new control-flow to diagram) Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Assessment against linked issues
Assessment against linked issues: Out-of-scope changes
Possibly related PRs
Suggested labels
Poem
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 phpcs (3.7.2).vortex/tests/phpunit/Traits/AssertFilesTrait.phpERROR: Referenced sniff "Drupal" does not exist Run "phpcs --help" for usage information web/sites/default/example.settings.local.phpERROR: Referenced sniff "Drupal" does not exist Run "phpcs --help" for usage information web/sites/default/includes/modules/settings.system.phpERROR: Referenced sniff "Drupal" does not exist Run "phpcs --help" for usage information
✨ Finishing Touches
🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
⛔ Files ignored due to path filters (10)
.vortex/installer/tests/Fixtures/install/_baseline/.gitignoreis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/example.services.local.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/example.settings.local.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/settings.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/.gitignoreis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/example.services.local.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/example.settings.local.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/settings.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/web/sites/default/-example.services.local.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/web/sites/default/-example.settings.local.phpis excluded by!.vortex/installer/tests/Fixtures/**
📒 Files selected for processing (6)
.gitignore(1 hunks).vortex/docs/content/drupal/settings.mdx(1 hunks).vortex/tests/bats/_helper.bash(3 hunks).vortex/tests/bats/_helper.deployment.bash(1 hunks).vortex/tests/phpunit/Traits/AssertFilesTrait.php(3 hunks)web/sites/default/settings.php(2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-08T12:02:24.652Z
Learnt from: AlexSkrypnyk
PR: drevops/vortex#1896
File: .vortex/tests/bats/unit/download-db-lagoon.bats:24-25
Timestamp: 2025-08-08T12:02:24.652Z
Learning: In .vortex/tests/bats/unit Bats tests using ../_helper.bash (run_steps), prefixing a STEPS entry with "- " denotes a negative assertion (the substring must NOT appear in output). Unprefixed entries are positive assertions. Example: "- Database dump refresh requested. Will create a new dump." asserts absence; "Database dump refresh requested. Will create a new dump." asserts presence.
Applied to files:
.vortex/tests/bats/_helper.deployment.bash.vortex/tests/bats/_helper.bash
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
- GitHub Check: build (0)
- GitHub Check: build (1)
- GitHub Check: vortex-test-deployment (0)
- GitHub Check: vortex-test-installer (8.2)
- GitHub Check: vortex-test-deployment (1)
- GitHub Check: vortex-test-workflow (0)
- GitHub Check: vortex-test-common
- GitHub Check: vortex-test-workflow (3)
- GitHub Check: vortex-test-installer (8.4)
- GitHub Check: vortex-test-workflow (2)
- GitHub Check: vortex-test-installer (8.3)
- GitHub Check: vortex-test-workflow (1)
- GitHub Check: vortex-test-docs
🔇 Additional comments (12)
web/sites/default/settings.php (3)
7-9: Docs update to example. local overrides is correct*The guidance now points to example.settings.local.php and example.services.local.yml. No behavioral changes; aligns with PR intent.
174-176: Local overrides section consistently references example. files*Comment copy instructions match the new naming; runtime still loads settings.local.php as before. All good.
1-186: Sanity Check Passed: No deprecateddefault.*.localreferences
- No instances of “default.settings.local.php”, “default.services.local.yml”, or “default.services.local” remain in the repo.
- Expected example override files are present:
- web/sites/default/example.settings.local.php
- web/sites/default/example.services.local.yml
.gitignore (1)
26-27: Unignore entries switched to example. — matches new convention*example.settings.local.php and example.services.local.yml will be tracked. Scaffold defaults remain whitelisted for functional tests.
.vortex/docs/content/drupal/settings.mdx (3)
254-256: Docs: copy instructions updated to example. — accurate and clear*The prose reflects the new example.* filenames and keeps the local override behavior unchanged.
258-265: Docs: example.settings.local.php import and details panel updatedRaw import path and the accordion summary are aligned with the rename.
268-275: Docs: example.services.local.yml import and details panel updatedConsistent with the switch to example.* naming.
.vortex/tests/bats/_helper.bash (3)
271-272: Negative assertions updated to the new example. filenames*Ensures example.* local override templates are absent in the “not present” checks. Matches the new convention.
521-526: Presence and permissions assertions updated to example. — correct*Tests now expect example.settings.local.php and example.services.local.yml to be present with 644 perms. Aligned with .gitignore changes.
1171-1175: create_development_settings copies from example. — workflow remains intact*Asserts absence of target files, then copies from example.* templates to settings.local.php/services.local.yml. This mirrors prior behavior with the new names.
.vortex/tests/bats/_helper.deployment.bash (1)
70-72: Deployment artifact check excludes example. local templates*Ensures example.* files are not shipped in deployment artifacts. This exclusion is correct.
.vortex/tests/phpunit/Traits/AssertFilesTrait.php (1)
55-56: Renamed example files assertion is correctAsserting absence of example.settings.local.php and example.services.local.yml in the “removed” context aligns with the rename objective and test intent.
| Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php'); | ||
| Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml'); | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Presence checks updated to example. — looks good; verify repo-wide consistency*
These presence assertions match the new convention and are consistent with Drupal’s typical example naming.
Run this script to ensure no references to the old default.* names linger and that the new example files exist in the expected location:
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "[1/2] Searching for lingering references to default.*.local files..."
rg -n --hidden -S $'default\\.settings\\.local\\.php|default\\.services\\.local\\.yml|default\\.services\\.local\\b' || echo "No lingering references found."
echo "[2/2] Verifying example files exist at expected paths..."
test -f web/sites/default/example.settings.local.php && echo "OK: web/sites/default/example.settings.local.php present" || { echo "Missing: web/sites/default/example.settings.local.php"; exit 1; }
test -f web/sites/default/example.services.local.yml && echo "OK: web/sites/default/example.services.local.yml present" || { echo "Missing: web/sites/default/example.services.local.yml"; exit 1; }Length of output: 890
Update .gitignore.artifact to use the new example. files*
The search showed lingering references to the old default.*.local filenames in your .gitignore.artifact. Please update these to match the new convention:
- .gitignore.artifact (around lines 20–21)
Replace:With:web/sites/default/default.services.local.yml web/sites/default/default.settings.local.php
web/sites/default/example.services.local.yml web/sites/default/example.settings.local.php
🤖 Prompt for AI Agents
In .gitignore.artifact around lines 20–21, the entries still reference the old
default.*.local filenames; update those two lines to replace
"web/sites/default/default.services.local.yml" and
"web/sites/default/default.settings.local.php" with
"web/sites/default/example.services.local.yml" and
"web/sites/default/example.settings.local.php" respectively, save and commit the
change so the gitignore matches the new example.* convention used elsewhere.
| Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php'); | ||
| Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml'); | ||
|
|
||
| File::copy($webroot . '/sites/default/default.settings.local.php', $webroot . '/sites/default/settings.local.php'); | ||
| File::copy($webroot . '/sites/default/default.services.local.yml', $webroot . '/sites/default/services.local.yml'); | ||
| File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php'); | ||
| File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml'); | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Make setup idempotent by removing existing dev overrides before copying
If settings.local.php or services.local.yml already exist, some copy implementations may fail or retain stale content. Safe to pre-remove.
Apply within this hunk:
Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php');
Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml');
+// Ensure idempotent setup: remove any existing dev overrides.
+File::remove([
+ $webroot . '/sites/default/settings.local.php',
+ $webroot . '/sites/default/services.local.yml',
+]);
+
File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php');
File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml');📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php'); | |
| Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml'); | |
| File::copy($webroot . '/sites/default/default.settings.local.php', $webroot . '/sites/default/settings.local.php'); | |
| File::copy($webroot . '/sites/default/default.services.local.yml', $webroot . '/sites/default/services.local.yml'); | |
| File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php'); | |
| File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml'); | |
| Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php'); | |
| Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml'); | |
| // Ensure idempotent setup: remove any existing dev overrides. | |
| File::remove([ | |
| $webroot . '/sites/default/settings.local.php', | |
| $webroot . '/sites/default/services.local.yml', | |
| ]); | |
| File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php'); | |
| File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml'); |
🤖 Prompt for AI Agents
In .vortex/tests/phpunit/Traits/AssertFilesTrait.php around lines 324 to 329,
make the setup idempotent by deleting any existing dev override files before
copying the example overrides: check for and remove existing settings.local.php
and services.local.yml (e.g., File::delete or unlink) prior to the File::copy
calls so the copy never fails or leaves stale content.
| $webroot . '/sites/default/example.settings.local.php', | ||
| $webroot . '/sites/default/example.services.local.yml', | ||
| ]); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: removing the wrong files in cleanup; should remove dev overrides, not example files
removeDevelopmentDrupalSettings should clean up the generated development files (settings.local.php, services.local.yml), not delete the example templates.
Fix:
- $webroot . '/sites/default/example.settings.local.php',
- $webroot . '/sites/default/example.services.local.yml',
+ $webroot . '/sites/default/settings.local.php',
+ $webroot . '/sites/default/services.local.yml',📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| $webroot . '/sites/default/example.settings.local.php', | |
| $webroot . '/sites/default/example.services.local.yml', | |
| ]); | |
| $webroot . '/sites/default/settings.local.php', | |
| $webroot . '/sites/default/services.local.yml', | |
| ]); |
🤖 Prompt for AI Agents
In .vortex/tests/phpunit/Traits/AssertFilesTrait.php around lines 336-338 the
cleanup currently removes the example template files
(example.settings.local.php, example.services.local.yml) but should remove the
generated development overrides; change the file paths in the removal list to
the actual dev files ($webroot . '/sites/default/settings.local.php' and
$webroot . '/sites/default/services.local.yml') and ensure the code checks file
existence before unlinking so only the real override files are deleted.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #1910 +/- ##
===========================================
+ Coverage 78.67% 78.69% +0.01%
===========================================
Files 85 85
Lines 5023 5027 +4
Branches 35 35
===========================================
+ Hits 3952 3956 +4
Misses 1071 1071 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
43dd81a to
5859cb6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🔭 Outside diff range comments (1)
web/sites/default/settings.php (1)
174-179: Optional doc hardening: explicitly warn against committing/shipping local overrides.A brief caution here will help prevent accidental inclusion of dev configs.
// Copy `example.settings.local.php` and `example.services.local.yml` to // `settings.local.php` and `services.local.yml` respectively to enable local // overrides. +// +// IMPORTANT: Do not commit `settings.local.php` or `services.local.yml` to VCS +// and do not ship them in production artifacts.
♻️ Duplicate comments (2)
.vortex/tests/phpunit/Traits/AssertFilesTrait.php (2)
324-329: Make setup idempotent: remove existing dev overrides before copyingIf this method is called multiple times in the same test run, the copy may preserve stale content or fail. Remove existing dev overrides first.
- Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php'); - Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml'); - - File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php'); - File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml'); + Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php'); + Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml'); + + // Ensure idempotent setup by removing any existing dev overrides. + File::remove([ + $webroot . '/sites/default/settings.local.php', + $webroot . '/sites/default/services.local.yml', + ]); + + File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php'); + File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml');
336-338: Bug: cleanup removes example templates instead of dev overridesremoveDevelopmentDrupalSettings should delete the generated dev overrides, not the example templates that serve as sources.
- File::remove([ - $webroot . '/sites/default/example.settings.local.php', - $webroot . '/sites/default/example.services.local.yml', - ]); + File::remove([ + $webroot . '/sites/default/settings.local.php', + $webroot . '/sites/default/services.local.yml', + ]);
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
⛔ Files ignored due to path filters (14)
.vortex/installer/tests/Fixtures/install/_baseline/.gitignoreis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/example.services.local.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/example.settings.local.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/settings.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/deploy_type_all_circleci/.gitignore.artifactis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/deploy_type_all_gha/.gitignore.artifactis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/deploy_type_artifact/.gitignore.artifactis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/.gitignoreis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/.gitignore.artifactis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/example.services.local.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/example.settings.local.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/settings.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/web/sites/default/-example.services.local.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/web/sites/default/-example.settings.local.phpis excluded by!.vortex/installer/tests/Fixtures/**
📒 Files selected for processing (7)
.gitignore(1 hunks).gitignore.artifact(1 hunks).vortex/docs/content/drupal/settings.mdx(1 hunks).vortex/tests/bats/_helper.bash(3 hunks).vortex/tests/bats/_helper.deployment.bash(1 hunks).vortex/tests/phpunit/Traits/AssertFilesTrait.php(3 hunks)web/sites/default/settings.php(2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-08T12:02:24.652Z
Learnt from: AlexSkrypnyk
PR: drevops/vortex#1896
File: .vortex/tests/bats/unit/download-db-lagoon.bats:24-25
Timestamp: 2025-08-08T12:02:24.652Z
Learning: In .vortex/tests/bats/unit Bats tests using ../_helper.bash (run_steps), prefixing a STEPS entry with "- " denotes a negative assertion (the substring must NOT appear in output). Unprefixed entries are positive assertions. Example: "- Database dump refresh requested. Will create a new dump." asserts absence; "Database dump refresh requested. Will create a new dump." asserts presence.
Applied to files:
.vortex/tests/bats/_helper.bash.vortex/tests/bats/_helper.deployment.bash
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
- GitHub Check: build (1)
- GitHub Check: build (0)
- GitHub Check: vortex-test-workflow (0)
- GitHub Check: vortex-test-deployment (0)
- GitHub Check: vortex-test-workflow (2)
- GitHub Check: vortex-test-deployment (1)
- GitHub Check: vortex-test-workflow (3)
- GitHub Check: vortex-test-workflow (1)
- GitHub Check: vortex-test-common
- GitHub Check: vortex-test-installer (8.4)
- GitHub Check: vortex-test-installer (8.3)
- GitHub Check: vortex-test-installer (8.2)
- GitHub Check: vortex-test-docs
🔇 Additional comments (8)
web/sites/default/settings.php (1)
7-9: LGTM: comment aligns with rename to example.*.local.Clear guidance and consistent terminology.
.gitignore (1)
26-27: LGTM: unignored example.*.local sample files are aligned with new convention.The top-level ignore rules continue to keep actual local overrides ignored while allowing the example templates to be tracked.
.vortex/docs/content/drupal/settings.mdx (1)
254-256: Verification Complete: No stale references & example files present
- No occurrences of
default.(settings|services).local.(php|yml)found.web/sites/default/example.settings.local.phpandweb/sites/default/example.services.local.ymlboth exist.All set—docs updates are consistent and ready to merge.
.vortex/tests/bats/_helper.bash (3)
521-526: Presence and mode assertions updated to example. — LGTM*The assertions for existence and 644 mode of example.* files correctly reflect the rename.
1171-1175: Copy-from-example workflow matches new conventionThe copy operations now correctly source from example.* to create dev overrides.
271-273: All default. references removed and example files confirmed*
Verified via search: no lingeringdefault.settings.local.php/default.services.local.ymlor hostname references, andexample.settings.local.php&example.services.local.ymlexist underweb/sites/default/..vortex/tests/phpunit/Traits/AssertFilesTrait.php (2)
55-57: Absence checks updated to example. — LGTM*These now correctly reflect the renamed example.* template files.
274-276: Presence checks updated to example. — LGTM*These assertions match the new convention and expected locations.
…and updated from Drupal core scaffold.
5859cb6 to
bb587b1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
♻️ Duplicate comments (4)
.gitignore.artifact (1)
19-23: Also ignore the actual active overrides in artifacts (repeat of earlier feedback)To prevent accidental inclusion of developer-local overrides in deployment artifacts, also ignore settings.local.php and services.local.yml in this file.
Apply:
# Ignore non-production Drupal Scaffold files. web/sites/default/example.services.local.yml web/sites/default/example.settings.local.php +web/sites/default/settings.local.php +web/sites/default/services.local.yml web/sites/default/default.services.local.yml web/sites/default/default.settings.local.php.vortex/tests/bats/_helper.deployment.bash (1)
70-73: Harden artifact checks: also assert real local overrides are absentArtifacts must never include developer-local overrides. Add assertions for
settings.local.phpandservices.local.ymlalongside the example/legacy checks.assert_file_exists "${webroot}/sites/default/services.yml" assert_file_not_exists "${webroot}/sites/default/example.settings.local.php" assert_file_not_exists "${webroot}/sites/default/example.services.local.yml" + # Actual local overrides must not be present. + assert_file_not_exists "${webroot}/sites/default/settings.local.php" + assert_file_not_exists "${webroot}/sites/default/services.local.yml" assert_file_not_exists "${webroot}/sites/default/default.settings.local.php" assert_file_not_exists "${webroot}/sites/default/default.services.local.yml".vortex/tests/phpunit/Traits/AssertFilesTrait.php (2)
324-329: Make setup idempotent: remove existing dev overrides before copyingPrevent stale content or copy failures by removing existing active overrides first.
Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php'); Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml'); + // Ensure idempotent setup: remove any existing dev overrides. + File::remove([ + $webroot . '/sites/default/settings.local.php', + $webroot . '/sites/default/services.local.yml', + ]); + File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php'); File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml');
334-339: Bug: removing the wrong files; clean up dev overrides, not example templates
removeDevelopmentDrupalSettings()should deletesettings.local.phpandservices.local.yml. Deleting example templates is incorrect.protected function removeDevelopmentDrupalSettings(string $webroot = 'web'): void { File::remove([ - $webroot . '/sites/default/example.settings.local.php', - $webroot . '/sites/default/example.services.local.yml', + $webroot . '/sites/default/settings.local.php', + $webroot . '/sites/default/services.local.yml', ]); }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these settings in your CodeRabbit configuration.
⛔ Files ignored due to path filters (29)
.vortex/installer/tests/Fixtures/install/_baseline/.gitignoreis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/tests/phpunit/Drupal/EnvironmentSettingsTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/default.services.local.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/default.settings.local.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/example.services.local.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/example.settings.local.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/includes/modules/settings.system.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/settings.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/ciprovider_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/deploy_type_all_circleci/.gitignore.artifactis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/deploy_type_all_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/deploy_type_all_gha/.gitignore.artifactis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/deploy_type_artifact/.gitignore.artifactis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/deploy_type_none_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/deps_updates_provider_ci_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/.gitignoreis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/.gitignore.artifactis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/default.services.local.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/default.settings.local.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/example.services.local.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/example.settings.local.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/includes/modules/settings.system.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/settings.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/tests/phpunit/Drupal/EnvironmentSettingsTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/web/sites/default/-example.services.local.ymlis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_acquia/web/sites/default/-example.settings.local.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/hosting_lagoon/tests/phpunit/Drupal/EnvironmentSettingsTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/provision_database_lagoon/tests/phpunit/Drupal/EnvironmentSettingsTest.phpis excluded by!.vortex/installer/tests/Fixtures/**.vortex/installer/tests/Fixtures/install/timezone_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.phpis excluded by!.vortex/installer/tests/Fixtures/**
📒 Files selected for processing (13)
.gitignore(1 hunks).gitignore.artifact(1 hunks).vortex/docs/content/drupal/settings.mdx(1 hunks).vortex/tests/bats/_helper.bash(3 hunks).vortex/tests/bats/_helper.deployment.bash(1 hunks).vortex/tests/phpunit/Traits/AssertFilesTrait.php(3 hunks)tests/phpunit/Drupal/EnvironmentSettingsTest.php(0 hunks)web/sites/default/default.services.local.yml(0 hunks)web/sites/default/default.settings.local.php(0 hunks)web/sites/default/example.services.local.yml(1 hunks)web/sites/default/example.settings.local.php(1 hunks)web/sites/default/includes/modules/settings.system.php(1 hunks)web/sites/default/settings.php(2 hunks)
💤 Files with no reviewable changes (3)
- tests/phpunit/Drupal/EnvironmentSettingsTest.php
- web/sites/default/default.services.local.yml
- web/sites/default/default.settings.local.php
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-08T12:02:24.652Z
Learnt from: AlexSkrypnyk
PR: drevops/vortex#1896
File: .vortex/tests/bats/unit/download-db-lagoon.bats:24-25
Timestamp: 2025-08-08T12:02:24.652Z
Learning: In .vortex/tests/bats/unit Bats tests using ../_helper.bash (run_steps), prefixing a STEPS entry with "- " denotes a negative assertion (the substring must NOT appear in output). Unprefixed entries are positive assertions. Example: "- Database dump refresh requested. Will create a new dump." asserts absence; "Database dump refresh requested. Will create a new dump." asserts presence.
Applied to files:
.vortex/tests/bats/_helper.deployment.bash.vortex/tests/bats/_helper.bash
🪛 LanguageTool
.vortex/docs/content/drupal/settings.mdx
[grammar] ~254-~254: There might be a mistake here.
Context: ...al.phpandexample.services.local.ymltosettings.local.phpandservices.lo...
(QB_NEW_EN)
[grammar] ~255-~255: There might be a mistake here.
Context: ...ocal.yml`, respectively, to utilize this functionality. import LocalSettingsExam...
(QB_NEW_EN)
[grammar] ~256-~256: Use correct spacing
Context: ...ectively, to utilize this functionality. import LocalSettingsExample from '!!raw-...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~258-~258: Use correct spacing
Context: ...tes/default/example.settings.local.php';
Click here to see the contents of the example.settings.local.php file
{LocalSettingsExample} </de...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~263-~263: Use correct spacing
Context: ...ck language="php">{LocalSettingsExample}
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~268-~268: Use correct spacing
Context: ...tes/default/example.services.local.yml';
Click here to see the contents of the example.services.local.yml file
{LocalServicesExample} </de...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
- GitHub Check: build (1)
- GitHub Check: build (0)
- GitHub Check: vortex-test-workflow (1)
- GitHub Check: vortex-test-workflow (2)
- GitHub Check: vortex-test-workflow (3)
- GitHub Check: vortex-test-workflow (0)
- GitHub Check: vortex-test-deployment (1)
- GitHub Check: vortex-test-deployment (0)
- GitHub Check: vortex-test-common
- GitHub Check: vortex-test-installer (8.4)
- GitHub Check: vortex-test-installer (8.3)
- GitHub Check: vortex-test-installer (8.2)
- GitHub Check: vortex-test-docs
🔇 Additional comments (11)
.gitignore (2)
26-27: Unignore new example local override files — good alignment with PR goalAdding these unignore rules ensures the new example files are versioned and discoverable.
26-29: Drop legacy default.*.local unignore entriesSince there are no remaining references to
default.settings.local.phpordefault.services.local.ymlin the codebase, you can safely remove these lines from.gitignore:!web/sites/default/example.settings.local.php !web/sites/default/example.services.local.yml -!web/sites/default/default.settings.local.php -!web/sites/default/default.services.local.ymlweb/sites/default/settings.php (2)
7-9: Docs update to reference example.*.local — looks goodThe guidance now points to example.settings.local.php and example.services.local.yml, matching the PR’s intent.
174-176: Local override section references example. correctly*The comments now direct users to copy example.* into active local override filenames, consistent with the new scheme.
.gitignore.artifact (1)
20-21: Ignoring example.*.local in artifacts — goodThese additions prevent shipping example local overrides in deployment artifacts.
web/sites/default/includes/modules/settings.system.php (1)
19-22: Limit skip_permissions_hardening to CI — clear, minimal-risk changeNarrowing this to CI avoids relaxing local permissions by default while keeping CI fast/stable. Change is self-contained and consistent with the PR narrative.
web/sites/default/example.services.local.yml (1)
17-38: Local dev service overrides look sensible
- Cacheability debug headers enabled
- Twig debug enabled, cache on (keeps Xdebug usable with .twig)
- Lenient config schema checker + dedicated logger channel registered
- Null backend factory is available for opt-in cache disabling via settings.local.php if needed
All appropriate for local development.
.vortex/tests/bats/_helper.bash (3)
271-274: LGTM: Example overrides excluded in “not present” assertionsThese align with the new example.* convention and keep artifacts clean.
523-528: LGTM: Example overrides presence + permissions checksPresence and 644 mode assertions for example files are correct and consistent with repo policy.
1173-1176: LGTM: Development settings are sourced from example. and copied to active local overrides*The copy flow is correct and matches the new naming.
.vortex/tests/phpunit/Traits/AssertFilesTrait.php (1)
274-276: LGTM: Presence checks updated to example.*These are consistent with the new convention.
| copy `example.settings.local.php` and `example.services.local.yml` | ||
| to `settings.local.php` and `services.local.yml`, respectively, to utilize this | ||
| functionality. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Tighten wording for clarity
Minor grammar/clarity improvement.
- copy `example.settings.local.php` and `example.services.local.yml`
- to `settings.local.php` and `services.local.yml`, respectively, to utilize this
- functionality.
+ You can copy `example.settings.local.php` and `example.services.local.yml`
+ to `settings.local.php` and `services.local.yml`, respectively, to enable this
+ functionality.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| copy `example.settings.local.php` and `example.services.local.yml` | |
| to `settings.local.php` and `services.local.yml`, respectively, to utilize this | |
| functionality. | |
| You can copy `example.settings.local.php` and `example.services.local.yml` | |
| to `settings.local.php` and `services.local.yml`, respectively, to enable this | |
| functionality. |
🧰 Tools
🪛 LanguageTool
[grammar] ~254-~254: There might be a mistake here.
Context: ...al.phpandexample.services.local.ymltosettings.local.phpandservices.lo...
(QB_NEW_EN)
[grammar] ~255-~255: There might be a mistake here.
Context: ...ocal.yml`, respectively, to utilize this functionality. import LocalSettingsExam...
(QB_NEW_EN)
[grammar] ~256-~256: Use correct spacing
Context: ...ectively, to utilize this functionality. import LocalSettingsExample from '!!raw-...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
🤖 Prompt for AI Agents
.vortex/docs/content/drupal/settings.mdx around lines 254 to 256: tighten the
sentence for clarity by rephrasing the instruction to use more direct wording;
replace the current phrasing with a concise form such as "Copy
example.settings.local.php and example.services.local.yml to settings.local.php
and services.local.yml to enable this functionality." ensuring proper file names
and pluralization are preserved.
| import LocalSettingsExample from '!!raw-loader!./../../../../web/sites/default/example.settings.local.php'; | ||
|
|
||
| <details> | ||
| <summary>Click here to see the contents of the `default.settings.local.php` file</summary> | ||
| <summary>Click here to see the contents of the `example.settings.local.php` file</summary> | ||
|
|
||
| <CodeBlock language="php">{LocalSettingsExample}</CodeBlock> | ||
|
|
||
| </details> | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Fix spacing before MDX import statements to satisfy linters
Insert a blank line before each import … from '!!raw-loader!...' to address spacing warnings and improve readability.
-import LocalSettingsExample from '!!raw-loader!./../../../../web/sites/default/example.settings.local.php';
+
+import LocalSettingsExample from '!!raw-loader!./../../../../web/sites/default/example.settings.local.php';
@@
-<details>
+<details>
@@
-</details>
+</details>
@@
-import LocalServicesExample from '!!raw-loader!./../../../../web/sites/default/example.services.local.yml';
+
+import LocalServicesExample from '!!raw-loader!./../../../../web/sites/default/example.services.local.yml';
@@
-<details>
+<details>
@@
-</details>
+</details>Also applies to: 268-275
🧰 Tools
🪛 LanguageTool
[grammar] ~258-~258: Use correct spacing
Context: ...tes/default/example.settings.local.php';
Click here to see the contents of the example.settings.local.php file
{LocalSettingsExample} </de...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~263-~263: Use correct spacing
Context: ...ck language="php">{LocalSettingsExample}
(QB_NEW_EN_OTHER_ERROR_IDS_5)
🤖 Prompt for AI Agents
In .vortex/docs/content/drupal/settings.mdx around lines 258-266 (and similarly
for 268-275), there is an MDX import using "import ... from '!!raw-loader!...'"
that is not preceded by a blank line; add a single blank line immediately before
each such import statement to satisfy linter spacing rules and improve
readability, ensuring the rest of the surrounding content/markup remains
unchanged.
| // Example settings files that should not exist. | ||
| Assert::assertFileDoesNotExist($webroot . '/sites/default/default.settings.local.php'); | ||
| Assert::assertFileDoesNotExist($webroot . '/sites/default/default.services.local.yml'); | ||
| Assert::assertFileDoesNotExist($webroot . '/sites/default/example.settings.local.php'); | ||
| Assert::assertFileDoesNotExist($webroot . '/sites/default/example.services.local.yml'); | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Also assert real local overrides and legacy defaults are absent
Harden the “absent” assertions by including settings.local.php, services.local.yml, and (optionally) legacy default.* files for backward-compatibility safety.
// Example settings files that should not exist.
Assert::assertFileDoesNotExist($webroot . '/sites/default/example.settings.local.php');
Assert::assertFileDoesNotExist($webroot . '/sites/default/example.services.local.yml');
+ // Actual local overrides must not be present here.
+ Assert::assertFileDoesNotExist($webroot . '/sites/default/settings.local.php');
+ Assert::assertFileDoesNotExist($webroot . '/sites/default/services.local.yml');
+ // Safety net for forks still using legacy names.
+ Assert::assertFileDoesNotExist($webroot . '/sites/default/default.settings.local.php');
+ Assert::assertFileDoesNotExist($webroot . '/sites/default/default.services.local.yml');📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| // Example settings files that should not exist. | |
| Assert::assertFileDoesNotExist($webroot . '/sites/default/default.settings.local.php'); | |
| Assert::assertFileDoesNotExist($webroot . '/sites/default/default.services.local.yml'); | |
| Assert::assertFileDoesNotExist($webroot . '/sites/default/example.settings.local.php'); | |
| Assert::assertFileDoesNotExist($webroot . '/sites/default/example.services.local.yml'); | |
| // Example settings files that should not exist. | |
| Assert::assertFileDoesNotExist($webroot . '/sites/default/example.settings.local.php'); | |
| Assert::assertFileDoesNotExist($webroot . '/sites/default/example.services.local.yml'); | |
| // Actual local overrides must not be present here. | |
| Assert::assertFileDoesNotExist($webroot . '/sites/default/settings.local.php'); | |
| Assert::assertFileDoesNotExist($webroot . '/sites/default/services.local.yml'); | |
| // Safety net for forks still using legacy names. | |
| Assert::assertFileDoesNotExist($webroot . '/sites/default/default.settings.local.php'); | |
| Assert::assertFileDoesNotExist($webroot . '/sites/default/default.services.local.yml'); |
🤖 Prompt for AI Agents
In .vortex/tests/phpunit/Traits/AssertFilesTrait.php around lines 54 to 57, the
test only checks that example.settings.local.php and example.services.local.yml
are absent; add stronger assertions to also assert that settings.local.php and
services.local.yml do not exist and additionally assert absence of legacy
default.* files (e.g., default.settings.php, default.services.yml or any
default.* backups) to prevent backward-compatibility overrides; implement these
by adding corresponding Assert::assertFileDoesNotExist calls for each filename
(and, if preferred, explicit checks for common legacy filenames) immediately
alongside the existing assertions.
| # Disable twig debugging and auto reload, plus enable twig caching. | ||
| twig.config: | ||
| debug: true | ||
| auto_reload: null | ||
| # Twig cache allows Xdebug to work with .twig files. | ||
| cache: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Fix comment to match Twig settings (debug=true vs “Disable twig debugging”)
The comment on Line 19 contradicts the actual values (debug: true). Update the comment to avoid confusion.
- # Disable twig debugging and auto reload, plus enable twig caching.
+ # Enable Twig debugging; leave auto_reload at default (null); enable Twig caching.
twig.config:
debug: true
auto_reload: null
# Twig cache allows Xdebug to work with .twig files.
cache: true📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # Disable twig debugging and auto reload, plus enable twig caching. | |
| twig.config: | |
| debug: true | |
| auto_reload: null | |
| # Twig cache allows Xdebug to work with .twig files. | |
| cache: true | |
| # Enable Twig debugging; leave auto_reload at default (null); enable Twig caching. | |
| twig.config: | |
| debug: true | |
| auto_reload: null | |
| # Twig cache allows Xdebug to work with .twig files. | |
| cache: true |
🤖 Prompt for AI Agents
In web/sites/default/example.services.local.yml around lines 19 to 24, the
leading comment says "Disable twig debugging and auto reload, plus enable twig
caching." but the settings set debug: true (enabling debugging) and auto_reload:
null; update the comment to accurately reflect the configured values (e.g.,
indicate that twig debugging is enabled, auto_reload is unset/left default, and
cache is enabled) so the comment matches the actual configuration.
| * This setting disables the render cache by using the Null cache back-end | ||
| * defined by the development.services.yml file above. | ||
| * |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Align comments with file naming: reference services.local.yml, not development.services.yml
The comments still reference development.services.yml which this project does not use. Replace with services.local.yml to avoid confusion.
- * This setting disables the render cache by using the Null cache back-end
- * defined by the development.services.yml file above.
+ * This setting disables the render cache by using the Null cache back-end
+ * defined by the services.local.yml file above.
@@
- * This setting disables the page cache by using the Null cache back-end
- * defined by the development.services.yml file above.
+ * This setting disables the page cache by using the Null cache back-end
+ * defined by the services.local.yml file above.Also applies to: 69-71
🤖 Prompt for AI Agents
In web/sites/default/example.settings.local.php around lines 47-49 and 69-71 the
inline comments reference development.services.yml which this project does not
use; update those comment lines to reference services.local.yml instead so file
names align across the repository and avoid confusion (replace the text in both
locations).
| * Hide admin toolbar. Useful for themeing while logged in as admin. | ||
| */ | ||
| // $settings['hide_admin_toolbar'] = TRUE; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Fix typo: “themeing” → “theming”
Tiny doc polish.
- * Hide admin toolbar. Useful for themeing while logged in as admin.
+ * Hide admin toolbar. Useful for theming while logged in as admin.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| * Hide admin toolbar. Useful for themeing while logged in as admin. | |
| */ | |
| // $settings['hide_admin_toolbar'] = TRUE; | |
| * Hide admin toolbar. Useful for theming while logged in as admin. | |
| */ | |
| // $settings['hide_admin_toolbar'] = TRUE; |
🤖 Prompt for AI Agents
In web/sites/default/example.settings.local.php around lines 117 to 119, the
inline comment contains a typo "themeing" — update that word to "theming" so the
comment reads "Useful for theming while logged in as admin." Keep everything
else unchanged.
Closes #1907
Changed:
default.settings.local.phptoexample.settings.local.phpanddefault.services.localto default.services.local`.example.settings.local.phpand default.services.local` with the contents of the Drupal core scaffold files.example.settings.local.php. This clearly separates "local" overrides from other settings.Summary by CodeRabbit
Documentation
Tests
Chores