Skip to content

chore: SHC -dev package workflows gracefully handle -rc packages BED-7878#215

Merged
lrfalslev merged 11 commits into2.Xfrom
lfalslev/bed-7878
Apr 23, 2026
Merged

chore: SHC -dev package workflows gracefully handle -rc packages BED-7878#215
lrfalslev merged 11 commits into2.Xfrom
lfalslev/bed-7878

Conversation

@lrfalslev
Copy link
Copy Markdown
Contributor

@lrfalslev lrfalslev commented Apr 15, 2026

Description

Rewrite SHC -dev publishing workflow and SH/SHE csprojs to consume -dev packages, while gracefully handling -rc package versions.
Upgrade .net and testing package versions.
Update readmes.

Motivation and Context

This PR addresses: BED-7878

How Has This Been Tested?

See Manual Testing Instructions on ticket.

Screenshots (if appropriate):

Types of changes

  • Chore (a change that does not modify the application functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

Summary by CodeRabbit

  • Chores

    • CI workflow: renamed the build option used during automated builds.
  • Refactor

    • Unified dependency/version configuration to select local binaries, stable, or dev prerelease packages.
    • Added build-time validation for allowed dependency sources and clearer selection logic.
    • Improved build logs to report which dependency source and resolved version/path were chosen.
  • Documentation

    • Updated compilation instructions, examples, and guidance for stable/dev/local resolution and prerelease handling.

@lrfalslev lrfalslev self-assigned this Apr 15, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 15, 2026

Walkthrough

Consolidates Common library selection: introduces CommonLibsVersion + CommonSource with validation and resolved-version logic; switches dependency inclusion between local <Reference> and NuGet <PackageReference>; CI updated to pass CommonSource=Stable; README updated with new build and resolution instructions.

Changes

Cohort / File(s) Summary
CI/CD Workflow
.github/workflows/publish.yml
Changed MSBuild property passed during CI build from -p:CommonLibSource=Release to -p:CommonSource=Stable. Build matrix and packaging/upload steps unchanged.
Project Configuration
Sharphound.csproj
Replaced separate version inputs with CommonLibsVersion; added CommonSource (normalized to _CommonSource) and ValidateCommonSource target; introduced _ResolvedCommonVersion logic (create -dev* wildcard when appropriate); removed previous _UseLocalLibs branching and now uses local <Reference> for Local or <PackageReference> for Dev/Stable; updated build logging to report source and resolution.
Documentation
README.md
Renamed and clarified compilation instructions; documented CommonSource mapping (Dev/Stable/Local), CommonLibsVersion prerelease handling, local _CommonLibPath/_RPCPath requirements, and added dotnet build --tl:off example to show resolution logs.

Sequence Diagram(s)

sequenceDiagram
  participant GH as "GitHub Actions (publish.yml)"
  participant MS as "MSBuild (Sharphound.csproj)"
  participant FS as "Local filesystem (DLLs)"
  participant NuGet as "NuGet registry"
  participant Rel as "Release/upload step"

  GH->>MS: invoke dotnet build -p:CommonSource=...
  rect rgba(100,150,240,0.5)
    MS->>MS: Normalize & Validate `CommonSource` (Dev | Stable | Local)
    MS->>MS: Compute `_ResolvedCommonVersion` (create -dev* wildcard when needed)
    alt _CommonSource == Local
      MS->>FS: Read `_CommonLibPath` / `_RPCPath`
      MS-->>MS: Use `<Reference>` entries with local DLLs
    else
      MS->>NuGet: Resolve `SharpHoundCommon`/`SharpHoundRPC` @ _ResolvedCommonVersion
      MS-->>MS: Use `<PackageReference>` entries
    end
  end
  MS->>Rel: produce package/artifact
  Rel->>GH: upload artifacts and checksums
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐇 I hopped through csproj fields with a curious nose,
swapped flags and versions where the wild dev wind blows.
Local DLL burrow or NuGet flight,
CommonSource chosen, resolution just right.
A twitch, a build, and off the rabbit goes.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: rewriting SHC -dev publishing workflow to handle -rc packages gracefully, directly matching the changeset's core objective.
Description check ✅ Passed The pull request description covers all required sections with appropriate detail: clear description of changes, motivation (BED-7878 ticket link), testing reference, change type selection, and completed checklist items.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ 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 lfalslev/bed-7878

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.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/publish.yml:
- Line 39: The CI step passes the wrong MSBuild property name
(-p:CommonLibSource=Stable) so Sharphound.csproj still reads CommonSource and
uses its default; replace the property with -p:CommonSource=Stable in the
publish step (the dotnet build/dotnet publish invocation that currently sets
CommonLibSource) so the pipeline overrides the project’s CommonSource value
properly for tagged/stable builds.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 21c150f7-95fd-4b3b-bb65-d37b6747940e

📥 Commits

Reviewing files that changed from the base of the PR and between 7faa2bb and f25b546.

📒 Files selected for processing (2)
  • .github/workflows/publish.yml
  • Sharphound.csproj

Comment thread .github/workflows/publish.yml Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.github/workflows/publish.yml (1)

39-39: Consider aligning README flags with the new property name.

The workflow uses CommonSource, but README.md (Line 26-28) still shows CommonLibSource. Updating docs will reduce build-flag confusion.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/publish.yml at line 39, Update README.md to match the
workflow property name: replace references to CommonLibSource with CommonSource
(the property used in the publish workflow and dotnet build call) and adjust any
example build commands or flag documentation to use -p:CommonSource=${VERSION}
(or the existing usage pattern). Ensure any explanatory text, examples, and CI
instructions that mention CommonLibSource are updated to the new symbol
CommonSource so documentation and the publish workflow stay consistent.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/publish.yml:
- Line 39: Update README.md to match the workflow property name: replace
references to CommonLibSource with CommonSource (the property used in the
publish workflow and dotnet build call) and adjust any example build commands or
flag documentation to use -p:CommonSource=${VERSION} (or the existing usage
pattern). Ensure any explanatory text, examples, and CI instructions that
mention CommonLibSource are updated to the new symbol CommonSource so
documentation and the publish workflow stay consistent.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c02f2639-8b13-4cd7-80ac-3c6e0a6a0a4f

📥 Commits

Reviewing files that changed from the base of the PR and between f25b546 and d7e6d58.

📒 Files selected for processing (2)
  • .github/workflows/publish.yml
  • Sharphound.csproj
🚧 Files skipped from review as they are similar to previous changes (1)
  • Sharphound.csproj

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@README.md`:
- Around line 24-27: The README wording is inaccurate about how package versions
are chosen; update the text to state that Sharphound.csproj uses the
CommonLibsVersion MSBuild property to determine the SharpHoundCommon package
version (including any prerelease suffixes like -rc2 or -dev) rather than always
mapping "Dev" to a -dev build from main or "Stable" to the latest release;
change the instructions to explain that passing -p:CommonSource=Stable overrides
the source resolution but the resolved version still comes from
CommonLibsVersion, and reference the CommonLibsVersion property and
Sharphound.csproj so readers know where the resolution logic lives.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6d206fd2-13b4-4580-94af-840d7bfa4444

📥 Commits

Reviewing files that changed from the base of the PR and between d7e6d58 and d1b7bc5.

📒 Files selected for processing (2)
  • README.md
  • Sharphound.csproj
✅ Files skipped from review due to trivial changes (1)
  • Sharphound.csproj

Comment thread README.md Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
Sharphound.csproj (1)

30-36: Clever guard pattern for semver compatibility.

The !$(CommonLibsVersion.Contains('-')) condition is crucial: System.Version.Parse cannot handle semver prerelease suffixes (e.g., -rc2, -dev123), so this guard ensures parsing is only attempted on clean version strings. This is the key fix enabling graceful handling of -rc packages.

Consider adding a brief comment explaining why the - check exists, since it's not immediately obvious that System.Version would fail on prerelease suffixes:

📝 Optional documentation improvement
-    <PropertyGroup Condition="'$(_CommonSource)' == 'dev' AND !$(CommonLibsVersion.Contains('-'))">
-        <!-- Derive the dev version by incrementing the patch of the stable version e.g. 4.6.0 → 4.6.1-dev* -->
+    <!-- Skip derivation when version already has a prerelease suffix (e.g., -rc2, -dev*),
+         as System.Version.Parse cannot handle semver prerelease identifiers -->
+    <PropertyGroup Condition="'$(_CommonSource)' == 'dev' AND !$(CommonLibsVersion.Contains('-'))">
+        <!-- Derive dev version by incrementing patch: 4.6.0 → 4.6.1-dev* -->
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Sharphound.csproj` around lines 30 - 36, Add a short inline comment
explaining the purpose of the guard on the PropertyGroup Condition that uses
!$(CommonLibsVersion.Contains('-')), noting that System.Version::Parse cannot
handle semver prerelease suffixes (e.g., -rc2, -dev123) and therefore the check
prevents parsing such strings; update the comment near the Condition or above
the _Major/_Minor/_Patch property assignments referencing CommonLibsVersion and
System.Version.Parse to make the reason immediately clear to future readers.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@Sharphound.csproj`:
- Around line 30-36: Add a short inline comment explaining the purpose of the
guard on the PropertyGroup Condition that uses
!$(CommonLibsVersion.Contains('-')), noting that System.Version::Parse cannot
handle semver prerelease suffixes (e.g., -rc2, -dev123) and therefore the check
prevents parsing such strings; update the comment near the Condition or above
the _Major/_Minor/_Patch property assignments referencing CommonLibsVersion and
System.Version.Parse to make the reason immediately clear to future readers.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1a1efd4a-3698-4027-8a40-0af35a08ee6e

📥 Commits

Reviewing files that changed from the base of the PR and between d1b7bc5 and 6fe2826.

📒 Files selected for processing (1)
  • Sharphound.csproj

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
README.md (1)

24-26: ⚠️ Potential issue | 🟡 Minor

Default-version wording is still overly absolute

At Line 24, saying default build is the “next -dev prerelease” is inaccurate when CommonLibsVersion is already prerelease (current csproj default is 4.6.0-rc2), which resolves as-is. Please align this sentence with the table/rules below.

Suggested doc tweak
-By default, the project builds against the next prerelease `-dev` version of the
-[SharpHoundCommon Library](https://github.com/SpecterOps/SharpHoundCommon)
-(tracking the v4 branch).
+By default (`CommonSource=Dev`), the project resolves
+[SharpHoundCommon Library](https://github.com/SpecterOps/SharpHoundCommon)
+from `CommonLibsVersion`: prerelease values (for example `-rc`) are used as-is;
+stable values derive the next patch `-dev*` version.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` around lines 24 - 26, The sentence claiming the default build uses
"the next `-dev` prerelease" is too absolute; update the README wording to match
the rules/table: state that the build will use the `CommonLibsVersion` if it is
already a prerelease (e.g., 4.6.0-rc2) and otherwise will resolve to the next
`-dev` prerelease that tracks the v4 branch; reference the term
CommonLibsVersion and the existing table/rules to ensure the sentence describes
both cases rather than always asserting a `-dev` prerelease.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@README.md`:
- Line 17: Update the README text that currently reads ".net sdk" to use the
canonical product casing ".NET SDK"; locate the sentence in the README
containing the phrase ".net sdk" and replace it with ".NET SDK" to ensure
consistent and professional documentation.

---

Duplicate comments:
In `@README.md`:
- Around line 24-26: The sentence claiming the default build uses "the next
`-dev` prerelease" is too absolute; update the README wording to match the
rules/table: state that the build will use the `CommonLibsVersion` if it is
already a prerelease (e.g., 4.6.0-rc2) and otherwise will resolve to the next
`-dev` prerelease that tracks the v4 branch; reference the term
CommonLibsVersion and the existing table/rules to ensure the sentence describes
both cases rather than always asserting a `-dev` prerelease.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a7015525-3410-427e-9855-beaa36491398

📥 Commits

Reviewing files that changed from the base of the PR and between 6fe2826 and 64a5f23.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a 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

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@README.md`:
- Around line 19-22: Add a language identifier to the fenced code block that
contains the two commands ("dotnet restore ." and "dotnet build") in README.md
to satisfy markdownlint MD040; update the opening fence from ``` to something
like ```bash (or ```powershell if preferred) so the code block explicitly
declares the language.
- Line 28: The README uses incorrect MSBuild property names (CommonLibPath and
RPCPath); the project defines _CommonLibPath and _RPCPath, so update the README
to instruct users to override the actual MSBuild properties _CommonLibPath and
_RPCPath when building against local DLLs (e.g., dotnet build
-p:_CommonLibPath=... -p:_RPCPath=... -p:CommonSource=Local) to ensure the
overrides take effect.
- Line 17: Replace the awkward sentence "To build this project, using a .NET SDK
and run the following" in the README with a clear, grammatical instruction such
as "To build this project, install a .NET SDK and run the following:" (or
alternatively "To build this project, use a .NET SDK and run the following:") so
the prerequisite and action are unambiguous.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4c3757b7-1ab5-4594-8330-f4af79648bf9

📥 Commits

Reviewing files that changed from the base of the PR and between 6fe2826 and c47d11d.

📒 Files selected for processing (2)
  • README.md
  • Sharphound.csproj
🚧 Files skipped from review as they are similar to previous changes (1)
  • Sharphound.csproj

Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
README.md (1)

17-17: ⚠️ Potential issue | 🟡 Minor

Fix the grammatical error in the prerequisite sentence.

The phrase "using a .NET SDK run" is grammatically incorrect. It should be "use a .NET SDK and run" to properly connect the prerequisite with the action.

✏️ Suggested correction
-To build this project, using a .NET SDK run the following:
+To build this project, use a .NET SDK and run the following:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 17, The sentence "To build this project, using a .NET SDK
run the following:" is grammatically incorrect; update the README line to a
corrected phrasing such as "To build this project, use a .NET SDK and run the
following:" so the prerequisite ("use a .NET SDK") is properly connected to the
action ("run the following").
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@README.md`:
- Line 17: The sentence "To build this project, using a .NET SDK run the
following:" is grammatically incorrect; update the README line to a corrected
phrasing such as "To build this project, use a .NET SDK and run the following:"
so the prerequisite ("use a .NET SDK") is properly connected to the action ("run
the following").

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 039b50e5-365e-429d-9e31-5566b3f7d817

📥 Commits

Reviewing files that changed from the base of the PR and between c47d11d and 953bafd.

📒 Files selected for processing (1)
  • README.md

Comment thread Sharphound.csproj
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
README.md (1)

17-17: ⚠️ Potential issue | 🟡 Minor

Fix the grammatical error in the build prerequisite sentence.

Line 17 currently reads "using a .NET SDK run" which is not grammatical.

📝 Proposed fix

Choose one of these corrections:

-To build this project, using a .NET SDK run the following:
+To build this project, use a .NET SDK and run the following:

or

-To build this project, using a .NET SDK run the following:
+To build this project, using a .NET SDK, run the following:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 17, Fix the grammatical error in the README by rewording
the build prerequisite sentence: replace "To build this project, using a .NET
SDK run the following:" with a grammatically correct form such as "To build this
project using a .NET SDK, run the following:" (or alternatively "To build this
project, run the following using a .NET SDK:") so the phrase "using a .NET SDK"
properly modifies the clause.
🧹 Nitpick comments (1)
README.md (1)

28-30: Improve readability by varying sentence structure.

Three consecutive sentences begin with "If" (lines 28, 28, and 30), which affects readability. Consider rephrasing to improve flow.

♻️ Suggested rewrite
-If you wish to build against a local copy of the library, ensure the `_CommonLibPath` and `_RPCPath` properties point to the correct DLLs, and run `dotnet build -p:CommonSource=Local`. If `CommonLibsVersion` is set to a pre-release you will also need to remove the -label from the version.
+To build against a local copy of the library, ensure the `_CommonLibPath` and `_RPCPath` properties point to the correct DLLs, and run `dotnet build -p:CommonSource=Local`.

-If `CommonLibsVersion` already contains a prerelease tag (e.g. `4.6.0-rc1`),
+When `CommonLibsVersion` already contains a prerelease tag (e.g. `4.6.0-rc1`),
 that exact version is used as-is for both `Stable` and `Dev` sources.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` around lines 28 - 30, The three consecutive sentences starting
with "If" hurt readability; edit the README text that references _CommonLibPath,
_RPCPath, the dotnet build command (-p:CommonSource=Local), and
CommonLibsVersion so the sentences vary in structure—e.g., combine the DLL path
instruction into one sentence, convert the prerelease version note into a clause
or separate sentence that begins differently (not with "If"), and make the
example about CommonLibsVersion (`4.6.0-rc1`) a supporting phrase or reworded
sentence; keep all original facts and commands but rephrase to avoid
back-to-back "If" sentence starts.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@README.md`:
- Line 28: Remove the confusing sentence about removing the "-label" from a
prerelease version in the local-build paragraph; the docs for local builds
(which mention _CommonLibPath and _RPCPath and using CommonSource=Local) should
not reference CommonLibsVersion because the Sharphound.csproj version-resolution
already excludes local builds via the condition '$(_CommonSource)' != 'local'.
If you want to preserve the prerelease guidance, move a clarified sentence into
the Dev/Stable source section stating that it only applies when CommonSource is
not local (i.e., when '$(_CommonSource)' != 'local') and explain exactly how to
adjust CommonLibsVersion there.

---

Duplicate comments:
In `@README.md`:
- Line 17: Fix the grammatical error in the README by rewording the build
prerequisite sentence: replace "To build this project, using a .NET SDK run the
following:" with a grammatically correct form such as "To build this project
using a .NET SDK, run the following:" (or alternatively "To build this project,
run the following using a .NET SDK:") so the phrase "using a .NET SDK" properly
modifies the clause.

---

Nitpick comments:
In `@README.md`:
- Around line 28-30: The three consecutive sentences starting with "If" hurt
readability; edit the README text that references _CommonLibPath, _RPCPath, the
dotnet build command (-p:CommonSource=Local), and CommonLibsVersion so the
sentences vary in structure—e.g., combine the DLL path instruction into one
sentence, convert the prerelease version note into a clause or separate sentence
that begins differently (not with "If"), and make the example about
CommonLibsVersion (`4.6.0-rc1`) a supporting phrase or reworded sentence; keep
all original facts and commands but rephrase to avoid back-to-back "If" sentence
starts.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0b4cefb7-b60f-4ac2-af07-97695fb16fc7

📥 Commits

Reviewing files that changed from the base of the PR and between 1f565d4 and 5c71b18.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
README.md (1)

17-17: ⚠️ Potential issue | 🟡 Minor

Fix the build prerequisite sentence grammar.

Line 17 is still awkwardly phrased (“To build this project, using a .NET SDK run the following:”). Please reword for clarity.

Suggested edit
-To build this project, using a .NET SDK run the following:
+To build this project, use a .NET SDK and run the following:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 17, The sentence "To build this project, using a .NET SDK
run the following:" is awkward; update the README line containing that exact
phrase to a clearer sentence such as "To build this project using the .NET SDK,
run the following:" (or "To build this project, run the following using the .NET
SDK:") so punctuation and word order are corrected and the intent is
unambiguous.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@README.md`:
- Line 37: Update the table entry for "Local" so it correctly describes that
local mode uses both `_CommonLibPath` and `_RPCPath` (i.e., local Common + RPC
DLLs), not just `SharpHoundCommon` DLLs; locate the row mentioning `Local` and
replace the text to reference both `_CommonLibPath` and `_RPCPath` (or say
"local Common and RPC DLLs") to remove the ambiguity.

---

Duplicate comments:
In `@README.md`:
- Line 17: The sentence "To build this project, using a .NET SDK run the
following:" is awkward; update the README line containing that exact phrase to a
clearer sentence such as "To build this project using the .NET SDK, run the
following:" (or "To build this project, run the following using the .NET SDK:")
so punctuation and word order are corrected and the intent is unambiguous.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: adc79510-2633-428f-ad63-119ac0b1650e

📥 Commits

Reviewing files that changed from the base of the PR and between 5c71b18 and 856e8b3.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md
@lrfalslev lrfalslev merged commit 4dca071 into 2.X Apr 23, 2026
3 checks passed
@lrfalslev lrfalslev deleted the lfalslev/bed-7878 branch April 23, 2026 15:56
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants