|
268 | 268 | <div class="example-output">- Level max (strictest analysis) |
269 | 269 | - Laravel-aware via Larastan |
270 | 270 | - Catches type errors before runtime |
271 | | -- Analyzes app/ and modules/</div> |
| 271 | +- Analyzes modules/ directory</div> |
272 | 272 | </div> |
273 | 273 | </details> |
274 | 274 |
|
|
394 | 394 | - Missing null check on optional discount</div> |
395 | 395 | </div> |
396 | 396 | </details> |
| 397 | + |
| 398 | + <details> |
| 399 | + <summary class="table-row"> |
| 400 | + <span class="table-name">security-reviewer</span> |
| 401 | + <span class="table-desc">OWASP Top 10 & Laravel security analysis</span> |
| 402 | + </summary> |
| 403 | + <div class="example-box"> |
| 404 | + <div class="example-label">You ask:</div> |
| 405 | + <div class="example-input">"Review security of the auth module"</div> |
| 406 | + <div class="example-label" style="margin-top: 0.5rem;">Agent checks:</div> |
| 407 | + <div class="example-output">- Hardcoded secrets detection |
| 408 | +- SQL injection vulnerabilities |
| 409 | +- XSS prevention (Blade escaping) |
| 410 | +- CSRF protection & rate limiting</div> |
| 411 | + </div> |
| 412 | + </details> |
397 | 413 | </div> |
398 | 414 |
|
399 | 415 | <!-- Claude Code Commands Section --> |
|
405 | 421 | <div class="table-header">COMMAND GENERATES</div> |
406 | 422 | <div style="border-bottom: 1px solid rgba(107, 114, 128, 0.3); margin-bottom: 0.5rem;"></div> |
407 | 423 |
|
| 424 | + <details> |
| 425 | + <summary class="table-row"> |
| 426 | + <span class="table-name">/create-module</span> |
| 427 | + <span class="table-desc">Full module structure with all layers</span> |
| 428 | + </summary> |
| 429 | + <div class="example-box"> |
| 430 | + <div class="example-label">Input:</div> |
| 431 | + <div class="example-input">/create-module Order</div> |
| 432 | + <div class="example-label" style="margin-top: 0.5rem;">Creates:</div> |
| 433 | + <div class="example-file">modules/Order/Domain/{Entity,ValueObject,Repository,Exception}/</div> |
| 434 | + <div class="example-file">modules/Order/Application/{Command,Query}/</div> |
| 435 | + <div class="example-file">modules/Order/Infrastructure/{Http,Persistence,Provider}/</div> |
| 436 | + </div> |
| 437 | + </details> |
| 438 | + |
408 | 439 | <details> |
409 | 440 | <summary class="table-row"> |
410 | 441 | <span class="table-name">/create-entity</span> |
|
415 | 446 | <div class="example-input">/create-entity Order Order</div> |
416 | 447 | <div class="example-label" style="margin-top: 0.5rem;">Creates:</div> |
417 | 448 | <div class="example-file">modules/Order/Domain/Entity/Order.php</div> |
418 | | - <div class="example-file">modules/Order/Domain/ValueObject/OrderId.php</div> |
| 449 | + <div class="example-file">modules/Order/Domain/Entity/OrderId.php</div> |
419 | 450 | <div class="example-file">tests/Unit/Order/Domain/Entity/OrderTest.php</div> |
420 | 451 | </div> |
421 | 452 | </details> |
422 | 453 |
|
| 454 | + <details> |
| 455 | + <summary class="table-row"> |
| 456 | + <span class="table-name">/create-value-object</span> |
| 457 | + <span class="table-desc">Immutable value object + validation + test</span> |
| 458 | + </summary> |
| 459 | + <div class="example-box"> |
| 460 | + <div class="example-label">Input:</div> |
| 461 | + <div class="example-input">/create-value-object Order Money</div> |
| 462 | + <div class="example-label" style="margin-top: 0.5rem;">Creates:</div> |
| 463 | + <div class="example-file">modules/Order/Domain/ValueObject/Money.php</div> |
| 464 | + <div class="example-file">modules/Order/Domain/Exception/InvalidMoney.php</div> |
| 465 | + <div class="example-file">tests/Unit/Order/Domain/ValueObject/MoneyTest.php</div> |
| 466 | + </div> |
| 467 | + </details> |
| 468 | + |
423 | 469 | <details> |
424 | 470 | <summary class="table-row"> |
425 | 471 | <span class="table-name">/create-repository</span> |
|
496 | 542 | - Suggested refactoring patterns</div> |
497 | 543 | </div> |
498 | 544 | </details> |
| 545 | + |
| 546 | + <details> |
| 547 | + <summary class="table-row"> |
| 548 | + <span class="table-name">/code-review</span> |
| 549 | + <span class="table-desc">Code quality & architecture compliance</span> |
| 550 | + </summary> |
| 551 | + <div class="example-box"> |
| 552 | + <div class="example-label">Input:</div> |
| 553 | + <div class="example-input">/code-review modules/Order/</div> |
| 554 | + <div class="example-label" style="margin-top: 0.5rem;">Checks:</div> |
| 555 | + <div class="example-output">- Architecture layer compliance |
| 556 | +- Naming conventions & code quality |
| 557 | +- Test coverage for changes |
| 558 | +- Security best practices</div> |
| 559 | + </div> |
| 560 | + </details> |
| 561 | + |
| 562 | + <details> |
| 563 | + <summary class="table-row"> |
| 564 | + <span class="table-name">/security-review</span> |
| 565 | + <span class="table-desc">Security analysis with OWASP checks</span> |
| 566 | + </summary> |
| 567 | + <div class="example-box"> |
| 568 | + <div class="example-label">Input:</div> |
| 569 | + <div class="example-input">/security-review modules/User/</div> |
| 570 | + <div class="example-label" style="margin-top: 0.5rem;">Analyzes:</div> |
| 571 | + <div class="example-output">- Dependency vulnerabilities (composer audit) |
| 572 | +- Hardcoded secrets & credentials |
| 573 | +- Input validation & SQL injection |
| 574 | +- Authentication & authorization</div> |
| 575 | + </div> |
| 576 | + </details> |
499 | 577 | </div> |
500 | 578 |
|
501 | 579 | <!-- Claude Code Skills Section --> |
|
0 commit comments