Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Janus Laravel Package

21torr/janus

Janus PHP provides shared configuration for CI and PHP code style tools, making it easy to standardize linting, formatting, and automation across projects. Includes ready-to-use presets and documentation for quick setup.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Standardization of Code Quality: Enables consistent enforcement of Laravel/Symfony-specific coding standards (e.g., Blade templates, Eloquent conventions, Doctrine DQL) across teams, reducing technical debt and improving maintainability. Aligns with initiatives to modernize legacy codebases or onboard new developers efficiently.
  • Developer Productivity: Automates repetitive style checks (PHP-CS-Fixer, PHPStan) and static analysis, allowing engineers to focus on feature development. Reduces friction in PR feedback loops by catching formatting and logical errors early (e.g., Doctrine schema validation, custom PHPStan rules for Task classes).
  • CI/CD Pipeline Optimization: Provides a lightweight, pre-configured way to integrate static analysis into build processes, ensuring quality gates are met without heavy tooling overhead. Supports Symfony 8+ and Doctrine, reducing false positives in CI (e.g., disabled doctrine.columnType rule).
  • Build vs. Buy Decision: Justifies adopting a maintained, Laravel-aware solution over custom tooling for teams lacking resources to build or maintain bespoke linting rules. Ideal for projects where pragmatic standardization is prioritized over cutting-edge analysis.
  • Roadmap Priorities:
    • Scaling Teams: Critical for distributed teams where consistency is harder to enforce (e.g., remote-first organizations).
    • Legacy Refactoring: Helps incrementally improve code quality in older Laravel projects with minimal disruption.
    • Open-Source Contributions: Ensures contributions adhere to project standards, reducing merge conflicts and reviewer burden.
    • Toolchain Modernization: Replaces ad-hoc or outdated linting configurations with a maintained, Laravel-specific solution (e.g., PHPStan v2 support, Symfony 8+ compatibility).
    • Security and Compliance: Validates Doctrine schemas in CI, reducing runtime errors and improving data integrity.

When to Consider This Package

  • Adopt if:

    • Your project relies on Laravel/Symfony conventions (e.g., Blade templates, Eloquent, Doctrine) that generic tools like php-cs-fixer or pint don’t fully address.
    • You need pre-configured rules for PHPStan, PHP-CS-Fixer, and Doctrine without writing custom configs from scratch.
    • Your team lacks a dedicated code style guide or struggles to enforce it consistently (e.g., mixed snake_case/camelCase in Blade files).
    • You’re using Symfony 8+ or Doctrine and want optimized static analysis rules (e.g., DQL type support, schema validation in CI).
    • You prioritize lightweight integration into CI/CD (e.g., GitHub Actions) with minimal setup (e.g., Composer plugin for auto-execution).
    • Your project is mid-to-large (5+ developers) and needs to balance strictness with pragmatism (e.g., disabling false-positive rules like doctrine.columnType).
    • You want to reduce PR feedback noise by automating style checks (e.g., PHP-CS-Fixer) and static analysis (e.g., PHPStan with custom rules for Task classes).
  • Look elsewhere if:

    • You already have a mature custom linting setup (e.g., heavily customized php-cs-fixer or pint configs) and don’t need Laravel-specific rules.
    • Your primary goal is advanced static analysis (e.g., security, performance) rather than style enforcement—consider Psalm or PHPStan directly with custom configurations.
    • Your project is small or solo-developed, where manual checks or simpler tools (e.g., pint) suffice.
    • The package’s lack of community adoption (0 stars, no dependents) raises concerns about long-term viability. Mitigate by:
      • Forking the repo to customize rules for your needs.
      • Treating it as a temporary solution until a more maintained alternative (e.g., Laravel’s official tooling) emerges.
    • You require real-time IDE feedback (e.g., PHPStorm integration) and need deeper tooling like PHPStan’s IDE helper or Infection for mutation testing.
    • Your project uses non-standard Laravel setups (e.g., heavy custom Doctrine configurations) that conflict with Janus’s pre-configured rules.

How to Pitch It (Stakeholders)

For Executives: "Janus is a low-code, high-impact tool that automates Laravel-specific code quality checks, saving our team time on manual reviews and reducing onboarding friction. By integrating it into our CI pipeline, we’ll catch formatting and logical errors early—freeing engineers to focus on high-impact work. It’s a minimal-effort, high-reward solution to professionalize our codebase, especially as we scale. With Symfony 8+ support and Doctrine validation, it’s future-proof for our tech stack. The MIT license ensures we can customize it without vendor lock-in."

For Engineering Leaders: *"This package bundles Laravel-optimized rules for tools we already use (PHPStan, PHP-CS-Fixer, Doctrine), so we don’t have to reinvent the wheel. Key benefits:

  • Reduces PR noise by automating style and static analysis checks.
  • Future-proofs our toolchain with Symfony 8+ and PHPStan v2 support.
  • Integrates seamlessly into GitHub Actions or our CI in under an hour.
  • Validates Doctrine schemas in CI, reducing runtime errors. Let’s pilot it on [Project X] to measure its impact on build times and developer productivity. If it cuts down on style-related feedback by 30%, we can roll it out company-wide. The Composer plugin even auto-runs Janus, further streamlining workflows."*

For Developers: *"No more debates over Blade template formatting or PHPStan errors in Doctrine queries. Janus enforces our team’s rules automatically—so your PRs pass checks faster, and you spend less time fixing formatting. Here’s how to use it:

  • Run locally: php vendor/bin/janus check before committing.
  • Let CI handle it: No more ‘please fix your indentation’ comments.
  • Customize rules: Disable or tweak rules (e.g., doctrine.columnType) if needed. It’s MIT-licensed, so it’s safe to try. If it doesn’t fit, we can switch back to pint or php-cs-fixer easily. Bonus: It includes custom PHPStan rules for Task classes and Symfony 8+ support—so it’s ready for modern Laravel!"*

For Technical Architects: *"Janus addresses a critical gap in Laravel’s tooling ecosystem by providing pre-configured, opinionated static analysis tailored to Symfony 8+ and Doctrine. Key technical advantages:

  • Reduces false positives in CI with Laravel-specific rule tweaks (e.g., disabled doctrine.columnType).
  • Supports PHPStan v2 and includes extensions (e.g., PHPUnit, staabm/phpstan-todo-by).
  • Validates Doctrine schemas in CI, improving data integrity.
  • Composer plugin enables auto-execution, reducing manual setup.
  • Lightweight: No heavy dependencies; integrates with existing workflows. Recommendation: Adopt as a standardized baseline for new projects and legacy refactoring. Pair with custom rules for project-specific needs (e.g., custom PHPStan rules for domain logic)."*
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor