Files
itflow/plugins/stripe-php/.claude/CLAUDE.md
2026-04-08 12:44:45 -04:00

2.0 KiB

stripe-php

Testing

  • Run all tests: just test
  • Run specific test: just test --filter testMethodName
  • Run specific test file: just test tests/Stripe/SomeTest.php
  • Tests use PHPUnit

Formatting & Linting

  • Format: just format (uses php-cs-fixer)
  • Lint/static analysis: just lint (uses PHPStan)

Key Locations

  • HTTP client interface: lib/HttpClient/ClientInterface.php
  • cURL HTTP implementation: lib/HttpClient/CurlClient.php
  • Streaming client interface: lib/HttpClient/StreamingClientInterface.php
  • Base client (request building, auth): lib/BaseStripeClient.php
  • Main client class: lib/StripeClient.php
  • Version/config: lib/Stripe.php

Generated Code

  • Files containing File generated from our OpenAPI spec at the top are generated; do not edit. Similarly, any code block starting with The beginning of the section generated from our OpenAPI spec is generated and should not be edited directly.
    • If something in a generated file/range needs to be updated, add a summary of the change to your report but don't attempt to edit it directly.
  • Resource classes under lib/ (e.g. lib/Customer.php, lib/Service/) are largely generated.
  • The HttpClient/ directory and BaseStripeClient.php are NOT generated.

Conventions

  • Uses PHP cURL extension for HTTP
  • Composer for dependency management
  • Vendored executables in vendor/bin/
  • Work is not complete until just test and just lint complete successfully.
  • All code must run on all supported PHP versions (full list in the test section of @.github/workflows/ci.yml)

Comments

  • Comments MUST only be used to:
    1. Document a function
    2. Explain the WHY of a piece of code
    3. Explain a particularly complicated piece of code
  • Comments NEVER should be used to:
    1. Say what used to be there. That's no longer relevant!
    2. Explain the WHAT of a piece of code (unless it's very non-obvious)

It's ok not to put comments on/in a function if their addition wouldn't meaningfully clarify anything.