-
Notifications
You must be signed in to change notification settings - Fork 3
feat: Multi-Agent Installer + GitHub Copilot Support #55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Refactored the AWOS installer to support multiple AI agents beyond Claude. The installer now requires an `--agent` flag to specify which agent to configure. Changes: - Added required `--agent` CLI flag with validation - Separated core and agent-specific configurations in setup-config.js - Introduced `getDirectories()` and `getCopyOperations()` functions - Updated .gitignore to exclude .claude directory - Modified summary output to use dynamic agent name The architecture now distinguishes between: - Core AWOS files (agent-agnostic) - Agent-specific files (e.g., .claude/ for Claude Code) This enables future support for additional AI agents while maintaining backward compatibility. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Introduced a centralized SUPPORTED_AGENTS constant to improve maintainability and consistency across the installer. Changes: - Added SUPPORTED_AGENTS array in setup-config.js as single source of truth - Updated index.js to import and use SUPPORTED_AGENTS for validation - Enhanced showHeader() to display which agent is being configured - Error messages now dynamically list supported agents Benefits: - Easy to add new AI agents by updating one array - Consistent agent validation across the codebase - Better user feedback showing agent context in header - Improved maintainability with centralized configuration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Introduced the GitHub Copilot agent to the AWOS framework, allowing users to configure and utilize Copilot-specific prompts and commands. Changes: - Updated `setup-config.js` to include `copilot` in the `SUPPORTED_AGENTS` array. - Added agent-specific directories and copy operations for Copilot in the installer. - Enhanced the installation process to support multiple AI agents, maintaining backward compatibility. Benefits: - Users can now leverage GitHub Copilot alongside existing agents, expanding the framework's capabilities. - Improved maintainability and flexibility in managing agent-specific configurations. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
I didn't properly test it yet so let's keep in draft state for now |
29c6a25 to
ddb9f26
Compare
ddb9f26 to
f97c346
Compare
|
@AndreyNenashev can we reuse existing prompts? |
@workshur Those prompts are actually full copies of original commands. Copilot cannot operate by |
|
@AndreyNenashev We need to update the install script to use the same templates for all agents. Both Copilot and CloudCode should pull from the .awos folder. For Copilot, the script can copy those templates, place them into the required structure, and rename them as needed. The goal is to avoid duplication across the framework. For |
Yeah I was thinking about this, but I'm not sure about the whole "Prepare Implementation Instructions" thing in the "implement" command - if it's gonna work or not. So I didn't want to change the setup/install flow before ensuring that prompts at least work. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds multi-agent support to the AWOS installer, allowing users to configure the framework for different AI agents (Claude Code and GitHub Copilot). The --agent flag is now mandatory, and the installer dynamically creates agent-specific directories and files based on the selected agent.
Key changes:
- Made the
--agentflag required for the installer - Refactored configuration to separate core AWOS files from agent-specific files
- Added support for GitHub Copilot with new prompt files in
copilot/prompts/ - Updated all documentation and error messages to reflect multi-agent support
Reviewed Changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/index.js | Added mandatory --agent flag parsing and validation with error handling |
| src/config/setup-config.js | Refactored from static arrays to functions that combine core and agent-specific configurations |
| src/core/setup-orchestrator.js | Updated to use dynamic configuration functions and pass agent parameter through the setup flow |
| src/utils/logger.js | Added agent parameter to header and summary displays for dynamic path messaging |
| src/CLAUDE.md | Updated documentation to reflect new multi-agent architecture and usage patterns |
| copilot/prompts/*.md | Added 9 new GitHub Copilot prompt files mirroring Claude workflow commands |
| README.md | Updated installation instructions and CLI flags documentation to require --agent flag |
| .gitignore | Added .claude directory to prevent accidental commits of local agent configurations |
|
|
||
| 1. **Confirm Target:** Once the spec is identified (e.g., `001-user-profile-picture-upload`), announce your task: "Okay, I will now create the technical considerations for **'User Profile Picture Upload'**." | ||
| 2. **Read Documents:** Carefully read the `functional-spec.md` within the chosen directory AND the main `context/product/architecture.md` document. | ||
| 3. **Identify Domain Expert (if applicable):** Based on the functional spec and architecture document, determine which technology stack(s) this feature will primarily involve (e.g., Python backend, React frontend, or both). Check if corresponding domain experts exist in `.claude/agents/domain-experts/`. Common experts include python-expert for Python/backend work and react-expert for React/frontend work. |
Copilot
AI
Oct 31, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This GitHub Copilot prompt file incorrectly references the .claude/agents/domain-experts/ directory. For GitHub Copilot, this should reference .github/prompts/ or .awos/subagents/ (the agent-agnostic location), not the Claude-specific directory.
| 3. **Identify Domain Expert (if applicable):** Based on the functional spec and architecture document, determine which technology stack(s) this feature will primarily involve (e.g., Python backend, React frontend, or both). Check if corresponding domain experts exist in `.claude/agents/domain-experts/`. Common experts include python-expert for Python/backend work and react-expert for React/frontend work. | |
| 3. **Identify Domain Expert (if applicable):** Based on the functional spec and architecture document, determine which technology stack(s) this feature will primarily involve (e.g., Python backend, React frontend, or both). Check if corresponding domain experts exist in `.awos/subagents/`. Common experts include python-expert for Python/backend work and react-expert for React/frontend work. |
|
|
||
| // Parse and validate --agent flag | ||
| const agentIndex = process.argv.indexOf('--agent'); | ||
| if (agentIndex === -1 || agentIndex === process.argv.length - 1) { |
Copilot
AI
Oct 31, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The condition agentIndex === process.argv.length - 1 incorrectly treats the last argument as missing a value. If --agent claude is the last argument, agentIndex + 1 would equal process.argv.length, making process.argv[agentIndex + 1] undefined. The condition should be agentIndex >= process.argv.length - 1 or check if process.argv[agentIndex + 1] is undefined after accessing it.
| if (agentIndex === -1 || agentIndex === process.argv.length - 1) { | |
| if (agentIndex === -1 || process.argv[agentIndex + 1] === undefined) { |
| npx @provectusinc/awos --agent claude --force-overwrite | ||
| ``` | ||
|
|
||
| **Important:** The `--force-overwrite` flag will overwrite existing files in `.claude/commands/awos` and `.claude/agents`. |
Copilot
AI
Oct 31, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This warning message is outdated and only mentions Claude-specific paths. It should be updated to be agent-agnostic, e.g., 'The --force-overwrite flag will overwrite existing agent-specific customization files' or include examples for both agents.
| **Important:** The `--force-overwrite` flag will overwrite existing files in `.claude/commands/awos` and `.claude/agents`. | |
| **Important:** The `--force-overwrite` flag will overwrite existing agent-specific customization files (e.g., `.AGENT/commands/awos` and `.AGENT/agents`). For example, if you use `--agent claude`, it will overwrite files in `.claude/commands/awos` and `.claude/agents`. |
This PR introduces full multi-agent support to the AWOS framework, transforming the installer into an agent-agnostic system capable of configuring multiple AI assistants (starting with Claude and GitHub Copilot).
The installer now uses an explicit --agent flag to determine which agent to set up, with centralized validation and configuration logic.
agent flag example:
🧠 Ecosystem Note — GitHub Copilot
Unlike Claude Code, GitHub Copilot cannot read or reference external files directly from prompts.
Because of this limitation, all AWOS commands and guidelines must be fully copied into Copilot prompts rather than referenced by path.