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

Minus X Laravel Package

mediawiki/minus-x

MinusX scans your repo for files incorrectly marked executable on Unix. Executables must have the right MIME type or a shebang. Run minus-x check . to report issues and minus-x fix . to remove bad +x flags; supports ignore rules via .minus-x.json.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: MinusX is a standalone CLI utility with no framework dependencies, making it highly compatible with Laravel's PHP-based architecture. It operates at the filesystem level and integrates seamlessly into existing dev workflows without requiring changes to application code.
Integration feasibility: High feasibility via Composer (composer require mediawiki/minus-x --dev). Simple CLI commands (check/fix) can be added to Composer scripts, pre-commit hooks, or CI pipelines with minimal configuration.
Technical risk: Low code complexity but limited adoption (6 stars, 0 dependents) raises concerns about edge-case handling and long-term maintenance. GPL-3.0 license may require compliance checks for proprietary projects. Potential Windows compatibility issues due to Unix-centric permission handling.
Key questions: How does it handle Windows environments (e.g., Git Bash vs. WSL)? What are performance characteristics for large repos (>10k files)? Are there known issues with symlinks or special file types? Is the Gerrit-hosted codebase actively maintained despite low GitHub visibility?

Integration Approach

Stack fit: Perfect fit for Laravel projects as a dev dependency. Composer integration aligns with Laravel’s tooling ecosystem, and the tool’s filesystem-focused nature complements Laravel’s directory structure (e.g., validating storage/, bootstrap/, or custom scripts).
Migration path: Add to composer.json dev dependencies, then configure in scripts section (e.g., "post-install-cmd": "minus-x check ."). For existing projects, create .minus-x.json to ignore legacy files/dirs (e.g., vendor/ is auto-ignored).
Compatibility: Works with all modern PHP versions (7.4+). Requires POSIX-compliant filesystems for accurate permission checks; Windows users must use WSL or Git Bash. Fully compatible with Laravel’s typical Unix-based deployment environments.
Sequencing: Run in pre-commit hooks (via husky or lint-staged) to catch issues early. In CI pipelines, execute before tests/deployments to ensure permission hygiene. Prioritize fix command in development environments and check in production pipelines.

Operational Impact

Maintenance: Low overhead due to small codebase, but requires monitoring for updates via Composer. Wikimedia’s Gerrit hosting suggests institutional support, though low GitHub engagement may indicate slower issue resolution. Periodic audits of .minus-x.json rules needed as project structure evolves.
Support: Limited community support (0 dependents), so internal expertise or contributions to the repo may be required for complex issues. GPL-3.0 license mandates sharing modifications, which could complicate internal tooling forks.
Scaling: Handles typical Laravel project sizes efficiently, but performance degrades linearly with file count. For monorepos or large-scale deployments, validate runtime in staging environments. Auto-fix operations may require manual review for edge cases (e.g., intentionally executable non-shebang files).
Failure modes: CI failures during check could block deployments if misconfigured. False positives may occur for files with executable bits set for non-Unix reasons (e.g., cross-platform scripts). Mitigate via explicit .minus-x.json rules and CI error thresholds.
Ramp-up: Minimal learning curve—developers need only run CLI commands and understand basic JSON ignore rules. Documentation is concise and actionable, with

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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport
twbs/bootstrap4