-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathjob.yml
More file actions
136 lines (123 loc) · 5.81 KB
/
Copy pathjob.yml
File metadata and controls
136 lines (123 loc) · 5.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
name: add_platform
version: "0.1.0"
summary: "Add a new AI platform to DeepWork with adapter, templates, and tests"
description: |
A workflow for adding support for a new AI platform (like Cursor, Windsurf, etc.) to DeepWork.
This job guides you through four phases:
1. **Research**: Capture the platform's CLI configuration and hooks system documentation
2. **Add Capabilities**: Update the job schema and adapters with any new hook events
3. **Implement**: Create the platform adapter, templates, tests (100% coverage), and README updates
4. **Verify**: Ensure installation works correctly and produces expected files
The workflow ensures consistency across all supported platforms and maintains
comprehensive test coverage for new functionality.
**Important Notes**:
- Only hooks available on slash command definitions should be captured
- Each existing adapter must be updated when new hooks are added (typically with null values)
- Tests must achieve 100% coverage for any new functionality
- Installation verification confirms the platform integrates correctly with existing jobs
changelog:
- version: "0.1.0"
changes: "Initial version"
steps:
- id: research
name: "Research Platform Documentation"
description: "Capture CLI configuration and hooks system documentation for the new platform"
instructions_file: steps/research.md
inputs:
- name: platform_name
description: "Clear identifier of the platform (e.g., 'cursor', 'windsurf-editor', 'github-copilot-chat')"
outputs:
- cli_configuration.md
- hooks_system.md
dependencies: []
hooks:
after_agent:
- prompt: |
Verify the research output meets ALL criteria:
1. Both files exist in doc/platforms/<platform>/: cli_configuration.md and hooks_system.md
2. Each file has a comment at the top with:
- Last updated date
- Source URL where the documentation was obtained
3. cli_configuration.md covers how the platform's CLI is configured
4. hooks_system.md covers hooks available for slash command definitions ONLY
5. No extraneous documentation (only these two specific topics)
6. Documentation is comprehensive enough to implement the platform
If ALL criteria are met, include `<promise>✓ Quality Criteria Met</promise>`.
- id: add_capabilities
name: "Add Hook Capabilities"
description: "Update job schema and adapters with any new hook events the platform supports"
instructions_file: steps/add_capabilities.md
inputs:
- file: hooks_system.md
from_step: research
outputs:
- job_schema.py
- adapters.py
dependencies:
- research
hooks:
after_agent:
- prompt: |
Verify the capability additions meet ALL criteria:
1. Any new hooks from the platform (for slash commands only) are added to src/deepwork/schemas/job_schema.py
2. All existing adapters in src/deepwork/adapters.py are updated with the new hook fields
(set to None/null if the platform doesn't support that hook)
3. Only hooks available on slash command definitions are added (not general CLI hooks)
4. job_schema.py remains valid Python with no syntax errors
5. adapters.py remains consistent - all adapters have the same hook fields
6. If no new hooks are needed, document why in a comment
If ALL criteria are met, include `<promise>✓ Quality Criteria Met</promise>`.
- id: implement
name: "Implement Platform Support"
description: "Add platform adapter, templates, tests with 100% coverage, and README documentation"
instructions_file: steps/implement.md
inputs:
- file: job_schema.py
from_step: add_capabilities
- file: adapters.py
from_step: add_capabilities
- file: cli_configuration.md
from_step: research
outputs:
- templates/
- tests/
- README.md
dependencies:
- research
- add_capabilities
hooks:
after_agent:
- script: hooks/run_tests.sh
- prompt: |
Verify the implementation meets ALL criteria:
1. Platform adapter class is added to src/deepwork/adapters.py
2. Templates exist in src/deepwork/templates/<platform>/ with appropriate command structure
3. Tests exist for all new functionality
4. Test coverage is 100% for new code (run: uv run pytest --cov)
5. All tests pass
6. README.md is updated with:
- New platform listed in supported platforms
- Installation instructions for the platform
- Any platform-specific notes
If ALL criteria are met, include `<promise>✓ Quality Criteria Met</promise>`.
- id: verify
name: "Verify Installation"
description: "Set up platform directories and verify deepwork install works correctly"
instructions_file: steps/verify.md
inputs:
- file: templates/
from_step: implement
outputs: []
dependencies:
- implement
hooks:
after_agent:
- prompt: |
Verify the installation meets ALL criteria:
1. Platform-specific directories/files are added to the deepwork repo as needed
2. Running `deepwork install --platform <platform>` completes without errors
3. Expected command files are created in the platform's command directory
4. Command file content matches the templates and job definitions
5. Established DeepWork jobs (deepwork_jobs, deepwork_policy) are installed correctly
6. The platform can be used alongside existing platforms without conflicts
If ALL criteria are met, include `<promise>✓ Quality Criteria Met</promise>`.