- Add combined coverage script to merge lcov reports
- Update GitHub workflows to generate and upload combined coverage
- Install missing CLI dependencies (ora, yaml, cli-table3, mock-fs)
- Add initial tests for SessionManager and IssueHandler
- Exclude type-only files from coverage metrics
- Update jest config to exclude type files from coverage
This ensures Codecov receives coverage data from both the main project
and CLI subdirectory, providing accurate overall project coverage metrics.
* fix: Fix Claude integration tests by ensuring provider registration
The Claude webhook integration tests were failing because the provider
wasn't being registered before the routes were imported. This was due
to the conditional check that skips provider initialization in test mode.
Changes:
- Move environment variable setup before any imports
- Import Claude provider before importing webhook routes
- Remove duplicate provider registration from beforeAll hook
This ensures the Claude provider is properly registered with the webhook
registry before the tests run.
* fix: Add comprehensive test suite to PR checks
- Replace test:unit with test:ci to run full test suite (unit + integration)
- Add format:check for Prettier validation
- Add typecheck for TypeScript compilation checks
- Add codecov upload for PR coverage reporting
- Add TruffleHog secret scanning for PR changes
This ensures PRs catch all issues that would fail on main branch,
preventing post-merge failures.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* test: Remove obsolete Claude integration tests
These tests were for the deprecated /api/webhooks/claude endpoint
that was removed in commit dd5e6e6. The functionality is now covered
by unit tests for the new webhook provider architecture:
- ClaudeWebhookProvider.test.ts
- SessionHandler.test.ts
- OrchestrationHandler.test.ts
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
* feat: Improve Claude authentication setup experience
- Replace 'claude login' with 'claude --dangerously-skip-permissions'
- Fix path references from /auth-output to actual authentication location
- Simplify user instructions to be more accessible
- Add automatic authentication execution (no manual typing required)
- Add comprehensive validation for authentication success
- Check file existence, size, and timestamp
- Provide clear error messages for different failure scenarios
- Remove deprecated setup-claude-auth.sh script
- Update CLAUDE.md to reference correct build script path
- Exclude todos directory from authentication capture
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* remove self-hosted runners from ci
---------
Co-authored-by: Claude <noreply@anthropic.com>
* 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>