chore: enhance triage workflow with autonomous analysis and batch planning#245
Conversation
Summary of ChangesHello @joshsmithxrm, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the development workflow by introducing more automation and robust code quality checks. It refines issue management commands to allow for autonomous triage and more granular work planning, while also integrating custom Roslyn analyzers and detailed code scanning configurations to maintain high code standards. The overall aim is to streamline issue creation, triage, and planning processes, and to proactively enforce architectural guidelines and best practices. Highlights
Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request significantly enhances the development workflow by introducing autonomous analysis in the /triage command, project-aware batch planning in /plan-work, and a complete rewrite of /create-issue with deep GitHub Projects integration. The addition of a dedicated Roslyn analyzer project (PPDS.Analyzers) to enforce architectural rules at compile time is an excellent step towards improving code quality and consistency. The accompanying documentation for code scanning and AI-assisted reviews is thorough and will be very valuable.
My review includes two high-severity comments. One addresses the brittleness of using hardcoded GitHub Project IDs in the /create-issue command design, and the other raises concerns about the security implications of allowing the AI agent to perform destructive file operations without confirmation. Overall, this is a very strong set of improvements.
There was a problem hiding this comment.
Pull request overview
This PR enhances the triage workflow by introducing autonomous issue analysis, adding Roslyn analyzers for architectural enforcement, and improving Claude command documentation with GraphQL-based project field management.
Key Changes:
- Added three new Roslyn analyzers (PPDS006, PPDS012, PPDS013) for compile-time architectural enforcement
- Completely rewrote
/create-issuecommand with GraphQL project field integration - Enhanced
/triagecommand with autonomous analysis mode that determines field values based on issue context - Enhanced
/plan-workcommand with batch selection and project field validation
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/PPDS.Analyzers/Rules/UseEarlyBoundEntitiesAnalyzer.cs | New analyzer to detect string literals in QueryExpression constructors |
| src/PPDS.Analyzers/Rules/NoSyncOverAsyncAnalyzer.cs | New analyzer to detect sync-over-async patterns |
| src/PPDS.Analyzers/Rules/NoFireAndForgetInCtorAnalyzer.cs | New analyzer to detect fire-and-forget async calls in constructors |
| src/PPDS.Analyzers/DiagnosticIds.cs | Defines diagnostic IDs and categories for all analyzers |
| src/PPDS.Analyzers/PPDS.Analyzers.csproj | New analyzer project targeting netstandard2.0 |
| src/PPDS.Cli/Services/ServiceRegistration.cs | Added pragma warnings to suppress PPDS012 analyzer for legitimate sync-over-async |
| src/PPDS.Cli/PPDS.Cli.csproj | Integrated analyzer project reference |
| PPDS.Sdk.sln | Added PPDS.Analyzers project to solution |
| CLAUDE.md | Added rule to link related issues in PR body |
| .github/copilot-instructions.md | New file with Copilot review guidance on architecture and patterns |
| .github/codeql/codeql-config.yml | Added query filters to disable style rules conflicting with project conventions |
| .github/CODE_SCANNING.md | New comprehensive documentation of code scanning tools configuration |
| .github/ISSUE_TEMPLATE/feature_request.yml | Added optional Priority and Size dropdowns |
| .github/ISSUE_TEMPLATE/bug_report.yml | Added optional Severity and Fix Complexity dropdowns |
| .editorconfig | Added CS8981 suppression for generated code with lowercase type names |
| .claude/settings.json | Promoted routine git/gh operations from "ask" to "allow" |
| .claude/commands/triage.md | Added autonomous analysis mode with criteria tables and batch suggestions |
| .claude/commands/plan-work.md | Added --target, --batch, --epic options with predefined batch table |
| .claude/commands/create-issue.md | Complete rewrite with GraphQL mutations for project field management |
| .gemini/config.yaml | New Gemini Code Assist configuration |
| .gemini/styleguide.md | New comprehensive style guide for Gemini with architecture patterns |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
eafaf0a to
ad7f579
Compare
…nning - /triage: Add autonomous analysis mode (Claude determines field values) - Target assignment criteria (This Week, Next, CLI v1.0.0, Q1 2026) - Batch recommendations for /plan-work integration - /create-issue: Complete rewrite with project integration - GraphQL mutations to set all 5 project fields - Support for --type, --priority, --size, --target, --parent options - /plan-work: Add project-aware options - --target: Select issues by Target field - --batch: Predefined batch groups (tui-enhancements, phase-3-traces, etc.) - --epic: Select children of an epic - Validation of project fields before creating worktrees - Issue templates: Add optional Priority/Size dropdowns - CLAUDE.md: Add rule to link related issues in PR body - Settings: Reduce approval interruptions for routine operations Relates to #238 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ad7f579 to
4578d94
Compare
Summary
/triagewith autonomous analysis mode - Claude determines field values based on issue context/create-issuewith GraphQL project field integration/plan-workwith--target,--batch,--epicoptions for project-aware planningChanges
/triagecommand/create-issuecommand--type,--priority,--size,--target,--parentoptions/plan-workcommand--target,--batch,--epic,--limitoptionsIssue templates
feature_request.yml: Added optional Priority and Size dropdownsbug_report.yml: Added optional Severity and Fix Complexity dropdownsOther
CLAUDE.md: Added rule to link related issues in PR bodysettings.json: Promoted routine operations from "ask" to "allow"Test plan
/triageand verify autonomous analysis mode works/create-issueand verify project fields are set/plan-work --batch tui-enhancementsand verify batch selectionRelates to #238
🤖 Generated with Claude Code