Skip to content

Containerization and GitHub integration#4

Open
birme wants to merge 7 commits intompociot:mainfrom
eyevinn-osaas:main
Open

Containerization and GitHub integration#4
birme wants to merge 7 commits intompociot:mainfrom
eyevinn-osaas:main

Conversation

@birme
Copy link

@birme birme commented Sep 23, 2025

Summary

This repository contains a comprehensive Claude Code Slack Bot implementation with the following key
features:

🏗️ Core Infrastructure (90828cf)

  • Containerization: Full Docker setup with Dockerfile, docker-compose.yml, and .dockerignore
  • GitHub Integration: Complete MCP server configuration for GitHub workflows and automation
  • Permission System: Enhanced MCP server with approval request handling between Slack and Claude
  • Development Environment: Claude Code settings, Git authentication setup, and comprehensive
    documentation

🏥 Health Monitoring (0ca513b)

  • Container Health Checks: Standalone healthcheck server responding on configured PORT
  • JSON Status Responses: Proper health endpoint for container orchestration
  • Non-intrusive Design: Health server runs alongside main application without modifications

📁 Smart Directory Management (09707ac + 40e9752)

  • Auto-Directory Creation: Automatically creates working directories when users set cwd
  • Recursive Path Creation: Uses fs.mkdirSync with recursive option for nested directories
  • Enhanced Error Handling: Improved logging and error recovery for directory operations
  • User Experience: Eliminates manual directory creation step for smoother onboarding

🔧 Technical Improvements

  • Shared State Management: New shared-store.ts for cross-component communication
  • Enhanced Logging: Dedicated stderr-logger.ts for better debugging
  • Configuration Management: Improved MCP server examples and Claude Code settings
  • Documentation: Comprehensive README and CLAUDE.md with setup instructions

📊 Statistics

  • 17 files changed with 785 additions, 85 deletions
  • 4 major commits implementing containerization, health monitoring, and directory management
  • Full production readiness with Docker deployment and GitHub integration

Test Plan

  • Verify Docker container builds and runs successfully
  • Test health check endpoint responds correctly
  • Confirm automatic directory creation works for new working directories
  • Validate Slack bot integration and MCP server functionality
  • Test GitHub integration with proper authentication

🤖 Generated with Claude Code

birme and others added 7 commits September 20, 2025 17:41
Containerization to provide a sandboxed environment and permission settings for GitHub workflows.

Also fixes an issue where the approval requests were not correctly passed between the MCP server
and the Slack handler.

Co-Authored-By: Claude <noreply@anthropic.com>
Add standalone healthcheck server that responds on configured PORT environment variable with JSON status response. Server runs alongside main application without modifying existing code.

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

Co-Authored-By: Claude <noreply@anthropic.com>
- Modified resolveDirectory method to create cwdRelativePath if it doesn't exist
- Added recursive directory creation with fs.mkdirSync
- Enhanced logging for directory creation and error handling
- Improves user experience by automatically creating needed directories
* feat: add GitHub App authentication and Git CLI integration

Add comprehensive GitHub App support for better security and institutional identity, replacing personal access tokens. Includes automatic Git CLI authentication for push/pull operations and enhanced MCP server configuration.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: add GitHub App environment variables to configuration

Update README.md and .env.example to include GitHub App authentication variables as optional configuration. Clarifies setup for both GitHub Apps (recommended) and personal access tokens (legacy fallback).

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

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
- Add automatic token refresh 5 minutes before expiry or at 50% lifetime
- Update git credentials and environment variables when tokens refresh
- Implement background refresh with retry logic every 2 minutes on failure
- Add graceful startup/shutdown with proper timer cleanup
- Update documentation with token refresh details
- Create test script for verification

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

Co-authored-by: Claude <noreply@anthropic.com>
Previously, each GitHub App token refresh would add a new git config entry
without removing the old one, leading to multiple duplicate entries like:
[url "https://x-access-token:TOKEN1@github.com/"]
    insteadOf = https://github.com/
[url "https://x-access-token:TOKEN2@github.com/"]
    insteadOf = https://github.com/

Now removes existing GitHub URL rewrites before adding new ones, ensuring
only one active entry exists at any time.

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

Co-Authored-By: Claude <noreply@anthropic.com>
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