In summary, project.el currently has the following behavior and
customization options:
| Project Command | Generated Buffer | Current
Behavior | Customization Options |
|-----------------------------------+--------------------------+-------------------------------+--------------------------------------------|
| `project-find-regexp' | "*xref*" | Use a default
buffer | Not available |
| `project-or-external-find-regexp' | "*xref*" | Use a default
buffer | Not available |
| `project-list-buffers' | "*Buffer List*" | Use a default
buffer | Not available |
| `project-kill-buffers' | "*Buffer List*" | Use a default
buffer | Not available |
| `project-shell-command' | "*Shell Command Output*" | Use a default
buffer | Not available |
| `project-async-shell-command' | "*Async Shell Command*" | Use a default
buffer | Not available |
| `project-compile` | "*compilation*" | Use a default
buffer | `project-compilation-buffer-name-function' |
| `project-vc-dir' | "*vc-dir*" | Use a default
buffer | Through uniquify.el defcustom's |
| `project-shell' | "*shell*" | Use a project
prefixed buffer | Not available |
| `project-eshell' | "*eshell*" | Use a project
prefixed buffer | Not available |
My suggestion is to improve the consistency of how project-related
buffers are created and named, providing sufficient customization
options for users.