@zweer/dev 1.0.1
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.
- package/LICENSE +21 -0
- package/README.md +508 -0
- package/agents/data/zweer_data_engineer.md +436 -0
- package/agents/design/zweer_ui_designer.md +171 -0
- package/agents/design/zweer_ui_ux.md +124 -0
- package/agents/infrastructure/zweer_infra_cdk.md +701 -0
- package/agents/infrastructure/zweer_infra_devops.md +148 -0
- package/agents/infrastructure/zweer_infra_observability.md +610 -0
- package/agents/infrastructure/zweer_infra_terraform.md +658 -0
- package/agents/mobile/zweer_mobile_android.md +636 -0
- package/agents/mobile/zweer_mobile_flutter.md +623 -0
- package/agents/mobile/zweer_mobile_ionic.md +550 -0
- package/agents/mobile/zweer_mobile_ios.md +504 -0
- package/agents/mobile/zweer_mobile_react_native.md +561 -0
- package/agents/quality/zweer_qa_documentation.md +202 -0
- package/agents/quality/zweer_qa_performance.md +160 -0
- package/agents/quality/zweer_qa_security.md +197 -0
- package/agents/quality/zweer_qa_testing.md +189 -0
- package/agents/services/zweer_svc_api_gateway.md +553 -0
- package/agents/services/zweer_svc_containers.md +575 -0
- package/agents/services/zweer_svc_lambda.md +373 -0
- package/agents/services/zweer_svc_messaging.md +543 -0
- package/agents/services/zweer_svc_microservices.md +502 -0
- package/agents/web/zweer_web_api_integration.md +500 -0
- package/agents/web/zweer_web_backend.md +358 -0
- package/agents/web/zweer_web_database.md +357 -0
- package/agents/web/zweer_web_frontend.md +375 -0
- package/agents/web/zweer_web_reader.md +229 -0
- package/agents/write/zweer_write_content.md +499 -0
- package/agents/write/zweer_write_narrative.md +409 -0
- package/agents/write/zweer_write_style.md +247 -0
- package/agents/write/zweer_write_warmth.md +282 -0
- package/cli/commands/bootstrap.d.ts +4 -0
- package/cli/commands/bootstrap.js +332 -0
- package/cli/commands/cao/index.d.ts +2 -0
- package/cli/commands/cao/index.js +14 -0
- package/cli/commands/cao/init.d.ts +15 -0
- package/cli/commands/cao/init.js +87 -0
- package/cli/commands/cao/install.d.ts +10 -0
- package/cli/commands/cao/install.js +58 -0
- package/cli/commands/cao/launch.d.ts +3 -0
- package/cli/commands/cao/launch.js +21 -0
- package/cli/commands/cao/list.d.ts +4 -0
- package/cli/commands/cao/list.js +28 -0
- package/cli/commands/cao/server.d.ts +3 -0
- package/cli/commands/cao/server.js +20 -0
- package/cli/commands/setup.d.ts +4 -0
- package/cli/commands/setup.js +269 -0
- package/cli/index.d.ts +2 -0
- package/cli/index.js +13 -0
- package/cli/utils/agents.d.ts +8 -0
- package/cli/utils/agents.js +55 -0
- package/cli/utils/cao.d.ts +8 -0
- package/cli/utils/cao.js +23 -0
- package/cli/utils/paths.d.ts +5 -0
- package/cli/utils/paths.js +11 -0
- package/package.json +80 -0
- package/templates/orchestrator.md +190 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Niccolò Olivieri Achille
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
# @zweer/dev - Shared Configurations & AI Agents
|
|
2
|
+
|
|
3
|
+
Central repository of reusable configurations and specialized AI agents for software projects.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Project Purpose](#project-purpose)
|
|
8
|
+
- [Structure](#structure)
|
|
9
|
+
- [How It Works](#how-it-works)
|
|
10
|
+
- [1. Orchestrator Agent (in your project)](#1-orchestrator-agent-in-your-project)
|
|
11
|
+
- [2. Specialized Agents (in this repo)](#2-specialized-agents-in-this-repo)
|
|
12
|
+
- [3. Agent Handoff](#3-agent-handoff)
|
|
13
|
+
- [Available Agents](#available-agents)
|
|
14
|
+
- [Web Development](#web-development-agentsdev)
|
|
15
|
+
- [How to Use Agents](#how-to-use-agents)
|
|
16
|
+
- [Setup in Your Project](#setup-in-your-project)
|
|
17
|
+
- [Delegation Example in Orchestrator](#delegation-example-in-orchestrator)
|
|
18
|
+
- [Providing Context to Agents](#providing-context-to-agents)
|
|
19
|
+
- [Benefits of This Approach](#benefits-of-this-approach)
|
|
20
|
+
- [Contributing](#contributing)
|
|
21
|
+
- [Roadmap](#roadmap)
|
|
22
|
+
- [License](#license)
|
|
23
|
+
|
|
24
|
+
## Project Purpose
|
|
25
|
+
|
|
26
|
+
This repository contains:
|
|
27
|
+
|
|
28
|
+
1. **Specialized AI agents** - Agent configurations for different domains (web development, writing, etc.)
|
|
29
|
+
2. **Common configurations** - Shared setups for linting, formatting, TypeScript, etc.
|
|
30
|
+
3. **Templates** - Reusable project structures
|
|
31
|
+
|
|
32
|
+
The idea is to have an **orchestrator + specialized agents pattern**:
|
|
33
|
+
- Each project has an **orchestrator agent** with project-specific context
|
|
34
|
+
- The orchestrator delegates tasks to **specialized agents** via handoff
|
|
35
|
+
- Specialized agents are generic and reusable across projects
|
|
36
|
+
|
|
37
|
+
## Structure
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
dev/
|
|
41
|
+
├── agents/ # Specialized AI agents (30 total)
|
|
42
|
+
│ ├── data/ # Data engineering (1)
|
|
43
|
+
│ │ └── zweer_data_engineer.md
|
|
44
|
+
│ ├── design/ # UI/UX (2)
|
|
45
|
+
│ │ ├── zweer_ui_designer.md
|
|
46
|
+
│ │ └── zweer_ui_ux.md
|
|
47
|
+
│ ├── infrastructure/ # Platform & IaC (4)
|
|
48
|
+
│ │ ├── zweer_infra_cdk.md
|
|
49
|
+
│ │ ├── zweer_infra_devops.md
|
|
50
|
+
│ │ ├── zweer_infra_observability.md
|
|
51
|
+
│ │ └── zweer_infra_terraform.md
|
|
52
|
+
│ ├── mobile/ # Mobile development (5)
|
|
53
|
+
│ │ ├── zweer_mobile_android.md
|
|
54
|
+
│ │ ├── zweer_mobile_flutter.md
|
|
55
|
+
│ │ ├── zweer_mobile_ionic.md
|
|
56
|
+
│ │ ├── zweer_mobile_ios.md
|
|
57
|
+
│ │ └── zweer_mobile_react_native.md
|
|
58
|
+
│ ├── quality/ # Quality & best practices (4)
|
|
59
|
+
│ │ ├── zweer_qa_documentation.md
|
|
60
|
+
│ │ ├── zweer_qa_performance.md
|
|
61
|
+
│ │ ├── zweer_qa_security.md
|
|
62
|
+
│ │ └── zweer_qa_testing.md
|
|
63
|
+
│ ├── services/ # Backend services (5)
|
|
64
|
+
│ │ ├── zweer_svc_api_gateway.md
|
|
65
|
+
│ │ ├── zweer_svc_containers.md
|
|
66
|
+
│ │ ├── zweer_svc_lambda.md
|
|
67
|
+
│ │ ├── zweer_svc_messaging.md
|
|
68
|
+
│ │ └── zweer_svc_microservices.md
|
|
69
|
+
│ ├── web/ # Web full-stack (5)
|
|
70
|
+
│ │ ├── zweer_web_api_integration.md
|
|
71
|
+
│ │ ├── zweer_web_backend.md
|
|
72
|
+
│ │ ├── zweer_web_database.md
|
|
73
|
+
│ │ ├── zweer_web_frontend.md
|
|
74
|
+
│ │ └── zweer_web_reader.md
|
|
75
|
+
│ └── write/ # Content & creative writing (4)
|
|
76
|
+
│ ├── zweer_write_content.md
|
|
77
|
+
│ ├── zweer_write_narrative.md
|
|
78
|
+
│ ├── zweer_write_style.md
|
|
79
|
+
│ └── zweer_write_warmth.md
|
|
80
|
+
├── cli/ # CLI tool implementation
|
|
81
|
+
├── templates/ # Project templates
|
|
82
|
+
└── README.md # This file
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
All agents follow the naming convention: `zweer_<category>_<name>` for global uniqueness.
|
|
86
|
+
|
|
87
|
+
## How It Works
|
|
88
|
+
|
|
89
|
+
### 1. Orchestrator Agent (in your project)
|
|
90
|
+
|
|
91
|
+
The orchestrator is project-specific and contains:
|
|
92
|
+
- **Project context**: name, purpose, tech stack, architecture
|
|
93
|
+
- **Documentation**: references to README, ARCHITECTURE, DATABASE_SCHEMA, etc.
|
|
94
|
+
- **Delegation logic**: which agent to call for which task
|
|
95
|
+
- **Project standards**: code conventions, design system, best practices
|
|
96
|
+
|
|
97
|
+
Example orchestrator structure:
|
|
98
|
+
|
|
99
|
+
```yaml
|
|
100
|
+
---
|
|
101
|
+
name: my_project_orchestrator
|
|
102
|
+
description: Project orchestrator for My Project
|
|
103
|
+
model: claude-sonnet-4.5
|
|
104
|
+
mcpServers:
|
|
105
|
+
cao-mcp-server:
|
|
106
|
+
type: stdio
|
|
107
|
+
command: uvx
|
|
108
|
+
args:
|
|
109
|
+
- "--from"
|
|
110
|
+
- "git+https://github.com/awslabs/cli-agent-orchestrator.git@main"
|
|
111
|
+
- "cao-mcp-server"
|
|
112
|
+
tools: ["*"]
|
|
113
|
+
allowedTools: ["fs_read", "fs_write", "execute_bash", "@cao-mcp-server"]
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
# My Project - Orchestrator
|
|
117
|
+
|
|
118
|
+
## Project Context
|
|
119
|
+
- Name: My Project
|
|
120
|
+
- Tech Stack: Next.js, TypeScript, PostgreSQL
|
|
121
|
+
- [Project-specific details]
|
|
122
|
+
|
|
123
|
+
## Instructions
|
|
124
|
+
[Orchestration and delegation logic]
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 2. Specialized Agents (in this repo)
|
|
128
|
+
|
|
129
|
+
Specialized agents are **generic** and **reusable**. They don't know about your specific project, but are experts in a domain.
|
|
130
|
+
|
|
131
|
+
Each agent has:
|
|
132
|
+
- **Specific expertise**: e.g. React, database design, security
|
|
133
|
+
- **Best practices**: guidelines for the domain
|
|
134
|
+
- **Examples**: common patterns and solutions
|
|
135
|
+
|
|
136
|
+
### 3. Agent Handoff
|
|
137
|
+
|
|
138
|
+
The orchestrator delegates tasks to agents via the `@cao-mcp-server` tool:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
Orchestrator receives: "Create login page"
|
|
142
|
+
↓
|
|
143
|
+
Orchestrator analyzes and plans:
|
|
144
|
+
1. UX design → delegate to dev_ux
|
|
145
|
+
2. UI components → delegate to dev_frontend
|
|
146
|
+
3. Authentication → delegate to dev_backend
|
|
147
|
+
4. DB schema → delegate to dev_database
|
|
148
|
+
↓
|
|
149
|
+
Orchestrator coordinates execution and validates results
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Available Agents
|
|
153
|
+
|
|
154
|
+
All agents use the `zweer_<category>_<name>` naming convention for global uniqueness.
|
|
155
|
+
|
|
156
|
+
### Web Development (`agents/web/`)
|
|
157
|
+
|
|
158
|
+
- **zweer_web_frontend** - React, Next.js, components, client-side logic
|
|
159
|
+
- **zweer_web_backend** - API routes, Server Actions, business logic
|
|
160
|
+
- **zweer_web_database** - Schema design, queries, migrations
|
|
161
|
+
- **zweer_web_api_integration** - External API integrations, scrapers
|
|
162
|
+
- **zweer_web_reader** - Image viewer, document reader, gestures
|
|
163
|
+
|
|
164
|
+
### Services (`agents/services/`)
|
|
165
|
+
|
|
166
|
+
- **zweer_svc_lambda** - AWS Lambda, serverless functions, event handlers
|
|
167
|
+
- **zweer_svc_microservices** - Service design, communication patterns, distributed systems
|
|
168
|
+
- **zweer_svc_api_gateway** - REST, GraphQL, API Gateway, rate limiting
|
|
169
|
+
- **zweer_svc_messaging** - SQS, SNS, EventBridge, event-driven architecture
|
|
170
|
+
- **zweer_svc_containers** - Docker, ECS, EKS, container orchestration
|
|
171
|
+
|
|
172
|
+
### Infrastructure (`agents/infrastructure/`)
|
|
173
|
+
|
|
174
|
+
- **zweer_infra_cdk** - AWS CDK with TypeScript, stacks, constructs
|
|
175
|
+
- **zweer_infra_terraform** - Terraform HCL, modules, state management
|
|
176
|
+
- **zweer_infra_devops** - Deploy, CI/CD, infrastructure
|
|
177
|
+
- **zweer_infra_observability** - Monitoring, logging, tracing, alerting
|
|
178
|
+
|
|
179
|
+
### Design (`agents/design/`)
|
|
180
|
+
|
|
181
|
+
- **zweer_ui_designer** - UI components, design system, styling
|
|
182
|
+
- **zweer_ui_ux** - User flows, accessibility, mobile experience
|
|
183
|
+
|
|
184
|
+
### Mobile (`agents/mobile/`)
|
|
185
|
+
|
|
186
|
+
- **zweer_mobile_react_native** - Cross-platform mobile with React Native
|
|
187
|
+
- **zweer_mobile_ionic** - Hybrid mobile apps with Capacitor
|
|
188
|
+
- **zweer_mobile_flutter** - Cross-platform mobile with Dart
|
|
189
|
+
- **zweer_mobile_ios** - Native iOS with Swift, SwiftUI, UIKit
|
|
190
|
+
- **zweer_mobile_android** - Native Android with Kotlin, Jetpack Compose
|
|
191
|
+
|
|
192
|
+
### Quality (`agents/quality/`)
|
|
193
|
+
|
|
194
|
+
- **zweer_qa_testing** - Unit, integration, E2E tests
|
|
195
|
+
- **zweer_qa_security** - Auth, security, vulnerabilities
|
|
196
|
+
- **zweer_qa_performance** - Optimization, caching, monitoring
|
|
197
|
+
- **zweer_qa_documentation** - Technical writing, API docs
|
|
198
|
+
|
|
199
|
+
### Data Engineering (`agents/data/`)
|
|
200
|
+
|
|
201
|
+
- **zweer_data_engineer** - ETL pipelines, data warehousing, analytics
|
|
202
|
+
|
|
203
|
+
### Writing (`agents/write/`)
|
|
204
|
+
|
|
205
|
+
- **zweer_write_content** - Blog posts, articles, marketing copy
|
|
206
|
+
- **zweer_write_narrative** - Creative fiction, storytelling, character development
|
|
207
|
+
- **zweer_write_style** - Refine writing quality, remove AI patterns, improve flow
|
|
208
|
+
- **zweer_write_warmth** - Add human warmth, empathy, and emotional connection
|
|
209
|
+
|
|
210
|
+
## CLI Tool
|
|
211
|
+
|
|
212
|
+
Command-line tool for managing AI agents, orchestrators, and project configurations.
|
|
213
|
+
|
|
214
|
+
### Installation
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
npm install -g @zweer/dev
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Or use with npx:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
npx @zweer/dev <command>
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Commands
|
|
227
|
+
|
|
228
|
+
#### Project Setup
|
|
229
|
+
|
|
230
|
+
##### `dev bootstrap`
|
|
231
|
+
|
|
232
|
+
Bootstrap a new npm package with standard configuration.
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
# Interactive mode
|
|
236
|
+
dev bootstrap
|
|
237
|
+
|
|
238
|
+
# Skip prompts (use defaults)
|
|
239
|
+
dev bootstrap --yes
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Creates a complete project structure with:
|
|
243
|
+
- `package.json` with all dependencies and scripts
|
|
244
|
+
- TypeScript configuration (`tsconfig.json`)
|
|
245
|
+
- Biome linter/formatter (`biome.json`)
|
|
246
|
+
- Vitest testing setup (`vitest.config.ts`)
|
|
247
|
+
- Git hooks with Husky and lint-staged
|
|
248
|
+
- EditorConfig (`.editorconfig`)
|
|
249
|
+
- Sample source and test files
|
|
250
|
+
- README template
|
|
251
|
+
|
|
252
|
+
**Options:**
|
|
253
|
+
- `-y, --yes` - Skip prompts and use defaults
|
|
254
|
+
|
|
255
|
+
##### `dev setup`
|
|
256
|
+
|
|
257
|
+
Add standard configuration to an existing project.
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
# Interactive mode - choose what to add
|
|
261
|
+
dev setup
|
|
262
|
+
|
|
263
|
+
# Add everything
|
|
264
|
+
dev setup --yes
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Adds configurations to existing project:
|
|
268
|
+
- Merges dependencies into existing `package.json` (doesn't overwrite)
|
|
269
|
+
- Merges scripts into existing `package.json`
|
|
270
|
+
- Creates missing config files (tsconfig, biome, vitest, etc.)
|
|
271
|
+
- Skips files that already exist
|
|
272
|
+
- Preserves existing values
|
|
273
|
+
|
|
274
|
+
**Options:**
|
|
275
|
+
- `-y, --yes` - Skip prompts and add all configurations
|
|
276
|
+
|
|
277
|
+
#### AI Agents (CAO)
|
|
278
|
+
|
|
279
|
+
All CAO-related commands are under the `cao` subcommand:
|
|
280
|
+
|
|
281
|
+
##### `dev cao init [name]`
|
|
282
|
+
|
|
283
|
+
Create an orchestrator in your current project.
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
# Interactive mode
|
|
287
|
+
dev cao init
|
|
288
|
+
|
|
289
|
+
# With custom name
|
|
290
|
+
dev cao init my_orchestrator
|
|
291
|
+
|
|
292
|
+
# Skip prompts (use defaults)
|
|
293
|
+
dev cao init --yes
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
Creates `.cao/agents/<name>.md` with a template orchestrator configured for your project.
|
|
297
|
+
|
|
298
|
+
**Options:**
|
|
299
|
+
- `-y, --yes` - Skip prompts and use defaults
|
|
300
|
+
|
|
301
|
+
##### `dev cao install`
|
|
302
|
+
|
|
303
|
+
Install CAO (CLI Agent Orchestrator) and all common agents.
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
# Install everything
|
|
307
|
+
dev cao install
|
|
308
|
+
|
|
309
|
+
# Install only CAO
|
|
310
|
+
dev cao install --cao-only
|
|
311
|
+
|
|
312
|
+
# Install only agents
|
|
313
|
+
dev cao install --agents-only
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
This command:
|
|
317
|
+
1. Installs tmux configuration
|
|
318
|
+
2. Installs `uv` package manager
|
|
319
|
+
3. Installs CAO via `uv tool install`
|
|
320
|
+
4. Installs all 30+ common agents from this repository
|
|
321
|
+
|
|
322
|
+
**Options:**
|
|
323
|
+
- `--cao-only` - Install only CAO prerequisites
|
|
324
|
+
- `--agents-only` - Install only agents (skip CAO)
|
|
325
|
+
|
|
326
|
+
##### `dev cao server`
|
|
327
|
+
|
|
328
|
+
Launch the CAO server.
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
dev cao server
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
Starts `cao-server` which enables agent communication and handoff.
|
|
335
|
+
|
|
336
|
+
##### `dev cao launch <agent>`
|
|
337
|
+
|
|
338
|
+
Launch a specific agent.
|
|
339
|
+
|
|
340
|
+
```bash
|
|
341
|
+
# Launch your orchestrator
|
|
342
|
+
dev cao launch my_project_orchestrator
|
|
343
|
+
|
|
344
|
+
# Launch a specialized agent
|
|
345
|
+
dev cao launch zweer_web_frontend
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
##### `dev cao list`
|
|
349
|
+
|
|
350
|
+
List all available agents with descriptions.
|
|
351
|
+
|
|
352
|
+
```bash
|
|
353
|
+
dev cao list
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
Shows all 30+ agents organized by category.
|
|
357
|
+
|
|
358
|
+
## How to Use Agents
|
|
359
|
+
|
|
360
|
+
### Setup in Your Project
|
|
361
|
+
|
|
362
|
+
```bash
|
|
363
|
+
# In your project directory
|
|
364
|
+
cd my-project
|
|
365
|
+
|
|
366
|
+
# Create orchestrator
|
|
367
|
+
dev cao init
|
|
368
|
+
|
|
369
|
+
# Install CAO and agents
|
|
370
|
+
dev cao install
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
### Customize Orchestrator
|
|
374
|
+
|
|
375
|
+
Edit `.cao/agents/my-project_orchestrator.md` to add:
|
|
376
|
+
- Project-specific context
|
|
377
|
+
- Tech stack details
|
|
378
|
+
- Architecture notes
|
|
379
|
+
- Custom agent selection logic
|
|
380
|
+
|
|
381
|
+
### Launch and Work
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
# Start CAO server (in one terminal)
|
|
385
|
+
dev cao server
|
|
386
|
+
|
|
387
|
+
# Launch your orchestrator (in another terminal)
|
|
388
|
+
dev cao launch my-project_orchestrator
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
### Use Agent Handoff
|
|
392
|
+
|
|
393
|
+
In your orchestrator, delegate to specialized agents:
|
|
394
|
+
|
|
395
|
+
```typescript
|
|
396
|
+
handoff({
|
|
397
|
+
agent: "zweer_web_frontend",
|
|
398
|
+
context: {
|
|
399
|
+
task: "Create login page component",
|
|
400
|
+
requirements: {
|
|
401
|
+
framework: "Next.js 15",
|
|
402
|
+
styling: "Tailwind CSS",
|
|
403
|
+
validation: "Zod"
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
})
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
### Delegation Example in Orchestrator
|
|
410
|
+
|
|
411
|
+
```markdown
|
|
412
|
+
### Agent Selection Guide
|
|
413
|
+
|
|
414
|
+
**For UI/UX Tasks**:
|
|
415
|
+
- `zweer_ui_ux` → User flows, accessibility, mobile experience
|
|
416
|
+
- `zweer_ui_designer` → Components, styling, design system
|
|
417
|
+
- `zweer_web_frontend` → React components, pages, client logic
|
|
418
|
+
|
|
419
|
+
**For Backend Tasks**:
|
|
420
|
+
- `zweer_web_backend` → API routes, Server Actions, business logic
|
|
421
|
+
- `zweer_web_database` → Schema design, queries, migrations
|
|
422
|
+
- `zweer_web_api_integration` → External integrations
|
|
423
|
+
|
|
424
|
+
**For Quality Tasks**:
|
|
425
|
+
- `zweer_qa_testing` → Automated tests
|
|
426
|
+
- `zweer_qa_security` → Security and auth
|
|
427
|
+
- `zweer_qa_performance` → Optimizations
|
|
428
|
+
|
|
429
|
+
### Task Breakdown Example
|
|
430
|
+
|
|
431
|
+
**User**: "Create login page"
|
|
432
|
+
|
|
433
|
+
**Orchestrator**:
|
|
434
|
+
1. `zweer_ui_ux` → Design authentication flow
|
|
435
|
+
2. `zweer_ui_designer` → Form components and UI
|
|
436
|
+
3. `zweer_web_backend` → Setup Auth.js and session management
|
|
437
|
+
4. `zweer_web_database` → Users table and queries
|
|
438
|
+
5. `zweer_qa_security` → CSRF protection and validation
|
|
439
|
+
6. `zweer_qa_testing` → Test complete flow
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
### Providing Context to Agents
|
|
443
|
+
|
|
444
|
+
When the orchestrator delegates to an agent, it must provide:
|
|
445
|
+
|
|
446
|
+
```markdown
|
|
447
|
+
**Project Context**:
|
|
448
|
+
- Name: My Project
|
|
449
|
+
- Tech Stack: Next.js 15, TypeScript, Drizzle ORM, Neon Postgres
|
|
450
|
+
- Design: Dark mode, blue theme, mobile-first
|
|
451
|
+
- Architecture: App Router, Server Components, Server Actions
|
|
452
|
+
|
|
453
|
+
**Specific Task**:
|
|
454
|
+
[Detailed task description]
|
|
455
|
+
|
|
456
|
+
**Constraints**:
|
|
457
|
+
- Use TypeScript strict mode
|
|
458
|
+
- Follow project conventions (see ARCHITECTURE.md)
|
|
459
|
+
- Minimal code, only what's needed
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
## Benefits of This Approach
|
|
463
|
+
|
|
464
|
+
1. **Reusability**: Specialized agents work for any project
|
|
465
|
+
2. **Separation**: Project context (orchestrator) vs generic expertise (agents)
|
|
466
|
+
3. **Maintainability**: Agent updates propagate to all projects
|
|
467
|
+
4. **Modularity**: Each agent is expert in a specific domain
|
|
468
|
+
5. **Scalability**: Easy to add new agents or domains
|
|
469
|
+
|
|
470
|
+
## Contributing
|
|
471
|
+
|
|
472
|
+
To add new agents:
|
|
473
|
+
|
|
474
|
+
1. Identify the domain (e.g. `agents/data/`, `agents/mobile/`)
|
|
475
|
+
2. Create appropriate folder structure
|
|
476
|
+
3. Write the agent in `.md` format with:
|
|
477
|
+
- YAML frontmatter (name, description, model, tools)
|
|
478
|
+
- Expertise description
|
|
479
|
+
- Best practices
|
|
480
|
+
- Code examples
|
|
481
|
+
|
|
482
|
+
## Roadmap
|
|
483
|
+
|
|
484
|
+
- [x] Services agents (`agents/services/`)
|
|
485
|
+
- [x] Lambda development
|
|
486
|
+
- [x] Microservices architecture
|
|
487
|
+
- [x] API Gateway & REST/GraphQL
|
|
488
|
+
- [x] Messaging (SQS, SNS, EventBridge)
|
|
489
|
+
- [x] Container orchestration (ECS, EKS)
|
|
490
|
+
- [x] Infrastructure agents (`agents/infrastructure/`)
|
|
491
|
+
- [x] AWS CDK
|
|
492
|
+
- [x] Terraform
|
|
493
|
+
- [x] Observability (monitoring, logging)
|
|
494
|
+
- [x] Mobile agents (`agents/mobile/`)
|
|
495
|
+
- [x] React Native
|
|
496
|
+
- [x] Ionic
|
|
497
|
+
- [x] Flutter
|
|
498
|
+
- [x] iOS native
|
|
499
|
+
- [x] Android native
|
|
500
|
+
- [x] Data engineering agents (`agents/data/`)
|
|
501
|
+
- [x] Writing agents (`agents/writing/`)
|
|
502
|
+
- [ ] Common configurations (`configs/`)
|
|
503
|
+
- [ ] Project templates (`templates/`)
|
|
504
|
+
- [ ] Orchestrator examples
|
|
505
|
+
|
|
506
|
+
## License
|
|
507
|
+
|
|
508
|
+
MIT
|