Conversation
… in Explainer/PRD generation
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughThis change introduces new procedural documentation and updates to existing instructions for generating Explainers/PRDs, creating and managing task lists, and enforcing stricter build and test protocols. The updates span new rule documents, enhancements to Copilot and project instructions, and expanded contributing guidelines, focusing on process clarity and workflow rigor. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant AI Agent
participant GitHub Issues
User->>AI Agent: Request Explainer/PRD generation
AI Agent->>User: Ask clarifying questions
User->>AI Agent: Provide clarifications
AI Agent->>GitHub Issues: Create Explainer/PRD issue
User->>AI Agent: Request task list from Explainer/PRD
AI Agent->>GitHub Issues: Analyze Explainer/PRD
AI Agent->>User: Propose parent tasks, await confirmation
User->>AI Agent: Confirm or revise tasks
AI Agent->>GitHub Issues: Create parent and sub-task issues
loop For each sub-task
AI Agent->>User: Await approval to start sub-task
User->>AI Agent: Approve sub-task
AI Agent->>GitHub Issues: Mark sub-task in progress
AI Agent->>GitHub Issues: Complete sub-task, mark as done
AI Agent->>User: Pause for next approval
end
AI Agent->>GitHub Issues: Upon all sub-tasks complete, run tests, commit, mark parent task done
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Suggested reviewers
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (6)
✨ Finishing Touches🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
… in Explainer/PRD generation
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferences |
There was a problem hiding this comment.
Actionable comments posted: 5
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (5)
.cursor/rules/create-explainer.md(1 hunks).cursor/rules/generate-tasks.md(1 hunks).cursor/rules/process-task-list.md(1 hunks).github/instructions/project.instructions.md(1 hunks)CONTRIBUTING.md(1 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
**/*.md
📄 CodeRabbit Inference Engine (CONTRIBUTING.md)
All documentation and markdown reports must pass formatting checks. Use a markdown linter if available.
Files:
CONTRIBUTING.md
**/CONTRIBUTING.md
📄 CodeRabbit Inference Engine (CONTRIBUTING.md)
Update contributing guidelines for workflow changes.
Files:
CONTRIBUTING.md
.github/instructions/*
📄 CodeRabbit Inference Engine (.github/copilot-instructions.md)
Update all relevant instruction files in .github/instructions/ when updating guidance
Files:
.github/instructions/project.instructions.md
🧠 Learnings (6)
📓 Common learnings
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Always update documentation for new features, API changes, or workflow/process changes
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {README.md,docs/rules/README.md} : Update README.md and docs/rules/README.md if workflows or rules change
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Update docs/rules/ and README.md if you add or change any analyzer, code fix, or workflow
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {src/Analyzers/AnalyzerReleases.Unshipped.md,docs/rules/**} : Update src/Analyzers/AnalyzerReleases.Unshipped.md and add or update documentation in docs/rules/ for each diagnostic
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Update docs/rules/ and README.md for any analyzer, code fix, or workflow change
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: If adding an analyzer, also add a code fix, a benchmark, and documentation in 'docs/rules'.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to docs/rules/**/*.md : Update 'docs/rules/' for analyzer changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Always check for and follow any new rules in .cursor/rules/, .editorconfig, and .github/copilot-instructions.md before making changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Reference affected analyzer rule IDs in PR descriptions.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to **/CONTRIBUTING.md : Update contributing guidelines for workflow changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: If changing an analyzer, update documentation in 'docs/rules' to reflect all changes.
CONTRIBUTING.md (16)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to **/*.{cs,csproj,sln} : Build with 'dotnet build /p:PedanticMode=true'. All warnings must be treated as errors. PRs that do not build cleanly will be closed.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Build with warnings as errors using 'dotnet build /p:PedanticMode=true'.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to **/CONTRIBUTING.md : Update contributing guidelines for workflow changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to **/*.{cs} : Run 'dotnet format' and commit all changes before submitting a pull request. PRs with formatting issues will be rejected.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to **/*.{cs} : Run Codacy CLI analysis on all changed files and fix all reported issues before submitting the PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to README.md : Update README for significant changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Update docs/rules/ and README.md for any analyzer, code fix, or workflow change
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Summarize all changes in the PR description and cite relevant lines from modified files for clarity.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to tests/Moq.Analyzers.Benchmarks/**/*.cs : Performance-sensitive changes require benchmark validation. Run performance tests locally before submitting PRs and include performance regression analysis in PR description.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to tests/Moq.Analyzers.Test/**/*.cs : Add or update unit tests in tests/Moq.Analyzers.Test/ for every analyzer or code fix change
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Every pull request must include evidence of running code formatting, building with warnings as errors, and running all unit tests (console log/text or screenshots) in the PR description.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to tests/**/*.cs : Run all unit tests using 'dotnet test --settings ./build/targets/tests/test.runsettings'. All tests must pass.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Run dotnet test (all must pass)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Ensure all changes are covered by tests and documentation before committing.
.github/instructions/project.instructions.md (14)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to **/*.{cs,csproj,sln} : Build with 'dotnet build /p:PedanticMode=true'. All warnings must be treated as errors. PRs that do not build cleanly will be closed.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Build with warnings as errors using 'dotnet build /p:PedanticMode=true'.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to **/*.{cs} : Run 'dotnet format' and commit all changes before submitting a pull request. PRs with formatting issues will be rejected.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to **/*.{cs} : Run Codacy CLI analysis on all changed files and fix all reported issues before submitting the PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Summarize all changes in the PR description and cite relevant lines from modified files for clarity.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to tests/Moq.Analyzers.Benchmarks/**/*.cs : Performance-sensitive changes require benchmark validation. Run performance tests locally before submitting PRs and include performance regression analysis in PR description.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to tests/**/*.cs : Run all unit tests using 'dotnet test --settings ./build/targets/tests/test.runsettings'. All tests must pass.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Every pull request must include evidence of running code formatting, building with warnings as errors, and running all unit tests (console log/text or screenshots) in the PR description.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Run dotnet build (no warnings allowed)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/csharp.mdc:0-0
Timestamp: 2025-07-19T08:09:48.255Z
Learning: Applies to *.{cs,csproj,sln} : Always read and apply the instructions in copilot-instructions.md when working on C# source or project files
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Ensure all changes are covered by tests and documentation before committing.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Run dotnet test (all must pass)
.cursor/rules/generate-tasks.md (10)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to docs/rules/**/*.md : Update 'docs/rules/' for analyzer changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Update docs/rules/ and README.md for any analyzer, code fix, or workflow change
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {src/Analyzers/AnalyzerReleases.Unshipped.md,docs/rules/**} : Update src/Analyzers/AnalyzerReleases.Unshipped.md and add or update documentation in docs/rules/ for each diagnostic
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Reference affected analyzer rule IDs in PR descriptions.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Update docs/rules/ and README.md if you add or change any analyzer, code fix, or workflow
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Always check for and follow any new rules in .cursor/rules/, .editorconfig, and .github/copilot-instructions.md before making changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {src/Analyzers/*Analyzer.cs,src/CodeFixes/*Fixer.cs,tests/Moq.Analyzers.Test/*AnalyzerTests.cs,tests/Moq.Analyzers.Test/*CodeFixTests.cs} : Use [Description]Analyzer.cs, [Description]Fixer.cs, [Description]AnalyzerTests.cs, [Description]CodeFixTests.cs for new components
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Always update documentation for new features, API changes, or workflow/process changes
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {README.md,docs/rules/README.md} : Update README.md and docs/rules/README.md if workflows or rules change
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Summarize all changes in the PR description and cite relevant lines from modified files for clarity.
.cursor/rules/process-task-list.md (17)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Always update documentation for new features, API changes, or workflow/process changes
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to README.md : Update README for significant changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to **/*.md : All documentation and markdown reports must pass formatting checks. Use a markdown linter if available.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to **/CONTRIBUTING.md : Update contributing guidelines for workflow changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {README.md,docs/rules/README.md} : Update README.md and docs/rules/README.md if workflows or rules change
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Update docs/rules/ and README.md for any analyzer, code fix, or workflow change
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to docs/rules/**/*.md : Update 'docs/rules/' for analyzer changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {src/Analyzers/AnalyzerReleases.Unshipped.md,docs/rules/**} : Update src/Analyzers/AnalyzerReleases.Unshipped.md and add or update documentation in docs/rules/ for each diagnostic
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Update docs/rules/ and README.md if you add or change any analyzer, code fix, or workflow
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Summarize all changes in the PR description and cite relevant lines from modified files for clarity.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to .github/workflows/**/*.yml : When making CI/CD changes, test workflows locally, provide validation evidence, update documentation, and consider performance impact.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Read and comply with all .github/instructions/* for edited file types
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/csharp.mdc:0-0
Timestamp: 2025-07-19T08:09:48.255Z
Learning: Applies to *.{cs,csproj,sln} : Always read and apply the instructions in copilot-instructions.md when working on C# source or project files
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .windsurf/rules/csharp.md:0-0
Timestamp: 2025-07-22T02:59:43.736Z
Learning: Applies to *.{cs,csproj,sln} : Always read and apply the instructions in copilot-instructions.md when working on C# source or project files
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to **/*.{cs} : Run 'dotnet format' and commit all changes before submitting a pull request. PRs with formatting issues will be rejected.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to **/*.{cs} : Run Codacy CLI analysis on all changed files and fix all reported issues before submitting the PR.
.cursor/rules/create-explainer.md (11)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Always check for and follow any new rules in .cursor/rules/, .editorconfig, and .github/copilot-instructions.md before making changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Reference affected analyzer rule IDs in PR descriptions.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: Applies to docs/rules/**/*.md : Update 'docs/rules/' for analyzer changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {src/Analyzers/AnalyzerReleases.Unshipped.md,docs/rules/**} : Update src/Analyzers/AnalyzerReleases.Unshipped.md and add or update documentation in docs/rules/ for each diagnostic
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Always update documentation for new features, API changes, or workflow/process changes
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Update docs/rules/ and README.md for any analyzer, code fix, or workflow change
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {docs/rules/**,README.md} : Update docs/rules/ and README.md if you add or change any analyzer, code fix, or workflow
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Summarize all changes in the PR description and cite relevant lines from modified files for clarity.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: If changing an analyzer, update documentation in 'docs/rules' to reflect all changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-27T02:44:39.596Z
Learning: Applies to {README.md,docs/rules/README.md} : Update README.md and docs/rules/README.md if workflows or rules change
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-07-27T02:45:02.136Z
Learning: If your PR changes or adds analyzer tests, include a note in the PR description about which Moq versions are targeted and how test data is grouped accordingly.
🪛 LanguageTool
.cursor/rules/generate-tasks.md
[grammar] ~1-~1: Use correct spacing
Context: # Rule: Generating a Task List from an Explainer ## Goal To guide an AI assistant in creati...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~5-~5: Use correct spacing
Context: ...k list should guide a developer through implementation. ## Output - Format: Markdown (.md) -...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~10-~10: There might be a mistake here.
Context: ....md) - Location: GitHub issues in rjmurillo/Moq.Analyzers repository - Title: `Task...
(QB_NEW_EN_OTHER)
[grammar] ~11-~11: Use correct spacing
Context: ...sks for [explainer-issue-title](e.g.,Tasks for Explainer Expand LINQ Coverage`) Link the Tasks issue to the Explainer is...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~13-~13: Use correct spacing
Context: ...he Explainer issue in GitHub using your MCP. ## Process 1. **Receive Explainer/PRD Refe...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~17-~17: There might be a mistake here.
Context: ...I to a specific Explainer or PRD GitHub issue 2. Analyze Explainer/PRD: The AI uses Git...
(QB_NEW_EN_OTHER)
[grammar] ~19-~19: Ensure spelling is correct
Context: ...xisting codebase to understand existing infrastructre, architectural patterns and conventions...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~19-~19: Add a comma
Context: ...d existing infrastructre, architectural patterns and conventions. Also, identify any exi...
(QB_NEW_EN_OTHER_ERROR_IDS_22)
[grammar] ~20-~20: Consider adjusting word choice based on regional variation
Context: ...ired to implement the feature. Use your judgement on how many high-level tasks to use. It...
(QB_NEW_EN_OTHER_ERROR_IDS_26)
[grammar] ~20-~20: Use hyphens correctly
Context: ...e user in the specified format (without sub-tasks yet). Inform the user: "I have gen...
(QB_NEW_EN_OTHER_ERROR_IDS_29)
[grammar] ~20-~20: Use colons correctly
Context: ...mat (without sub-tasks yet). Inform the user: "I have generated the high-level tasks bas...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~20-~20: There might be a problem here.
Context: ...he Explainer/PRD. Ready to generate the sub-tasks? Respond with 'Go' to proceed." 5. **Wai...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~21-~21: There might be a mistake here.
Context: ...nd wait for the user to respond with "Go". 6. Phase 2: Generate Sub-Tasks: Onc...
(QB_NEW_EN_OTHER)
[grammar] ~25-~25: Use correct spacing
Context: ...t of GitHub issues linked to the parent tasks. ## Output Format The generated task list _...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~27-~27: Use correct spacing
Context: ... linked to the parent tasks. ## Output Format The generated task list must follow th...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~29-~29: Use correct spacing
Context: ...ted to the specific Explainer/PRD being processed. ### GitHub Issue Structure Guidance - The p...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~31-~31: Use correct spacing
Context: ... processed. ### GitHub Issue Structure Guidance - The parent task list should be created a...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~38-~38: There might be a mistake here.
Context: ...clude a link to the parent issue at the top, and may include its own detailed check...
(QB_NEW_EN_OTHER)
[grammar] ~38-~38: Use correct spacing
Context: ...y include its own detailed checklist if needed. #### Example Parent Issue Checklist ```markd...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~40-~40: Use correct spacing
Context: ...t if needed. #### Example Parent Issue Checklist markdown - [ ] [Implement Core Analyzer Logic](https://github.com/org/repo/issues/456) - [ ] [Add Test Coverage](https://github.com/org/repo/issues/457) - [ ] [Update Documentation](https://github.com/org/repo/issues/458) #### Example Sub-task Issue Header ```markdo...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~48-~48: Use correct spacing
Context: ...s/458) #### Example Sub-task Issue Header markdown Parent: #123 ## Sub-task Details - [ ] Sub-step 1 - [ ] Sub-step 2 markdown ## Relevant Files - src/Feature/FeatureAnalyzer.cs - Main analyzer implementation for the feature described in the explainer/PRD. - tests/Feature/FeatureAnalyzerTests.cs - Unit tests for the analyzer logic. - docs/rules/FeatureRule.md - Documentation for the new or updated analyzer rule. ### Notes When editing files, follow the guidance at .github/instructions/README.md to determine appropriate instructions for specific files. ## Tasks - [ ] Implement Core Analyzer Logic - [ ] Add Test Coverage - [ ] Update Documentation ``` ## Interaction Model The process explicitl...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~77-~77: Use correct spacing
Context: ...rg/repo/issues/458) ``` ## Interaction Model The process explicitly requires a pause ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~79-~79: Use correct spacing
Context: ...th user expectations before diving into details. ## Target Audience Assume the primary read...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~81-~81: Use correct spacing
Context: ... before diving into details. ## Target Audience Assume the primary reader of the task li...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
.cursor/rules/process-task-list.md
[grammar] ~1-~1: Use correct spacing
Context: # Task List Management Guidelines for managing task lists in Gi...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~3-~3: Use correct spacing
Context: ...les to track progress on completing an Explainer/PRD ## Task Implementation - **One sub-task at...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~5-~5: Use correct spacing
Context: ...on completing an Explainer/PRD ## Task Implementation - One sub-task at a time: Do NOT sta...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~11-~11: There might be a mistake here.
Context: ...First**: Run the full test suite (e.g., dotnet test --settings ./build/targets/tests/test.runsettings) - Only if all tests pass: Stage changes ...
(QB_NEW_EN_OTHER)
[grammar] ~12-~12: There might be a mistake here.
Context: ...nly if all tests pass**: Stage changes (git add .) - Clean up: Remove any temporary files a...
(QB_NEW_EN_OTHER)
[grammar] ~13-~13: There might be a mistake here.
Context: ...mporary files and temporary code before committing - Commit: Use a descriptive commit messa...
(QB_NEW_EN_OTHER)
[grammar] ~15-~15: There might be a mistake here.
Context: ...t format (feat:, fix:, refactor:, etc.) - Summarizes what was accomplished in the ...
(QB_NEW_EN_OTHER)
[grammar] ~19-~19: Use correct spacing
Context: ...single-line command using -m flags**, e.g.: text git commit -m "feat: add payment validation logic" -m "- Validates card type and expiry" -m "- Adds unit tests for edge cases" -m "Related to #123 in Explainer" 3. Once all the subtasks are marked complet...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~28-~28: Use correct spacing
Context: ... for the user's go‑ahead. ## Task List Maintenance 1. Update the task list as you work: -...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~32-~32: Use correct spacing
Context: ...erge. Use your GitHub MCP to accomplish this. 2. Maintain the "Relevant Files" section:...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~38-~38: Use correct spacing
Context: ...line description of its purpose. ## AI Instructions When working with task lists, the AI mus...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~40-~40: Use correct spacing
Context: ...s When working with task lists, the AI must: 1. Regularly update the task list file afte...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~44-~44: Ensure spelling is correct
Context: ...ion protocol: - Mark each finished sub‑task [x]. - Mark the parent task ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~48-~48: Ensure spelling is correct
Context: ...e. 5. Before starting work, check which sub‑task is next. 6. After implementing a sub‑ta...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~49-~49: Ensure spelling is correct
Context: ...b‑task is next. 6. After implementing a sub‑task, update the file and then pause for use...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
.cursor/rules/create-explainer.md
[grammar] ~1-~1: Use correct spacing
Context: ...iner or a Product Requirements Document (PRD) ## Goal To guide an AI assistant in creati...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~5-~5: Use correct spacing
Context: ...veloper to understand and implement the feature. ## Process 1. Receive Initial Prompt: ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~12-~12: Use correct spacing
Context: ...Analyzers` repository using your GitHub MCP. ## Clarifying Questions (Examples) The AI ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~14-~14: Use correct spacing
Context: ...ur GitHub MCP. ## Clarifying Questions (Examples) The AI should adapt its questions based ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~16-~16: There might be a mistake here.
Context: ...should adapt its questions based on the prompt, but must always: - Present all clarif...
(QB_NEW_EN_OTHER)
[grammar] ~16-~16: There might be a mistake here.
Context: ...questions based on the prompt, but must always: - Present all clarifying questions as enu...
(QB_NEW_EN_OTHER)
[grammar] ~20-~20: Use correct spacing
Context: ...lag it and ask for clarification before proceeding. Here are some common areas to explore: ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~22-~22: There might be a mistake here.
Context: ...ceeding. Here are some common areas to explore: - Problem/Goal: "What problem does this...
(QB_NEW_EN_OTHER)
[grammar] ~27-~27: There might be a mistake here.
Context: ..., I want to [perform an action] so that [benefit].)" - Structure with INVEST: Does each ...
(QB_NEW_EN_OTHER)
[grammar] ~33-~33: Use correct spacing
Context: ...dge cases or error conditions we should consider?" ## Explainer Structure The generated expla...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~35-~35: Use correct spacing
Context: ...ions we should consider?" ## Explainer Structure The generated explainer should include t...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~37-~37: There might be a mistake here.
Context: ... explainer should include the following sections: 1. Introduction/Overview: Briefly descri...
(QB_NEW_EN_OTHER)
[grammar] ~43-~43: There might be a mistake here.
Context: ...em must allow users to upload a profile picture."). Number these requirements. 6. **Desi...
(QB_NEW_EN_OTHER)
[grammar] ~46-~46: There might be a mistake here.
Context: ... (e.g., "Increase user engagement by 10%", "Reduce support tickets related to X")....
(QB_NEW_EN_OTHER)
[grammar] ~47-~47: There might be a problem here.
Context: ...s or assumptions, explicitly state "None". ## Target Audience Assume the primary read...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~49-~49: Use correct spacing
Context: ...ns, explicitly state "None". ## Target Audience Assume the primary reader of the Explain...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~51-~51: Use correct spacing
Context: ...derstand the feature's purpose and core logic. ## Output - Format: Markdown (.md) -...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~57-~57: Use correct spacing
Context: ...rjmurillo/Moq.Analyzersrepository - **Title:**Explainer: [feature-name]` ## Final instructions 1. Do NOT start impl...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~59-~59: Use correct spacing
Context: ...* Explainer: [feature-name] ## Final instructions 1. Do NOT start implementing the Explainer ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~61-~61: There might be a mistake here.
Context: ...tions 1. Do NOT start implementing the Explainer 2. Make sure to ask the user clarifying que...
(QB_NEW_EN_OTHER)
[grammar] ~62-~62: There might be a mistake here.
Context: ...2. Make sure to ask the user clarifying questions 3. Take the user's answers to the clarifyin...
(QB_NEW_EN_OTHER)
[grammar] ~63-~63: There might be a mistake here.
Context: ...he clarifying questions and improve the Explainer --- ## Example Explainer (Generic) ```markdown...
(QB_NEW_EN_OTHER)
[grammar] ~67-~67: Use correct spacing
Context: ...he Explainer --- ## Example Explainer (Generic) markdown # Explainer: Feature Name ## Introduction/Overview Briefly describe the feature and the problem it solves. State the goal. ## Goals - List specific, measurable objectives for this feature. ## Non-Goals (Out of Scope) - List what is explicitly not included in this feature. ## User Stories - As a [user type], I want to [do something] so that [benefit]. - As a [user type], I want to [do something else] so that [benefit]. ## Functional Requirements 1. The system must allow users to do X. 2. The system must validate Y before Z. ## Design Considerations (Optional) - Link to mockups or describe UI/UX requirements. ## Technical Considerations (Optional) - List known technical constraints, dependencies, or suggestions. ## Success Metrics - How will success be measured? (e.g., "Increase engagement by 10%", "Reduce support tickets related to X") ## Open Questions - List any remaining questions, areas needing clarification, or assumptions. If none, state "None".
(QB_NEW_EN_OTHER_ERROR_IDS_5)
🪛 markdownlint-cli2 (0.17.2)
.cursor/rules/process-task-list.md
11-11: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
12-12: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
13-13: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
14-14: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
15-15: Unordered list indentation
Expected: 4; Actual: 6
(MD007, ul-indent)
16-16: Unordered list indentation
Expected: 4; Actual: 6
(MD007, ul-indent)
17-17: Unordered list indentation
Expected: 4; Actual: 6
(MD007, ul-indent)
18-18: Unordered list indentation
Expected: 4; Actual: 6
(MD007, ul-indent)
19-19: Unordered list indentation
Expected: 4; Actual: 6
(MD007, ul-indent)
25-25: Ordered list item prefix
Expected: 1; Actual: 3; Style: 1/1/1
(MD029, ol-prefix)
⏰ Context from checks skipped due to timeout of 900000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build (windows-11-arm)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
|
Prompt (using
Response:
Answer:
Created #639 I then used the second prompt to generate the task list: Prompt:
Created #645 |
There was a problem hiding this comment.
Pull Request Overview
This PR adds comprehensive documentation for AI agents to effectively create and manage software project workflows. It establishes standardized processes for generating Explainers/PRDs, breaking them down into actionable task lists, and implementing them consistently.
- Standardizes build and test commands to use pedantic mode and custom test settings across all documentation
- Introduces structured processes for creating Explainers/PRDs with clarifying questions and validation requirements
- Establishes task list management protocols with completion criteria and commit procedures
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| CONTRIBUTING.md | Updated build/test commands to use pedantic mode and test settings; added formatting improvements |
| .github/instructions/project.instructions.md | Updated build/test commands to match CONTRIBUTING.md standards |
| .github/copilot-instructions.md | Added comprehensive task list management protocol for AI agents |
| .cursor/rules/process-task-list.md | New file defining task completion protocols and progress tracking |
| .cursor/rules/generate-tasks.md | New file for generating structured task lists from Explainers/PRDs |
| .cursor/rules/create-explainer.md | New file for creating structured Explainers/PRDs with validation |
| - **One sub-task at a time:** Do **NOT** start the next sub‑task until you ask the user for permission and they say "yes" or "y" | ||
| - **Completion protocol:** | ||
| 1. When you finish a **sub‑task**, immediately mark it as completed by changing `[ ]` to `[x]`. |
There was a problem hiding this comment.
Inconsistent hyphen character used. Line uses en-dash (‑) instead of standard hyphen (-) like other lines in the file.
| - **One sub-task at a time:** Do **NOT** start the next sub‑task until you ask the user for permission and they say "yes" or "y" | |
| - **Completion protocol:** | |
| 1. When you finish a **sub‑task**, immediately mark it as completed by changing `[ ]` to `[x]`. | |
| - **One sub-task at a time:** Do **NOT** start the next sub-task until you ask the user for permission and they say "yes" or "y" | |
| - **Completion protocol:** | |
| 1. When you finish a **sub-task**, immediately mark it as completed by changing `[ ]` to `[x]`. |
|
|
||
| - **One sub-task at a time:** Do **NOT** start the next sub‑task until you ask the user for permission and they say "yes" or "y" | ||
| - **Completion protocol:** | ||
| 1. When you finish a **sub‑task**, immediately mark it as completed by changing `[ ]` to `[x]`. |
There was a problem hiding this comment.
Inconsistent hyphen character used. Line uses en-dash (‑) instead of standard hyphen (-) like other lines in the file.
| 1. When you finish a **sub‑task**, immediately mark it as completed by changing `[ ]` to `[x]`. | |
| 1. When you finish a **sub-task**, immediately mark it as completed by changing `[ ]` to `[x]`. |
| ``` | ||
|
|
||
| 3. Once all the subtasks are marked completed and changes have been committed, mark the **parent task** as completed. | ||
| - Stop after each sub‑task and wait for the user's go‑ahead. |
There was a problem hiding this comment.
Inconsistent hyphen character used. Line uses en-dash (‑) instead of standard hyphen (-) like other lines in the file.
| - Stop after each sub‑task and wait for the user's go‑ahead. | |
| - Stop after each sub-task and wait for the user's go-ahead. |
|
|
||
| 2. **Maintain the "Relevant Files" section:** | ||
| - List every file created or modified. | ||
| - Give each file a one‑line description of its purpose. |
There was a problem hiding this comment.
Inconsistent hyphen character used. Line uses en-dash (‑) instead of standard hyphen (-) like other lines in the file.
| - Give each file a one‑line description of its purpose. | |
| - Give each file a one-line description of its purpose. |
|
|
||
| 1. Regularly update the task list file after finishing any significant work. | ||
| 2. Follow the completion protocol: | ||
| - Mark each finished **sub‑task** `[x]`. |
There was a problem hiding this comment.
Inconsistent hyphen character used. Line uses en-dash (‑) instead of standard hyphen (-) like other lines in the file.
| - Mark each finished **sub‑task** `[x]`. | |
| - Mark each finished **sub-task** `[x]`. |
| - Mark the **parent task** `[x]` once **all** its subtasks are `[x]`. | ||
| 3. Add newly discovered tasks. | ||
| 4. Keep "Relevant Files" accurate and up to date. | ||
| 5. Before starting work, check which sub‑task is next. |
There was a problem hiding this comment.
Inconsistent hyphen character used. Line uses en-dash (‑) instead of standard hyphen (-) like other lines in the file.
| 5. Before starting work, check which sub‑task is next. | |
| 5. Before starting work, check which sub-task is next. |
| 3. Add newly discovered tasks. | ||
| 4. Keep "Relevant Files" accurate and up to date. | ||
| 5. Before starting work, check which sub‑task is next. | ||
| 6. After implementing a sub‑task, update the file and then pause for user approval. |
There was a problem hiding this comment.
Inconsistent hyphen character used. Line uses en-dash (‑) instead of standard hyphen (-) like other lines in the file.
| 6. After implementing a sub‑task, update the file and then pause for user approval. | |
| 6. After implementing a sub-task, update the file and then pause for user approval. |
Summary by CodeRabbit
Documentation
Chores