makfly/superpowers-symfony

No description

43 stars7 forksUpdated Jan 14, 2026
npx skills add makfly/superpowers-symfony

README

Superpowers Symfony

A Claude Code plugin providing Symfony-specific guidance, skills, and workflows. This plugin enhances your development experience with TDD support, Doctrine guidance, API Platform patterns, and best practices for Symfony 6.4 LTS, 7.x, and 8.0.

Features

  • TDD Workflows - RED-GREEN-REFACTOR with Pest PHP or PHPUnit
  • Doctrine Mastery - Relations, migrations, transactions, Foundry fixtures
  • API Platform - Resources, filters, serialization, versioning
  • Symfony Messenger - Async processing, handlers, retry strategies
  • Security - Voters for granular authorization
  • Architecture - Hexagonal/Ports & Adapters, DI patterns
  • Quality - PHP-CS-Fixer, PHPStan integration
  • Docker Support - Docker Compose standard + Symfony Docker (FrankenPHP)

Complexity tiers: See docs/complexity-tiers.md for simple/medium/complex examples and how to adapt output.

Installation

# From Claude Code marketplace
claude plugins install superpowers-symfony

# Or manually
git clone https://github.com/MakFly/superpowers-symfony ~/.claude/plugins/superpowers-symfony

Enable plugin (Claude + GLM)

// ~/.claude/settings.json
{
  "enabledPlugins": {
    "superpowers-symfony@custom": true
  }
}
// ~/.claude-glm/.claude.json
{
  "enabledPlugins": {
    "superpowers-symfony@custom": true
  }
}

Restart Claude Code.

Fallback: symlink skills (if plugin skills don’t load)

ln -s ~/.claude/plugins/superpowers-symfony/skills/doctrine-relations ~/.claude/skills/symfony-doctrine-relations

Then call:

Use the skill symfony:doctrine-relations

Troubleshooting (Unknown skill)

If you see Unknown skill:

  1. Restart Claude Code.
  2. Run What skills are available? to confirm the plugin is loaded.
  3. Ensure enabledPlugins includes superpowers-symfony@custom in both configs.
  4. Use the fallback symlink if the plugin still does not expose skills.

How to Use Skills

Skills are markdown files containing expert knowledge about specific Symfony topics. Since this plugin uses a custom skill system (not Claude Code's native Skill tool), here are the different ways to use them.

Calling a Skill

To invoke a skill, simply ask Claude using one of these patterns:

# Basic syntax
Use the skill symfony:<skill-name>

# Examples
Use the skill symfony:tdd-with-pest
Use the skill symfony:api-platform-dto-resources
Use the skill symfony:doctrine-relations

Quick Reference:

What you typeWhat happens
Use the skill symfony:tdd-with-pestClaude reads and applies TDD with Pest knowledge
Apply symfony:doctrine-relationsClaude reads and applies Doctrine relations patterns
Load symfony:api-platform-dto-resourcesClaude reads and applies DTO resources patterns

Method 1: Ask Claude Directly (Recommended)

Simply ask Claude to use a specific skill in your conversation:

Use the skill symfony:api-platform-dto-resources to help me create a Product API

Use the skill symfony:tdd-with-pest and help me write tests for my UserService

Apply the symfony:doctrine-relations skill to design my e-commerce entities

Claude will read the skill file from ~/.claude/plugins/superpowers-symfony/skills/ and apply its knowledge to your request.

Method 2: Copy Commands to Your Project

Copy the plugin's slash commands to your project for quick access:

# Create commands directory in your project
mkdir -p .claude/commands

# Copy all superpowers commands
cp ~/.claude/plugins/superpowers-symfony/commands/*.md .claude/commands/

# Or copy specific commands
cp ~/.claude/plugins/superpowers-symfony/commands/symfony-tdd-pest.md .claude/commands/

Then use them with:

/symfony-tdd-pest
/symfony-check
/write-plan

Method 3: Reference in Project CLAUDE.md (Not recommended)

Avoid @ file references in CLAUDE.md because they force-load large files and increase context usage. Prefer explicit skill invocation instead:

Use the skill symfony:tdd-with-pest
Use the skill symfony:api-platform-dto-resources
Use the skill symfony:doctrine-relations

Method 4: Direct Skill Path Reference

Ask Claude to read a specific skill file:

Read and apply ~/.claude/plugins/superpowers-symfony/skills/symfony-voters/SKILL.md

Load the skill at ~/.claude/plugins/superpowers-symfony/skills/quality-checks/SKILL.md
and run the checks on my project

Usage Examples

Example 1: TDD with Pest

User: I need to create a PriceCalculator service with discounts. Use TDD with Pest.

Claude: [Reads symfony:tdd-with-pest skill]
        Let me guide you through the RED-GREEN-REFACTOR cycle...

        1. RED - Write failing test first:
        // tests/Unit/Service/PriceCalculatorTest.php
        test('calculates price with percentage discount', function () {
            $calculator = new PriceCalculator();
            expect($calculator->calculate(10

...
Read full README

Publisher

makflymakfly

Statistics

Stars43
Forks7
Open Issues1
LicenseMIT License
CreatedDec 17, 2025