Skip to content

feat: complete project directories with native Symfony API - #7

Merged
brianvarskonst merged 3 commits into
mainfrom
feat/native-directory-completion-20261023
Oct 25, 2026
Merged

brianvarskonst merged 3 commits into
mainfrom
feat/native-directory-completion-20261023

Conversation

@brianvarskonst

@brianvarskonst brianvarskonst commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

project:create and project:update request native directory completion for their directory argument, including aliases. Console 8.0/8.1 retain existing behavior through a capability bridge; options do not receive path suggestions. The README explains regenerating Bash/Fish/Zsh completion scripts after the Console upgrade.

The three Symfony Process 8.0 PHPStan errors in Git subprocess setup are also fixed: pass the environment through the supported constructor argument instead of setEnv(), whose 8.0 PHPDoc excludes false. Git-only removal of GIT_DIR, GIT_WORK_TREE and GIT_INDEX_FILE, working-directory defaults, output forwarding and exit codes are preserved. Non-Git subprocesses retain their environment, and the parent process is never modified by the production code.

Validation of head 65bd8f5e164cd147d90009263f8ff31d20e0cbf3:

  • Full PHPCS/PHPStan/PHPUnit QA on Symfony 8.0 (Process 8.0.13/Console 8.0.15), stable 8.1 (8.1.9) and the separate official 8.2 snapshot installation: 58 tests, 314 assertions each; no errors/skips. The original three PHPStan errors were reproduced before the fix.
  • Five new real-Git regression cases cover foreign parent Git variables in getenv/ENV/SERVER, explicit/default working directories, actual Git directory/worktree/index paths, pinned revision/manifest selection, non-Git environment and exit behavior, Git failures, and preservation/restoration of parent state.
  • Completion tests cover argument/option scope, aliases, generated scripts and API1/API2. Existing actual Bash/Fish/Zsh receipts cover directory names containing spaces and exclusion of files.
  • Independent read-only review of the complete final PR diff and incremental fix found no material issues at this exact SHA. Hosted CI passed: https://github.com/SymPress/cli/actions/runs/40028001140.
  • Qualification source hashes match the committed source/test files. No dependency floor, PHPStan rule, stub, baseline, suppression or vendor file was changed. Experimental manifests/locks stay outside the package repository.

Keep this PR as a Draft until Symfony 8.2 is stable, as explicitly requested. Recheck its final stable APIs/scripts, independently review any subsequent change, rebase against current main and rerun QA/CI before an exact-SHA rebase merge and appropriate minor release with signed tag, public archive and registry verification. No merge or release is performed now.

Tracking chat: 01a16a95-4440-7222-9b20-b15e4c4db9de. Evidence: reports/symfony82-20261023/cli-phpstan80-followup/. Related future shutdown draft: SymPress/kernel#20. The stable diagnostic follow-up is released as https://github.com/SymPress/framework-bundle/releases/tag/v1.0.8.

@brianvarskonst
brianvarskonst marked this pull request as ready for review October 23, 2026 23:36
@brianvarskonst
brianvarskonst merged commit 7cc2287 into main Oct 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant