Claude Code is excellent at TDD. Start by describing what you want to test:
"Write a Pest test for a VoteButtons Livewire component that verifies:
- authenticated users can upvote
- clicking upvote twice toggles it off
- guests are redirected to login"
Claude will generate the test file:
test('authenticated user can upvote a tip', function () {
$user = User::factory()->create();
$tip = Tip::factory()->published()->create();
$this->actingAs($user);
Livewire::test('vote-buttons', ['tip' => $tip])
->call('upvote');
expect($tip->fresh()->score)->toBe(1);
});
test('guest is redirected when trying to vote', function () {
$tip = Tip::factory()->published()->create();
Livewire::test('vote-buttons', ['tip' => $tip])
->call('upvote')
->assertRedirect(route('login'));
});
Run the tests to confirm they fail:
php artisan test --compact --filter=VoteTest
Then tell Claude to implement the component to make the tests pass. This workflow catches edge cases early and gives you confidence in the implementation.
Log in to leave a comment.
Set up Claude Code as an automated reviewer in your CI pipeline — on every pull request, it reads the diff, checks for bugs, security issues, missing tests, and convention violations, then posts its findings as a PR comment. Your human reviewers get a head start because the obvious issues are already flagged before they look.
Before deploying, tell Claude to read your project — migrations, environment variables, queue workers, scheduled tasks, caching, third-party integrations — and generate a deployment checklist that's specific to your app. Not a generic "did you run migrations?" list, but one that knows YOUR infrastructure and catches the things YOUR deploy can break.
Instead of writing a README from memory or copying a template, tell Claude to read your project and generate one that's actually accurate — real setup instructions from your config, real architecture from your directory structure, real API examples from your routes, and real prerequisites from your dependency files.