Commit Graph

29 Commits

Author SHA1 Message Date
Cheffromspace
67f89758ed Update README.md
Signed-off-by: Cheffromspace <jonflatt@gmail.com>
2025-06-03 20:05:07 -05:00
Cheffromspace
a423786200 docs: Clarify that GitHub PAT should be from bot account (#175)
Updated README.md and QUICKSTART.md to clearly specify that the GitHub Personal Access Token should be created from the bot account, not the main account. This is the proper security practice for bot authentication.

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-03 19:15:47 -05:00
Jonathan Flatt
8da021bb00 Update README 2025-06-03 21:44:43 +00:00
Cheffromspace
dd5e6e6146 feat\!: Remove deprecated /api/claude endpoint in favor of webhook-based sessions (#172)
BREAKING CHANGE: The /api/claude endpoint has been removed. All Claude API functionality
is now available through the more robust /api/webhooks/claude endpoint.

Migration guide:
- For creating sessions: POST /api/webhooks/claude with type: 'session.create'
- For checking status: POST /api/webhooks/claude with type: 'session.get'
- Sessions now run asynchronously and return immediately with a session ID

Changes:
- Removed src/routes/claude.ts entirely
- Removed related test files (claude.test.ts, claude-simple.test.ts)
- Updated all documentation to use webhook endpoint
- Updated test utilities to use async session API
- Fixed formatting in modified files

The webhook-based approach provides:
- Async session management with immediate response
- Better error handling and recovery
- Session status tracking
- Parallel session execution
- Consistent API with other webhook operations
2025-06-03 14:11:02 -05:00
Cheffromspace
bf2a517264 feat: Implement Claude orchestration provider for parallel session management (#171)
* feat: Implement Claude orchestration provider for parallel session management

- Add ClaudeWebhookProvider implementing the webhook provider interface
- Create orchestration system for running multiple Claude containers in parallel
- Implement smart task decomposition to break complex projects into workstreams
- Add session management with dependency tracking between sessions
- Support multiple execution strategies (parallel, sequential, wait_for_core)
- Create comprehensive test suite for all components
- Add documentation for Claude orchestration API and usage

This enables super-charged Claude capabilities for the MCP hackathon by allowing
multiple Claude instances to work on different aspects of a project simultaneously,
with intelligent coordination and result aggregation.

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

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

* feat: Add session management endpoints for MCP integration

- Add SessionHandler for individual session CRUD operations
- Create endpoints: session.create, session.get, session.list, session.start, session.output
- Fix Claude invocation in Docker containers using proper claude chat command
- Add volume mounts for persistent storage across session lifecycle
- Simplify OrchestrationHandler to create single coordination sessions
- Update documentation with comprehensive MCP integration examples
- Add comprehensive unit and integration tests for new endpoints
- Support dependencies and automatic session queuing/starting

This enables Claude Desktop to orchestrate multiple Claude Code sessions via MCP Server tools.

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

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

* fix: Update ClaudeWebhookProvider validation for session endpoints

- Make project fields optional for session management operations
- Add validation for session.create requiring session field
- Update tests to match new validation rules
- Fix failing CI tests

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

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

* fix: Use Promise.reject for validation errors in parsePayload

- Convert synchronous throws to Promise.reject for async consistency
- Fixes failing unit tests expecting rejected promises

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

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

* fix: Mock SessionManager in integration tests to avoid Docker calls in CI

- Add SessionManager mock to prevent Docker operations during tests
- Fix claude-webhook.test.ts to use proper test setup and payload structure
- Ensure all integration tests can run without Docker dependency
- Fix payload structure to include 'data' wrapper

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

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

* fix: Mock child_process to prevent Docker calls in CI tests

- Mock execSync and spawn at child_process level to prevent any Docker commands
- This ensures tests work in CI environment without Docker
- Tests now pass both locally and in CI Docker build

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

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

* fix: Address PR review comments and fix linter warnings

- Move @types/uuid to devDependencies
- Replace timestamp+Math.random with crypto.randomUUID() for better uniqueness
- Extract magic number into EXTRA_SESSIONS_COUNT constant
- Update determineStrategy return type to use literal union
- Fix unnecessary optional chaining warnings
- Handle undefined labels in GitHub transformers
- Make TaskDecomposer.decompose synchronous
- Add proper eslint-disable comments for intentional sync methods
- Fix all TypeScript and formatting issues

* fix: Mock SessionManager in integration tests to prevent Docker calls in CI

- Add SessionManager mocks to claude-session.test.ts
- Add SessionManager mocks to claude-webhook.test.ts
- Prevents 500 errors when running tests in CI without Docker
- All integration tests now pass without requiring Docker runtime

* fix: Run only unit tests in Docker builds to avoid Docker-in-Docker issues

- Change test stage to run 'npm run test:unit' instead of 'npm test'
- Skips integration tests that require Docker runtime
- Prevents CI failures in Docker container builds
- Integration tests still run in regular CI workflow

* fix: Use Dockerfile CMD for tests in Docker build CI

- Remove explicit 'npm test' command from docker run
- Let Docker use the CMD defined in Dockerfile (npm run test:unit)
- This ensures consistency and runs only unit tests in Docker builds

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-03 12:42:55 -05:00
Jonathan
9e5b3c3d20 update discord widget link 2025-06-01 17:38:13 -05:00
Cheffromspace
bf1c42f5ca feat: Update organization name from intelligence-assist to claude-did-this (#162)
- Updated all GitHub URLs and organization references across the codebase
- Updated documentation links to use claude-did-this.com
- Removed self-hosted runner related files as they are no longer used
- Updated test repository references
- Preserved Docker Hub references as requested

Note: .env files and .claude/settings.local.json were also updated but are gitignored

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-01 17:07:55 -05:00
Cheffromspace
f765e2ac3e feat: Improve README with prominent quickstart and Discord presence (#161)
* feat: Improve README with prominent quickstart and Discord presence

- Add Discord badge with live member count at top of badges
- Move Quick Start section higher in README for better visibility
- Add prominent link to 10-minute QUICKSTART.md guide
- Update navigation bar with Quick Start Guide as first item
- Include actual Discord and documentation URLs

This makes it easier for new users to get started quickly and join
the community for support.

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

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

* fix: Simplify Quick Start to use .env file approach

- Replace confusing docker run command with cleaner .env file setup
- Align README Quick Start with QUICKSTART.md approach
- Fix port inconsistency (8082 -> 3002) throughout README
- Make the 4-step process clearer and more concise

The .env file approach is much easier for users than passing
multiple environment variables to docker run.

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

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-01 16:30:03 -05:00
Cheffromspace
12e4589169 Fix: Merge entrypoint scripts and fix auto-tagging tool permissions (#146)
* fix: merge entrypoint scripts and fix auto-tagging tool permissions

- Merged duplicate claudecode-entrypoint.sh and claudecode-tagging-entrypoint.sh scripts
- Added dynamic tool selection based on OPERATION_TYPE environment variable
- Fixed auto-tagging permissions to include required Bash(gh:*) commands
- Removed 95% code duplication between entrypoint scripts
- Simplified claudeService.ts to use unified entrypoint
- Auto-tagging now uses: Read,GitHub,Bash(gh issue edit:*),Bash(gh issue view:*),Bash(gh label list:*)
- General operations continue to use full tool set

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

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

* fix: update Dockerfile to use unified entrypoint script

- Remove references to deleted claudecode-tagging-entrypoint.sh
- Update build process to use single unified entrypoint script

* fix: remove unnecessary async from promisify mock to fix lint error

* feat: add Husky pre-commit hooks with Prettier as primary formatter

- Added Husky for Git pre-commit hooks
- Configured eslint-config-prettier to avoid ESLint/Prettier conflicts
- Prettier handles all formatting, ESLint handles code quality only
- Pre-commit hooks: Prettier format, ESLint check, TypeScript check
- Updated documentation with pre-commit hook setup
- All code quality issues resolved

* feat: consolidate workflows and fix permission issues with clean Docker runners

- Replace 3 complex workflows with 2 lean ones (pull-request.yml, main.yml)
- Add Docker runner configuration for clean, isolated builds
- Remove file permission hacks - use ephemeral containers instead
- Split workload: GitHub-hosted for tests/security, self-hosted for Docker builds
- Add comprehensive pre-commit configuration for security
- Update documentation to be more pragmatic
- Fix credential file permissions and security audit

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

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

* fix: allow Husky prepare script to fail in production builds

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

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

* fix: update CI badge to reference new main.yml workflow

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

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-05-31 20:53:58 -05:00
Jonathan
df756e15ae fix: correct Claude authentication command in README
Replace non-existent 'claude login' with proper 'claude --dangerously-skip-permissions' command. This command authenticates and allows for unattended runs.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-31 13:53:14 -05:00
Jonathan
a40da0267e docs: consolidate documentation structure
Unified documentation approach with single source of truth:

**Consolidated into main README.md:**
- All three authentication methods (Setup Container, API Key, AWS Bedrock)
- Quick setup instructions with links to detailed guides
- Clear indication of which method to use for different scenarios

**Removed docs/README.md:**
- Eliminated duplication between root and docs README
- Keep docs/ only for deeper technical guides when needed

**Updated structure:**
- Main README: Complete setup and quick start information
- docs/: Technical deep-dive guides only (setup-container-guide.md, etc.)
- Clear documentation hierarchy in main README

This provides a better user experience with the main README as the
authoritative getting-started guide, and docs/ for detailed technical
implementation when users need deeper information.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-31 11:18:50 -05:00
Jonathan Flatt
7039d07d29 feat: rename Docker image to claude-hub to match repository name
- Update workflow to use intelligenceassist/claude-hub instead of claude-github-webhook
- Update all README references to use new image name
- Update Docker Hub documentation with correct image names and links
2025-05-28 11:29:32 -05:00
Jonathan Flatt
fe8b328e22 feat: add Docker quickstart guide and prepare v0.1.0 release
- Add dynamic version and Docker Hub badges to README
- Include Docker pull and run commands for easy quickstart
- Update package.json version to 0.1.0
- Provide both Docker image and source installation options

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 10:58:45 -05:00
Jonathan Flatt
76141a7bf3 docs: fix README bot setup instructions and clarify account requirements
- Replace incorrect @Claude mentions with @YourBotName examples
- Add "Bot Account Setup" section explaining current requirements
- Clarify users need to create their own bot account vs universal bot
- Update environment variable examples to show proper bot username format
- Add note about planned GitHub App release for future universal bot
- Explain GitHub App compatibility with self-hosted instances

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-27 21:21:38 -05:00
Jonathan Flatt
b499bea1b4 fix: trigger check_suite webhook for timeout logic 2025-05-27 18:33:03 -05:00
ClaudeBot
f6281eb311 docs: update README to highlight Claude's autonomous development capabilities
- Enhanced description to emphasize end-to-end autonomous workflows
- Added new section highlighting autonomous workflow capabilities including:
  - Complete feature implementation from requirements to deployment
  - Intelligent PR management with automated merging
  - CI/CD integration with build monitoring and failure response
  - Multi-hour operation support with task completion guarantee
- Updated example commands to show more complex autonomous tasks
- Enhanced architecture diagrams to reflect autonomous request flow
- Updated container lifecycle to show iterative development process

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-27 17:40:02 +00:00
Jonathan Flatt
7caa4d8f83 docs: update codecov badge to use public URL
Remove token parameter from codecov badge URL since claude-hub is now a public repository.
The badge now uses the standard public codecov URL format.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-27 07:55:15 +00:00
ClaudeBot
a6feddd567 fix: update README URLs to use correct repository
- Fix clone URL from yourusername/claude-github-webhook to intelligence-assist/claude-hub
- Fix issues URL to point to correct repository
- Update directory name in clone instructions to match repository name
2025-05-27 03:12:23 +00:00
Jonathan Flatt
24d849cedd feat: add brain factory image to assets folder
- Added brain_factory.png to new assets/ directory
- Updated README to reference image in assets folder
- Maintains proper project structure with dedicated assets location

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-27 01:00:47 +00:00
Jonathan Flatt
145668dc74 feat: rebuild README for power users with accessibility improvements
- Complete rewrite focused on technical users and immediate value
- Added brain factory header image with descriptive alt text
- Improved accessibility with proper heading structure and emoji placement
- Streamlined content with focus on architecture and performance
- Clear examples and quick start instructions
- Enhanced troubleshooting and monitoring sections
- Better link text for screen reader compatibility

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-27 00:56:33 +00:00
ClaudeBot
2750659801 Remove Node.js 18 from CI/CD pipeline and update documentation
- Remove Node.js 18.x from PR workflow test matrix
- Update README.md to require Node.js 20+ instead of 16+
- Add engines field to package.json specifying Node.js >=20.0.0
- Fix linting issues (unused import and indentation)

This addresses the compatibility issue with @octokit/rest v22.0.0
which dropped support for Node.js 18, simplifying our CI/CD pipeline
and ensuring consistent Node.js version requirements.

Resolves #68

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-26 22:12:47 +00:00
Jonathan Flatt
d3e3c89d9a 📚 Add performance optimization section to README
This commit should NOT trigger Docker builds since only README changed.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-25 16:53:54 -05:00
Jonathan Flatt
f9b2869620 fix: Update CI and Security badge URLs to correct repository
- Replace placeholder 'your-org/claude-github-webhook' with actual repository 'intelligence-assist/claude-hub'
- Fix broken CI Pipeline and Security Scans badges in README

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-23 01:39:11 +00:00
Jonathan Flatt
5256e912f1 docs: Add comprehensive automated PR review documentation
- Document the automated PR review system triggered by check_suite events
- Explain Combined Status API validation to prevent duplicate reviews
- Detail the comprehensive review process and focus areas
- Add supported webhook events section
- Clarify configuration requirements

Addresses documentation suggestions from PR #31 review.
2025-05-22 16:32:57 -05:00
Jonathan Flatt
7e545475d0 security: Implement comprehensive credential protection system
Replace environment variable credentials with secure file-based mounting
to prevent runtime credential exposure that was causing security leaks.

Key security improvements:
- Docker secrets integration for credential mounting
- Secure credential loader utility (secureCredentials.js)
- Enhanced logging redaction for all credential types
- Pre-commit security scanning with multiple tools
- Automated security audit workflow and scripts
- File-based credentials with proper 600 permissions

Services updated:
- githubController.js: Use secure credentials for webhook verification
- claudeService.js: Use secure credentials for GitHub/Anthropic APIs
- githubService.js: Use secure credentials for GitHub API calls
- logger.js: Enhanced redaction patterns for all credential types

New security infrastructure:
- ./scripts/setup/setup-secure-credentials.sh: Setup script for secure credentials
- ./scripts/security/credential-audit.sh: Comprehensive security audit
- .github/workflows/security-audit.yml: Automated security scanning
- docker-compose.yml: Updated to use Docker secrets by default
- k8s/secrets.yaml: Kubernetes secrets configuration
- systemd/claude-webhook.service: Systemd service configuration

This eliminates credential exposure in:
- Environment variables and process lists
- Container logs and debug output
- Git commits and PR comments
- Runtime error messages

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 23:03:07 -05:00
Jonathan Flatt
2a3327e038 feat: Add comprehensive CI/CD pipeline with automated PR reviews
- Add GitHub Actions workflows for CI, security scanning, and deployment
- Implement automated PR review system triggered by successful check suites
- Add ESLint and Prettier for code quality and formatting
- Configure Dependabot for automated dependency updates
- Add comprehensive test coverage for check suite webhook events
- Include Docker builds and container registry publishing
- Add security scanning with CodeQL, npm audit, and TruffleHog
- Create PR and issue templates for better collaboration
- Add comprehensive CI/CD documentation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 03:42:09 +00:00
Jonathan Flatt
4cdad828c4 Reorganize scripts into structured directory layout and consolidate functionality
This commit reorganizes all scripts in the repository into a more structured directory layout for better maintainability:
- Categorizes scripts by functionality (setup, build, aws, runtime, security, utils)
- Organizes test scripts into logical categories
- Consolidates redundant scripts with unified interfaces
- Adds backward compatibility wrappers
- Adds detailed SCRIPTS.md documentation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 00:19:07 +00:00
Jonathan Flatt
76126d4ad6 initial commit 2025-05-21 00:05:39 +00:00
Jonathan Flatt
fc567071dd Initial commit 2025-05-20 17:01:59 +00:00