squadron-agents 0.5.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. squadron_agents-0.5.1/CHANGELOG.md +160 -0
  2. squadron_agents-0.5.1/COMMANDS.md +325 -0
  3. squadron_agents-0.5.1/LICENSE +611 -0
  4. squadron_agents-0.5.1/MANIFEST.in +14 -0
  5. squadron_agents-0.5.1/PKG-INFO +643 -0
  6. squadron_agents-0.5.1/README.md +593 -0
  7. squadron_agents-0.5.1/setup.cfg +4 -0
  8. squadron_agents-0.5.1/setup.py +69 -0
  9. squadron_agents-0.5.1/squadron/__init__.py +5 -0
  10. squadron_agents-0.5.1/squadron/agents.yaml +21 -0
  11. squadron_agents-0.5.1/squadron/brain.py +617 -0
  12. squadron_agents-0.5.1/squadron/cli.py +388 -0
  13. squadron_agents-0.5.1/squadron/evolution/__init__.py +4 -0
  14. squadron_agents-0.5.1/squadron/evolution/gardener.py +117 -0
  15. squadron_agents-0.5.1/squadron/evolution/improver.py +236 -0
  16. squadron_agents-0.5.1/squadron/evolution/skill_registry.py +210 -0
  17. squadron_agents-0.5.1/squadron/evolution/watcher.py +110 -0
  18. squadron_agents-0.5.1/squadron/knowledge/CODEBASE_MAP.md +115 -0
  19. squadron_agents-0.5.1/squadron/knowledge/ROLES.md +22 -0
  20. squadron_agents-0.5.1/squadron/knowledge/TEAM.md +21 -0
  21. squadron_agents-0.5.1/squadron/knowledge/WORKFLOW.md +10 -0
  22. squadron_agents-0.5.1/squadron/knowledge/__init__.py +1 -0
  23. squadron_agents-0.5.1/squadron/knowledge/reader.py +65 -0
  24. squadron_agents-0.5.1/squadron/listener.py +144 -0
  25. squadron_agents-0.5.1/squadron/memory/__init__.py +19 -0
  26. squadron_agents-0.5.1/squadron/memory/hippocampus.py +336 -0
  27. squadron_agents-0.5.1/squadron/overseer.py +427 -0
  28. squadron_agents-0.5.1/squadron/planner/__init__.py +1 -0
  29. squadron_agents-0.5.1/squadron/planner/architect.py +72 -0
  30. squadron_agents-0.5.1/squadron/server.py +601 -0
  31. squadron_agents-0.5.1/squadron/services/__init__.py +35 -0
  32. squadron_agents-0.5.1/squadron/services/comment_watcher.py +219 -0
  33. squadron_agents-0.5.1/squadron/services/event_bus.py +145 -0
  34. squadron_agents-0.5.1/squadron/services/llm/__init__.py +1 -0
  35. squadron_agents-0.5.1/squadron/services/llm/deepseek.py +65 -0
  36. squadron_agents-0.5.1/squadron/services/llm/gemini.py +51 -0
  37. squadron_agents-0.5.1/squadron/services/llm/openai.py +84 -0
  38. squadron_agents-0.5.1/squadron/services/model_factory.py +44 -0
  39. squadron_agents-0.5.1/squadron/services/strategist.py +146 -0
  40. squadron_agents-0.5.1/squadron/services/tag_parser.py +113 -0
  41. squadron_agents-0.5.1/squadron/services/wake_protocol.py +229 -0
  42. squadron_agents-0.5.1/squadron/skills/COLLABORATION.md +32 -0
  43. squadron_agents-0.5.1/squadron/skills/__init__.py +10 -0
  44. squadron_agents-0.5.1/squadron/skills/discord_bridge/SKILL.md +6 -0
  45. squadron_agents-0.5.1/squadron/skills/discord_bridge/__init__.py +4 -0
  46. squadron_agents-0.5.1/squadron/skills/discord_bridge/bot.py +99 -0
  47. squadron_agents-0.5.1/squadron/skills/discord_bridge/tool.py +47 -0
  48. squadron_agents-0.5.1/squadron/skills/dynamic/__init__.py +0 -0
  49. squadron_agents-0.5.1/squadron/skills/fs_tool/__init__.py +1 -0
  50. squadron_agents-0.5.1/squadron/skills/fs_tool/tool.py +64 -0
  51. squadron_agents-0.5.1/squadron/skills/github_bridge/SKILL.md +6 -0
  52. squadron_agents-0.5.1/squadron/skills/github_bridge/__init__.py +4 -0
  53. squadron_agents-0.5.1/squadron/skills/github_bridge/tool.py +78 -0
  54. squadron_agents-0.5.1/squadron/skills/jira_bridge/SKILL.md +6 -0
  55. squadron_agents-0.5.1/squadron/skills/jira_bridge/__init__.py +4 -0
  56. squadron_agents-0.5.1/squadron/skills/jira_bridge/tool.py +44 -0
  57. squadron_agents-0.5.1/squadron/skills/librarian/SKILL.md +19 -0
  58. squadron_agents-0.5.1/squadron/skills/librarian/__init__.py +3 -0
  59. squadron_agents-0.5.1/squadron/skills/librarian/tool.py +105 -0
  60. squadron_agents-0.5.1/squadron/skills/linear_bridge/SKILL.md +6 -0
  61. squadron_agents-0.5.1/squadron/skills/linear_bridge/__init__.py +4 -0
  62. squadron_agents-0.5.1/squadron/skills/linear_bridge/tool.py +93 -0
  63. squadron_agents-0.5.1/squadron/skills/memory/__init__.py +0 -0
  64. squadron_agents-0.5.1/squadron/skills/memory/tool.py +143 -0
  65. squadron_agents-0.5.1/squadron/skills/planner/SKILL.md +18 -0
  66. squadron_agents-0.5.1/squadron/skills/planner/__init__.py +3 -0
  67. squadron_agents-0.5.1/squadron/skills/planner/tool.py +72 -0
  68. squadron_agents-0.5.1/squadron/skills/shell_tool/__init__.py +1 -0
  69. squadron_agents-0.5.1/squadron/skills/shell_tool/tool.py +49 -0
  70. squadron_agents-0.5.1/squadron/skills/slack_bridge/SKILL.md +47 -0
  71. squadron_agents-0.5.1/squadron/skills/slack_bridge/__init__.py +4 -0
  72. squadron_agents-0.5.1/squadron/skills/slack_bridge/tool.py +51 -0
  73. squadron_agents-0.5.1/squadron/skills/vision_tool/__init__.py +1 -0
  74. squadron_agents-0.5.1/squadron/skills/vision_tool/tool.py +55 -0
  75. squadron_agents-0.5.1/squadron/skills/workspace_tool.py +97 -0
  76. squadron_agents-0.5.1/squadron/swarm/__init__.py +4 -0
  77. squadron_agents-0.5.1/squadron/swarm/agent.py +96 -0
  78. squadron_agents-0.5.1/squadron/swarm/delegator.py +51 -0
  79. squadron_agents-0.5.1/squadron/swarm/discovery.py +51 -0
  80. squadron_agents-0.5.1/squadron/swarm/overseer.py +251 -0
  81. squadron_agents-0.5.1/squadron_agents.egg-info/PKG-INFO +643 -0
  82. squadron_agents-0.5.1/squadron_agents.egg-info/SOURCES.txt +86 -0
  83. squadron_agents-0.5.1/squadron_agents.egg-info/dependency_links.txt +1 -0
  84. squadron_agents-0.5.1/squadron_agents.egg-info/entry_points.txt +2 -0
  85. squadron_agents-0.5.1/squadron_agents.egg-info/requires.txt +21 -0
  86. squadron_agents-0.5.1/squadron_agents.egg-info/top_level.txt +1 -0
  87. squadron_agents-0.5.1/tests/test_cli.py +10 -0
  88. squadron_agents-0.5.1/tests/test_cli_report.py +15 -0
@@ -0,0 +1,160 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.5.1] - 2025-12-16
9
+ ### Added
10
+ - **🧪 Comprehensive Test Suite**: Full pytest coverage with mocked dependencies
11
+ - Unit tests for Brain, Hippocampus, ModelFactory, Delegator, TagParser, Skills
12
+ - Integration tests for CLI commands and Wake Protocol
13
+ - Shared fixtures for fast, deterministic testing
14
+ - `tests/README.md` documentation for contributors
15
+ - **🔄 GitHub Actions CI/CD**: Automated testing on Python 3.10, 3.11, 3.12
16
+ - **📊 README Badges**: Tests, Coverage, Downloads, Last Commit, Issues
17
+
18
+ ### Fixed
19
+ - Resolved git merge conflict markers in `brain.py` and `hippocampus.py`
20
+ - Removed duplicate dependencies in `setup.py` and `requirements.txt`
21
+ - Fixed 408 lines of duplicate code in `hippocampus.py`
22
+
23
+ ## [0.6.0] - 2025-12-13
24
+ ### Added
25
+ - **🎮 Control Plane Dashboard**: Real-time web UI via `squadron server`
26
+ - Live SSE activity streaming
27
+ - Command input to send tasks to agents
28
+ - Agent status cards with current objectives
29
+ - System statistics (active agents, task queue, missions)
30
+ - **Integrations Panel**: Send to Slack, Discord, Jira, GitHub directly from UI
31
+ - GitHub PR/Issue creation from dashboard
32
+ - **Agents Page**: Detailed agent profiles with capabilities
33
+ - **Missions Page**: Active/history view with mission trigger
34
+ - **Console Page**: Direct REPL-style chat with agents
35
+ - **Settings Page**: System status and env configuration reference
36
+ - **🐝 Swarm 2.0**: Enhanced multi-agent orchestration
37
+ - LLM-powered intelligent routing (replaces keyword heuristics)
38
+ - `handoff_task()` for agent-to-agent delegation with context
39
+ - Delegation chain tracking
40
+ - Task queue with priority support
41
+ - **🧬 Evolution Layer**: Self-improvement system
42
+ - `skill_registry.py` for tracking evolved skills
43
+ - Version control with rollback support
44
+ - Quality scoring based on success/failure rates
45
+ - Skill creation, validation, and archival
46
+ - **⏰ Wake Protocol**: Autonomous agent execution
47
+ - `wake_protocol.py` orchestrates trigger → route → execute → report
48
+ - `squadron wake` CLI command for manual triggering
49
+ - Automatic ticket reporting after task completion
50
+ - **📡 Event Bus**: Central pub/sub for real-time activity
51
+ - Powers dashboard SSE streaming
52
+ - Tracks agent starts, tool calls, completions, errors
53
+ - **💬 Agent Communication**: Agents can talk to each other via tickets
54
+ - **Overseer v3.0**: Auto-wakes agents when Jira/Linear tickets assigned
55
+ - **@Mention Support**: Tag agents in ticket comments to trigger them
56
+ - `reply_to_ticket()` tool for agents to comment on tickets
57
+ - `tag_agent()` tool to request help from other agents
58
+ - Autonomous handoffs with context through ticket system
59
+ - **🧠 Persistent Memory**: Agents remember past work
60
+ - **Hippocampus v2.0**: Agent-specific semantic memory with ChromaDB
61
+ - `save_memory()`, `recall_memory()`, `get_memory_context()` tools
62
+ - Conversation and task history tracking
63
+ - Memory API endpoints for dashboard integration
64
+ - **GCP Migration**:
65
+ - Full deployment to Google Cloud Compute Engine
66
+ - `health_check.py` for remote diagnostics
67
+
68
+ ### Changed
69
+ - **Swarm Overseer**: Now uses Gemini for intelligent routing
70
+ - **Dashboard Frontend**: Complete rewrite with shadcn/ui components
71
+ - **CLI**: Added `wake` command for autonomous execution
72
+
73
+ ## [0.5.0] - 2025-12-11
74
+ *(Caleb - 02:45 AM EST)*
75
+ ### Added
76
+ - **Autonomous Quant Skills**:
77
+ - `find_strategy_videos`: Agent autonomously searches YouTube for new alpha.
78
+ - `run_backtest`: Agent runs Python backtests validation.
79
+ - `get_market_data`: Agent checks Alpaca price feeds.
80
+ - **Intelligent Auditor**:
81
+ - **Smart EOD (3:30 PM)**: Switched from "Close All" to "Swing vs Cut" decision logic based on PnL/Charts/Time.
82
+ - **Daily Optimizer (4:30 PM)**: Auto-triggers research if daily win rate is < 50%.
83
+
84
+ > [!NOTE]
85
+ > **Notes for Marcus**:
86
+ > 1. **Dashboard UI**: The backend now supports a `SWING` status for signals. Please ensure the frontend `LedgerPage` and `OpenSignals` components correctly display/filter trades with `status="SWING"`. They might currently disappear if the query blindly filters for `OPEN`.
87
+ > 2. **Reporting**: The Daily Optimizer posts reports to Slack/Discord. You might want to pipe these into a "Strategy Lab" view on the dashboard eventually.
88
+
89
+ ## [0.4.1] - 2025-12-11
90
+ ### Added
91
+ - **MCP Client**: Universal bridge for MCP servers.
92
+
93
+ ## [0.4.0] - 2025-12-11
94
+ *(Caleb - 01:25 AM EST)*
95
+ ### Added
96
+ - **The Brain**: Centralized intelligence router (`brain.py`) that decides between conversational replies and tool execution.
97
+ - **Discord Bot**: Full `discord.py` integration with "Neural Link" personas.
98
+ - **Browser Skill**: `BrowserTool` allows agents (Marcus) to visit websites and capture screenshots.
99
+ - **SSH Skill**: `SSHTool` allows agents (Caleb) to execute safe remote commands.
100
+ - **File Uploads**: Bridge and Listeners now support attaching files generated by tools (e.g., screenshots).
101
+ - **Masquerading Fix**: Resolved "Limited Mode" by ensuring webhooks are used correctly with custom avatars.
102
+ - **Unified Entry Point**: `main.py` now launches Discord Bot, Slack Listener, and Jira Overseer concurrently.
103
+
104
+ ## [0.3.0] - 2025-12-10
105
+ ### Added
106
+ - **Planner Skill**: `squadron plan --ticket <ID>` generates a structured `PLAN.md` file.
107
+ - **Artifacts**: New templates for Implementation Plans.
108
+
109
+ ## [0.2.6] - 2025-12-10
110
+ ### Changed
111
+ - **Release Fix**: Version bump to resolve PyPI collision.
112
+
113
+ ## [0.2.5] - 2025-12-10
114
+ ### Added
115
+ - **Local Agent Config**: `squadron init` now creates a local `squadron/agents.yaml`.
116
+ - **Packaging Fix**: Included `agents.yaml` and `knowledge/*.md` templates in PyPI package via `MANIFEST.in`.
117
+
118
+ ### Changed
119
+ - **Privacy**: Default package avatars are now generic Robohash avatars. Users can override them in their local `agents.yaml`.
120
+ - **CLI Logic**: Prioritizes local configuration files over package defaults for both Knowledge and Agents.
121
+
122
+ ## [0.2.4] - 2025-12-10
123
+ ### Changed
124
+ - **Documentation**: Synced `README.md` on PyPI to reflect v0.2.3 features (Init/Learn/AGPL).
125
+
126
+ ## [0.2.3] - 2025-12-10
127
+ ### Added
128
+ - **Init Command (`squadron init`)**: Scaffolds a local `squadron/knowledge/` directory and `.env` file for new projects.
129
+ - **Local Knowledge Overlay**: `squadron ask` now prioritizes the local `knowledge/` folder over the package defaults, allowing per-project customization.
130
+
131
+ ## [0.2.2] - 2025-12-10
132
+ ### Added
133
+ - **Librarian Skill (`squadron learn`)**: Auto-generates `CODEBASE_MAP.md` by scanning the repository structure.
134
+
135
+ ### Changed
136
+ - **License**: Switched from MIT to **AGPL-3.0** to enforce open-source reciprocity for network deployments.
137
+
138
+ ## [0.2.1] - 2025-12-10
139
+ ### Added
140
+ - **Listener Service (`squadron listen`)**: New command utilizing Slack Socket Mode to allow agents to "hear" and reply to @mentions in real-time.
141
+ - **Dependency**: Added `slack_bolt` for event handling.
142
+
143
+ ## [0.2.0] - 2025-12-10
144
+ ### Added
145
+ - **Dynamic Agent Identities**: Agents can now have custom names and avatars (e.g., Marcus, Caleb) supported in Slack and Discord using `assets/` and `agents.yaml`.
146
+ - **Linear Integration**: Full support for Linear issues via `--linear` flag (create, comment, update status).
147
+ - **RAG-Lite (`squadron ask`)**: New memory module allowing agents to query the `knowledge/` directory for team context.
148
+ - **Overseer 2.0 (`--exec`)**: The Overseer can now execute arbitrary shell commands when new tickets are detected, enabling "Wake Up" protocols.
149
+ - **Avatars**: Hosted assets for Marcus and Caleb.
150
+
151
+ ### Changed
152
+ - **CLI Architecture**: Refactored to support sub-commands more robustly.
153
+ - **Documentation**: Major updates to `README.md` and intro of `UPDATE.md` for team onboarding.
154
+
155
+ ## [0.1.0] - 2025-12-09
156
+ ### Added
157
+ - **Core CLI**: Basic `squadron report` command.
158
+ - **Bridges**: Initial support for Jira, Slack, Discord, and GitHub.
159
+ - **Overseer 1.0**: Basic polling for new Jira tickets.
160
+ - **Package**: Initial PyPI release structure.
@@ -0,0 +1,325 @@
1
+ # 🦅 Squadron Command Reference
2
+
3
+ This document serves as the master reference for all Squadron CLI commands.
4
+
5
+ ---
6
+
7
+ ## 🎮 Control Plane
8
+
9
+ ### `squadron server`
10
+ Start the Control Plane API server for the dashboard.
11
+
12
+ **Usage:**
13
+ ```bash
14
+ squadron server [options]
15
+ ```
16
+
17
+ **Options:**
18
+ - `--host`: Host to bind to (default: "127.0.0.1")
19
+ - `--port`: Port to run on (default: 8000)
20
+
21
+ **Example:**
22
+ ```bash
23
+ # Start the API server
24
+ squadron server
25
+
26
+ # Then in another terminal, run the dashboard
27
+ cd dashboard && npm run dev
28
+ ```
29
+
30
+ <!-- 🖼️ SCREENSHOT PLACEHOLDER: Server startup output -->
31
+ > **Screenshot needed:** Terminal showing `squadron server` startup with API endpoints listed
32
+
33
+ ---
34
+
35
+ ### `squadron wake`
36
+ Manually trigger the Wake Protocol to start autonomous agent execution.
37
+
38
+ **Usage:**
39
+ ```bash
40
+ squadron wake --summary "TASK" [options]
41
+ ```
42
+
43
+ **Options:**
44
+ - `--summary`: Description of the task to execute (Required)
45
+ - `--agent`: Specific agent to route to (optional, auto-routes if not specified)
46
+ - `--ticket`: Associated ticket ID
47
+
48
+ **Example:**
49
+ ```bash
50
+ # Manual wake
51
+ squadron wake --summary "Deploy the hotfix to production"
52
+
53
+ # Wake specific agent with ticket context
54
+ squadron wake --summary "Review auth changes" --agent Atlas --ticket "KAN-42"
55
+ ```
56
+
57
+ <!-- 🖼️ SCREENSHOT PLACEHOLDER: Wake Protocol execution -->
58
+ > **Screenshot needed:** Terminal showing wake protocol flow: routing → execution → report
59
+
60
+ ---
61
+
62
+ ## 📡 Communication
63
+
64
+ ### `squadron report`
65
+ Send status updates to your team's communication channels and issue trackers.
66
+
67
+ **Usage:**
68
+ ```bash
69
+ squadron report --msg "TEXT" [options]
70
+ ```
71
+
72
+ **Options:**
73
+ - `--msg`: The message content (Required)
74
+ - `--agent`: Identity to post as (e.g. "Atlas", "Sage")
75
+ - `--channel`: Slack channel to post to (default: "#general")
76
+ - `--ticket`: Jira Ticket ID to update (e.g. "KAN-123")
77
+ - `--linear`: Linear Issue Key to update (e.g. "PRO-456")
78
+ - `--status`: New status for the ticket/issue (e.g. "In Progress", "Done")
79
+
80
+ **Examples:**
81
+ ```bash
82
+ # Simple update
83
+ squadron report --msg "Database migration complete" --agent Atlas
84
+
85
+ # Update Jira and Slack
86
+ squadron report --msg "Fixed auth bug" --ticket "KAN-99" --status "Done"
87
+
88
+ # Update Linear issue
89
+ squadron report --msg "Feature ready for review" --linear "PRO-123" --status "In Review"
90
+ ```
91
+
92
+ ---
93
+
94
+ ### `squadron broadcast`
95
+ Send wide-reaching announcements to your Discord community.
96
+
97
+ **Usage:**
98
+ ```bash
99
+ squadron broadcast --msg "TEXT" [options]
100
+ ```
101
+
102
+ **Options:**
103
+ - `--msg`: The announcement text (Required)
104
+ - `--agent`: Identity to post as
105
+
106
+ **Example:**
107
+ ```bash
108
+ squadron broadcast --msg "🚀 v2.0 is now live!" --agent Atlas
109
+ ```
110
+
111
+ ---
112
+
113
+ ### `squadron listen`
114
+ Starts the "Ears" of the operation. Listens for @mentions.
115
+
116
+ **Usage:**
117
+ ```bash
118
+ # Listen to Slack (Default)
119
+ squadron listen
120
+
121
+ # Listen to Discord (Neural Link)
122
+ squadron listen --discord
123
+ ```
124
+
125
+ **Options:**
126
+ - `--discord`: Listen to Discord instead of Slack
127
+
128
+ *Note: This process runs continuously. Use `Ctrl+C` to stop.*
129
+
130
+ <!-- 🖼️ SCREENSHOT PLACEHOLDER: Listener in action -->
131
+ > **Screenshot needed:** Terminal showing listener receiving and responding to @mentions
132
+
133
+ ---
134
+
135
+ ## 🛠️ Workflow Automation
136
+
137
+ ### `squadron overseer`
138
+ A background daemon that watches Jira/Linear for new tickets assigned to you.
139
+
140
+ **Usage:**
141
+ ```bash
142
+ squadron overseer [options]
143
+ ```
144
+
145
+ **Options:**
146
+ - `--interval`: Seconds between checks (default: 30)
147
+ - `--exec`: Shell command to run when a ticket is found
148
+ - `--auto-wake`: Automatically trigger Wake Protocol for new tickets
149
+ - `--linear`: Watch Linear instead of Jira
150
+
151
+ **Examples:**
152
+ ```bash
153
+ # Basic polling
154
+ squadron overseer --interval 60
155
+
156
+ # With auto-wake (autonomous mode)
157
+ squadron overseer --auto-wake --interval 30
158
+
159
+ # Monitor Linear
160
+ squadron overseer --linear --auto-wake
161
+ ```
162
+
163
+ <!-- 🖼️ SCREENSHOT PLACEHOLDER: Overseer detecting ticket -->
164
+ > **Screenshot needed:** Terminal showing Overseer detecting new ticket and waking agent
165
+
166
+ ---
167
+
168
+ ### `squadron plan`
169
+ Generates an implementation plan (`PLAN.md`) based on a Jira/Linear ticket's description.
170
+
171
+ **Usage:**
172
+ ```bash
173
+ squadron plan --ticket "ID" [options]
174
+ ```
175
+
176
+ **Options:**
177
+ - `--ticket`: Jira Ticket ID (Required)
178
+ - `--linear`: Use Linear instead of Jira
179
+ - `--output`: Output filename (default: "PLAN.md")
180
+
181
+ **Example:**
182
+ ```bash
183
+ squadron plan --ticket "KAN-123" --output "docs/implementation_plan.md"
184
+ ```
185
+
186
+ ---
187
+
188
+ ## 🐙 GitHub Integration
189
+
190
+ ### `squadron pr`
191
+ Create a GitHub Pull Request programmatically.
192
+
193
+ **Usage:**
194
+ ```bash
195
+ squadron pr --repo "user/repo" --title "TITLE" --head "BRANCH" [options]
196
+ ```
197
+
198
+ **Options:**
199
+ - `--repo`: Repository name in `owner/repo` format
200
+ - `--title`: PR Title
201
+ - `--head`: Source branch name
202
+ - `--base`: Target branch name (default: "main")
203
+ - `--body`: PR description
204
+
205
+ **Example:**
206
+ ```bash
207
+ squadron pr --repo "MikeeBuilds/Squadron" --title "Add Linear Integration" --head "feat-linear"
208
+ ```
209
+
210
+ ---
211
+
212
+ ### `squadron issue`
213
+ Create a GitHub Issue.
214
+
215
+ **Usage:**
216
+ ```bash
217
+ squadron issue --repo "user/repo" --title "TITLE" [options]
218
+ ```
219
+
220
+ **Options:**
221
+ - `--repo`: Repository name
222
+ - `--title`: Issue Title
223
+ - `--body`: Issue description
224
+ - `--labels`: Comma-separated list of labels
225
+
226
+ ---
227
+
228
+ ## 🧠 Knowledge System
229
+
230
+ ### `squadron ask`
231
+ Query the team's knowledge base (stored in `squadron/knowledge/`).
232
+
233
+ **Usage:**
234
+ ```bash
235
+ squadron ask "QUESTION"
236
+ ```
237
+
238
+ **Example:**
239
+ ```bash
240
+ squadron ask "How do we handle API authentication?"
241
+ squadron ask "What is Atlas responsible for?"
242
+ ```
243
+
244
+ ---
245
+
246
+ ### `squadron learn`
247
+ Scans your codebase to update the internal map of the project. Run this after adding significant new code.
248
+
249
+ **Usage:**
250
+ ```bash
251
+ squadron learn
252
+ ```
253
+
254
+ This generates or updates `knowledge/CODEBASE_MAP.md`.
255
+
256
+ ---
257
+
258
+ ## ⚙️ Setup
259
+
260
+ ### `squadron init`
261
+ Initialize Squadron in a new project. Creates the `squadron/` folder structure and `.env` template.
262
+
263
+ **Usage:**
264
+ ```bash
265
+ squadron init
266
+ ```
267
+
268
+ This creates:
269
+ - `squadron/knowledge/TEAM.md`
270
+ - `squadron/knowledge/ROLES.md`
271
+ - `squadron/knowledge/WORKFLOW.md`
272
+ - `.env` template (if not exists)
273
+
274
+ ---
275
+
276
+ ## 🔧 Advanced Commands
277
+
278
+ ### Environment Variables
279
+
280
+ All commands respect these environment variables:
281
+
282
+ ```env
283
+ # LLM Provider (Required for Swarm routing)
284
+ GEMINI_API_KEY=your-key
285
+
286
+ # Jira
287
+ JIRA_SERVER=https://your-domain.atlassian.net
288
+ JIRA_EMAIL=your-email@example.com
289
+ JIRA_TOKEN=your-api-token
290
+
291
+ # Slack
292
+ SLACK_BOT_TOKEN=xoxb-...
293
+ SLACK_APP_TOKEN=xapp-...
294
+
295
+ # Discord
296
+ DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
297
+ DISCORD_BOT_TOKEN=...
298
+
299
+ # GitHub
300
+ GITHUB_TOKEN=ghp_...
301
+
302
+ # Linear
303
+ LINEAR_API_KEY=lin_api_...
304
+ ```
305
+
306
+ ---
307
+
308
+ ## 📊 Command Quick Reference
309
+
310
+ | Command | Purpose |
311
+ |---------|---------|
312
+ | `squadron init` | Setup Squadron in your project |
313
+ | `squadron learn` | Scan codebase and build knowledge |
314
+ | `squadron server` | Start Control Plane API |
315
+ | `squadron listen` | Listen for Slack @mentions |
316
+ | `squadron listen --discord` | Listen for Discord @mentions |
317
+ | `squadron overseer` | Watch for new tickets |
318
+ | `squadron overseer --auto-wake` | Auto-execute on new tickets |
319
+ | `squadron wake` | Manually trigger agent execution |
320
+ | `squadron report` | Send updates to Slack + tickets |
321
+ | `squadron broadcast` | Announce to Discord |
322
+ | `squadron pr` | Create GitHub PR |
323
+ | `squadron issue` | Create GitHub Issue |
324
+ | `squadron plan` | Generate implementation plan |
325
+ | `squadron ask` | Query knowledge base |