Skip to content

Commit 2ad001c

Browse files
turegjorupclaude
andcommitted
6869: Update claude.md for Symfony 8.0 and PHP 8.5
- PHP 8.4+ → 8.5+, Symfony 7.3 → 8.0 - EasyAdmin 4.x → 5.x, PHPUnit 11+ → 13+ - Expand CI section to reflect all 14 workflow checks Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 82b77ae commit 2ad001c

2 files changed

Lines changed: 41 additions & 35 deletions

File tree

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -149,15 +149,15 @@ and is not portable across tools.
149149

150150
The following plugins are enabled in `.claude/settings.json`:
151151

152-
| Plugin | Purpose | Source |
153-
|---|---|---|
154-
| `php-lsp` | PHP language server for type-aware code intelligence | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
155-
| `context7` | Up-to-date documentation lookup for Symfony, Doctrine, API Platform, etc. | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
156-
| `code-review` | Pull request code review | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
157-
| `code-simplifier` | Suggests clarity and maintainability improvements | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
158-
| `security-guidance` | Flags potential security issues (OWASP, injection, etc.) | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
159-
| `playwright` | Browser automation for debugging and testing the EasyAdmin UI | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
160-
| `feature-dev` | Guided feature development with codebase exploration and architecture focus | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
152+
| Plugin | Purpose | Source |
153+
|---------------------|-----------------------------------------------------------------------------|------------------------------------------------------------------------------|
154+
| `php-lsp` | PHP language server for type-aware code intelligence | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
155+
| `context7` | Up-to-date documentation lookup for Symfony, Doctrine, API Platform, etc. | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
156+
| `code-review` | Pull request code review | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
157+
| `code-simplifier` | Suggests clarity and maintainability improvements | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
158+
| `security-guidance` | Flags potential security issues (OWASP, injection, etc.) | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
159+
| `playwright` | Browser automation for debugging and testing the EasyAdmin UI | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
160+
| `feature-dev` | Guided feature development with codebase exploration and architecture focus | [claude-plugins-official](https://github.com/anthropics/claude-code-plugins) |
161161

162162
> **Note:** The `php-lsp` plugin requires [Intelephense](https://intelephense.com/)
163163
> installed globally: `npm install -g intelephense`. All other plugins work

claude.md

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ images, packages, modules, CVEs, and git repositories.
1010

1111
## Technology Stack
1212

13-
- **Language**: PHP 8.4+ (Symfony 7.3)
13+
- **Language**: PHP 8.5+ (Symfony 8.0)
1414
- **API**: API Platform 4.0 (REST)
15-
- **Admin UI**: EasyAdmin 4.x
15+
- **Admin UI**: EasyAdmin 5.x
1616
- **Database**: Doctrine ORM 3.x / DBAL 4.x with MariaDB
1717
- **Messaging**: Symfony Messenger (AMQP/RabbitMQ)
1818
- **Auth**: OpenID Connect (`itk-dev/openid-connect-bundle`)
1919
- **Frontend**: Webpack Encore, Stimulus.js
20-
- **Testing**: PHPUnit 11+
20+
- **Testing**: PHPUnit 13+
2121
- **Code Quality**: PHP-CS-Fixer, PHPStan, Rector
2222

2323
## Architecture
@@ -40,19 +40,19 @@ graph TD
4040

4141
### Key Directories
4242

43-
| Directory | Purpose |
44-
|---|---|
45-
| `src/Entity/` | ~20 Doctrine entities (Server, Site, Domain, Installation, Package, DockerImage, Advisory, etc.) |
46-
| `src/Handler/` | DetectionResult handlers (Directory, Docker, Drupal, Git, Nginx, Symfony) |
47-
| `src/MessageHandler/` | Async message processing (PersistDetectionResult, ProcessDetectionResult) |
48-
| `src/Admin/` | EasyAdmin CRUD controllers |
49-
| `src/ApiResource/` | API Platform resource definitions |
50-
| `src/Service/` | Factories (PackageVersion, ModuleVersion, Advisory) and export services |
51-
| `src/Repository/` | Doctrine repositories |
52-
| `config/packages/` | Bundle configurations |
53-
| `migrations/` | Doctrine migrations |
54-
| `fixtures/` | Hautelook/Alice test fixtures |
55-
| `tests/` | PHPUnit tests (Api, Controller, MessageHandler) |
43+
| Directory | Purpose |
44+
|-----------------------|--------------------------------------------------------------------------------------------------|
45+
| `src/Entity/` | ~20 Doctrine entities (Server, Site, Domain, Installation, Package, DockerImage, Advisory, etc.) |
46+
| `src/Handler/` | DetectionResult handlers (Directory, Docker, Drupal, Git, Nginx, Symfony) |
47+
| `src/MessageHandler/` | Async message processing (PersistDetectionResult, ProcessDetectionResult) |
48+
| `src/Admin/` | EasyAdmin CRUD controllers |
49+
| `src/ApiResource/` | API Platform resource definitions |
50+
| `src/Service/` | Factories (PackageVersion, ModuleVersion, Advisory) and export services |
51+
| `src/Repository/` | Doctrine repositories |
52+
| `config/packages/` | Bundle configurations |
53+
| `migrations/` | Doctrine migrations |
54+
| `fixtures/` | Hautelook/Alice test fixtures |
55+
| `tests/` | PHPUnit tests (Api, Controller, MessageHandler) |
5656

5757
### Data Flow
5858

@@ -63,7 +63,7 @@ truncated and rebuilt by replaying DetectionResults. Manually maintained data
6363
## Development Environment
6464

6565
```sh
66-
# Start services (MariaDB, PHP-FPM 8.4, Nginx, Mailpit)
66+
# Start services (MariaDB, PHP-FPM 8.5, Nginx, Mailpit)
6767
docker compose pull && docker compose up --detach
6868

6969
# Install dependencies
@@ -110,14 +110,20 @@ docker compose exec phpfpm composer update-api-spec
110110

111111
Pull requests run these checks:
112112

113-
1. **Composer validation** - validates and installs (prod + dev)
114-
2. **Doctrine schema validation** - migrations + schema check against MariaDB
115-
3. **PHP-CS-Fixer** - coding standards
116-
4. **PHPUnit** - unit/integration tests with MariaDB
117-
5. **API spec validation** - ensures exported OpenAPI spec is up to date
118-
6. **Fixtures** - verifies fixtures load successfully
119-
7. **Asset build** - verifies frontend assets compile
120-
8. **Changelog** - ensures CHANGELOG.md is updated
113+
1. **Composer** (`composer.yaml`) - validates, normalizes, and audits
114+
2. **Doctrine schema validation** (`pr.yaml`) - migrations + schema check against MariaDB
115+
3. **PHP-CS-Fixer** (`php.yaml`) - PHP coding standards
116+
4. **PHPStan** (`pr.yaml`) - static analysis (level 6)
117+
5. **PHPUnit** (`pr.yaml`) - unit/integration tests with MariaDB + coverage
118+
6. **Twig** (`twig.yaml`) - Twig coding standards (twig-cs-fixer)
119+
7. **YAML** (`yaml.yaml`) - YAML formatting (Prettier)
120+
8. **Markdown** (`markdown.yaml`) - Markdown linting (markdownlint)
121+
9. **JavaScript** (`javascript.yaml`) - JS formatting (Prettier)
122+
10. **Styles** (`styles.yaml`) - CSS/SCSS formatting (Prettier)
123+
11. **API spec** (`api-spec.yaml`) - ensures exported OpenAPI spec is up to date
124+
12. **Fixtures** (`pr.yaml`) - verifies fixtures load successfully
125+
13. **Asset build** (`pr.yaml`) - verifies frontend assets compile
126+
14. **Changelog** (`changelog.yaml`) - ensures CHANGELOG.md is updated
121127

122128
### Woodpecker CI (deployment)
123129

@@ -139,4 +145,4 @@ Pull requests run these checks:
139145
- Handlers are auto-tagged and injected via tagged iterator in `services.yaml`
140146
- Async processing uses Symfony Messenger with AMQP transport
141147
- Environment-specific config goes in `.env.local` (not committed)
142-
- API specs (`public/api-spec-v1.yaml` and `.json`) must be regenerated and committed when API changes
148+
- API specs (`public/api-spec-v1.yaml` and `.json`) must be regenerated and committed when API changes

0 commit comments

Comments
 (0)