Weave 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
Symfony Console Autocomplete

Symfony Console Autocomplete Laravel Package

bamarni/symfony-console-autocomplete

Adds shell autocompletion for Symfony Console commands, so pressing Tab completes command names, arguments, and options in bash, zsh, and fish. Works with any Symfony Console app, including Composer-installed tools like PHPUnit or Composer itself.

Deep Wiki
Context7

Shell autocompletion for any Symfony Console application. This package generates completion scripts for bash and zsh, letting you tab-complete commands, options, and arguments for tools like Composer, PHPUnit, or your own CLI—no manual wiring required.

  • One command installs completion for bash and zsh
  • Completes commands, options, and arguments contextually
  • Works with any Symfony Console app, including Composer and PHPUnit
  • Simple setup via a single completion invocation
  • Actively used and battle-tested by the PHP community
Frequently asked questions about Symfony Console Autocomplete
How do I install bamarni/symfony-console-autocomplete for a Laravel artisan project?
Install it as a dev dependency with composer require --dev bamarni/symfony-console-autocomplete, then generate and source the completion script from your .bashrc or .zshrc. There is no service provider, no config file to publish, and no application bootstrapping required for the common path. Because artisan is a Symfony Console application, the package works by introspecting the console binary rather than by touching your Laravel code.
Does Laravel artisan already have native shell completion, making this package redundant?
Recent Symfony Console versions ship a first-party completion command (completion bash, zsh, or fish), and recent Laravel artisan releases inherit that capability. Before adopting this package, check whether your pinned Laravel version already exposes native completion. If it does, standardize on the built-in path and treat this package as unnecessary.
Which shells does this package support, and does it work on Windows PowerShell?
It targets Unix-like shells: bash, zsh, and historically fish. There is no PowerShell story, so Windows developers on a heterogeneous team would be left out. If your engineering org is mixed-platform, plan for that gap before rolling it out broadly.
Is bamarni/symfony-console-autocomplete still maintained and safe to use?
The last release was 2022-12-21, which means roughly three years of silence spanning multiple Symfony Console major versions. Laravel's artisan surface has also moved on, so undeclared incompatibilities are likely rather than hypothetical. Treat it as dormant: pin it, test it against your exact stack, and plan to retire it.
What license does this package use, and can I use it in a commercial codebase?
Package metadata reports the license as NOASSERTION, which is a legal-review blocker rather than a footnote. Inspect the repository's LICENSE file and get sign-off before including it anywhere in a commercial codebase, even as a require-dev entry. Do not assume a permissive license from the repository name or ecosystem.
How does the autocompletion actually work — does it run PHP on every Tab press?
Yes. Completion is dynamic: pressing Tab executes the PHP binary and boots the console application so it can introspect available commands, arguments, and options. That means a small latency cost per completion and any bootstrapping side effects run each time. It is a real, if minor, supply-chain and performance consideration worth noting in review.
How do I remove or uninstall the completion script later?
Removal is trivial: delete the sourcing line from your dotfile and drop the dev dependency with composer remove. Nothing in your application code or domain layer depends on it, so there is no refactor involved. That low exit cost is a good reason to run a short trial rather than a formal adoption process.
Should it be a require-dev dependency or a production requirement?
Install it in require-dev at the monorepo root if you have one, or inside a shared internal tooling package. It should never ship in production images or in CI runners that do not need shell completion. It is developer-experience tooling that sits outside the Laravel request lifecycle entirely.
Does it work with Laravel 10, Laravel 11, and PHP 8.x with modern Symfony Console?
That is exactly what you need to verify rather than assume, given the three-year release gap. Test against your specific PHP minor versions, Symfony Console version, Laravel version, and the shells your developers actually use — bash 3.2 on macOS diverges noticeably from bash 5 on Linux. Confirm completion behaves correctly or silently degrades.
What are the alternatives to bamarni/symfony-console-autocomplete for artisan completion?
The strongest alternative is the native completion command already shipped in modern Symfony Console and inherited by recent Laravel artisan versions. That path is first-party, maintained, and free. If you are on an older Laravel release, this package can serve as a documented stopgap with an explicit plan to migrate to native completion after upgrading.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo