Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 13 additions & 15 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,34 +17,32 @@ jobs:
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
actions: read # Required for Claude to read CI results on PRs
actions: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
cache: 'sbt'

- name: Set up sbt
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1, specifically v1.1.14

- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}

# This is an optional setting that allows Claude to read CI results on PRs
additional_permissions: |
actions: read

# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
# prompt: 'Update the pull request description to include a summary of changes.'

# Optional: Add claude_args to customize behavior and configuration
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
# or https://code.claude.com/docs/en/cli-reference for available options
# claude_args: '--allowed-tools Bash(gh pr:*)'

timeout_minutes: 60
24 changes: 24 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# sttp - Scala HTTP client

## Build commands
- Compile all: `sbt compile`
- Compile specific Scala version/platform: `sbt "compileScoped 3 JVM"` (options: 2.12, 2.13, 3 / JVM, JS, Native)
- Test all: `sbt test`
- Test specific: `sbt "testScoped 3 JVM"`
- Compile docs: `sbt compileDocs`

## Project structure
- Multi-module sbt project using ProjectMatrix for cross-compilation
- Scala versions: 2.12, 2.13, 3
- Platforms: JVM, JS, Native
- Core module in `core/`, backends in dedicated directories (e.g., `okhttp-backend/`, `http4s-backend/`)
- JSON support modules in `json/`
- Effects modules in `effects/` (cats, zio, fs2, monix, ox)

## Testing
- Tests require a test server running (started automatically via `testServerSettings`)
- Use `sbt "testScoped <version> <platform>"` for targeted testing

## Code style
- Follow existing patterns in the codebase
- Use `%%%` for cross-platform dependencies, `%%` for JVM-only
Loading