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.
- squadron_agents-0.5.1/CHANGELOG.md +160 -0
- squadron_agents-0.5.1/COMMANDS.md +325 -0
- squadron_agents-0.5.1/LICENSE +611 -0
- squadron_agents-0.5.1/MANIFEST.in +14 -0
- squadron_agents-0.5.1/PKG-INFO +643 -0
- squadron_agents-0.5.1/README.md +593 -0
- squadron_agents-0.5.1/setup.cfg +4 -0
- squadron_agents-0.5.1/setup.py +69 -0
- squadron_agents-0.5.1/squadron/__init__.py +5 -0
- squadron_agents-0.5.1/squadron/agents.yaml +21 -0
- squadron_agents-0.5.1/squadron/brain.py +617 -0
- squadron_agents-0.5.1/squadron/cli.py +388 -0
- squadron_agents-0.5.1/squadron/evolution/__init__.py +4 -0
- squadron_agents-0.5.1/squadron/evolution/gardener.py +117 -0
- squadron_agents-0.5.1/squadron/evolution/improver.py +236 -0
- squadron_agents-0.5.1/squadron/evolution/skill_registry.py +210 -0
- squadron_agents-0.5.1/squadron/evolution/watcher.py +110 -0
- squadron_agents-0.5.1/squadron/knowledge/CODEBASE_MAP.md +115 -0
- squadron_agents-0.5.1/squadron/knowledge/ROLES.md +22 -0
- squadron_agents-0.5.1/squadron/knowledge/TEAM.md +21 -0
- squadron_agents-0.5.1/squadron/knowledge/WORKFLOW.md +10 -0
- squadron_agents-0.5.1/squadron/knowledge/__init__.py +1 -0
- squadron_agents-0.5.1/squadron/knowledge/reader.py +65 -0
- squadron_agents-0.5.1/squadron/listener.py +144 -0
- squadron_agents-0.5.1/squadron/memory/__init__.py +19 -0
- squadron_agents-0.5.1/squadron/memory/hippocampus.py +336 -0
- squadron_agents-0.5.1/squadron/overseer.py +427 -0
- squadron_agents-0.5.1/squadron/planner/__init__.py +1 -0
- squadron_agents-0.5.1/squadron/planner/architect.py +72 -0
- squadron_agents-0.5.1/squadron/server.py +601 -0
- squadron_agents-0.5.1/squadron/services/__init__.py +35 -0
- squadron_agents-0.5.1/squadron/services/comment_watcher.py +219 -0
- squadron_agents-0.5.1/squadron/services/event_bus.py +145 -0
- squadron_agents-0.5.1/squadron/services/llm/__init__.py +1 -0
- squadron_agents-0.5.1/squadron/services/llm/deepseek.py +65 -0
- squadron_agents-0.5.1/squadron/services/llm/gemini.py +51 -0
- squadron_agents-0.5.1/squadron/services/llm/openai.py +84 -0
- squadron_agents-0.5.1/squadron/services/model_factory.py +44 -0
- squadron_agents-0.5.1/squadron/services/strategist.py +146 -0
- squadron_agents-0.5.1/squadron/services/tag_parser.py +113 -0
- squadron_agents-0.5.1/squadron/services/wake_protocol.py +229 -0
- squadron_agents-0.5.1/squadron/skills/COLLABORATION.md +32 -0
- squadron_agents-0.5.1/squadron/skills/__init__.py +10 -0
- squadron_agents-0.5.1/squadron/skills/discord_bridge/SKILL.md +6 -0
- squadron_agents-0.5.1/squadron/skills/discord_bridge/__init__.py +4 -0
- squadron_agents-0.5.1/squadron/skills/discord_bridge/bot.py +99 -0
- squadron_agents-0.5.1/squadron/skills/discord_bridge/tool.py +47 -0
- squadron_agents-0.5.1/squadron/skills/dynamic/__init__.py +0 -0
- squadron_agents-0.5.1/squadron/skills/fs_tool/__init__.py +1 -0
- squadron_agents-0.5.1/squadron/skills/fs_tool/tool.py +64 -0
- squadron_agents-0.5.1/squadron/skills/github_bridge/SKILL.md +6 -0
- squadron_agents-0.5.1/squadron/skills/github_bridge/__init__.py +4 -0
- squadron_agents-0.5.1/squadron/skills/github_bridge/tool.py +78 -0
- squadron_agents-0.5.1/squadron/skills/jira_bridge/SKILL.md +6 -0
- squadron_agents-0.5.1/squadron/skills/jira_bridge/__init__.py +4 -0
- squadron_agents-0.5.1/squadron/skills/jira_bridge/tool.py +44 -0
- squadron_agents-0.5.1/squadron/skills/librarian/SKILL.md +19 -0
- squadron_agents-0.5.1/squadron/skills/librarian/__init__.py +3 -0
- squadron_agents-0.5.1/squadron/skills/librarian/tool.py +105 -0
- squadron_agents-0.5.1/squadron/skills/linear_bridge/SKILL.md +6 -0
- squadron_agents-0.5.1/squadron/skills/linear_bridge/__init__.py +4 -0
- squadron_agents-0.5.1/squadron/skills/linear_bridge/tool.py +93 -0
- squadron_agents-0.5.1/squadron/skills/memory/__init__.py +0 -0
- squadron_agents-0.5.1/squadron/skills/memory/tool.py +143 -0
- squadron_agents-0.5.1/squadron/skills/planner/SKILL.md +18 -0
- squadron_agents-0.5.1/squadron/skills/planner/__init__.py +3 -0
- squadron_agents-0.5.1/squadron/skills/planner/tool.py +72 -0
- squadron_agents-0.5.1/squadron/skills/shell_tool/__init__.py +1 -0
- squadron_agents-0.5.1/squadron/skills/shell_tool/tool.py +49 -0
- squadron_agents-0.5.1/squadron/skills/slack_bridge/SKILL.md +47 -0
- squadron_agents-0.5.1/squadron/skills/slack_bridge/__init__.py +4 -0
- squadron_agents-0.5.1/squadron/skills/slack_bridge/tool.py +51 -0
- squadron_agents-0.5.1/squadron/skills/vision_tool/__init__.py +1 -0
- squadron_agents-0.5.1/squadron/skills/vision_tool/tool.py +55 -0
- squadron_agents-0.5.1/squadron/skills/workspace_tool.py +97 -0
- squadron_agents-0.5.1/squadron/swarm/__init__.py +4 -0
- squadron_agents-0.5.1/squadron/swarm/agent.py +96 -0
- squadron_agents-0.5.1/squadron/swarm/delegator.py +51 -0
- squadron_agents-0.5.1/squadron/swarm/discovery.py +51 -0
- squadron_agents-0.5.1/squadron/swarm/overseer.py +251 -0
- squadron_agents-0.5.1/squadron_agents.egg-info/PKG-INFO +643 -0
- squadron_agents-0.5.1/squadron_agents.egg-info/SOURCES.txt +86 -0
- squadron_agents-0.5.1/squadron_agents.egg-info/dependency_links.txt +1 -0
- squadron_agents-0.5.1/squadron_agents.egg-info/entry_points.txt +2 -0
- squadron_agents-0.5.1/squadron_agents.egg-info/requires.txt +21 -0
- squadron_agents-0.5.1/squadron_agents.egg-info/top_level.txt +1 -0
- squadron_agents-0.5.1/tests/test_cli.py +10 -0
- 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 |
|