Repository navigation
chore: modernize repository AI guidance - #2216
Merged
Merged
Conversation
Restructure Copilot and agent customization into a layered guidance model: a concise repository baseline, path-specific instructions, reusable skills, and thin custom agents. - Add AGENTS.md for cross-agent repository orientation - Trim .github/copilot-instructions.md to a concise universal baseline - Add path-specific instructions for tests, examples, generated API baselines, and workflows - Extract client integration guidance into the client-integration-authoring skill and reduce both creator agents to thin roles - Remove the stale chat mode and personal prompt files - Correct CI guidance to tests.yaml and the dynamic --json test list - Give the Copilot cloud agent a deterministic .NET and Aspire CLI setup - Refresh setup docs for .NET 10 and Java 21 Fixes: #1575 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.sh | bash -s -- 2216Or
iex "& { $(irm https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.ps1) } 2216" |
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The new agents grant all available tools, while the layered guidance still contains duplicated and contradictory rules.
Review effort: Balanced
Findings: 2
Open (4)
What changed in this PR
Modernizes repository AI guidance into layered instructions, focused skills, and slimmer agents while updating setup and CI documentation.
Changes:
- Adds repository-wide and path-scoped contributor guidance.
- Introduces client-integration authoring skills and removes legacy prompts/chat mode.
- Updates Copilot setup tooling, runtime documentation, and dynamic test-matrix guidance.
| File | Description |
|---|---|
AGENTS.md |
Adds cross-agent repository orientation. |
.github/copilot-instructions.md |
Reduces universal Copilot guidance. |
.github/instructions/workflows.instructions.md |
Adds workflow-specific guidance. |
.github/instructions/tests.instructions.md |
Adds test-specific guidance. |
.github/instructions/generated-api.instructions.md |
Protects generated API baselines. |
.github/instructions/examples.instructions.md |
Adds example-project guidance. |
.github/workflows/copilot-setup-steps.yml |
Installs .NET, Aspire CLI, and dependencies. |
.github/agents/hosting-integration-creator.agent.md |
Delegates hosting authoring to skills. |
.github/agents/client-integration-creator.agent.md |
Delegates client authoring to its new skill. |
.agents/skills/client-integration-authoring/SKILL.md |
Defines client-integration authoring workflow. |
.agents/skills/client-integration-authoring/references/patterns.md |
Documents supported client patterns. |
.agents/skills/client-integration-authoring/references/testing-and-documentation.md |
Documents testing and README expectations. |
.agents/skills/hosting-integration-authoring/resources/testing-and-readmes.md |
Corrects test-matrix guidance. |
docs/setup.md |
Updates runtime and port-forwarding setup. |
docs/create-integration.md |
Documents dynamic test discovery. |
.github/chatmodes/New Aspire Hosting integration.chatmode.md |
Removes obsolete hosting chat mode. |
.github/prompts/my-pull-requests.prompt.md |
Removes personal PR helper prompt. |
.github/prompts/my-issues.prompt.md |
Removes personal issue helper prompt. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Clarify error handling for client construction and improve documentation requirements. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Contributor
|
This branch was successfully deployed
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.


Closes #1575
Fixes: #1575
Our AI customization had drifted: a single long
copilot-instructions.mdmixed universal rules with narrow task detail, a stale.chatmode.mdduplicated the hosting agent, prompt files were personal work-queue helpers rather than shared workflows, and several files pointed at atests.ymlworkflow that does not exist. This reorganizes everything into a layered model so each agent session loads the smallest guidance that is actually relevant.The layering follows GitHub's documented precedence.
.github/copilot-instructions.mdstays the universal baseline because it has the broadest Copilot surface support,AGENTS.mdadds orientation for Copilot CLI/App and non-Copilot agents without duplicating it, and.github/instructions/holds path-scoped rules fortests/**,examples/**,**/api/*.cs, and.github/workflows/**.Client integration guidance moved out of the agent file and into a new
client-integration-authoringskill. The previous agent encoded one rigid template, which does not match reality: KurrentDB is singleton with keyed registration and health checks, DuckDB is scoped, OllamaSharp isHttpClientplus a fluent builder, and SurrealDb uses SDK-managed registration. The skill is classification-first, so it asks what shape the client actually is before authoring. Both creator agents are now thin roles that delegate to their skill.Two fixes worth calling out:
.github/workflows/tests.yaml, which builds its matrix dynamically. Contributors no longer need to paste a static list; they just verify discovery withgenerate-test-list-for-workflow.sh --json.copilot-setup-steps.ymlpreviously only installed gh-aw, so cloud agent sessions started without a usable .NET toolchain. It now installs .NET 8/9/10, resolves the Aspire version fromDirectory.Build.props, verifies the installed CLI matches, and restores. The steps are inlined rather than reusingsetup-runtimes-cachingbecause that composite requires Docker credentials and installs the full polyglot environment, which is too broad for every session.Repository code-graph tooling discussed in the issue is intentionally out of scope per the decision on the issue thread.
PR Checklist
Other information
No shipping code changes, so validation focused on the guidance and workflow files:
dotnet restore- passed./eng/testing/generate-test-list-for-workflow.sh --json- passed, confirming the dynamic matrix guidance is accuratepython -c "yaml.safe_load(...)"oncopilot-setup-steps.yml- parsed successfullygit diff --check- cleantests.yml,.github/chatmodes,.github/prompts, and the removed prompt names - no remaining referencesThe removed
my-issuesandmy-pull-requestsprompt files were personal work-queue helpers rather than shared engineering workflows, and prompt files are deprecated for Agent Host sessions, so they were deleted rather than migrated.setup.mdalso picked up small accuracy fixes (.NET 10, Java 21 to match the dev container, and a stale "Aspire 9.1 fix" port-forwarding note).