Skip to content

refactor: adopt envilder.json naming convention - #225

Merged
macalbert merged 7 commits into
mainfrom
refactor/envilder-json-naming
May 5, 2026
Merged

refactor: adopt envilder.json naming convention#225
macalbert merged 7 commits into
mainfrom
refactor/envilder-json-naming

Conversation

@macalbert

@macalbert macalbert commented May 5, 2026

Copy link
Copy Markdown
Owner

Summary

Standardizes map file naming to envilder.json / envilder.*.json pattern across the entire codebase. This establishes a unique, recognizable naming convention that enables SchemaStore integration via fileMatch.

Changes

File renames:

  • secrets-map.jsonenvilder.json (root)
  • e2e/sample/param-map.jsone2e/sample/envilder.json
  • e2e/sample/param-map-with-aws-config.jsone2e/sample/envilder.aws.json
  • e2e/sample/param-map-with-azure-config.jsone2e/sample/envilder.azure.json
  • tests/sdks/dotnet/secrets-map.jsontests/sdks/dotnet/envilder.json
  • tests/sdks/python/secrets-map.jsontests/sdks/python/envilder.json

Reference updates (83 files):

  • CLI help text examples
  • E2E tests and CI workflows
  • SDK source code docstrings (.NET, Python, Node.js)
  • SDK test fixtures and container helpers
  • Documentation, README, examples, website content
  • GHA bundle rebuilt

Motivation

Prerequisite for SchemaStore submission (#222). SchemaStore requires unique fileMatch patterns — envilder.json and envilder.*.json are specific enough to avoid conflicts with other schemas.

Closes #216

Summary by CodeRabbit

  • Documentation
    • Updated docs, ADRs, changelogs, CLI help, GitHub Action guides, SDK READMEs and examples to reference the new standardized map filename.
  • Tests
    • Updated test fixtures, E2E samples and local test containers to use the standardized map filename and adjusted related test fixtures.
  • Chores
    • Harmonized website content, i18n strings, example projects, and CLI/usage examples to use the standardized configuration filename consistently; bumped example SDK dependency versions where shown.

Rename map files to envilder.json / envilder.*.json pattern:
- secrets-map.json -> envilder.json (root)
- param-map.json -> envilder.json (e2e/sample)
- param-map-with-aws-config.json -> envilder.aws.json
- param-map-with-azure-config.json -> envilder.azure.json

Update all references across:
- CLI help text and package.json scripts
- E2E tests and CI workflows
- SDK source code (dotnet, python, nodejs) docstrings
- SDK test fixtures and containers
- Documentation, README, examples, website
- GHA bundle rebuilt

Closes #216
Copilot AI review requested due to automatic review settings May 5, 2026 06:34
@coderabbitai

coderabbitai Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 25653c05-94b7-47d6-9531-e2f1753e369b

📥 Commits

Reviewing files that changed from the base of the PR and between 3728018 and 890d553.

📒 Files selected for processing (3)
  • tests/sdks/dotnet/Envilder.Tests.csproj
  • tests/sdks/python/application/test_envilder_facade.py
  • tests/sdks/python/containers/localstack_container.py
✅ Files skipped from review due to trivial changes (1)
  • tests/sdks/dotnet/Envilder.Tests.csproj
🚧 Files skipped from review as they are similar to previous changes (2)
  • tests/sdks/python/containers/localstack_container.py
  • tests/sdks/python/application/test_envilder_facade.py

Walkthrough

This PR standardizes the repository map-file name by replacing occurrences of param-map.json / secrets-map.json with envilder.json (and envilder.*.json variants) across ADRs, docs, website, CLI examples, SDK examples/docstrings, tests, fixtures, and e2e inputs.

Changes

Map-file naming adoption

Layer / File(s) Summary
Architecture / Decisions
docs/architecture/adr/0001-sdk-acceptance-test-infrastructure.md, docs/architecture/adr/0008-map-file-schema.md
ADR text updated to reference envilder.json / envilder.*.json as the single source for test-container token resolution and example filenames.
Data / Examples (map filenames)
e2e/sample/*, examples/sdk/*/*, tests/**/envilder*.json, src/website/...
Example and fixture filenames and sample map-file JSON references renamed from param-map.json/secrets-map.json to envilder.json and environment-specific variants.
SDK docstrings & READMEs
src/sdks/dotnet/*, src/sdks/nodejs/*, src/sdks/python/*, src/sdks/*/*/*.ts
XML/JSDoc/docstring examples and SDK READMEs switched to use envilder.json in load/resolve/fromMapFile snippets; some sample dependency pins updated in examples.
CLI help & docs
src/envilder/apps/cli/Cli.ts, docs/pull-command.md, docs/push-command.md, docs/github-action.md, docs/changelogs/*
CLI banner, usage snippets, command examples, and changelog entries updated to show --map=envilder.json and envilder.*.json filenames.
Website content & i18n
src/website/src/components/*.astro, src/website/src/i18n/*.ts, src/website/src/components/DocsContent.astro
Site components, code snippets, and translation strings updated to reference envilder.json and config/*/envilder.json for multi-environment examples.
Tests, fixtures & containers
tests/**/*, tests/sdks/*/containers/*, tests/sdks/dotnet/Envilder.Tests.csproj, tests/sdks/*/Fixtures/*
Test constants, embedded resources, LocalStack container token resolution, test fixtures, and e2e test inputs renamed to envilder*.json variants; related error messages updated.
Website tests / markdown fixture
tests/website/utils/markdown.test.ts
Test fixtures updated to reference envilder.json in embedded code samples.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • macalbert/envilder#217: Adds map-file JSON Schema for envilder.json — directly related to adopting the envilder.json filename.
  • macalbert/envilder#212: Introduced ADR-0008 and map-file examples that this PR updates to the new naming.
  • macalbert/envilder#170: Added Node.js SDK tests/examples that referenced the previous map filename; this PR updates those references.

Suggested labels

refactor, documentation, test

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 28.57% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'refactor: adopt envilder.json naming convention' clearly and concisely summarizes the main change of standardizing map file naming across the codebase.
Description check ✅ Passed The PR description provides a comprehensive summary, detailed change list, and clear motivation linking to prerequisites. All key information is present and well-structured.
Linked Issues check ✅ Passed All acceptance criteria from issue #216 are met: file renames completed, references updated across 83 files (CLI, E2E, SDKs, docs, examples), and migration documented.
Out of Scope Changes check ✅ Passed Changes are entirely within scope: all modifications are either file renames or reference updates to adopt the envilder.json naming convention as specified in issue #216.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/envilder-json-naming

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@macalbert macalbert self-assigned this May 5, 2026
@macalbert macalbert added the enhancement New feature or request label May 5, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request renames the core mapping file to envilder.json across all documentation, SDK examples, and test suites. Feedback identifies several naming inconsistencies in the E2E tests where hyphens were used instead of dots for environment suffixes, and points out a path discrepancy in the Copilot instructions.

Comment thread .github/copilot-instructions.md Outdated
Comment thread e2e/cli.test.ts
Comment thread e2e/cli.test.ts
Comment thread e2e/cli.test.ts
Comment thread e2e/gha.test.ts

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
docs/changelogs/cli.md (1)

47-70: 💤 Low value

Consider preserving the original filenames in the [0.9.3] historical entry.

The 0.9.3 block is a historical release entry that already shipped with secrets-map.json examples. Retroactively rewriting it to envilder.json silently erases the original interface and may confuse users diffing changelogs or bisecting when the rename occurred. A cleaner approach would be to document the rename in the existing 0.10.0 (or a dedicated entry) and leave historical entries intact, or add an inline note to the 0.9.3 block.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/changelogs/cli.md` around lines 47 - 70, The changelog entry for version
"0.9.3" was retroactively altered to use "envilder.json" instead of the original
"secrets-map.json"; restore the original filename "secrets-map.json" in the
0.9.3 block and instead document the rename from "secrets-map.json" →
"envilder.json" in the "0.10.0" entry (or add a dedicated rename note),
referencing the exact strings "0.9.3", "0.10.0", "secrets-map.json", and
"envilder.json" so historical diffs remain accurate and users can see when the
interface changed.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@e2e/cli.test.ts`:
- Around line 58-59: Rename the test fixture filenames from dash-based to
dot-based patterns: update the assignments to mapFilePath and
mapFileWithConfigPath so they use `envilder.${runId}.json` and
`envilder.aws.${runId}.json` respectively (replace `envilder-...` and
`envilder-aws-...` templates). Also sweep the file for other occurrences of the
`envilder-` pattern and change them to the corresponding
`envilder.`/`envilder.aws.` dot format to keep filenames consistent with the
fileMatch strategy.

In `@e2e/gha.test.ts`:
- Line 241: Replace the dash-based filename literal 'envilder-azure-gha.json'
with the dot-based convention 'envilder.azure.gha.json' wherever it appears
(e.g., in the test list/array in e2e/gha.test.ts), and update any related
assertions or test fixtures that reference the old name so tests still find the
file.

In `@src/website/src/i18n/en.ts`:
- Line 417: The English copy for the key step1 uses the wrong indefinite
article; update the string value in the i18n map (the property named step1) from
"Create a envilder.json mapping env vars to secret paths" to "Create an
envilder.json mapping env vars to secret paths" and make the same change for the
other occurrence mentioned (the other i18n string at the second location).
Locate the step1 entry in src/website/src/i18n/en.ts and the other similar
string and replace "a envilder.json" with "an envilder.json" so both entries use
correct grammar.

---

Nitpick comments:
In `@docs/changelogs/cli.md`:
- Around line 47-70: The changelog entry for version "0.9.3" was retroactively
altered to use "envilder.json" instead of the original "secrets-map.json";
restore the original filename "secrets-map.json" in the 0.9.3 block and instead
document the rename from "secrets-map.json" → "envilder.json" in the "0.10.0"
entry (or add a dedicated rename note), referencing the exact strings "0.9.3",
"0.10.0", "secrets-map.json", and "envilder.json" so historical diffs remain
accurate and users can see when the interface changed.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 41086f53-21ad-49e0-a965-4f4da7a2fb3e

📥 Commits

Reviewing files that changed from the base of the PR and between 42ee4bd and d15d65c.

⛔ Files ignored due to path filters (16)
  • .github/agents/content-designer.agent.md is excluded by none and included by none
  • .github/copilot-instructions.md is excluded by none and included by none
  • .github/skills/common-architecture-decisions/SKILL.md is excluded by none and included by none
  • .github/skills/common-security/SKILL.md is excluded by none and included by none
  • .github/skills/doc-sync/SKILL.md is excluded by none and included by none
  • .github/skills/sdk-acceptance-testing/SKILL.md is excluded by none and included by none
  • .github/skills/website-content-strategy/SKILL.md is excluded by none and included by none
  • .github/skills/website-i18n/SKILL.md is excluded by none and included by none
  • .github/workflows/publish-action.yml is excluded by none and included by none
  • .github/workflows/test-action.yml is excluded by none and included by none
  • README.md is excluded by none and included by none
  • ROADMAP.md is excluded by none and included by none
  • envilder.json is excluded by none and included by none
  • github-action/README.md is excluded by none and included by none
  • package.json is excluded by none and included by none
  • vitest.global-setup.ts is excluded by none and included by none
📒 Files selected for processing (67)
  • docs/architecture/adr/0001-sdk-acceptance-test-infrastructure.md
  • docs/architecture/adr/0008-map-file-schema.md
  • docs/changelogs/cli.md
  • docs/changelogs/sdk-dotnet.md
  • docs/changelogs/sdk-python.md
  • docs/conventional-commits.md
  • docs/github-action.md
  • docs/pull-command.md
  • docs/push-command.md
  • docs/requirements-installation.md
  • e2e/cli.test.ts
  • e2e/gha.test.ts
  • e2e/sample/envilder.aws.json
  • e2e/sample/envilder.azure.json
  • e2e/sample/envilder.json
  • examples/sdk/dotnet/1_configuration.cs
  • examples/sdk/dotnet/2_fluent.cs
  • examples/sdk/dotnet/3_env_routing.cs
  • examples/sdk/dotnet/4_validation.cs
  • examples/sdk/dotnet/5_load.cs
  • examples/sdk/dotnet/6_resolve.cs
  • examples/sdk/dotnet/README.md
  • examples/sdk/nodejs/1_fluent.ts
  • examples/sdk/nodejs/2_env_routing.ts
  • examples/sdk/nodejs/3_validation.ts
  • examples/sdk/nodejs/4_load.ts
  • examples/sdk/nodejs/5_resolve.ts
  • examples/sdk/nodejs/README.md
  • examples/sdk/python/1_fluent.py
  • examples/sdk/python/2_env_routing.py
  • examples/sdk/python/3_validation.py
  • examples/sdk/python/4_load.py
  • examples/sdk/python/5_resolve.py
  • examples/sdk/python/README.md
  • src/envilder/apps/cli/Cli.ts
  • src/sdks/dotnet/Application/Envilder.cs
  • src/sdks/dotnet/Application/EnvilderBuilder.cs
  • src/sdks/dotnet/Application/SecretValidationExtensions.cs
  • src/sdks/dotnet/README.md
  • src/sdks/nodejs/README.md
  • src/sdks/nodejs/src/application/envilder.ts
  • src/sdks/python/README.md
  • src/sdks/python/envilder/application/envilder_client.py
  • src/sdks/python/envilder/application/envilder_facade.py
  • src/sdks/python/envilder/application/map_file_parser.py
  • src/sdks/python/envilder/application/secret_validation.py
  • src/website/src/components/DocsContent.astro
  • src/website/src/components/GetStarted.astro
  • src/website/src/components/GitHubAction.astro
  • src/website/src/components/Hero.astro
  • src/website/src/components/HowItWorks.astro
  • src/website/src/components/Providers.astro
  • src/website/src/components/Sdks.astro
  • src/website/src/i18n/ca.ts
  • src/website/src/i18n/en.ts
  • src/website/src/i18n/es.ts
  • tests/envilder/core/application/pullSecretsToEnv/PullSecretsToEnvCommandHandler.test.ts
  • tests/sdks/dotnet/EndToEnd/ConsumerExperienceTests.cs
  • tests/sdks/dotnet/Envilder.Tests.csproj
  • tests/sdks/dotnet/Fixtures/LocalStackFixture.cs
  • tests/sdks/dotnet/envilder.json
  • tests/sdks/nodejs/application/envilder.test.ts
  • tests/sdks/nodejs/containers/localstack-container.ts
  • tests/sdks/python/application/test_envilder_facade.py
  • tests/sdks/python/containers/localstack_container.py
  • tests/sdks/python/envilder.json
  • tests/website/utils/markdown.test.ts

Comment thread e2e/cli.test.ts
Comment thread e2e/gha.test.ts
Comment thread src/website/src/i18n/en.ts Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR standardizes Envilder map-file naming across the repo to envilder.json / envilder.*.json to enable SchemaStore fileMatch integration and provide a consistent, recognizable convention for users and tooling.

Changes:

  • Renamed map-file fixtures/examples to envilder.json and provider/environment variants like envilder.aws.json / envilder.azure.json.
  • Updated references across CLI help, E2E tests, SDK docs/examples, website content, and internal skills/docs to the new filenames.
  • Rebuilt/verified supporting workflows and tooling entrypoints that reference map files.

Reviewed changes

Copilot reviewed 77 out of 83 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
vitest.global-setup.ts Uses envilder.json when generating local .env
tests/website/utils/markdown.test.ts Updates embedded markdown examples
tests/sdks/python/envilder.json Renamed Python SDK test fixture map file
tests/sdks/python/containers/localstack_container.py Points container to envilder.json
tests/sdks/python/application/test_envilder_facade.py Updates Python unit test map path
tests/sdks/nodejs/containers/localstack-container.ts Points container to root envilder.json
tests/sdks/nodejs/application/envilder.test.ts Updates Node SDK tests to envilder.json
tests/sdks/dotnet/Fixtures/LocalStackFixture.cs Updates embedded resource filename
tests/sdks/dotnet/Envilder.Tests.csproj Embeds envilder.json instead of old name
tests/sdks/dotnet/envilder.json Renamed .NET SDK test fixture map file
tests/sdks/dotnet/EndToEnd/ConsumerExperienceTests.cs Updates missing-file test path
tests/envilder/core/application/pullSecretsToEnv/PullSecretsToEnvCommandHandler.test.ts Updates test map path string
src/website/src/i18n/es.ts Updates Spanish copy/examples to envilder.json
src/website/src/i18n/en.ts Updates English copy/examples to envilder.json
src/website/src/i18n/ca.ts Updates Catalan copy/examples to envilder.json
src/website/src/components/Sdks.astro Updates SDK snippets to envilder.json
src/website/src/components/Providers.astro Updates provider snippets/filenames
src/website/src/components/HowItWorks.astro Updates “How it works” snippets/commands
src/website/src/components/Hero.astro Updates hero terminal mock text
src/website/src/components/GitHubAction.astro Updates GHA snippet map-file value
src/website/src/components/GetStarted.astro Updates terminal mock steps/filenames
src/website/src/components/DocsContent.astro Updates docs page code blocks/commands
src/sdks/python/README.md Updates Python SDK README examples
src/sdks/python/envilder/application/secret_validation.py Updates docstring example path
src/sdks/python/envilder/application/map_file_parser.py Updates docstring example path
src/sdks/python/envilder/application/envilder_facade.py Updates docstring examples
src/sdks/python/envilder/application/envilder_client.py Updates docstring example path
src/sdks/nodejs/src/application/envilder.ts Updates JSDoc examples
src/sdks/nodejs/README.md Updates Node SDK README examples
src/sdks/dotnet/README.md Updates .NET SDK README examples
src/sdks/dotnet/Application/SecretValidationExtensions.cs Updates XML doc examples
src/sdks/dotnet/Application/EnvilderBuilder.cs Updates XML doc example
src/sdks/dotnet/Application/Envilder.cs Updates XML doc examples
src/envilder/apps/cli/Cli.ts Updates CLI help text examples
ROADMAP.md Updates roadmap references to canonical filename
README.md Updates repo README examples and terminology
package.json Updates scripts referencing map files
github-action/README.md Updates GHA README examples and troubleshooting
examples/sdk/python/README.md Updates example README link/reference
examples/sdk/python/5_resolve.py Updates example map path
examples/sdk/python/4_load.py Updates example map path
examples/sdk/python/3_validation.py Updates example map path
examples/sdk/python/2_env_routing.py Updates example map path mapping
examples/sdk/python/1_fluent.py Updates example map path
examples/sdk/nodejs/README.md Updates example README link/reference
examples/sdk/nodejs/5_resolve.ts Updates example map path
examples/sdk/nodejs/4_load.ts Updates example map path
examples/sdk/nodejs/3_validation.ts Updates example map path
examples/sdk/nodejs/2_env_routing.ts Updates example map path mapping
examples/sdk/nodejs/1_fluent.ts Updates example map path
examples/sdk/dotnet/README.md Updates example README link/reference
examples/sdk/dotnet/6_resolve.cs Updates example map path
examples/sdk/dotnet/5_load.cs Updates example map path
examples/sdk/dotnet/4_validation.cs Updates example map path
examples/sdk/dotnet/3_env_routing.cs Updates example map path mapping
examples/sdk/dotnet/2_fluent.cs Updates example map path
examples/sdk/dotnet/1_configuration.cs Updates example map path + parser read
envilder.json New canonical root example map file (includes $schema)
e2e/sample/envilder.json Renamed E2E sample map file
e2e/sample/envilder.azure.json Renamed E2E sample Azure-config map file
e2e/sample/envilder.aws.json Renamed E2E sample AWS-config map file
e2e/gha.test.ts Updates E2E test fixture paths
e2e/cli.test.ts Updates E2E dynamic filenames
docs/requirements-installation.md Updates CLI examples
docs/push-command.md Updates push docs examples and labels
docs/pull-command.md Updates pull docs examples and labels
docs/github-action.md Updates GHA docs examples and labels
docs/conventional-commits.md Updates example commit message text
docs/changelogs/sdk-python.md Updates changelog wording/example name
docs/changelogs/sdk-dotnet.md Updates changelog wording/example name
docs/changelogs/cli.md Updates changelog snippets to new filename
docs/architecture/adr/0008-map-file-schema.md Updates ADR examples to new pattern
docs/architecture/adr/0001-sdk-acceptance-test-infrastructure.md Updates ADR terminology to new canonical file
.github/workflows/test-action.yml Updates workflow test fixture path
.github/workflows/publish-action.yml Updates publish workflow example snippet
.github/skills/website-i18n/SKILL.md Updates token list to envilder.json
.github/skills/website-content-strategy/SKILL.md Updates content guidance references
.github/skills/sdk-acceptance-testing/SKILL.md Updates acceptance-testing guidance references
.github/skills/doc-sync/SKILL.md Updates doc-sync “authoritative source” reference
.github/skills/common-security/SKILL.md Updates security guidance references
.github/skills/common-architecture-decisions/SKILL.md Updates ADR index wording
.github/copilot-instructions.md Updates internal contributor instructions reference
.github/agents/content-designer.agent.md Updates content-designer token list
Comments suppressed due to low confidence (1)

src/website/src/components/Providers.astro:96

  • This “coming soon” GCP block includes a concrete $config.provider: "gcp" example and a runnable envilder --provider=gcp ... command, but the CLI currently only supports aws and azure. This is likely to mislead users; either remove the command/config snippet, or add a clear note that GCP is not supported yet and keep the example explicitly non-runnable.

Comment thread .github/copilot-instructions.md Outdated
Comment thread src/website/src/i18n/en.ts
Comment thread src/website/src/i18n/en.ts
Comment thread README.md Outdated
Comment thread docs/github-action.md Outdated
Copilot AI review requested due to automatic review settings May 5, 2026 07:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 79 out of 86 changed files in this pull request and generated 5 comments.

Comment thread src/website/src/i18n/en.ts Outdated
Comment thread src/website/src/i18n/en.ts
Comment thread .github/copilot-instructions.md Outdated
Comment thread src/website/src/components/Providers.astro
Comment thread e2e/cli.test.ts
macalbert and others added 2 commits May 5, 2026 10:43
Co-authored-by: Copilot <copilot@github.com>
- Fix 'a envilder.json' → 'an envilder.json' (English grammar)
- Fix copilot-instructions path: tests/sample → e2e/sample
Copilot AI review requested due to automatic review settings May 5, 2026 09:12

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
examples/sdk/dotnet/1_configuration.cs (1)

11-14: ⚡ Quick win

Use a single constant for the map-file path (Line 11, Line 14).

The same relative path is duplicated; centralizing it avoids accidental divergence.

Proposed refactor
+const string mapFilePath = "../../../envilder.json";
+
 var config = new ConfigurationBuilder()
-    .AddEnvilder("../../../envilder.json")
+    .AddEnvilder(mapFilePath)
     .Build();
 
-var mapFile = new MapFileParser().Parse(File.ReadAllText("../../../envilder.json"));
+var mapFile = new MapFileParser().Parse(File.ReadAllText(mapFilePath));
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@examples/sdk/dotnet/1_configuration.cs` around lines 11 - 14, The relative
path "../../../envilder.json" is duplicated; define a single constant (e.g., var
envilderPath = "../../../envilder.json") and use that constant in the fluent
call to .AddEnvilder(envilderPath) and when calling new
MapFileParser().Parse(File.ReadAllText(envilderPath)) so both uses reference the
same symbol and avoid divergence.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@examples/sdk/dotnet/1_configuration.cs`:
- Around line 11-14: The relative path "../../../envilder.json" is duplicated;
define a single constant (e.g., var envilderPath = "../../../envilder.json") and
use that constant in the fluent call to .AddEnvilder(envilderPath) and when
calling new MapFileParser().Parse(File.ReadAllText(envilderPath)) so both uses
reference the same symbol and avoid divergence.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 41f58018-21f8-4b7b-82c0-55ede4d4dd40

📥 Commits

Reviewing files that changed from the base of the PR and between d15d65c and 3728018.

⛔ Files ignored due to path filters (5)
  • .github/copilot-instructions.md is excluded by none and included by none
  • .github/instructions/git-conventions.instructions.md is excluded by none and included by none
  • README.md is excluded by none and included by none
  • lefthook.yml is excluded by none and included by none
  • src/sdks/python/uv.lock is excluded by !**/*.lock and included by src/**
📒 Files selected for processing (14)
  • docs/github-action.md
  • examples/sdk/dotnet/1_configuration.cs
  • examples/sdk/dotnet/2_fluent.cs
  • examples/sdk/dotnet/3_env_routing.cs
  • examples/sdk/dotnet/4_validation.cs
  • examples/sdk/dotnet/5_load.cs
  • examples/sdk/dotnet/6_resolve.cs
  • examples/sdk/nodejs/package.json
  • examples/sdk/python/1_fluent.py
  • examples/sdk/python/2_env_routing.py
  • examples/sdk/python/3_validation.py
  • examples/sdk/python/4_load.py
  • examples/sdk/python/5_resolve.py
  • src/website/src/i18n/en.ts
✅ Files skipped from review due to trivial changes (7)
  • examples/sdk/python/4_load.py
  • examples/sdk/dotnet/2_fluent.cs
  • examples/sdk/nodejs/package.json
  • examples/sdk/dotnet/4_validation.cs
  • examples/sdk/python/5_resolve.py
  • src/website/src/i18n/en.ts
  • docs/github-action.md
🚧 Files skipped from review as they are similar to previous changes (5)
  • examples/sdk/dotnet/5_load.cs
  • examples/sdk/dotnet/6_resolve.cs
  • examples/sdk/python/3_validation.py
  • examples/sdk/python/2_env_routing.py
  • examples/sdk/dotnet/3_env_routing.cs

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 80 out of 87 changed files in this pull request and generated 5 comments.

Comment thread tests/sdks/python/containers/localstack_container.py Outdated
Comment thread tests/sdks/dotnet/Envilder.Tests.csproj Outdated
Comment thread .github/skills/sdk-acceptance-testing/SKILL.md
Comment thread docs/architecture/adr/0001-sdk-acceptance-test-infrastructure.md
Comment thread lefthook.yml
- Remove per-SDK copies (tests/sdks/dotnet/, tests/sdks/python/)
- .NET: EmbeddedResource Link to root file
- Python: resolve path to repo root via parents[4]
- Fix lefthook: replace make targets with direct commands,
  remove parallel (race condition), remove redundant pre-push
- Aligns with ADR-0001 single-fixture approach
@macalbert
macalbert merged commit 98a9d8c into main May 5, 2026
17 of 18 checks passed
@macalbert
macalbert deleted the refactor/envilder-json-naming branch May 5, 2026 20:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor: adopt envilder.json naming convention for map files

2 participants