Skip to content

feat(github-orchestration): Improve stop hook issue display with URLs - #328

Merged
sylvansys merged 2 commits into
mainfrom
claude-peaceful-narwhal-a9yq6erq
Jan 29, 2026
Merged

feat(github-orchestration): Improve stop hook issue display with URLs#328
sylvansys merged 2 commits into
mainfrom
claude-peaceful-narwhal-a9yq6erq

Conversation

@sylvansys

Copy link
Copy Markdown
Collaborator

Summary

  • Add LinkedIssueInfo interface for rich issue data (number, title, url, repo)
  • Add extractLinkedIssuesWithInfo() function for full issue details with cross-repo support
  • Update stop hook to display linked issues nested under PR with clickable URLs
  • Add "Other Issues Created" section for session issues not linked to the PR
  • Support issues from any repo (not just current one) with proper owner/repo#num format

New Output Format

📋 PR: https://github.com/owner/repo/pull/42

   📌 Linked Issues (closes when merged):
      • #123 - Fix auth bug → https://github.com/owner/repo/issues/123
      • owner/other-repo#456 → https://github.com/owner/other-repo/issues/456

📝 Other Issues Created:
   • #789 - Follow-up task → https://github.com/owner/repo/issues/789

Test plan

  • TypeScript compiles without errors
  • ESLint passes
  • All existing tests pass
  • Manual test: Create a PR that closes an issue using "Fixes #X" syntax
  • Manual test: Create an issue during the session that is NOT linked to the PR
  • Manual test: Stop the session and verify linked issues appear nested under PR with URLs
  • Manual test: Verify other issues appear in separate section with repo context

🤖 Generated with Claude Code

sylvansys and others added 2 commits January 28, 2026 19:35
… and session issues

- Add LinkedIssueInfo interface for rich issue data (number, title, url, repo)
- Add extractLinkedIssuesWithInfo() for full issue details with cross-repo support
- Update stop hook to display linked issues nested under PR with clickable URLs
- Add "Other Issues Created" section for session issues not linked to the PR
- Support issues from any repo (not just current one) with proper owner/repo#num format

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Auto-provisioned by Constellos app
@github-actions

Copy link
Copy Markdown

PR feedback updates from your reviewer agents. Based on linked issues, context files, and committed changes.

Code Quality: ✅ 4 • ❌ 0 • ⏭️ 0
Check Status Reasoning
DRY Compliance No significant code duplication found. The ci-status.ts utility module successfully consolidates shared CI checking logic used across multiple hooks. Functions like execCommand, checkPRExists, and awaitCIWithFailFast are properly abstracted and reused.
YAGNI Compliance Code implements only necessary features without over-engineering. The workflow configuration supports three specific agents (requirements, code-quality, context) that are actively used. CI status checking functions provide essential functionality without speculative features. No unused abstractions or premature generalizations detected.
Modularity Well-organized separation of concerns. The ci-status.ts module cleanly separates CI checking utilities from hook-specific logic. Functions are appropriately scoped and have clear, single responsibilities. GitHub workflow follows standard GitHub Actions patterns with clear job separation.
Maintainability Code is clear, well-documented, and maintainable. All exported functions have comprehensive JSDoc comments with examples. TypeScript interfaces provide strong typing for all major data structures. Function names are descriptive and self-explanatory. The workflow YAML has helpful comments explaining configuration options.

@sylvansys
sylvansys merged commit c08a4d2 into main Jan 29, 2026
5 of 7 checks passed
@sylvansys
sylvansys deleted the claude-peaceful-narwhal-a9yq6erq branch January 29, 2026 03:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant