@zweer/dev 1.3.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 -795
- 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 -25
- package/cli/commands/cao/agent/create.js +0 -221
- 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 -20
- 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 -6
- package/cli/commands/cao/list.js +0 -36
- package/cli/commands/cao/server.d.ts +0 -3
- package/cli/commands/cao/server.js +0 -20
- package/cli/commands/cao/status.d.ts +0 -2
- package/cli/commands/cao/status.js +0 -25
- package/cli/commands/cao/sync.d.ts +0 -6
- package/cli/commands/cao/sync.js +0 -52
- package/cli/commands/cao/uninstall.d.ts +0 -2
- package/cli/commands/cao/uninstall.js +0 -16
- 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 -11
- package/cli/utils/cao.js +0 -56
- package/cli/utils/paths.d.ts +0 -5
- package/cli/utils/paths.js +0 -11
- package/templates/orchestrator_lambda.md +0 -263
- package/templates/orchestrator_microservices.md +0 -345
- package/templates/orchestrator_mobile.md +0 -199
- package/templates/orchestrator_webapp.md +0 -190
- package/templates/orchestrator_writing.md +0 -306
package/README.md
CHANGED
|
@@ -1,836 +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
|
-
- [CI/CD](#cicd)
|
|
23
|
-
- [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 |
|
|
24
13
|
|
|
25
|
-
##
|
|
14
|
+
## Quick Start
|
|
26
15
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
1. **Specialized AI agents** - Agent configurations for different domains (web development, writing, etc.)
|
|
30
|
-
2. **Common configurations** - Shared setups for linting, formatting, TypeScript, etc.
|
|
31
|
-
3. **Templates** - Reusable project structures
|
|
32
|
-
|
|
33
|
-
The idea is to have an **orchestrator + specialized agents pattern**:
|
|
34
|
-
- Each project has an **orchestrator agent** with project-specific context
|
|
35
|
-
- The orchestrator delegates tasks to **specialized agents** via handoff
|
|
36
|
-
- Specialized agents are generic and reusable across projects
|
|
37
|
-
|
|
38
|
-
## Structure
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
dev/
|
|
42
|
-
├── agents/ # Specialized AI agents (30 total)
|
|
43
|
-
│ ├── data/ # Data engineering (1)
|
|
44
|
-
│ │ └── zweer_data_engineer.md
|
|
45
|
-
│ ├── design/ # UI/UX (2)
|
|
46
|
-
│ │ ├── zweer_ui_designer.md
|
|
47
|
-
│ │ └── zweer_ui_ux.md
|
|
48
|
-
│ ├── infrastructure/ # Platform & IaC (4)
|
|
49
|
-
│ │ ├── zweer_infra_cdk.md
|
|
50
|
-
│ │ ├── zweer_infra_devops.md
|
|
51
|
-
│ │ ├── zweer_infra_observability.md
|
|
52
|
-
│ │ └── zweer_infra_terraform.md
|
|
53
|
-
│ ├── mobile/ # Mobile development (5)
|
|
54
|
-
│ │ ├── zweer_mobile_android.md
|
|
55
|
-
│ │ ├── zweer_mobile_flutter.md
|
|
56
|
-
│ │ ├── zweer_mobile_ionic.md
|
|
57
|
-
│ │ ├── zweer_mobile_ios.md
|
|
58
|
-
│ │ └── zweer_mobile_react_native.md
|
|
59
|
-
│ ├── quality/ # Quality & best practices (4)
|
|
60
|
-
│ │ ├── zweer_qa_documentation.md
|
|
61
|
-
│ │ ├── zweer_qa_performance.md
|
|
62
|
-
│ │ ├── zweer_qa_security.md
|
|
63
|
-
│ │ └── zweer_qa_testing.md
|
|
64
|
-
│ ├── services/ # Backend services (5)
|
|
65
|
-
│ │ ├── zweer_svc_api_gateway.md
|
|
66
|
-
│ │ ├── zweer_svc_containers.md
|
|
67
|
-
│ │ ├── zweer_svc_lambda.md
|
|
68
|
-
│ │ ├── zweer_svc_messaging.md
|
|
69
|
-
│ │ └── zweer_svc_microservices.md
|
|
70
|
-
│ ├── web/ # Web full-stack (5)
|
|
71
|
-
│ │ ├── zweer_web_api_integration.md
|
|
72
|
-
│ │ ├── zweer_web_backend.md
|
|
73
|
-
│ │ ├── zweer_web_database.md
|
|
74
|
-
│ │ ├── zweer_web_frontend.md
|
|
75
|
-
│ │ └── zweer_web_reader.md
|
|
76
|
-
│ └── write/ # Content & creative writing (4)
|
|
77
|
-
│ ├── zweer_write_content.md
|
|
78
|
-
│ ├── zweer_write_narrative.md
|
|
79
|
-
│ ├── zweer_write_style.md
|
|
80
|
-
│ └── zweer_write_warmth.md
|
|
81
|
-
├── cli/ # CLI tool implementation
|
|
82
|
-
├── templates/ # Project templates
|
|
83
|
-
└── README.md # This file
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
All agents follow the naming convention: `zweer_<category>_<name>` for global uniqueness.
|
|
87
|
-
|
|
88
|
-
## How It Works
|
|
89
|
-
|
|
90
|
-
### 1. Orchestrator Agent (in your project)
|
|
91
|
-
|
|
92
|
-
The orchestrator is project-specific and contains:
|
|
93
|
-
- **Project context**: name, purpose, tech stack, architecture
|
|
94
|
-
- **Documentation**: references to README, ARCHITECTURE, DATABASE_SCHEMA, etc.
|
|
95
|
-
- **Delegation logic**: which agent to call for which task
|
|
96
|
-
- **Project standards**: code conventions, design system, best practices
|
|
97
|
-
|
|
98
|
-
Example orchestrator structure:
|
|
99
|
-
|
|
100
|
-
```yaml
|
|
101
|
-
---
|
|
102
|
-
name: my_project_orchestrator
|
|
103
|
-
description: Project orchestrator for My Project
|
|
104
|
-
model: claude-sonnet-4.5
|
|
105
|
-
mcpServers:
|
|
106
|
-
cao-mcp-server:
|
|
107
|
-
type: stdio
|
|
108
|
-
command: uvx
|
|
109
|
-
args:
|
|
110
|
-
- "--from"
|
|
111
|
-
- "git+https://github.com/awslabs/cli-agent-orchestrator.git@main"
|
|
112
|
-
- "cao-mcp-server"
|
|
113
|
-
tools: ["*"]
|
|
114
|
-
allowedTools: ["fs_read", "fs_write", "execute_bash", "@cao-mcp-server"]
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
# My Project - Orchestrator
|
|
118
|
-
|
|
119
|
-
## Project Context
|
|
120
|
-
- Name: My Project
|
|
121
|
-
- Tech Stack: Next.js, TypeScript, PostgreSQL
|
|
122
|
-
- [Project-specific details]
|
|
123
|
-
|
|
124
|
-
## Instructions
|
|
125
|
-
[Orchestration and delegation logic]
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### 2. Specialized Agents (in this repo)
|
|
129
|
-
|
|
130
|
-
Specialized agents are **generic** and **reusable**. They don't know about your specific project, but are experts in a domain.
|
|
131
|
-
|
|
132
|
-
Each agent has:
|
|
133
|
-
- **Specific expertise**: e.g. React, database design, security
|
|
134
|
-
- **Best practices**: guidelines for the domain
|
|
135
|
-
- **Examples**: common patterns and solutions
|
|
136
|
-
|
|
137
|
-
### 3. Agent Handoff
|
|
138
|
-
|
|
139
|
-
The orchestrator delegates tasks to agents via the `@cao-mcp-server` tool:
|
|
140
|
-
|
|
141
|
-
```
|
|
142
|
-
Orchestrator receives: "Create login page"
|
|
143
|
-
↓
|
|
144
|
-
Orchestrator analyzes and plans:
|
|
145
|
-
1. UX design → delegate to dev_ux
|
|
146
|
-
2. UI components → delegate to dev_frontend
|
|
147
|
-
3. Authentication → delegate to dev_backend
|
|
148
|
-
4. DB schema → delegate to dev_database
|
|
149
|
-
↓
|
|
150
|
-
Orchestrator coordinates execution and validates results
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
## Available Agents
|
|
154
|
-
|
|
155
|
-
All agents use the `zweer_<category>_<name>` naming convention for global uniqueness.
|
|
156
|
-
|
|
157
|
-
### Web Development (`agents/web/`)
|
|
158
|
-
|
|
159
|
-
- **zweer_web_frontend** - React, Next.js, components, client-side logic
|
|
160
|
-
- **zweer_web_backend** - API routes, Server Actions, business logic
|
|
161
|
-
- **zweer_web_database** - Schema design, queries, migrations
|
|
162
|
-
- **zweer_web_api_integration** - External API integrations, scrapers
|
|
163
|
-
- **zweer_web_reader** - Image viewer, document reader, gestures
|
|
164
|
-
|
|
165
|
-
### Services (`agents/services/`)
|
|
166
|
-
|
|
167
|
-
- **zweer_svc_lambda** - AWS Lambda, serverless functions, event handlers
|
|
168
|
-
- **zweer_svc_microservices** - Service design, communication patterns, distributed systems
|
|
169
|
-
- **zweer_svc_api_gateway** - REST, GraphQL, API Gateway, rate limiting
|
|
170
|
-
- **zweer_svc_messaging** - SQS, SNS, EventBridge, event-driven architecture
|
|
171
|
-
- **zweer_svc_containers** - Docker, ECS, EKS, container orchestration
|
|
172
|
-
|
|
173
|
-
### Infrastructure (`agents/infrastructure/`)
|
|
174
|
-
|
|
175
|
-
- **zweer_infra_cdk** - AWS CDK with TypeScript, stacks, constructs
|
|
176
|
-
- **zweer_infra_terraform** - Terraform HCL, modules, state management
|
|
177
|
-
- **zweer_infra_devops** - Deploy, CI/CD, infrastructure
|
|
178
|
-
- **zweer_infra_observability** - Monitoring, logging, tracing, alerting
|
|
179
|
-
|
|
180
|
-
### Design (`agents/design/`)
|
|
181
|
-
|
|
182
|
-
- **zweer_ui_designer** - UI components, design system, styling
|
|
183
|
-
- **zweer_ui_ux** - User flows, accessibility, mobile experience
|
|
184
|
-
|
|
185
|
-
### Mobile (`agents/mobile/`)
|
|
186
|
-
|
|
187
|
-
- **zweer_mobile_react_native** - Cross-platform mobile with React Native
|
|
188
|
-
- **zweer_mobile_ionic** - Hybrid mobile apps with Capacitor
|
|
189
|
-
- **zweer_mobile_flutter** - Cross-platform mobile with Dart
|
|
190
|
-
- **zweer_mobile_ios** - Native iOS with Swift, SwiftUI, UIKit
|
|
191
|
-
- **zweer_mobile_android** - Native Android with Kotlin, Jetpack Compose
|
|
192
|
-
|
|
193
|
-
### Quality (`agents/quality/`)
|
|
194
|
-
|
|
195
|
-
- **zweer_qa_testing** - Unit, integration, E2E tests
|
|
196
|
-
- **zweer_qa_security** - Auth, security, vulnerabilities
|
|
197
|
-
- **zweer_qa_performance** - Optimization, caching, monitoring
|
|
198
|
-
- **zweer_qa_documentation** - Technical writing, API docs
|
|
199
|
-
|
|
200
|
-
### Data Engineering (`agents/data/`)
|
|
201
|
-
|
|
202
|
-
- **zweer_data_engineer** - ETL pipelines, data warehousing, analytics
|
|
203
|
-
|
|
204
|
-
### Writing (`agents/write/`)
|
|
205
|
-
|
|
206
|
-
- **zweer_write_content** - Blog posts, articles, marketing copy
|
|
207
|
-
- **zweer_write_narrative** - Creative fiction, storytelling, character development
|
|
208
|
-
- **zweer_write_style** - Refine writing quality, remove AI patterns, improve flow
|
|
209
|
-
- **zweer_write_warmth** - Add human warmth, empathy, and emotional connection
|
|
210
|
-
|
|
211
|
-
## CLI Tool
|
|
212
|
-
|
|
213
|
-
Command-line tool for managing AI agents, orchestrators, and project configurations.
|
|
214
|
-
|
|
215
|
-
### Installation
|
|
16
|
+
### New project
|
|
216
17
|
|
|
217
18
|
```bash
|
|
218
|
-
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
Or use with npx:
|
|
222
|
-
|
|
223
|
-
```bash
|
|
224
|
-
npx @zweer/dev <command>
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
### Commands
|
|
228
|
-
|
|
229
|
-
#### Project Setup
|
|
230
|
-
|
|
231
|
-
##### `dev bootstrap`
|
|
232
|
-
|
|
233
|
-
Bootstrap a new npm package with standard configuration.
|
|
234
|
-
|
|
235
|
-
```bash
|
|
236
|
-
# Interactive mode
|
|
237
|
-
dev bootstrap
|
|
238
|
-
|
|
239
|
-
# Skip prompts (use defaults)
|
|
240
|
-
dev bootstrap --yes
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
Creates a complete project structure with:
|
|
244
|
-
- `package.json` with all dependencies and scripts
|
|
245
|
-
- TypeScript configuration (`tsconfig.json`)
|
|
246
|
-
- Biome linter/formatter (`biome.json`)
|
|
247
|
-
- Vitest testing setup (`vitest.config.ts`)
|
|
248
|
-
- Git hooks with Husky and lint-staged
|
|
249
|
-
- EditorConfig (`.editorconfig`)
|
|
250
|
-
- Sample source and test files
|
|
251
|
-
- README template
|
|
252
|
-
|
|
253
|
-
**Options:**
|
|
254
|
-
- `-y, --yes` - Skip prompts and use defaults
|
|
255
|
-
|
|
256
|
-
##### `dev setup`
|
|
257
|
-
|
|
258
|
-
Add standard configuration to an existing project.
|
|
259
|
-
|
|
260
|
-
```bash
|
|
261
|
-
# Interactive mode - choose what to add
|
|
262
|
-
dev setup
|
|
263
|
-
|
|
264
|
-
# Add everything
|
|
265
|
-
dev setup --yes
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
Adds configurations to existing project:
|
|
269
|
-
- Merges dependencies into existing `package.json` (doesn't overwrite)
|
|
270
|
-
- Merges scripts into existing `package.json`
|
|
271
|
-
- Creates missing config files (tsconfig, biome, vitest, etc.)
|
|
272
|
-
- Skips files that already exist
|
|
273
|
-
- Preserves existing values
|
|
274
|
-
|
|
275
|
-
**Options:**
|
|
276
|
-
- `-y, --yes` - Skip prompts and add all configurations
|
|
277
|
-
|
|
278
|
-
#### AI Agents (CAO)
|
|
279
|
-
|
|
280
|
-
All CAO-related commands are under the `cao` subcommand:
|
|
281
|
-
|
|
282
|
-
##### `dev cao install`
|
|
283
|
-
|
|
284
|
-
Install CAO (CLI Agent Orchestrator) and all global agents.
|
|
285
|
-
|
|
286
|
-
```bash
|
|
287
|
-
# Install everything
|
|
288
|
-
dev cao install
|
|
289
|
-
|
|
290
|
-
# Install only CAO
|
|
291
|
-
dev cao install --cao-only
|
|
292
|
-
|
|
293
|
-
# Install only agents
|
|
294
|
-
dev cao install --agents-only
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
This command:
|
|
298
|
-
1. Installs tmux configuration
|
|
299
|
-
2. Installs `uv` package manager
|
|
300
|
-
3. Installs CAO via `uv tool install`
|
|
301
|
-
4. Installs all 30+ global agents (zweer_*) from this repository
|
|
302
|
-
|
|
303
|
-
**Options:**
|
|
304
|
-
- `--cao-only` - Install only CAO prerequisites
|
|
305
|
-
- `--agents-only` - Install only agents (skip CAO)
|
|
306
|
-
|
|
307
|
-
##### `dev cao agent create [name]`
|
|
308
|
-
|
|
309
|
-
Create a new local agent in your project.
|
|
310
|
-
|
|
311
|
-
```bash
|
|
312
|
-
# Interactive mode
|
|
313
|
-
dev cao agent create
|
|
314
|
-
|
|
315
|
-
# With custom name
|
|
316
|
-
dev cao agent create my_orchestrator
|
|
317
|
-
|
|
318
|
-
# Web app orchestrator (default)
|
|
319
|
-
dev cao agent create --template orchestrator_webapp
|
|
320
|
-
|
|
321
|
-
# Mobile app orchestrator
|
|
322
|
-
dev cao agent create --template orchestrator_mobile
|
|
323
|
-
|
|
324
|
-
# Serverless Lambda orchestrator
|
|
325
|
-
dev cao agent create --template orchestrator_lambda
|
|
326
|
-
|
|
327
|
-
# Microservices orchestrator
|
|
328
|
-
dev cao agent create --template orchestrator_microservices
|
|
329
|
-
|
|
330
|
-
# Writing project orchestrator
|
|
331
|
-
dev cao agent create --template orchestrator_writing
|
|
332
|
-
|
|
333
|
-
# Skip prompts (use defaults)
|
|
334
|
-
dev cao agent create my_agent --yes
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
Creates `.cao/agents/<name>.md` with a template agent configured for your project.
|
|
338
|
-
|
|
339
|
-
**Available Templates:**
|
|
340
|
-
- `orchestrator_webapp` - Web application (Next.js, React, etc.) - **default**
|
|
341
|
-
- `orchestrator_mobile` - Mobile app (React Native, Flutter, iOS, Android)
|
|
342
|
-
- `orchestrator_lambda` - Serverless with AWS Lambda
|
|
343
|
-
- `orchestrator_microservices` - Microservices architecture
|
|
344
|
-
- `orchestrator_writing` - Content creation and writing projects
|
|
345
|
-
|
|
346
|
-
**Options:**
|
|
347
|
-
- `-t, --template <template>` - Template to use
|
|
348
|
-
- `-y, --yes` - Skip prompts and use defaults
|
|
349
|
-
|
|
350
|
-
##### `dev cao agent list`
|
|
351
|
-
|
|
352
|
-
List all local agents in `.cao/agents/`.
|
|
353
|
-
|
|
354
|
-
```bash
|
|
355
|
-
dev cao agent list
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
##### `dev cao agent remove <name>`
|
|
359
|
-
|
|
360
|
-
Remove a local agent.
|
|
361
|
-
|
|
362
|
-
```bash
|
|
363
|
-
# With confirmation prompt
|
|
364
|
-
dev cao agent remove my_agent
|
|
365
|
-
|
|
366
|
-
# Skip confirmation
|
|
367
|
-
dev cao agent remove my_agent --yes
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
**Options:**
|
|
371
|
-
- `-y, --yes` - Skip confirmation
|
|
372
|
-
|
|
373
|
-
##### `dev cao sync`
|
|
374
|
-
|
|
375
|
-
Sync (install/update) all local agents from `.cao/agents/`.
|
|
376
|
-
|
|
377
|
-
```bash
|
|
378
|
-
dev cao sync
|
|
379
|
-
```
|
|
380
|
-
|
|
381
|
-
Run this after creating or modifying local agents to install/update them in CAO.
|
|
382
|
-
|
|
383
|
-
##### `dev cao server`
|
|
384
|
-
|
|
385
|
-
Launch the CAO server.
|
|
386
|
-
|
|
387
|
-
```bash
|
|
388
|
-
dev cao server
|
|
389
|
-
```
|
|
390
|
-
|
|
391
|
-
Starts `cao-server` which enables agent communication and handoff.
|
|
392
|
-
|
|
393
|
-
##### `dev cao launch <agent>`
|
|
394
|
-
|
|
395
|
-
Launch a specific agent.
|
|
396
|
-
|
|
397
|
-
```bash
|
|
398
|
-
# Launch your orchestrator
|
|
399
|
-
dev cao launch my_project_orchestrator
|
|
400
|
-
|
|
401
|
-
# Launch a specialized agent
|
|
402
|
-
dev cao launch zweer_web_frontend
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
##### `dev cao list`
|
|
406
|
-
|
|
407
|
-
List all available agents with descriptions.
|
|
408
|
-
|
|
409
|
-
```bash
|
|
410
|
-
# List all agents with installation status
|
|
411
|
-
dev cao list
|
|
412
|
-
|
|
413
|
-
# List only installed agents
|
|
414
|
-
dev cao list --installed
|
|
415
|
-
```
|
|
416
|
-
|
|
417
|
-
Shows all 30+ agents organized by category with installation status indicators:
|
|
418
|
-
- ✓ = Installed
|
|
419
|
-
- ○ = Not installed
|
|
420
|
-
|
|
421
|
-
**Options:**
|
|
422
|
-
- `--installed` - Show only installed agents
|
|
423
|
-
|
|
424
|
-
##### `dev cao status`
|
|
425
|
-
|
|
426
|
-
Show installation status summary.
|
|
427
|
-
|
|
428
|
-
```bash
|
|
429
|
-
dev cao status
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
Displays:
|
|
433
|
-
- Number of installed agents
|
|
434
|
-
- Number of not installed agents
|
|
435
|
-
- List of agents that are not installed
|
|
436
|
-
|
|
437
|
-
##### `dev cao uninstall <agent>`
|
|
438
|
-
|
|
439
|
-
Uninstall a specific agent.
|
|
440
|
-
|
|
441
|
-
```bash
|
|
442
|
-
dev cao uninstall zweer_web_frontend
|
|
443
|
-
```
|
|
444
|
-
|
|
445
|
-
Removes the agent from CAO's agent directory (`~/.aws/cli-agent-orchestrator/agent-context/`).
|
|
446
|
-
|
|
447
|
-
## How to Use Agents
|
|
448
|
-
|
|
449
|
-
### Setup in Your Project
|
|
450
|
-
|
|
451
|
-
```bash
|
|
452
|
-
# In your project directory
|
|
19
|
+
npx @zweer/dev bootstrap my-project
|
|
453
20
|
cd my-project
|
|
454
|
-
|
|
455
|
-
# Install CAO and global agents (zweer_*)
|
|
456
|
-
dev cao install
|
|
457
|
-
|
|
458
|
-
# Create orchestrator based on your project type
|
|
459
|
-
|
|
460
|
-
# For web app (default)
|
|
461
|
-
dev cao agent create
|
|
462
|
-
|
|
463
|
-
# For mobile app
|
|
464
|
-
dev cao agent create --template orchestrator_mobile
|
|
465
|
-
|
|
466
|
-
# For serverless Lambda
|
|
467
|
-
dev cao agent create --template orchestrator_lambda
|
|
468
|
-
|
|
469
|
-
# For microservices
|
|
470
|
-
dev cao agent create --template orchestrator_microservices
|
|
471
|
-
|
|
472
|
-
# For writing project
|
|
473
|
-
dev cao agent create --template orchestrator_writing
|
|
474
|
-
|
|
475
|
-
# Sync all local agents
|
|
476
|
-
dev cao sync
|
|
21
|
+
npx @zweer/dev init-kiro
|
|
477
22
|
```
|
|
478
23
|
|
|
479
|
-
###
|
|
480
|
-
|
|
481
|
-
Edit agents in `.cao/agents/` to add:
|
|
482
|
-
- Project-specific context
|
|
483
|
-
- Tech stack details
|
|
484
|
-
- Architecture notes
|
|
485
|
-
- Custom logic and tools
|
|
486
|
-
|
|
487
|
-
After editing, run `dev cao sync` to update them in CAO.
|
|
488
|
-
|
|
489
|
-
### Launch and Work
|
|
24
|
+
### Existing project
|
|
490
25
|
|
|
491
26
|
```bash
|
|
492
|
-
|
|
493
|
-
dev
|
|
494
|
-
|
|
495
|
-
# Launch your orchestrator (in another terminal)
|
|
496
|
-
dev cao launch my_orchestrator
|
|
497
|
-
|
|
498
|
-
# Or launch a specialized agent
|
|
499
|
-
dev cao launch db_specialist
|
|
27
|
+
npx @zweer/dev setup
|
|
28
|
+
npx @zweer/dev init-kiro
|
|
500
29
|
```
|
|
501
30
|
|
|
502
|
-
|
|
31
|
+
## CLI Commands
|
|
503
32
|
|
|
504
|
-
|
|
505
|
-
# List all local agents
|
|
506
|
-
dev cao agent list
|
|
33
|
+
### `dev bootstrap [name]`
|
|
507
34
|
|
|
508
|
-
|
|
509
|
-
dev cao agent remove old_agent
|
|
35
|
+
Scaffolds a new project with all golden configs, scripts, and dependencies.
|
|
510
36
|
|
|
511
|
-
|
|
512
|
-
dev cao sync
|
|
513
|
-
```
|
|
37
|
+
### `dev setup`
|
|
514
38
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
In your orchestrator, delegate to specialized agents:
|
|
518
|
-
|
|
519
|
-
```typescript
|
|
520
|
-
handoff({
|
|
521
|
-
agent: "zweer_web_frontend",
|
|
522
|
-
context: {
|
|
523
|
-
task: "Create login page component",
|
|
524
|
-
requirements: {
|
|
525
|
-
framework: "Next.js 15",
|
|
526
|
-
styling: "Tailwind CSS",
|
|
527
|
-
validation: "Zod"
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
})
|
|
531
|
-
```
|
|
532
|
-
|
|
533
|
-
### Delegation Example in Orchestrator
|
|
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.
|
|
534
40
|
|
|
535
|
-
|
|
536
|
-
### Agent Selection Guide
|
|
41
|
+
### `dev init-kiro`
|
|
537
42
|
|
|
538
|
-
|
|
539
|
-
- `zweer_ui_ux` → User flows, accessibility, mobile experience
|
|
540
|
-
- `zweer_ui_designer` → Components, styling, design system
|
|
541
|
-
- `zweer_web_frontend` → React components, pages, client logic
|
|
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.
|
|
542
44
|
|
|
543
|
-
|
|
544
|
-
- `zweer_web_backend` → API routes, Server Actions, business logic
|
|
545
|
-
- `zweer_web_database` → Schema design, queries, migrations
|
|
546
|
-
- `zweer_web_api_integration` → External integrations
|
|
45
|
+
## Golden Configs
|
|
547
46
|
|
|
548
|
-
|
|
549
|
-
- `zweer_qa_testing` → Automated tests
|
|
550
|
-
- `zweer_qa_security` → Security and auth
|
|
551
|
-
- `zweer_qa_performance` → Optimizations
|
|
47
|
+
All projects get these configs (via `dev bootstrap` or `dev setup`):
|
|
552
48
|
|
|
553
|
-
|
|
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 |
|
|
554
60
|
|
|
555
|
-
|
|
61
|
+
## Project Templates
|
|
556
62
|
|
|
557
|
-
|
|
558
|
-
1. `zweer_ui_ux` → Design authentication flow
|
|
559
|
-
2. `zweer_ui_designer` → Form components and UI
|
|
560
|
-
3. `zweer_web_backend` → Setup Auth.js and session management
|
|
561
|
-
4. `zweer_web_database` → Users table and queries
|
|
562
|
-
5. `zweer_qa_security` → CSRF protection and validation
|
|
563
|
-
6. `zweer_qa_testing` → Test complete flow
|
|
564
|
-
```
|
|
63
|
+
`dev bootstrap` uses these templates:
|
|
565
64
|
|
|
566
|
-
|
|
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 |
|
|
567
69
|
|
|
568
|
-
|
|
70
|
+
For web apps (Next.js, SvelteKit, etc.), use the framework's own scaffolding tool first, then run `dev setup` to add golden configs.
|
|
569
71
|
|
|
570
|
-
|
|
571
|
-
**Project Context**:
|
|
572
|
-
- Name: My Project
|
|
573
|
-
- Tech Stack: Next.js 15, TypeScript, Drizzle ORM, Neon Postgres
|
|
574
|
-
- Design: Dark mode, blue theme, mobile-first
|
|
575
|
-
- Architecture: App Router, Server Components, Server Actions
|
|
72
|
+
## Kiro Templates
|
|
576
73
|
|
|
577
|
-
|
|
578
|
-
[Detailed task description]
|
|
74
|
+
The `zweer-setup` agent generates `.kiro/` config for any project:
|
|
579
75
|
|
|
580
|
-
**
|
|
581
|
-
-
|
|
582
|
-
-
|
|
583
|
-
-
|
|
584
|
-
```
|
|
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.
|
|
585
80
|
|
|
586
|
-
##
|
|
587
|
-
|
|
588
|
-
1. **Reusability**: Specialized agents work for any project
|
|
589
|
-
2. **Separation**: Project context (orchestrator) vs generic expertise (agents)
|
|
590
|
-
3. **Maintainability**: Agent updates propagate to all projects
|
|
591
|
-
4. **Modularity**: Each agent is expert in a specific domain
|
|
592
|
-
5. **Scalability**: Easy to add new agents or domains
|
|
593
|
-
|
|
594
|
-
## Contributing
|
|
595
|
-
|
|
596
|
-
To add new agents:
|
|
597
|
-
|
|
598
|
-
1. Identify the domain (e.g. `agents/data/`, `agents/mobile/`)
|
|
599
|
-
2. Create appropriate folder structure
|
|
600
|
-
3. Write the agent in `.md` format with:
|
|
601
|
-
- YAML frontmatter (name, description, model, tools)
|
|
602
|
-
- Expertise description
|
|
603
|
-
- Best practices
|
|
604
|
-
- Code examples
|
|
605
|
-
|
|
606
|
-
## Roadmap
|
|
607
|
-
|
|
608
|
-
- [x] Services agents (`agents/services/`)
|
|
609
|
-
- [x] Lambda development
|
|
610
|
-
- [x] Microservices architecture
|
|
611
|
-
- [x] API Gateway & REST/GraphQL
|
|
612
|
-
- [x] Messaging (SQS, SNS, EventBridge)
|
|
613
|
-
- [x] Container orchestration (ECS, EKS)
|
|
614
|
-
- [x] Infrastructure agents (`agents/infrastructure/`)
|
|
615
|
-
- [x] AWS CDK
|
|
616
|
-
- [x] Terraform
|
|
617
|
-
- [x] Observability (monitoring, logging)
|
|
618
|
-
- [x] Mobile agents (`agents/mobile/`)
|
|
619
|
-
- [x] React Native
|
|
620
|
-
- [x] Ionic
|
|
621
|
-
- [x] Flutter
|
|
622
|
-
- [x] iOS native
|
|
623
|
-
- [x] Android native
|
|
624
|
-
- [x] Data engineering agents (`agents/data/`)
|
|
625
|
-
- [x] Writing agents (`agents/writing/`)
|
|
626
|
-
- [x] Common configurations
|
|
627
|
-
- [x] TypeScript, Biome, Vitest configs
|
|
628
|
-
- [x] `dev bootstrap` command
|
|
629
|
-
- [x] `dev setup` command
|
|
630
|
-
- [x] Project templates (`templates/`)
|
|
631
|
-
- [x] Web app orchestrator
|
|
632
|
-
- [x] Mobile app orchestrator
|
|
633
|
-
- [x] Serverless Lambda orchestrator
|
|
634
|
-
- [x] Microservices orchestrator
|
|
635
|
-
- [x] Writing project orchestrator
|
|
636
|
-
- [x] CLI tool for agent management
|
|
637
|
-
- [x] Install/uninstall agents
|
|
638
|
-
- [x] List agents with status
|
|
639
|
-
- [x] Create orchestrators from templates
|
|
640
|
-
- [x] Sync local agents
|
|
641
|
-
|
|
642
|
-
## CI/CD
|
|
643
|
-
|
|
644
|
-
This project uses GitHub Actions for continuous integration and deployment. All workflows are **reusable** and can be used in other projects.
|
|
645
|
-
|
|
646
|
-
### Available Workflows
|
|
647
|
-
|
|
648
|
-
- `ci.yml` - Test, build, and lint (reusable base workflow)
|
|
649
|
-
- `pr.yml` - Pull request checks (includes CI + validation)
|
|
650
|
-
- `npm.yml` - Release and publish to npm
|
|
651
|
-
- `security.yml` - Security audit
|
|
652
|
-
- `dependabot-auto-merge.yml` - Auto-merge Dependabot PRs
|
|
653
|
-
|
|
654
|
-
### How to Use in Other Projects
|
|
655
|
-
|
|
656
|
-
#### Option 1: Call Workflows from This Repository
|
|
657
|
-
|
|
658
|
-
Create workflows in your project that call these reusable workflows:
|
|
659
|
-
|
|
660
|
-
**`.github/workflows/pr.yml`** in your project:
|
|
661
|
-
```yaml
|
|
662
|
-
name: PR
|
|
663
|
-
|
|
664
|
-
on:
|
|
665
|
-
pull_request:
|
|
666
|
-
|
|
667
|
-
permissions:
|
|
668
|
-
contents: read
|
|
669
|
-
pull-requests: write
|
|
670
|
-
|
|
671
|
-
jobs:
|
|
672
|
-
pr:
|
|
673
|
-
uses: zweer/dev/.github/workflows/pr.yml@main
|
|
674
|
-
```
|
|
81
|
+
## Workflow Templates
|
|
675
82
|
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
push:
|
|
682
|
-
branches:
|
|
683
|
-
- main
|
|
684
|
-
|
|
685
|
-
permissions:
|
|
686
|
-
contents: write
|
|
687
|
-
issues: write
|
|
688
|
-
pull-requests: write
|
|
689
|
-
id-token: write
|
|
690
|
-
|
|
691
|
-
jobs:
|
|
692
|
-
release:
|
|
693
|
-
uses: zweer/dev/.github/workflows/npm.yml@main
|
|
694
|
-
secrets:
|
|
695
|
-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
696
|
-
```
|
|
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/ |
|
|
697
88
|
|
|
698
|
-
|
|
699
|
-
```yaml
|
|
700
|
-
name: Security
|
|
89
|
+
## Stack Decisions
|
|
701
90
|
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
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)
|
|
706
97
|
|
|
707
|
-
|
|
708
|
-
contents: read
|
|
709
|
-
|
|
710
|
-
jobs:
|
|
711
|
-
audit:
|
|
712
|
-
uses: zweer/dev/.github/workflows/security.yml@main
|
|
713
|
-
```
|
|
714
|
-
|
|
715
|
-
#### Option 2: Copy Workflows to Your Project
|
|
716
|
-
|
|
717
|
-
If you prefer to have full control, copy the workflow files to your project's `.github/workflows/` directory.
|
|
718
|
-
|
|
719
|
-
**Note**: If you copy `pr.yml` or `npm.yml`, you'll also need to copy `ci.yml` since they depend on it.
|
|
720
|
-
|
|
721
|
-
### Workflow Dependencies
|
|
722
|
-
|
|
723
|
-
```
|
|
724
|
-
pr.yml
|
|
725
|
-
└── ci.yml (required)
|
|
726
|
-
|
|
727
|
-
npm.yml
|
|
728
|
-
└── ci.yml (required)
|
|
729
|
-
|
|
730
|
-
security.yml (standalone)
|
|
731
|
-
|
|
732
|
-
dependabot-auto-merge.yml (standalone)
|
|
733
|
-
```
|
|
98
|
+
## Development
|
|
734
99
|
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
```yaml
|
|
742
|
-
uses: zweer/dev/.github/workflows/pr.yml@v1.2.0
|
|
743
|
-
```
|
|
744
|
-
|
|
745
|
-
**Overriding CI Workflow**
|
|
746
|
-
|
|
747
|
-
If you need custom CI steps:
|
|
748
|
-
|
|
749
|
-
1. Copy `ci.yml` to your project
|
|
750
|
-
2. Modify it as needed
|
|
751
|
-
3. Update `pr.yml` and `npm.yml` to use your local `ci.yml`:
|
|
752
|
-
|
|
753
|
-
```yaml
|
|
754
|
-
jobs:
|
|
755
|
-
ci:
|
|
756
|
-
uses: ./.github/workflows/ci.yml # Use local version
|
|
757
|
-
```
|
|
758
|
-
|
|
759
|
-
### Complete Setup Example
|
|
760
|
-
|
|
761
|
-
For a typical npm package, create these files in your project:
|
|
762
|
-
|
|
763
|
-
**`.github/workflows/pr.yml`**:
|
|
764
|
-
```yaml
|
|
765
|
-
name: PR
|
|
766
|
-
on:
|
|
767
|
-
pull_request:
|
|
768
|
-
permissions:
|
|
769
|
-
contents: read
|
|
770
|
-
pull-requests: write
|
|
771
|
-
jobs:
|
|
772
|
-
pr:
|
|
773
|
-
uses: zweer/dev/.github/workflows/pr.yml@main
|
|
774
|
-
```
|
|
775
|
-
|
|
776
|
-
**`.github/workflows/release.yml`**:
|
|
777
|
-
```yaml
|
|
778
|
-
name: Release
|
|
779
|
-
on:
|
|
780
|
-
push:
|
|
781
|
-
branches: [main]
|
|
782
|
-
permissions:
|
|
783
|
-
contents: write
|
|
784
|
-
issues: write
|
|
785
|
-
pull-requests: write
|
|
786
|
-
id-token: write
|
|
787
|
-
jobs:
|
|
788
|
-
release:
|
|
789
|
-
uses: zweer/dev/.github/workflows/npm.yml@main
|
|
790
|
-
secrets:
|
|
791
|
-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
792
|
-
```
|
|
793
|
-
|
|
794
|
-
**`.github/dependabot.yml`**:
|
|
795
|
-
```yaml
|
|
796
|
-
version: 2
|
|
797
|
-
updates:
|
|
798
|
-
- package-ecosystem: npm
|
|
799
|
-
directory: /
|
|
800
|
-
schedule:
|
|
801
|
-
interval: weekly
|
|
100
|
+
```bash
|
|
101
|
+
npm install
|
|
102
|
+
npm run build
|
|
103
|
+
npm test
|
|
104
|
+
npm run lint
|
|
802
105
|
```
|
|
803
106
|
|
|
804
|
-
That's it! Your project now has:
|
|
805
|
-
- ✅ Automated testing on PRs
|
|
806
|
-
- ✅ Automated releases with semantic-release
|
|
807
|
-
- ✅ Automated dependency updates
|
|
808
|
-
- ✅ PR title validation
|
|
809
|
-
|
|
810
|
-
### Dependabot
|
|
811
|
-
|
|
812
|
-
Automated dependency updates configured in `.github/dependabot.yml`:
|
|
813
|
-
- **npm dependencies**: Weekly updates on Mondays
|
|
814
|
-
- **GitHub Actions**: Weekly updates on Mondays
|
|
815
|
-
- Groups patch/minor updates together
|
|
816
|
-
- Separate groups for dev and production dependencies
|
|
817
|
-
|
|
818
|
-
### Required Secrets
|
|
819
|
-
|
|
820
|
-
For the workflows to function properly, configure these secrets in your GitHub repository:
|
|
821
|
-
|
|
822
|
-
- `NPM_TOKEN` - npm authentication token for publishing packages
|
|
823
|
-
|
|
824
|
-
### Branch Protection
|
|
825
|
-
|
|
826
|
-
Recommended branch protection rules for `main`:
|
|
827
|
-
|
|
828
|
-
- Require pull request reviews before merging
|
|
829
|
-
- Require status checks to pass (Test & Lint from CI workflow)
|
|
830
|
-
- Require branches to be up to date before merging
|
|
831
|
-
- Require conversation resolution before merging
|
|
832
|
-
- Do not allow bypassing the above settings
|
|
833
|
-
|
|
834
107
|
## License
|
|
835
108
|
|
|
836
109
|
MIT
|