@zweer/dev 1.2.0 → 2.0.0
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/README.md +68 -467
- package/configs/_biome.json +38 -0
- package/configs/commitlint.config.ts +1 -0
- package/configs/editorconfig +16 -0
- package/configs/lefthook.yml +38 -0
- package/configs/lockfile-lintrc.json +6 -0
- package/configs/npmpackagejsonlintrc.json +34 -0
- package/configs/tsconfig.json +9 -0
- package/configs/tsdown.config.ts +8 -0
- package/configs/vitest.config.ts +12 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +247 -0
- package/dist/index.mjs.map +1 -0
- package/kiro/agents/zweer-setup.json +38 -0
- package/kiro/prompts/zweer-setup.md +55 -0
- package/kiro/skills/agent-template/SKILL.md +22 -0
- package/kiro/skills/agent-template/references/base.json +38 -0
- package/kiro/skills/agent-template/references/example-monorepo-library.json +60 -0
- package/kiro/skills/agent-template/references/example-webapp-vercel.json +54 -0
- package/kiro/skills/prompt-template/SKILL.md +23 -0
- package/kiro/skills/prompt-template/references/example-library.md +56 -0
- package/kiro/skills/prompt-template/references/example-webapp.md +57 -0
- package/kiro/skills/skill-templates/SKILL.md +23 -0
- package/kiro/skills/skill-templates/references/new-package.md +72 -0
- package/kiro/skills/steering-templates/SKILL.md +31 -0
- package/kiro/skills/steering-templates/references/build-tooling.md +62 -0
- package/kiro/skills/steering-templates/references/code-style.md +83 -0
- package/kiro/skills/steering-templates/references/commit-conventions.md +58 -0
- package/kiro/skills/steering-templates/references/interaction.md +41 -0
- package/kiro/skills/steering-templates/references/testing.md +61 -0
- package/kiro/steering/build-tooling.md +62 -0
- package/kiro/steering/code-style.md +83 -0
- package/kiro/steering/commit-conventions.md +58 -0
- package/kiro/steering/interaction.md +41 -0
- package/kiro/steering/testing.md +61 -0
- package/package.json +42 -57
- package/templates/monorepo/CHANGELOG.md +5 -0
- package/templates/monorepo/README.md +22 -0
- package/templates/monorepo/package.json +30 -0
- package/templates/monorepo/packages/core/CHANGELOG.md +5 -0
- package/templates/monorepo/packages/core/README.md +21 -0
- package/templates/monorepo/packages/core/package.json +28 -0
- package/templates/monorepo/packages/core/src/index.ts +3 -0
- package/templates/monorepo/packages/core/test/index.test.ts +9 -0
- package/templates/monorepo/tsdown.config.ts +12 -0
- package/templates/monorepo/vitest.config.ts +12 -0
- package/templates/single/CHANGELOG.md +5 -0
- package/templates/single/README.md +30 -0
- package/templates/single/package.json +38 -0
- package/templates/single/src/index.ts +3 -0
- package/templates/single/test/index.test.ts +9 -0
- package/templates/single/tsdown.config.ts +11 -0
- package/workflows/base/ci.yml +24 -0
- package/workflows/base/dependabot-auto-merge.yml +43 -0
- package/workflows/base/dependabot-lockfile.yml +34 -0
- package/workflows/base/dependabot.yml +39 -0
- package/workflows/base/pr.yml +41 -0
- package/workflows/base/security.yml +25 -0
- package/workflows/docs/docs.yml +47 -0
- package/workflows/library/npm.yml +45 -0
- package/agents/data/zweer_data_engineer.md +0 -436
- package/agents/design/zweer_ui_designer.md +0 -171
- package/agents/design/zweer_ui_ux.md +0 -124
- package/agents/infrastructure/zweer_infra_cdk.md +0 -701
- package/agents/infrastructure/zweer_infra_devops.md +0 -148
- package/agents/infrastructure/zweer_infra_observability.md +0 -610
- package/agents/infrastructure/zweer_infra_terraform.md +0 -658
- package/agents/mobile/zweer_mobile_android.md +0 -636
- package/agents/mobile/zweer_mobile_flutter.md +0 -623
- package/agents/mobile/zweer_mobile_ionic.md +0 -550
- package/agents/mobile/zweer_mobile_ios.md +0 -504
- package/agents/mobile/zweer_mobile_react_native.md +0 -561
- package/agents/quality/zweer_qa_documentation.md +0 -202
- package/agents/quality/zweer_qa_performance.md +0 -160
- package/agents/quality/zweer_qa_security.md +0 -197
- package/agents/quality/zweer_qa_testing.md +0 -189
- package/agents/services/zweer_svc_api_gateway.md +0 -553
- package/agents/services/zweer_svc_containers.md +0 -575
- package/agents/services/zweer_svc_lambda.md +0 -373
- package/agents/services/zweer_svc_messaging.md +0 -543
- package/agents/services/zweer_svc_microservices.md +0 -502
- package/agents/web/zweer_web_api_integration.md +0 -500
- package/agents/web/zweer_web_backend.md +0 -358
- package/agents/web/zweer_web_database.md +0 -357
- package/agents/web/zweer_web_frontend.md +0 -375
- package/agents/web/zweer_web_reader.md +0 -229
- package/agents/write/zweer_write_content.md +0 -499
- package/agents/write/zweer_write_narrative.md +0 -409
- package/agents/write/zweer_write_style.md +0 -247
- package/agents/write/zweer_write_warmth.md +0 -282
- package/cli/commands/bootstrap.d.ts +0 -4
- package/cli/commands/bootstrap.js +0 -377
- package/cli/commands/cao/agent/create.d.ts +0 -17
- package/cli/commands/cao/agent/create.js +0 -89
- package/cli/commands/cao/agent/index.d.ts +0 -2
- package/cli/commands/cao/agent/index.js +0 -8
- package/cli/commands/cao/agent/list.d.ts +0 -3
- package/cli/commands/cao/agent/list.js +0 -29
- package/cli/commands/cao/agent/remove.d.ts +0 -5
- package/cli/commands/cao/agent/remove.js +0 -39
- package/cli/commands/cao/index.d.ts +0 -2
- package/cli/commands/cao/index.js +0 -18
- package/cli/commands/cao/init.d.ts +0 -15
- package/cli/commands/cao/init.js +0 -87
- package/cli/commands/cao/install.d.ts +0 -10
- package/cli/commands/cao/install.js +0 -59
- package/cli/commands/cao/launch.d.ts +0 -3
- package/cli/commands/cao/launch.js +0 -21
- package/cli/commands/cao/list.d.ts +0 -4
- package/cli/commands/cao/list.js +0 -28
- package/cli/commands/cao/server.d.ts +0 -3
- package/cli/commands/cao/server.js +0 -20
- package/cli/commands/cao/sync.d.ts +0 -6
- package/cli/commands/cao/sync.js +0 -52
- package/cli/commands/setup.d.ts +0 -4
- package/cli/commands/setup.js +0 -346
- package/cli/index.d.ts +0 -2
- package/cli/index.js +0 -13
- package/cli/utils/agents.d.ts +0 -8
- package/cli/utils/agents.js +0 -55
- package/cli/utils/cao.d.ts +0 -9
- package/cli/utils/cao.js +0 -40
- package/cli/utils/paths.d.ts +0 -5
- package/cli/utils/paths.js +0 -11
- package/templates/orchestrator.md +0 -190
package/README.md
CHANGED
|
@@ -1,508 +1,109 @@
|
|
|
1
|
-
# @zweer/dev
|
|
1
|
+
# @zweer/dev
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Shared configurations, golden configs & Kiro AI templates for software projects.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## What's Inside
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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)
|
|
7
|
+
| Directory | Purpose |
|
|
8
|
+
|-----------|---------|
|
|
9
|
+
| `cli/` | CLI tool (`dev bootstrap`, `dev setup`, `dev init-kiro`) |
|
|
10
|
+
| `configs/` | Golden config files copied to target projects |
|
|
11
|
+
| `kiro/` | Kiro agent, prompt, steering & skill templates |
|
|
12
|
+
| `workflows/` | GitHub Actions workflow templates |
|
|
23
13
|
|
|
24
|
-
##
|
|
14
|
+
## Quick Start
|
|
25
15
|
|
|
26
|
-
|
|
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.
|
|
16
|
+
### New project
|
|
258
17
|
|
|
259
18
|
```bash
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
# Add everything
|
|
264
|
-
dev setup --yes
|
|
19
|
+
npx @zweer/dev bootstrap my-project
|
|
20
|
+
cd my-project
|
|
21
|
+
npx @zweer/dev init-kiro
|
|
265
22
|
```
|
|
266
23
|
|
|
267
|
-
|
|
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.
|
|
24
|
+
### Existing project
|
|
284
25
|
|
|
285
26
|
```bash
|
|
286
|
-
|
|
287
|
-
dev
|
|
288
|
-
|
|
289
|
-
# With custom name
|
|
290
|
-
dev cao init my_orchestrator
|
|
291
|
-
|
|
292
|
-
# Skip prompts (use defaults)
|
|
293
|
-
dev cao init --yes
|
|
27
|
+
npx @zweer/dev setup
|
|
28
|
+
npx @zweer/dev init-kiro
|
|
294
29
|
```
|
|
295
30
|
|
|
296
|
-
|
|
31
|
+
## CLI Commands
|
|
297
32
|
|
|
298
|
-
|
|
299
|
-
- `-y, --yes` - Skip prompts and use defaults
|
|
33
|
+
### `dev bootstrap [name]`
|
|
300
34
|
|
|
301
|
-
|
|
35
|
+
Scaffolds a new project with all golden configs, scripts, and dependencies.
|
|
302
36
|
|
|
303
|
-
|
|
37
|
+
### `dev setup`
|
|
304
38
|
|
|
305
|
-
|
|
306
|
-
# Install everything
|
|
307
|
-
dev cao install
|
|
39
|
+
Adds golden configs to an existing project. Merges deps and scripts into `package.json`, copies config files (won't overwrite existing), installs base GitHub Actions workflows.
|
|
308
40
|
|
|
309
|
-
|
|
310
|
-
dev cao install --cao-only
|
|
41
|
+
### `dev init-kiro`
|
|
311
42
|
|
|
312
|
-
|
|
313
|
-
dev cao install --agents-only
|
|
314
|
-
```
|
|
43
|
+
Installs the `zweer-setup` agent globally for Kiro-powered project configuration. After running, launch `kiro-cli chat` and use `/agent swap zweer-setup` to configure the project.
|
|
315
44
|
|
|
316
|
-
|
|
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
|
|
45
|
+
## Golden Configs
|
|
321
46
|
|
|
322
|
-
|
|
323
|
-
- `--cao-only` - Install only CAO prerequisites
|
|
324
|
-
- `--agents-only` - Install only agents (skip CAO)
|
|
47
|
+
All projects get these configs (via `dev bootstrap` or `dev setup`):
|
|
325
48
|
|
|
326
|
-
|
|
49
|
+
| Config | Tool |
|
|
50
|
+
|--------|------|
|
|
51
|
+
| `biome.json` | Biome (linter + formatter) |
|
|
52
|
+
| `tsconfig.json` | TypeScript (`@tsconfig/node22`) |
|
|
53
|
+
| `tsdown.config.ts` | tsdown (build) |
|
|
54
|
+
| `vitest.config.ts` | Vitest (testing + v8 coverage) |
|
|
55
|
+
| `lefthook.yml` | Lefthook (git hooks) |
|
|
56
|
+
| `commitlint.config.ts` | Commitlint (conventional commits) |
|
|
57
|
+
| `.editorconfig` | EditorConfig |
|
|
58
|
+
| `.lockfile-lintrc.json` | Lockfile-lint (security) |
|
|
59
|
+
| `.npmpackagejsonlintrc.json` | npm-package-json-lint |
|
|
327
60
|
|
|
328
|
-
|
|
61
|
+
## Project Templates
|
|
329
62
|
|
|
330
|
-
|
|
331
|
-
dev cao server
|
|
332
|
-
```
|
|
63
|
+
`dev bootstrap` uses these templates:
|
|
333
64
|
|
|
334
|
-
|
|
65
|
+
| Template | Use case | Example repos |
|
|
66
|
+
|----------|----------|---------------|
|
|
67
|
+
| `single` (default) | Single npm package | utils (if single-pkg) |
|
|
68
|
+
| `monorepo` | npm workspaces with `packages/*` | bonvoy, FlowRAG, utils |
|
|
335
69
|
|
|
336
|
-
|
|
70
|
+
For web apps (Next.js, SvelteKit, etc.), use the framework's own scaffolding tool first, then run `dev setup` to add golden configs.
|
|
337
71
|
|
|
338
|
-
|
|
72
|
+
## Kiro Templates
|
|
339
73
|
|
|
340
|
-
|
|
341
|
-
# Launch your orchestrator
|
|
342
|
-
dev cao launch my_project_orchestrator
|
|
74
|
+
The `zweer-setup` agent generates `.kiro/` config for any project:
|
|
343
75
|
|
|
344
|
-
|
|
345
|
-
dev
|
|
346
|
-
|
|
76
|
+
- **5 steering files**: code-style, build-tooling, testing, interaction, commit-conventions
|
|
77
|
+
- **Agent config**: Tailored `dev.json` with project-specific write paths
|
|
78
|
+
- **Prompt**: Project-specific system prompt
|
|
79
|
+
- **Skills**: Monorepo scaffolding, etc.
|
|
347
80
|
|
|
348
|
-
|
|
81
|
+
## Workflow Templates
|
|
349
82
|
|
|
350
|
-
|
|
83
|
+
| Tier | Workflows | When |
|
|
84
|
+
|------|-----------|------|
|
|
85
|
+
| Base | ci, pr, security, dependabot-auto-merge | Always |
|
|
86
|
+
| Library | npm release | npm packages |
|
|
87
|
+
| Docs | VitePress deploy | Projects with docs/ |
|
|
351
88
|
|
|
352
|
-
|
|
353
|
-
dev cao list
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
Shows all 30+ agents organized by category.
|
|
89
|
+
## Stack Decisions
|
|
357
90
|
|
|
358
|
-
|
|
91
|
+
- **Biome** today, Oxc when stable
|
|
92
|
+
- **Lefthook** (not husky + lint-staged)
|
|
93
|
+
- **tsdown** (not tsc for build)
|
|
94
|
+
- **bonvoy** (not semantic-release)
|
|
95
|
+
- **@tsconfig/node22** (LTS)
|
|
96
|
+
- **Copy** config distribution (not extends)
|
|
359
97
|
|
|
360
|
-
|
|
98
|
+
## Development
|
|
361
99
|
|
|
362
100
|
```bash
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
dev cao init
|
|
368
|
-
|
|
369
|
-
# Install CAO and agents
|
|
370
|
-
dev cao install
|
|
101
|
+
npm install
|
|
102
|
+
npm run build
|
|
103
|
+
npm test
|
|
104
|
+
npm run lint
|
|
371
105
|
```
|
|
372
106
|
|
|
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
107
|
## License
|
|
507
108
|
|
|
508
109
|
MIT
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.4.8/schema.json",
|
|
3
|
+
"vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true },
|
|
4
|
+
"files": { "ignoreUnknown": false },
|
|
5
|
+
"formatter": { "enabled": true, "useEditorconfig": true, "lineWidth": 100 },
|
|
6
|
+
"linter": {
|
|
7
|
+
"enabled": true,
|
|
8
|
+
"rules": {
|
|
9
|
+
"recommended": true,
|
|
10
|
+
"suspicious": { "noUnknownAtRules": "off" }
|
|
11
|
+
},
|
|
12
|
+
"domains": { "test": "recommended" }
|
|
13
|
+
},
|
|
14
|
+
"javascript": { "formatter": { "quoteStyle": "single" } },
|
|
15
|
+
"assist": {
|
|
16
|
+
"enabled": true,
|
|
17
|
+
"actions": {
|
|
18
|
+
"source": {
|
|
19
|
+
"organizeImports": {
|
|
20
|
+
"level": "on",
|
|
21
|
+
"options": {
|
|
22
|
+
"groups": [
|
|
23
|
+
":URL:",
|
|
24
|
+
":BLANK_LINE:",
|
|
25
|
+
[":BUN:", ":NODE:"],
|
|
26
|
+
":BLANK_LINE:",
|
|
27
|
+
[":PACKAGE_WITH_PROTOCOL:", ":PACKAGE:"],
|
|
28
|
+
":BLANK_LINE:",
|
|
29
|
+
":ALIAS:",
|
|
30
|
+
":BLANK_LINE:",
|
|
31
|
+
":PATH:"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default { extends: ['@commitlint/config-conventional'] };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# http://editorconfig.org/
|
|
2
|
+
root = true
|
|
3
|
+
|
|
4
|
+
[*]
|
|
5
|
+
charset = utf-8
|
|
6
|
+
end_of_line = lf
|
|
7
|
+
insert_final_newline = true
|
|
8
|
+
indent_style = space
|
|
9
|
+
indent_size = 2
|
|
10
|
+
trim_trailing_whitespace = true
|
|
11
|
+
|
|
12
|
+
[*.md]
|
|
13
|
+
trim_trailing_whitespace = false
|
|
14
|
+
|
|
15
|
+
[Makefile]
|
|
16
|
+
indent_style = tab
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
pre-commit:
|
|
2
|
+
piped: true
|
|
3
|
+
commands:
|
|
4
|
+
biome:
|
|
5
|
+
glob: "*.{ts,json,yaml,md,css,html}"
|
|
6
|
+
run: npx biome check --write --no-errors-on-unmatched --files-ignore-unknown=true {staged_files}
|
|
7
|
+
stage_fixed: true
|
|
8
|
+
priority: 1
|
|
9
|
+
lockfile:
|
|
10
|
+
glob: "package-lock.json"
|
|
11
|
+
run: npx lockfile-lint
|
|
12
|
+
priority: 1
|
|
13
|
+
package-lint:
|
|
14
|
+
glob: "package.json"
|
|
15
|
+
run: npx npmPkgJsonLint .
|
|
16
|
+
priority: 1
|
|
17
|
+
package-sort:
|
|
18
|
+
glob: "package.json"
|
|
19
|
+
run: npx sort-package-json "package.json"
|
|
20
|
+
stage_fixed: true
|
|
21
|
+
priority: 1
|
|
22
|
+
build:
|
|
23
|
+
glob: "*.ts"
|
|
24
|
+
run: npm run build
|
|
25
|
+
priority: 2
|
|
26
|
+
typecheck:
|
|
27
|
+
glob: "*.ts"
|
|
28
|
+
run: tsc --noEmit
|
|
29
|
+
priority: 3
|
|
30
|
+
test:
|
|
31
|
+
glob: "*.ts"
|
|
32
|
+
run: npx vitest run --reporter=dot
|
|
33
|
+
priority: 3
|
|
34
|
+
|
|
35
|
+
commit-msg:
|
|
36
|
+
commands:
|
|
37
|
+
commitlint:
|
|
38
|
+
run: npx --no -- commitlint --edit {1}
|