Bootstrap arcade-services for agentic coding#6386
Conversation
There was a problem hiding this comment.
Pull request overview
Adds agent-focused bootstrap documentation and scaffolding to improve AI-assisted/agentic engineering in dotnet/arcade-services, including repo orientation, verification scripts, and Copilot agent/prompt/instruction metadata.
Changes:
- Add
AGENTS.mdguidance at repo root and undersrc// PCS for scoped orientation and local-run notes. - Add repeatable verification and command guardrail scripts (
scripts/verify*,scripts/security-check*) plus a Copilot hook config. - Add Copilot/agent assets (
.github/agents,.github/instructions,.github/prompts,.github/skills) and a workflow for setup steps.
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
AGENTS.md |
New root agent guidance (verification, environment, guardrails, constraints). |
src/AGENTS.md |
src/ project map to orient agents across DARC/Maestro/PCS. |
src/ProductConstructionService/AGENTS.md |
PCS-specific run instructions + conventions + safety notes. |
scripts/verify |
New bash “health check” build+test helper. |
scripts/verify.ps1 |
New PowerShell “health check” build+test helper. |
scripts/security-check.sh |
New bash pre-command guardrail script (block destructive patterns). |
scripts/security-check.ps1 |
New PowerShell pre-command guardrail script (block destructive patterns). |
.github/hooks/security.json |
Registers pre-tool-use command hooks to run the security checks. |
.github/workflows/copilot-setup-steps.yml |
New workflow to run restore steps for Copilot setup. |
.github/copilot-instructions.md |
Updates runtime references from .NET 8 to .NET 10. |
.github/instructions/testing.instructions.md |
Adds test-writing conventions for test/**/*.cs. |
.github/instructions/ef-migrations.instructions.md |
Adds EF migration guardrails for generated files. |
.github/prompts/generate-tests.prompt.md |
Adds a reusable prompt for generating NUnit tests. |
.github/skills/add-darc-command/SKILL.md |
Adds a skill doc for adding new DARC CLI verbs. |
.github/agents/test-specialist.agent.md |
Adds a test-focused agent persona/config. |
.github/agents/planner.agent.md |
Adds a planning-focused agent persona/config. |
.github/copilot-setup-steps.yml |
Removes legacy setup-steps file (replaced by workflow). |
.gitignore |
Adds a trailing blank line (no functional impact). |
| $ErrorActionPreference = 'Stop' | ||
| # Verify: repeatable health check. Assumes the required .NET SDK (see global.json) is installed. | ||
| dotnet build | ||
| if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } | ||
| dotnet test --no-build | ||
| if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } |
There was a problem hiding this comment.
I prefer using global dotnet tbh. I find it works better for me
| permissions: | ||
| contents: read | ||
| id-token: write |
| #!/usr/bin/env bash | ||
| set -euo pipefail | ||
| # Block destructive commands — customize this blocklist for your repo | ||
| BLOCKED_PATTERNS=("rm -rf /" "DROP DATABASE" "format C:" "mkfs" "git push --force") | ||
| for pattern in "${BLOCKED_PATTERNS[@]}"; do | ||
| if echo "$*" | grep -qi "$pattern"; then | ||
| echo "❌ Blocked: destructive pattern detected ($pattern)" >&2 | ||
| exit 1 | ||
| fi | ||
| done |
| # Verify: repeatable health check. Assumes the required .NET SDK (see global.json) is installed. | ||
| dotnet build | ||
| if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } | ||
| dotnet test --no-build |
There was a problem hiding this comment.
Will this mean it's going to run this to verify the state? If yes, this is probably too much as the codeflow tests and scenario tests run for quite long
| @@ -0,0 +1,14 @@ | |||
| # AGENTS.md — Product Construction Service (PCS) | |||
There was a problem hiding this comment.
Can we have a setup agent that would follow DevGuide and prepare your env from zero?
#6389