Files
claude-code-gitea-action/CLAUDE.md
2025-05-19 08:32:32 -07:00

59 lines
2.2 KiB
Markdown

# CLAUDE.md
This file provides guidance to Claude Code when working with code in this repository.
## Development Tools
- Runtime: Bun 1.2.11
## Common Development Tasks
### Available npm/bun scripts from package.json:
```bash
# Test
bun test
# Formatting
bun run format # Format code with prettier
bun run format:check # Check code formatting
```
## Architecture Overview
This is a GitHub Action that enables Claude to interact with GitHub PRs and issues. The action:
1. **Trigger Detection**: Uses `check-trigger.ts` to determine if Claude should respond based on comment/issue content
2. **Context Gathering**: Fetches GitHub data (PRs, issues, comments) via `github-data-fetcher.ts` and formats it using `github-data-formatter.ts`
3. **AI Integration**: Supports multiple Claude providers (Anthropic API, AWS Bedrock, Google Vertex AI)
4. **Prompt Creation**: Generates context-rich prompts using `create-prompt.ts`
5. **MCP Server Integration**: Installs and configures GitHub MCP server for extended functionality
### Key Components
- **Trigger System**: Responds to `/claude` comments or issue assignments
- **Authentication**: OIDC-based token exchange for secure GitHub interactions
- **Cloud Integration**: Supports direct Anthropic API, AWS Bedrock, and Google Vertex AI
- **GitHub Operations**: Creates branches, posts comments, and manages PRs/issues
### Project Structure
```
src/
├── check-trigger.ts # Determines if Claude should respond
├── create-prompt.ts # Generates contextual prompts
├── github-data-fetcher.ts # Retrieves GitHub data
├── github-data-formatter.ts # Formats GitHub data for prompts
├── install-mcp-server.ts # Sets up GitHub MCP server
├── update-comment-with-link.ts # Updates comments with job links
└── types/
└── github.ts # TypeScript types for GitHub data
```
## Important Notes
- Actions are triggered by `@claude` comments or issue assignment unless a different trigger_phrase is specified
- The action creates branches for issues and pushes to PR branches directly
- All actions create OIDC tokens for secure authentication
- Progress is tracked through dynamic comment updates with checkboxes