| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 20 | 24 | 0% |
| Commands | 0 | 12 | 1 | 0% |
| Section tags | 2 | 6 | 1 | 22% |
What each file covers
Sections
0 shared · 20 only in A · 24 only in B- − Development Guide
- − Project Overview
- − Development Commands
- − Essential Commands
- − Quick setup
- − Start development server with hot reload
- − Run tests (excludes E2E/slow tests)
- − Run all tests including E2E
- − Format and lint code (ALWAYS run before committing)
- − Run specific test
- − Database Commands
- − Architecture & Project Structure
- − 🚨 CRITICAL: Follow All Development Standards
- − Development Workflow
- − Pre-Commit Requirements
- − Development Process
- − Key Development Notes
- − Task Management
- − Rule Management
- − Compozy Configuration Examples
- + Compozy Task Patterns
- + Basic Task Pattern
- + Basic task with tool execution
- + Composite Task Pattern
- + Composite task containing multiple sub-tasks
- + Parallel Task Pattern
- + Parallel task execution
- + Collection Task Pattern
- + Collection task for processing arrays
- + Router Task Pattern
- + Router task for conditional branching
- + Signal Task Pattern
- + Signal task for workflow communication
- + Aggregate Task Pattern
- + Aggregate task for combining outputs
- + Workflow Configuration Structure
- + Strategy Patterns
- + Composite task strategies
- + Parallel task strategies
- + Collection task strategies
- + Trigger Patterns
- + Signal-based workflow trigger
- + Tool Configuration
- + Deno Configuration
Commands
0 shared · 12 only in A · 1 only in B- − make deps && make start-docker && make migrate-up
- − make dev
- − make test
- − make fmt && make lint
- − go test -v ./engine/task -run TestExecutor_Execute
- − make migrate-up
- − make migrate-down
- − make migrate-status
- − make reset-db
- − make fmt && make lint && make test
- − make lint
- − make migrate-create name=<name>
- + task:
Section tags
2 shared · 6 only in A · 1 only in B- − setup
- − test
- − lint-format
- − testing-strategy
- − git-pr
- − database
- + code-style
- architecture
- agent-behaviour
Line diff
compozy/gograph · GEMINI.md
@@ −1 @@
1# Development Guide
2
3This file provides comprehensive guidance for working with the Compozy codebase, including development commands, standards, and workflow patterns.
4
5<critical>
6**MANDATORY REQUIREMENTS:**
7- **ALWAYS** check dependent files APIs before write tests to avoid write wrong code
8- **ALWAYS** verify against PRD and tech specs - NEVER make assumptions
9- **NEVER** use workarounds, especially in tests - implement proper solutions
10- **MUST** follow all established project standards:
11 - Architecture patterns: `.cursor/rules/architecture.mdc`
12 - Go coding standards: `.cursor/rules/go-coding-standards.mdc`
13 - Testing requirements: `.cursor/rules/testing-standards.mdc`
14 - API standards: `.cursor/rules/api-standards.mdc`
15 - Security & quality: `.cursor/rules/quality-security.mdc`
16- **MUST** run `make lint` and `make test` before completing ANY subtask
17- **MUST** follow `.cursor/rules/task-review.mdc` workflow for parent tasks
18**Enforcement:** Violating these standards results in immediate task rejection.
19</critical>
20
21## Project Overview
22
23Compozy is a **workflow orchestration engine for AI agents** that enables building AI-powered applications through declarative YAML configuration and a robust Go backend. It integrates with various LLM providers and supports the Model Context Protocol (MCP) for extending AI capabilities.
24
25## Development Commands
26
27### Essential Commands
28
29```bash
30# Quick setup
31make deps && make start-docker && make migrate-up
32
33# Start development server with hot reload
34make dev
35
36# Run tests (excludes E2E/slow tests)
37make test
38
39# Run all tests including E2E
40make test
41
42# Format and lint code (ALWAYS run before committing)
43make fmt && make lint
44
45# Run specific test
46go test -v ./engine/task -run TestExecutor_Execute
47```
48
49### Database Commands
50
51```bash
52make migrate-up # Apply migrations
53make migrate-down # Rollback last migration
54make migrate-status # Check migration status
55make reset-db # Reset database completely
56```
57
58## Architecture & Project Structure
59
60**📁 Complete project structure, technology stack, and architectural patterns:** See [project-structure.mdc](mdc:.cursor/rules/project-structure.mdc)
61
62## 🚨 CRITICAL: Follow All Development Standards
63
64**📋 MANDATORY: Review and follow ALL established coding standards:**
65
66- **Code Formatting & Line Spacing**: [no_linebreaks.mdc](mdc:.cursor/rules/no_linebreaks.mdc) - NEVER add blank lines inside function bodies
67- **Go Coding Standards**: [go-coding-standards.mdc](mdc:.cursor/rules/go-coding-standards.mdc) - Function limits, error handling, documentation policy
68- **Testing Standards**: [testing-standards.mdc](mdc:.cursor/rules/testing-standards.mdc) - MANDATORY `t.Run("Should...")` pattern, testify usage
69- **Go Implementation Patterns**: [go-patterns.mdc](mdc:.cursor/rules/go-patterns.mdc) - Canonical implementations of architecture principles
70- **Architecture Principles**: [architecture.mdc](mdc:.cursor/rules/architecture.mdc) - SOLID principles, Clean Architecture, DRY
71- **Code Quality & Security**: [quality-security.mdc](mdc:.cursor/rules/quality-security.mdc) - Linting rules, security requirements
72- **Required Libraries**: [core-libraries.mdc](mdc:.cursor/rules/core-libraries.mdc) - Mandatory library choices and usage patterns
73- **API Development**: [api-standards.mdc](mdc:.cursor/rules/api-standards.mdc) - RESTful design, versioning, documentation
74- **Code Review Process**: [review-checklist.mdc](mdc:.cursor/rules/review-checklist.mdc) - Pre-review requirements and checklist
75
76## Development Workflow
77
78### Pre-Commit Requirements
79
80**ALWAYS run before committing:**
81
82```bash
83make fmt && make lint && make test
84```
85
86### Development Process
87
881. **API changes:** Update Swagger annotations (`swag` comments)
892. **Schema changes:** Create migrations with `make migrate-create name=<name>`
903. **New features:** Include comprehensive tests following [testing-standards.mdc](mdc:.cursor/rules/testing-standards.mdc)
914. **Task completion:** Follow [task-review.mdc](mdc:.cursor/rules/task-review.mdc) for mandatory code review workflow via Zen MCP tools
925. **Backwards Compatibility:** See [backwards-compatibility.mdc](mdc:.cursor/rules/backwards-compatibility.mdc) - NOT REQUIRED during development phase
93
94### Key Development Notes
95
96- **Logging:** Use [core-libraries.mdc](mdc:.cursor/rules/core-libraries.mdc) for structured logging patterns
97- **Core types:** Use `core.ID` for UUIDs, `core.Ref` for polymorphic references
98- **Dependencies:** Mock external dependencies in tests when necessary (see [testing-standards.mdc](mdc:.cursor/rules/testing-standards.mdc))
99
100## Task Management
101
102For task-based development workflows, see these rule files:
103
104- [prd-create.mdc](mdc:.cursor/rules/prd-create.mdc) - PRD Creation
105- [prd-tech-spec.mdc](mdc:.cursor/rules/prd-tech-spec.mdc) - Technical Specifications
106- [task-generate-list.mdc](mdc:.cursor/rules/task-generate-list.mdc) - Task List Generation
107- [task-developing.mdc](mdc:.cursor/rules/task-developing.mdc) - Task Development
108- [task-review.mdc](mdc:.cursor/rules/task-review.mdc) - Task Completion with Zen MCP code review
109
110## Rule Management
111
112The development rules are actively maintained and improved:
113
114- **Rule Management**: [cursor_rules.mdc](mdc:.cursor/rules/cursor_rules.mdc) - Comprehensive guidelines for creating, maintaining, and improving rules
115
116## Compozy Configuration Examples
117
118For YAML configuration patterns and examples:
119
120- **Project Configuration**: [compozy-project-config.mdc](mdc:.cursor/rules/compozy-project-config.mdc) - Project setup patterns
121- **Task Patterns**: [compozy-task-patterns.mdc](mdc:.cursor/rules/compozy-task-patterns.mdc) - Workflow task configurations
122- **Agent Configuration**: [compozy-agent-config.mdc](mdc:.cursor/rules/compozy-agent-config.mdc) - AI agent setup patterns
123- **Shared Patterns**: [compozy-shared-patterns.mdc](mdc:.cursor/rules/compozy-shared-patterns.mdc) - MCP, templates, and references
124- **Configuration Index**: [compozy-examples.mdc](mdc:.cursor/rules/compozy-examples.mdc) - Overview and cross-references
125
126**All rule files are located in `.cursor/rules/` and use semantic XML tags for better context and AI understanding.**
127
128The project uses Go 1.24+ features and requires external dependencies to be mocked in tests when necessary.
129
compozy/gograph · .cursor/rules/compozy-task-patterns.mdc
@@ +1 @@
1---
2description: "Task type patterns and execution strategies for Compozy workflows"
3globs:
4 - "**/workflow.yaml"
5 - "**/workflows/*.yaml"
6alwaysApply: false
7---
8# Compozy Task Patterns
9
10<configuration_overview type="task_patterns">
11Task patterns define different types of task execution strategies including basic, composite, parallel, collection, router, signal, and aggregate tasks.
12</configuration_overview>
13
14## Basic Task Pattern
15
16<task_patterns type="basic_task">
17```yaml
18# Basic task with tool execution
19- id: weather
20 type: basic
21 $use: tool(local::tools.#(id=="weather_tool"))
22 with:
23 city: "{{ .workflow.input.city }}"
24 outputs:
25 temperature: "{{ .output.temperature }}"
26 city: "{{ .workflow.input.city }}"
27 on_success:
28 next: next_task
29```
30</task_patterns>
31
32## Composite Task Pattern
33
34<task_patterns type="composite_task">
35```yaml
36# Composite task containing multiple sub-tasks
37- id: root_composite
38 type: composite
39 strategy: fail_fast
40 tasks:
41 - id: subtask_1
42 type: basic
43 $use: tool(local::tools.#(id=="echo_tool"))
44 with:
45 message: "First subtask"
46 - id: subtask_2
47 type: basic
48 $use: tool(local::tools.#(id=="echo_tool"))
49 with:
50 message: "Second subtask"
51```
52</task_patterns>
53
54## Parallel Task Pattern
55
56<task_patterns type="parallel_task">
57```yaml
58# Parallel task execution
59- id: parallel_section
60 type: parallel
61 strategy: wait_all # or race
62 tasks:
63 - id: task_a
64 type: basic
65 $use: tool(local::tools.#(id=="echo_tool"))
66 with:
67 message: "Parallel Task A"
68 - id: task_b
69 type: basic
70 $use: tool(local::tools.#(id=="echo_tool"))
71 with:
72 message: "Parallel Task B"
73```
74</task_patterns>
75
76## Collection Task Pattern
77
78<task_patterns type="collection_task">
79```yaml
80# Collection task for processing arrays
81- id: collection_section
82 type: collection
83 mode: parallel # or sequential
84 strategy: best_effort # or fail_fast
85 items: "{{ .workflow.input.test_data }}"
86 task:
87 id: "process-{{ .index }}"
88 type: basic
89 $use: tool(local::tools.#(id=="echo_tool"))
90 with:
91 message: "Processing item: {{ .item }} at index {{ .index }}"
92```
93</task_patterns>
94
95## Router Task Pattern
96
97<task_patterns type="router_task">
98```yaml
99# Router task for conditional branching
100- id: clothing_check
101 type: router
102 condition: '{{ .tasks.clothing.output.clothing | empty | ternary "no_clothes" "has_clothes" }}'
103 routes:
104 has_clothes:
105 $ref: local::tasks.#(id="save_results")
106 no_clothes:
107 $ref: local::tasks.#(id="no_results")
108```
109</task_patterns>
110
111## Signal Task Pattern
112
113<task_patterns type="signal_task">
114```yaml
115# Signal task for workflow communication
116- id: send-signal
117 type: signal
118 signal:
119 id: workflow-ready
120 payload:
121 message: "Hello from sender!"
122```
123</task_patterns>
124
125## Aggregate Task Pattern
126
127<task_patterns type="aggregate_task">
128```yaml
129# Aggregate task for combining outputs
130- id: aggr
131 type: aggregate
132 outputs:
133 city: "{{ .workflow.input.city }}"
134 weather: "{{ .tasks.weather.output }}"
135 activities: "{{ .tasks.activities.output }}"
136 analysis: "{{ .tasks.activity_analysis.output }}"
137```
138</task_patterns>
139
140## Workflow Configuration Structure
141
142<workflow_config_pattern type="basic_structure">
143```yaml
144id: workflow-name
145version: 0.1.0
146description: Workflow description
147
148config:
149 input:
150 type: object
151 properties:
152 city:
153 type: string
154 description: The city name
155 required:
156 - city
157
158schemas:
159 - id: city_input
160 type: object
161 properties:
162 city:
163 type: string
164 description: The city to get weather information for
165 required:
166 - city
167
168tools:
169 - id: tool_name
170 description: Tool description
171 execute: ./tool_file.ts
172 input:
173 $ref: local::schemas.#(id=="city_input")
174
175tasks:
176 - id: task_name
177 type: basic
178 $use: tool(local::tools.#(id=="tool_name"))
179 with:
180 city: "{{ .workflow.input.city }}"
181```
182</workflow_config_pattern>
183
184## Strategy Patterns
185
186<strategy_patterns type="execution_strategies">
187```yaml
188# Composite task strategies
189strategy: fail_fast # Stop on first failure
190strategy: best_effort # Continue despite failures
191
192# Parallel task strategies
193strategy: wait_all # Wait for all tasks to complete
194strategy: race # First task to complete wins
195
196# Collection task strategies
197strategy: fail_fast # Stop on first failure
198strategy: best_effort # Process all items regardless of failures
199```
200</strategy_patterns>
201
202## Trigger Patterns
203
204<trigger_patterns type="signal_trigger">
205```yaml
206# Signal-based workflow trigger
207triggers:
208 - type: signal
209 name: workflow-ready
210```
211</trigger_patterns>
212
213## Tool Configuration
214
215<tool_config_pattern type="typescript_tool">
216```yaml
217tools:
218 - id: weather_tool
219 description: Get the current weather for a specific location
220 execute: ./weather_tool.ts
221 input:
222 type: object
223 properties:
224 city:
225 type: string
226 description: The city to get weather for
227 required:
228 - city
229
230 - id: save_data
231 description: Save data to a file
232 execute: ./save_tool.ts
233 input:
234 type: object
235 properties:
236 payload:
237 type: object
238 format:
239 type: string
240 enum: ["json", "txt"]
241 required:
242 - payload
243 - format
244```
245</tool_config_pattern>
246
247## Deno Configuration
248
249<deno_config_pattern type="tool_imports">
250```json
251{
252 "imports": {
253 "weather_tool": "./weather_tool.ts",
254 "save_data": "./save_tool.ts",
255 "echo_tool": "./echo_tool.ts",
256 "counter_tool": "./counter_tool.ts"
257 },
258 "fmt": {
259 "indentWidth": 4,
260 "useTabs": false,
261 "lineWidth": 100,
262 "singleQuote": false
263 }
264}
265```
266</deno_config_pattern>
267
@@ −1 +1 @@
1−# Development Guide
1+---
2+description: "Task type patterns and execution strategies for Compozy workflows"
3+globs:
4+ - "**/workflow.yaml"
5+ - "**/workflows/*.yaml"
6+alwaysApply: false
7+---
8+# Compozy Task Patterns
29
3−This file provides comprehensive guidance for working with the Compozy codebase, including development commands, standards, and workflow patterns.
10+<configuration_overview type="task_patterns">
11+Task patterns define different types of task execution strategies including basic, composite, parallel, collection, router, signal, and aggregate tasks.
12+</configuration_overview>
413
5−<critical>
6−**MANDATORY REQUIREMENTS:**
7−- **ALWAYS** check dependent files APIs before write tests to avoid write wrong code
8−- **ALWAYS** verify against PRD and tech specs - NEVER make assumptions
9−- **NEVER** use workarounds, especially in tests - implement proper solutions
10−- **MUST** follow all established project standards:
11− - Architecture patterns: `.cursor/rules/architecture.mdc`
12− - Go coding standards: `.cursor/rules/go-coding-standards.mdc`
13− - Testing requirements: `.cursor/rules/testing-standards.mdc`
14− - API standards: `.cursor/rules/api-standards.mdc`
15− - Security & quality: `.cursor/rules/quality-security.mdc`
16−- **MUST** run `make lint` and `make test` before completing ANY subtask
17−- **MUST** follow `.cursor/rules/task-review.mdc` workflow for parent tasks
18−**Enforcement:** Violating these standards results in immediate task rejection.
19−</critical>
14+## Basic Task Pattern
2015
21−## Project Overview
16+<task_patterns type="basic_task">
17+```yaml
18+# Basic task with tool execution
19+- id: weather
20+ type: basic
21+ $use: tool(local::tools.#(id=="weather_tool"))
22+ with:
23+ city: "{{ .workflow.input.city }}"
24+ outputs:
25+ temperature: "{{ .output.temperature }}"
26+ city: "{{ .workflow.input.city }}"
27+ on_success:
28+ next: next_task
29+```
30+</task_patterns>
2231
23−Compozy is a **workflow orchestration engine for AI agents** that enables building AI-powered applications through declarative YAML configuration and a robust Go backend. It integrates with various LLM providers and supports the Model Context Protocol (MCP) for extending AI capabilities.
32+## Composite Task Pattern
2433
25−## Development Commands
34+<task_patterns type="composite_task">
35+```yaml
36+# Composite task containing multiple sub-tasks
37+- id: root_composite
38+ type: composite
39+ strategy: fail_fast
40+ tasks:
41+ - id: subtask_1
42+ type: basic
43+ $use: tool(local::tools.#(id=="echo_tool"))
44+ with:
45+ message: "First subtask"
46+ - id: subtask_2
47+ type: basic
48+ $use: tool(local::tools.#(id=="echo_tool"))
49+ with:
50+ message: "Second subtask"
51+```
52+</task_patterns>
2653
27−### Essential Commands
54+## Parallel Task Pattern
2855
29−```bash
30−# Quick setup
31−make deps && make start-docker && make migrate-up
56+<task_patterns type="parallel_task">
57+```yaml
58+# Parallel task execution
59+- id: parallel_section
60+ type: parallel
61+ strategy: wait_all # or race
62+ tasks:
63+ - id: task_a
64+ type: basic
65+ $use: tool(local::tools.#(id=="echo_tool"))
66+ with:
67+ message: "Parallel Task A"
68+ - id: task_b
69+ type: basic
70+ $use: tool(local::tools.#(id=="echo_tool"))
71+ with:
72+ message: "Parallel Task B"
73+```
74+</task_patterns>
3275
33−# Start development server with hot reload
34−make dev
76+## Collection Task Pattern
3577
36−# Run tests (excludes E2E/slow tests)
37−make test
78+<task_patterns type="collection_task">
79+```yaml
80+# Collection task for processing arrays
81+- id: collection_section
82+ type: collection
83+ mode: parallel # or sequential
84+ strategy: best_effort # or fail_fast
85+ items: "{{ .workflow.input.test_data }}"
86+ task:
87+ id: "process-{{ .index }}"
88+ type: basic
89+ $use: tool(local::tools.#(id=="echo_tool"))
90+ with:
91+ message: "Processing item: {{ .item }} at index {{ .index }}"
92+```
93+</task_patterns>
3894
39−# Run all tests including E2E
40−make test
95+## Router Task Pattern
4196
42−# Format and lint code (ALWAYS run before committing)
43−make fmt && make lint
44−
45−# Run specific test
46−go test -v ./engine/task -run TestExecutor_Execute
97+<task_patterns type="router_task">
98+```yaml
99+# Router task for conditional branching
100+- id: clothing_check
101+ type: router
102+ condition: '{{ .tasks.clothing.output.clothing | empty | ternary "no_clothes" "has_clothes" }}'
103+ routes:
104+ has_clothes:
105+ $ref: local::tasks.#(id="save_results")
106+ no_clothes:
107+ $ref: local::tasks.#(id="no_results")
47108 ```
109+</task_patterns>
48110
49−### Database Commands
111+## Signal Task Pattern
50112
51−```bash
52−make migrate-up # Apply migrations
53−make migrate-down # Rollback last migration
54−make migrate-status # Check migration status
55−make reset-db # Reset database completely
113+<task_patterns type="signal_task">
114+```yaml
115+# Signal task for workflow communication
116+- id: send-signal
117+ type: signal
118+ signal:
119+ id: workflow-ready
120+ payload:
121+ message: "Hello from sender!"
56122 ```
123+</task_patterns>
57124
58−## Architecture & Project Structure
125+## Aggregate Task Pattern
59126
60−**📁 Complete project structure, technology stack, and architectural patterns:** See [project-structure.mdc](mdc:.cursor/rules/project-structure.mdc)
127+<task_patterns type="aggregate_task">
128+```yaml
129+# Aggregate task for combining outputs
130+- id: aggr
131+ type: aggregate
132+ outputs:
133+ city: "{{ .workflow.input.city }}"
134+ weather: "{{ .tasks.weather.output }}"
135+ activities: "{{ .tasks.activities.output }}"
136+ analysis: "{{ .tasks.activity_analysis.output }}"
137+```
138+</task_patterns>
61139
62−## 🚨 CRITICAL: Follow All Development Standards
140+## Workflow Configuration Structure
63141
64−**📋 MANDATORY: Review and follow ALL established coding standards:**
142+<workflow_config_pattern type="basic_structure">
143+```yaml
144+id: workflow-name
145+version: 0.1.0
146+description: Workflow description
65147
66−- **Code Formatting & Line Spacing**: [no_linebreaks.mdc](mdc:.cursor/rules/no_linebreaks.mdc) - NEVER add blank lines inside function bodies
67−- **Go Coding Standards**: [go-coding-standards.mdc](mdc:.cursor/rules/go-coding-standards.mdc) - Function limits, error handling, documentation policy
68−- **Testing Standards**: [testing-standards.mdc](mdc:.cursor/rules/testing-standards.mdc) - MANDATORY `t.Run("Should...")` pattern, testify usage
69−- **Go Implementation Patterns**: [go-patterns.mdc](mdc:.cursor/rules/go-patterns.mdc) - Canonical implementations of architecture principles
70−- **Architecture Principles**: [architecture.mdc](mdc:.cursor/rules/architecture.mdc) - SOLID principles, Clean Architecture, DRY
71−- **Code Quality & Security**: [quality-security.mdc](mdc:.cursor/rules/quality-security.mdc) - Linting rules, security requirements
72−- **Required Libraries**: [core-libraries.mdc](mdc:.cursor/rules/core-libraries.mdc) - Mandatory library choices and usage patterns
73−- **API Development**: [api-standards.mdc](mdc:.cursor/rules/api-standards.mdc) - RESTful design, versioning, documentation
74−- **Code Review Process**: [review-checklist.mdc](mdc:.cursor/rules/review-checklist.mdc) - Pre-review requirements and checklist
148+config:
149+ input:
150+ type: object
151+ properties:
152+ city:
153+ type: string
154+ description: The city name
155+ required:
156+ - city
75157
76−## Development Workflow
158+schemas:
159+ - id: city_input
160+ type: object
161+ properties:
162+ city:
163+ type: string
164+ description: The city to get weather information for
165+ required:
166+ - city
77167
78−### Pre-Commit Requirements
168+tools:
169+ - id: tool_name
170+ description: Tool description
171+ execute: ./tool_file.ts
172+ input:
173+ $ref: local::schemas.#(id=="city_input")
79174
80−**ALWAYS run before committing:**
81−
82−```bash
83−make fmt && make lint && make test
175+tasks:
176+ - id: task_name
177+ type: basic
178+ $use: tool(local::tools.#(id=="tool_name"))
179+ with:
180+ city: "{{ .workflow.input.city }}"
84181 ```
182+</workflow_config_pattern>
85183
86−### Development Process
184+## Strategy Patterns
87185
88−1. **API changes:** Update Swagger annotations (`swag` comments)
89−2. **Schema changes:** Create migrations with `make migrate-create name=<name>`
90−3. **New features:** Include comprehensive tests following [testing-standards.mdc](mdc:.cursor/rules/testing-standards.mdc)
91−4. **Task completion:** Follow [task-review.mdc](mdc:.cursor/rules/task-review.mdc) for mandatory code review workflow via Zen MCP tools
92−5. **Backwards Compatibility:** See [backwards-compatibility.mdc](mdc:.cursor/rules/backwards-compatibility.mdc) - NOT REQUIRED during development phase
186+<strategy_patterns type="execution_strategies">
187+```yaml
188+# Composite task strategies
189+strategy: fail_fast # Stop on first failure
190+strategy: best_effort # Continue despite failures
93191
94−### Key Development Notes
192+# Parallel task strategies
193+strategy: wait_all # Wait for all tasks to complete
194+strategy: race # First task to complete wins
95195
96−- **Logging:** Use [core-libraries.mdc](mdc:.cursor/rules/core-libraries.mdc) for structured logging patterns
97−- **Core types:** Use `core.ID` for UUIDs, `core.Ref` for polymorphic references
98−- **Dependencies:** Mock external dependencies in tests when necessary (see [testing-standards.mdc](mdc:.cursor/rules/testing-standards.mdc))
196+# Collection task strategies
197+strategy: fail_fast # Stop on first failure
198+strategy: best_effort # Process all items regardless of failures
199+```
200+</strategy_patterns>
99201
100−## Task Management
202+## Trigger Patterns
101203
102−For task-based development workflows, see these rule files:
204+<trigger_patterns type="signal_trigger">
205+```yaml
206+# Signal-based workflow trigger
207+triggers:
208+ - type: signal
209+ name: workflow-ready
210+```
211+</trigger_patterns>
103212
104−- [prd-create.mdc](mdc:.cursor/rules/prd-create.mdc) - PRD Creation
105−- [prd-tech-spec.mdc](mdc:.cursor/rules/prd-tech-spec.mdc) - Technical Specifications
106−- [task-generate-list.mdc](mdc:.cursor/rules/task-generate-list.mdc) - Task List Generation
107−- [task-developing.mdc](mdc:.cursor/rules/task-developing.mdc) - Task Development
108−- [task-review.mdc](mdc:.cursor/rules/task-review.mdc) - Task Completion with Zen MCP code review
213+## Tool Configuration
109214
110−## Rule Management
215+<tool_config_pattern type="typescript_tool">
216+```yaml
217+tools:
218+ - id: weather_tool
219+ description: Get the current weather for a specific location
220+ execute: ./weather_tool.ts
221+ input:
222+ type: object
223+ properties:
224+ city:
225+ type: string
226+ description: The city to get weather for
227+ required:
228+ - city
111229
112−The development rules are actively maintained and improved:
230+ - id: save_data
231+ description: Save data to a file
232+ execute: ./save_tool.ts
233+ input:
234+ type: object
235+ properties:
236+ payload:
237+ type: object
238+ format:
239+ type: string
240+ enum: ["json", "txt"]
241+ required:
242+ - payload
243+ - format
244+```
245+</tool_config_pattern>
113246
114−- **Rule Management**: [cursor_rules.mdc](mdc:.cursor/rules/cursor_rules.mdc) - Comprehensive guidelines for creating, maintaining, and improving rules
247+## Deno Configuration
115248
116−## Compozy Configuration Examples
117−
118−For YAML configuration patterns and examples:
119−
120−- **Project Configuration**: [compozy-project-config.mdc](mdc:.cursor/rules/compozy-project-config.mdc) - Project setup patterns
121−- **Task Patterns**: [compozy-task-patterns.mdc](mdc:.cursor/rules/compozy-task-patterns.mdc) - Workflow task configurations
122−- **Agent Configuration**: [compozy-agent-config.mdc](mdc:.cursor/rules/compozy-agent-config.mdc) - AI agent setup patterns
123−- **Shared Patterns**: [compozy-shared-patterns.mdc](mdc:.cursor/rules/compozy-shared-patterns.mdc) - MCP, templates, and references
124−- **Configuration Index**: [compozy-examples.mdc](mdc:.cursor/rules/compozy-examples.mdc) - Overview and cross-references
125−
126−**All rule files are located in `.cursor/rules/` and use semantic XML tags for better context and AI understanding.**
127−
128−The project uses Go 1.24+ features and requires external dependencies to be mocked in tests when necessary.
249+<deno_config_pattern type="tool_imports">
250+```json
251+{
252+ "imports": {
253+ "weather_tool": "./weather_tool.ts",
254+ "save_data": "./save_tool.ts",
255+ "echo_tool": "./echo_tool.ts",
256+ "counter_tool": "./counter_tool.ts"
257+ },
258+ "fmt": {
259+ "indentWidth": 4,
260+ "useTabs": false,
261+ "lineWidth": 100,
262+ "singleQuote": false
263+ }
264+}
265+```
266+</deno_config_pattern>
129267
