Skip to content

Add Claude Code GitHub Workflow#4

Merged
christopherkarani merged 2 commits intomainfrom
add-claude-github-actions-1765719014837
Dec 14, 2025
Merged

Add Claude Code GitHub Workflow#4
christopherkarani merged 2 commits intomainfrom
add-claude-github-actions-1765719014837

Conversation

@christopherkarani
Copy link
Owner

🤖 Installing Claude Code GitHub App

This PR adds a GitHub Actions workflow that enables Claude Code integration in our repository.

What is Claude Code?

Claude Code is an AI coding agent that can help with:

  • Bug fixes and improvements
  • Documentation updates
  • Implementing new features
  • Code reviews and suggestions
  • Writing tests
  • And more!

How it works

Once this PR is merged, we'll be able to interact with Claude by mentioning @claude in a pull request or issue comment.
Once the workflow is triggered, Claude will analyze the comment and surrounding context, and execute on the request in a GitHub action.

Important Notes

  • This workflow won't take effect until this PR is merged
  • @claude mentions won't work until after the merge is complete
  • The workflow runs automatically whenever Claude is mentioned in PR or issue comments
  • Claude gets access to the entire PR or issue context including files, diffs, and previous comments

Security

  • Our Anthropic API key is securely stored as a GitHub Actions secret
  • Only users with write access to the repository can trigger the workflow
  • All Claude runs are stored in the GitHub Actions run history
  • Claude's default tools are limited to reading/writing files and interacting with our repo by creating comments, branches, and commits.
  • We can add more allowed tools by adding them to the workflow file like:
allowed_tools: Bash(npm install),Bash(npm run build),Bash(npm run lint),Bash(npm run test)

There's more information in the Claude Code action repo.

After merging this PR, let's try mentioning @claude in a comment on any PR to get started!

@christopherkarani christopherkarani merged commit b6a5761 into main Dec 14, 2025
1 check failed
claude bot pushed a commit that referenced this pull request Dec 14, 2025
…, Duration extension

- Fix #3: Simplified ToolMacro execute() wrapper to assign extracted parameters
  to struct properties and call user's execute() directly, made method mutating
- Fix #5: Made ResilientAgent resilience config properties nonisolated to fix
  actor isolation in chaining initializer
- Fix #6: Added Duration.timeInterval extension for TimeInterval conversion
- #4: SendableValue encoding verified complete - no changes needed

Co-authored-by: Christopher Karani <christopherkarani@users.noreply.github.com>
@claude claude bot mentioned this pull request Dec 28, 2025
claude bot pushed a commit that referenced this pull request Dec 28, 2025
This commit addresses 7 out of 15 issues identified in the code review:

Critical Issues Fixed:
- Issue #2: ModelSettings.merged() now validates and throws on invalid merged settings
- Issue #3: MCPClient.getAllTools() fixed race condition via task deduplication pattern
- Issue #8: MCPResponse init changed from precondition to throwing error for safety

High-Priority Issues Fixed:
- Issue #4: MCPClient.closeAll() now uses structured concurrency for parallel execution
- Issue #10: ResponseTracker now enforces session limits with LRU eviction (default: 1000 sessions)

Changes:
- ModelSettings.merged() signature changed to throwing (BREAKING CHANGE for callers)
- MCPResponse() init now throws instead of using precondition
- ResponseTracker adds maxSessions parameter with LRU session eviction
- MCPClient uses task deduplication to prevent duplicate cache refreshes
- MCPClient.closeAll() executes server closures concurrently

Remaining issues (#5, #6, #7, #9, #11-#15) deferred as they require more significant
API design changes or are lower priority optimizations.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Christopher Karani <christopherkarani@users.noreply.github.com>
@claude claude bot mentioned this pull request Feb 12, 2026
christopherkarani added a commit that referenced this pull request Feb 13, 2026
- Issue #4: Replace convertToSendableValue with SendableValue.fromJSONValue
- Issue #5: Extract HiveDeterministicSort utility enum with byName, toolCalls,
  and strings methods for consistent UTF-8 deterministic sorting
- Issue #8: Merge rejectedOutput/cancelledOutput into makeApprovalOutput helper
- Issue #9: Promote toJSONObject from fileprivate to internal (module-level)
- Issue #12: Add defense-in-depth doc comment for approval re-check
- Issue #13: Add defense-in-depth doc comment for compaction validation
- Issue #18: Add comment explaining llmInputMessages channel initialization
- Issue #19: Add log warning for linear backoff step approximation
- Issue #20: Add log warning for custom backoff fallback
- Issue #21: Replace String(reflecting:) with String(describing:) in codec ID
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