plugin: add installable dotnet skills#52
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (9)
📒 Files selected for processing (22)
✅ Files skipped from review due to trivial changes (18)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThis PR enables the dotnet-skills plugin in the marketplace, adds/updates plugin metadata and branding, introduces twelve SKILL.md workflow documents for .NET (F# and C# parity), updates release and install-test procedures, extends manifest validation for interface assets, adds tests, and bumps package/plugin versions. ChangesDotnet Skills Plugin Release
🎯 4 (Complex) | ⏱️ ~60 minutes
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@plugins/dotnet-skills/skills/ci-workflow/SKILL.md`:
- Line 97: Replace the ambiguous glob patterns `**.fs`, `**.fsproj`, `**.cs`,
and `**.csproj` with standard recursive globs `**/*.fs`, `**/*.fsproj`,
`**/*.cs`, and `**/*.csproj` in the SKILL.md examples that demonstrate GitHub
Actions path filters (e.g., the `on.push.paths` / `paths-ignore` examples);
update the example text so the path-filter snippets show `**/*.ext` form to
ensure recursive matches and avoid CI trigger gaps.
🪄 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: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: a8b27463-ab33-49a1-8144-af15d5cdde81
📒 Files selected for processing (23)
.agents/plugins/marketplace.jsonCONTRIBUTING.mdREADME.mdROADMAP.mddocs/maintainers/dotnet-skills-plugin-plan.mddocs/maintainers/plugin-install-testing.mddocs/maintainers/release-modes.mdplugins/dotnet-skills/.codex-plugin/plugin.jsonplugins/dotnet-skills/AGENTS.mdplugins/dotnet-skills/skills/aspnet-core-service-workflow/SKILL.mdplugins/dotnet-skills/skills/bootstrap-solution/SKILL.mdplugins/dotnet-skills/skills/build-csharp-project/SKILL.mdplugins/dotnet-skills/skills/build-fsharp-project/SKILL.mdplugins/dotnet-skills/skills/choose-project-shape/SKILL.mdplugins/dotnet-skills/skills/ci-workflow/SKILL.mdplugins/dotnet-skills/skills/diagnose-project/SKILL.mdplugins/dotnet-skills/skills/fsharp-csharp-interop/SKILL.mdplugins/dotnet-skills/skills/package-workflow/SKILL.mdplugins/dotnet-skills/skills/testing-workflow/SKILL.mdplugins/dotnet-skills/skills/tooling-style-workflow/SKILL.mdplugins/dotnet-skills/skills/upgrade-workflow/SKILL.mdtests/test_swiftasb_skills_install.pytests/test_validate_socket_metadata.py
|
|
||
| For mixed solutions: | ||
|
|
||
| - include `**.fs`, `**.fsproj`, `**.cs`, and `**.csproj` in path filters when filters are used |
There was a problem hiding this comment.
Use standard recursive file globs in path-filter examples.
**.fs / **.cs are ambiguous for GitHub Actions path filters and can miss expected matches. Use **/*.fs and **/*.cs (and same shape for project files) to avoid CI trigger gaps.
Suggested doc fix
-- include `**.fs`, `**.fsproj`, `**.cs`, and `**.csproj` in path filters when filters are used
+- include `**/*.fs`, `**/*.fsproj`, `**/*.cs`, and `**/*.csproj` in path filters when filters are usedIn GitHub Actions `on.push.paths` / `paths-ignore`, what is the documented glob pattern to match files recursively by extension (for example, all `.fs` or `.cs` files)?
As per coding guidelines, “For validation guidance, prefer the narrowest relevant dotnet restore, dotnet build, dotnet test, or dotnet pack command for the project shape.”
🤖 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 `@plugins/dotnet-skills/skills/ci-workflow/SKILL.md` at line 97, Replace the
ambiguous glob patterns `**.fs`, `**.fsproj`, `**.cs`, and `**.csproj` with
standard recursive globs `**/*.fs`, `**/*.fsproj`, `**/*.cs`, and `**/*.csproj`
in the SKILL.md examples that demonstrate GitHub Actions path filters (e.g., the
`on.push.paths` / `paths-ignore` examples); update the example text so the
path-filter snippets show `**/*.ext` form to ensure recursive matches and avoid
CI trigger gaps.
Summary
dotnet-skillsfrom a placeholder into an installable Socket child pluginCODEX_HOMEplugin smoke checks before releases that change marketplace or plugin payloadsReview
No blocking review findings remain from the local pass. The main issue found during review was that the bootstrap recipes used
dotnet new xunitwhile the plan said not to declare a default test framework. That is now resolved by explicitly documenting xUnit as the recommended scaffold default for new F# and C# test projects while preserving existing repo test frameworks.The release-prep pass also found that Socket did not validate plugin interface asset paths. The validator now checks
composerIcon,logo, andscreenshotsasset references so missing icon files are caught before release..NET Alignment Report
The plugin guidance is aligned with documented .NET practice around the
dotnetCLI as the stable command surface. It uses official Microsoft documentation for CLI commands, F#, C#, ASP.NET Core, testing, packaging, formatting, CI, and upgrades. It treats F# and C# as peer languages in metadata, skill descriptions, bootstrap guidance, testing, package guidance, diagnostics, and mixed-language interop. It keeps package publication and release automation explicit instead of letting package validation imply publication.Covered surfaces include:
dotnet testworkflows with xUnit recommended for new scaffoldsdotnet packpackage validation without publishing by defaultVerification
uv run scripts/validate_socket_metadata.pyuv run pytestgit diff --checkCODEX_HOMEmarketplace smoke check withcodex plugin marketplace add /Users/galew/Workspace/gaelic-ghost/socketDOTNET_CLI_HOME=/private/tmp/socket-dotnet-home dotnet new xunit --helpDOTNET_CLI_HOME=/private/tmp/socket-dotnet-home dotnet new xunit --help --language F#Summary by CodeRabbit