Skip to content

feat: Add shit-agents GitHub App integration#32

Open
jordanpartridge wants to merge 4 commits intomasterfrom
feature/shit-agents-github-app
Open

feat: Add shit-agents GitHub App integration#32
jordanpartridge wants to merge 4 commits intomasterfrom
feature/shit-agents-github-app

Conversation

@jordanpartridge
Copy link
Copy Markdown
Collaborator

Summary

  • JWT-based GitHub App authentication
  • Installation token generation and caching (55min TTL)
  • OAuth callback handling for web flow
  • Device flow support for user authentication
  • Webhook endpoint (placeholder for future expansion)
  • Test commit endpoint for verification
  • Generic API request wrapper with automatic token handling

Implementation Details

  • GitHubAppController: Handles OAuth flows, device authentication, webhooks, and test endpoints
  • GitHubAppService: JWT generation, installation token management, API requests
  • Added firebase/php-jwt dependency for RS256 JWT signing
  • Configuration in config/services.php for app credentials
  • Routes under /github prefix with auth middleware

App Status

App is installed on the-shit org with write access and ready for autonomous agent operations.

Test Plan

  • Verify JWT generation works with valid private key
  • Test installation token retrieval and caching
  • Validate device flow authentication
  • Test OAuth callback handling
  • Verify webhook endpoint receives events
  • Test commit creation via test endpoint

jordanpartridge and others added 4 commits December 8, 2025 18:04
- Add data-testid attributes to ChatMessage.vue for browser testing
- Add comprehensive Pest browser tests for markdown rendering:
  - Renders markdown in assistant messages (h1, bold, italic, lists, code)
  - Keeps user messages as plain text
  - Renders code blocks, inline code, lists, and links correctly
- Update agent queue with completed gh-1 task

Task: gh-1
fixes #1

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements a complete Agent Builder feature following IndyDevDan's
standards for agent architecture:

Backend:
- Enhanced Agent model with relationships (user, defaultModel, models)
- Added casts for tools/capabilities arrays and is_active boolean
- Added scopes (active, system, forUser) and helper methods
- Built AgentController with index, create, store, show, edit, update, destroy
- Added agent routes to web.php

Frontend:
- Created Agents/Index.vue with grid layout and empty state
- Created Agents/Create.vue with form for name, description, system prompt
- Created Agents/Show.vue to display agent details
- Created Agents/Edit.vue for updating agent configuration
- Added Agent, ToolOption, CapabilityOption types to chat.ts

Testing:
- Created comprehensive AgentControllerTest with Pest
- Added Playwright browser tests for E2E coverage
- Tests cover auth, CRUD operations, and authorization

fixes #21

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add agent selection capability to the chat interface, completing
the Agent Builder integration with the existing chat system.

Backend changes:
- Chat model: Added agent_id fillable and agent() relationship
- ChatController: Pass available agents to views, support agent_id in store
- StoreChatRequest: Added agent_id validation (nullable, exists)
- UpdateChatRequest: Added agent_id validation (sometimes, nullable)

Frontend changes:
- Chat types: Added agent_id and agent to Chat interface
- Chat/Index: Agent selector dropdown when creating new chat
- Chat/Show: Agent selector in header, agent indicator badge

All 362 tests passing.

Task: gh-21
fixes #21

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add JWT-based GitHub App authentication with installation token
management, OAuth callback handling, device flow support, and
webhook endpoint. Includes GitHubAppController for handling OAuth
flows and GitHubAppService for API interactions. App installed on
the-shit org with write access for autonomous agent operations.

Key features:
- JWT authentication for GitHub App
- Installation token generation and caching
- OAuth callback and device flow support
- Webhook endpoint (placeholder for future)
- Test commit endpoint for verification
- API request wrapper with automatic token handling
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