Support machine-level custom slash commands for cross-project workflow consistency
- Ngôn ngữ chính
- Shell
- Star
- 11.2k
- Fork
- 1.9k
- Merge trung bình
- 14 giờ 16 phút
- Pull request đã merge (30 ngày)
- 6
Mô tả
## Feature Request
### Summary
Add support for **machine-level custom slash commands** — personal commands available across all repos from any working directory, enabling consistent workflows across many projects.
### The Use Case
Developers working across multiple projects want a single command like \/push otera\ or \/push persistence\ that:
- Works from **any directory** (not just the target repo's directory)
- Runs the same quality pipeline against the named project
- Enforces organisational consistency — \/push\ means the same thing on every project, for every developer
This mirrors a pattern common in PowerShell-based developer workflows where a central project registry (e.g. \Projects.ps1\) maps project names to paths, and commands like \push otera\ execute a standardised pipeline regardless of your current directory.
### Current State
Skills (\~/.agents/skills/\) exist but are higher-ceremony and not designed around this cross-project, project-name-as-argument pattern.
### Proposed
A \~/.copilot/commands/\ directory where markdown files define machine-level slash commands. A command like \push.md\ becomes \/push\ and receives any arguments (e.g. the project name) via \$ARGUMENTS\.
### Why it matters
- **Cross-project consistency:** one command, same behaviour everywhere
- **Organisational standardisation:** teams can share a \~/.copilot/commands/\ baseline as part of machine setup
- **AI-native equivalent of a project registry:** replaces PowerShell/shell profile dependencies with a portable, AI-native workflow layer
- **Facilitates agentic handoff:** a named project command gives the agent enough context to act without being in the target directory
### Prior art
Claude CLI supports repo-level commands via \.claude/commands/\. Machine-level commands would complement this, covering the cross-project orchestration case that repo-level commands cannot address.
Hướng dẫn đóng góp
Hướng nghiên cứu
Start by tracing how existing ~/.agents/skills/ and repo-level .claude/commands/ are discovered; the issue names no repository files or tests. Compare that behavior with the proposed ~/.copilot/commands/push.md and $ARGUMENTS flow, including use from another working directory. Done means a machine-level command works across projects and receives the project-name argument consistently.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- shell
- Lĩnh vực
- cli, developer-experience, tooling
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100