AI/copilot uplift#146
Open
chullybun wants to merge 55 commits into
Open
Conversation
Review coreex.expect agent. Add AGENTS.md to all packages.
There was a problem hiding this comment.
Pull request overview
This PR uplifts the repository’s AI/developer guidance by packaging per-NuGet AGENTS.md files, expanding/refreshing Copilot instruction sets and skills documentation, and aligning sample contracts/documentation with the updated conventions.
Changes:
- Pack per-package
README.mdand newAGENTS.mdfiles into NuGet packages for AI tooling consumption. - Refresh
.github/instructions/*guidance (services, repositories, validators, hosts, tests, subscribers, tooling) and update thecoreex-expertagent source list. - Minor sample/doc updates (e.g.,
[Contract]on sample contracts; application-layer docs wording; various README touch-ups).
Reviewed changes
Copilot reviewed 53 out of 54 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Directory.Build.props | Packs per-package README.md + AGENTS.md into NuGet when present. |
| src/CoreEx/README.md | Expands error/exception documentation and adds AI usage guide note. |
| src/CoreEx/AGENTS.md | Adds CoreEx AI usage guide (exceptions, ExecutionContext, Result<T>, etc.). |
| src/CoreEx.Validation/README.md | Adds AI usage guide note. |
| src/CoreEx.Validation/AGENTS.md | Adds validation AI usage guide and examples. |
| src/CoreEx.UnitTesting/README.md | Adds AI usage guide note. |
| src/CoreEx.UnitTesting/AGENTS.md | Adds unit testing AI usage guide (expectations, seeding, etc.). |
| src/CoreEx.RefData/README.md | Adds AI usage guide note. |
| src/CoreEx.RefData/AGENTS.md | Adds reference data AI usage guide (CodeGen-first approach). |
| src/CoreEx.Events/README.md | Adds AI usage guide note. |
| src/CoreEx.Events/AGENTS.md | Adds events AI usage guide (outbox/queueing patterns). |
| src/CoreEx.EntityFrameworkCore/README.md | Fixes a duplicated line and adds AI usage guide note. |
| src/CoreEx.EntityFrameworkCore/AGENTS.md | Adds EF Core integration AI usage guide. |
| src/CoreEx.DomainDriven/README.md | Adds AI usage guide note. |
| src/CoreEx.DomainDriven/AGENTS.md | Adds DDD AI usage guide (entities/aggregates/persistence state). |
| src/CoreEx.Database/README.md | Adds AI usage guide note. |
| src/CoreEx.Database/AGENTS.md | Adds database AI usage guide (IDatabase/command/mappers/error conventions). |
| src/CoreEx.Database.SqlServer/README.md | Adds AI usage guide note. |
| src/CoreEx.Database.SqlServer/AGENTS.md | Adds SQL Server AI usage guide (session context/outbox). |
| src/CoreEx.Database.Postgres/README.md | Adds AI usage guide note. |
| src/CoreEx.Database.Postgres/AGENTS.md | Adds Postgres AI usage guide (outbox/error code conventions). |
| src/CoreEx.Data/README.md | Adds AI usage guide note. |
| src/CoreEx.Data/AGENTS.md | Adds data/UoW AI usage guide (TransactionAsync, QueryArgsConfig). |
| src/CoreEx.CodeGen/README.md | Adds AI usage guide note. |
| src/CoreEx.CodeGen/AGENTS.md | Adds CodeGen AI usage guide (ref-data yaml, generated ownership). |
| src/CoreEx.Caching.FusionCache/README.md | Adds AI usage guide note. |
| src/CoreEx.Caching.FusionCache/AGENTS.md | Adds FusionCache AI usage guide (IHybridCache, registration). |
| src/CoreEx.Azure.Messaging.ServiceBus/README.md | Adds AI usage guide note. |
| src/CoreEx.Azure.Messaging.ServiceBus/AGENTS.md | Adds Service Bus AI usage guide (publisher/subscribe host wiring). |
| src/CoreEx.AspNetCore/README.md | Updates ValidationException HTTP mapping wording; adds AI usage guide note. |
| src/CoreEx.AspNetCore/Mvc/README.md | Updates ValidationException mapping wording (422 → 400) in docs. |
| src/CoreEx.AspNetCore/AGENTS.md | Adds ASP.NET Core AI usage guide (WebApi patterns, middleware order). |
| src/CoreEx.AspNetCore.NSwag/README.md | Updates standard ProblemDetails response wording; adds AI usage guide note. |
| src/CoreEx.AspNetCore.NSwag/AGENTS.md | Adds NSwag AI usage guide. |
| samples/src/Contoso.Products.Contracts/ProductReserve.cs | Marks contract as [Contract] + partial. |
| samples/src/Contoso.Products.Contracts/ProductLite.cs | Marks contract as [Contract] + partial. |
| samples/docs/application-layer.md | Clarifies policy purpose (I/O-dependent guard logic). |
| .github/skills/add-capability/SKILL.md | Points to updated tooling instruction doc. |
| .github/skills/add-capability/references/workflow.md | Updates workflow reference to tooling instructions. |
| .github/namespace_readme_template.md | Adds README authoring template for namespace docs. |
| .github/instructions/validators.instructions.md | Expands validator guidance (base class choices, DI, dictionary validators, etc.). |
| .github/instructions/tooling.instructions.md | Introduces combined *.CodeGen + *.Database tooling conventions doc. |
| .github/instructions/tests.instructions.md | Updates testing conventions (outbox helpers, mocking, relay/subscribe patterns). |
| .github/instructions/repositories.instructions.md | Expands infra guidance (EfDb patterns, mapping, adapters/typed clients, etc.). |
| .github/instructions/host-setup.instructions.md | Significantly expands Program.cs host composition guidance by host type. |
| .github/instructions/event-subscribers.instructions.md | Expands subscriber patterns, error handling, and Program.cs wiring guidance. |
| .github/instructions/domain.instructions.md | Adds new domain-layer conventions doc. |
| .github/instructions/database-project.instructions.md | Removes older DB-only conventions doc (replaced by tooling instructions). |
| .github/instructions/contracts.instructions.md | Expands contract guidance (unified API/event surface, generated ownership). |
| .github/instructions/application-services.instructions.md | Expands service orchestration guidance (TransactionAsync, adapters, policies, mapping). |
| .github/instructions/api-controllers.instructions.md | Expands controller guidance (result-based variants, $query schema endpoint). |
| .github/INSTRUCTION_AUTHORING.md | Major update: instruction authoring principles, formatting, and generated-code ownership. |
| .github/copilot-instructions.md | Updates global conventions (layering, tooling, generated ownership, testing notes). |
| .github/agents/coreex-expert.agent.md | Updates agent “sources of truth” list and operating rules. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Eric Sibly [chullybun] <eric@thesiblys.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Eric Sibly [chullybun] <eric@thesiblys.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Eric Sibly [chullybun] <eric@thesiblys.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Eric Sibly [chullybun] <eric@thesiblys.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Eric Sibly [chullybun] <eric@thesiblys.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Eric Sibly [chullybun] <eric@thesiblys.com>
…into es/ai-agent-uplift
Prefix instructions.
…er Compose and Service Bus configuration files
Further instruction tweaks.
… references - Corrected placeholder names for application layer references in API and Subscriber templates. - Updated project reference paths in `app-name.Api.csproj` and `app-name.Subscriber.csproj`. refactor: convert raw template directives to comment syntax - Changed raw C# preprocessor directives to template engine-compatible comment syntax across various files. - Updated `.cs`, `.csproj`, `.yaml`, and `.md` files to ensure proper processing by the template engine. chore: enhance template engine configuration - Added `specialCustomOperations` to `template.json` files for handling comment-based conditionals in multiple file types. fix: correct Result API usage in PlaceholderSubscriber - Updated `PlaceholderSubscriber.cs` to use `Result.Success` property instead of method. test: implement comprehensive template pack validation scripts - Created validation scripts for Windows and Linux/macOS to ensure template quality before publishing. - Added scenarios to validate scaffolding and compilation of generated projects. docs: update TEMPLATE_FIXES_SUMMARY.md with detailed changes and validation steps - Documented all fixes applied to the CoreEx.Template pack, including validation procedures and quality assurance measures.
Resolved merge conflicts: - Removed deleted ReferenceDataService.cs (kept deletion from HEAD) - Kept HEAD version of Program.cs with complete migration configuration Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- GlobalUsing.cs: Keep HEAD version with complete namespaces (NSwag, OpenTelemetry, Redis) - Program.cs: Keep HEAD version with conditional refdata-enabled block Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… and add Phase 2 guide - Remove merge conflict markers from Api and Subscriber Program.cs - Convert template conditionals from '// #if' to '#if' (proper C# syntax) - Defer ReferenceDataService/ReferenceDataRepository registration to post-CodeGen - Remove premature Application layer imports from GlobalUsing files - Add clear comments referencing two-phase bootstrap workflow - Create BOOTSTRAP_PHASE_2.md guide with step-by-step checklist Scaffolded projects now compile immediately at Phase 1 (bootstrap), then require Phase 2 (post-CodeGen) to enable reference-data features. This prevents compilation failures when services/validators don't yet exist. Fixes issues: - Template conditionals now properly resolve at generation time - No merge conflict markers in generated code - Reference-data registrations deferred until after CodeGen runs - Application layer imports only added after services exist Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Move Postgres configuration block inside #elif (implement-postgres) conditional in Api Program.cs - Convert commented conditionals to proper C# preprocessor syntax in Subscriber Program.cs - Remove malformed // #elif and // #endif, replace with #elif and #endif - Ensure all service builder chains are properly nested within their conditionals This prevents conditional logic from being emitted into generated code unexpectedly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…and more stable/consistent consumption - Updated conditional compilation directives in various project files to remove parentheses for consistency and clarity. - Adjusted project references and package references in .csproj files to align with new directive style. - Modified appsettings and documentation files to reflect the updated directive format. - Ensured all relevant files across the CoreEx, Relay, and Subscriber projects are updated accordingly.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Review co-pilot instructions.
Review coreex.expect agent.
Add AGENTS.md to all packages.