deepwork 0.1.1__tar.gz → 0.3.0__tar.gz
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.
- {deepwork-0.1.1 → deepwork-0.3.0}/.claude/settings.json +7 -2
- deepwork-0.3.0/.claude/skills/add_platform/SKILL.md +69 -0
- deepwork-0.1.1/.claude/commands/add_platform.add_capabilities.md → deepwork-0.3.0/.claude/skills/add_platform.add_capabilities/SKILL.md +41 -103
- deepwork-0.1.1/.claude/commands/add_platform.implement.md → deepwork-0.3.0/.claude/skills/add_platform.implement/SKILL.md +44 -110
- deepwork-0.1.1/.claude/commands/add_platform.research.md → deepwork-0.3.0/.claude/skills/add_platform.research/SKILL.md +39 -98
- deepwork-0.1.1/.claude/commands/add_platform.verify.md → deepwork-0.3.0/.claude/skills/add_platform.verify/SKILL.md +43 -101
- deepwork-0.3.0/.claude/skills/commit/SKILL.md +61 -0
- deepwork-0.3.0/.claude/skills/commit.commit_and_push/SKILL.md +159 -0
- deepwork-0.3.0/.claude/skills/commit.lint/SKILL.md +149 -0
- deepwork-0.3.0/.claude/skills/commit.test/SKILL.md +132 -0
- deepwork-0.3.0/.claude/skills/deepwork_jobs/SKILL.md +61 -0
- deepwork-0.1.1/.claude/commands/deepwork_jobs.define.md → deepwork-0.3.0/.claude/skills/deepwork_jobs.define/SKILL.md +88 -157
- deepwork-0.3.0/.claude/skills/deepwork_jobs.implement/SKILL.md +348 -0
- deepwork-0.1.1/.claude/commands/deepwork_jobs.learn.md → deepwork-0.3.0/.claude/skills/deepwork_jobs.learn/SKILL.md +45 -148
- deepwork-0.3.0/.claude/skills/deepwork_rules/SKILL.md +62 -0
- deepwork-0.3.0/.claude/skills/deepwork_rules.define/SKILL.md +314 -0
- deepwork-0.3.0/.claude/skills/update/SKILL.md +60 -0
- deepwork-0.3.0/.claude/skills/update.job/SKILL.md +156 -0
- deepwork-0.3.0/.deepwork/.gitignore +3 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/.deepwork/jobs/add_platform/job.yml +1 -1
- {deepwork-0.1.1 → deepwork-0.3.0}/.deepwork/jobs/add_platform/steps/verify.md +2 -2
- deepwork-0.3.0/.deepwork/jobs/commit/job.yml +73 -0
- deepwork-0.3.0/.deepwork/jobs/commit/steps/commit_and_push.md +81 -0
- deepwork-0.3.0/.deepwork/jobs/commit/steps/lint.md +72 -0
- deepwork-0.3.0/.deepwork/jobs/commit/steps/test.md +53 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_jobs/AGENTS.md +60 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_jobs/job.yml +92 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_jobs/make_new_job.sh +134 -0
- {deepwork-0.1.1/src/deepwork/standard_jobs → deepwork-0.3.0/.deepwork/jobs}/deepwork_jobs/steps/define.md +29 -63
- deepwork-0.3.0/.deepwork/jobs/deepwork_jobs/steps/implement.md +238 -0
- {deepwork-0.1.1/src/deepwork/standard_jobs → deepwork-0.3.0/.deepwork/jobs}/deepwork_jobs/steps/learn.md +4 -62
- deepwork-0.3.0/.deepwork/jobs/deepwork_jobs/templates/agents.md.template +32 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_jobs/templates/job.yml.example +73 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_jobs/templates/job.yml.template +56 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_jobs/templates/step_instruction.md.example +82 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_jobs/templates/step_instruction.md.template +58 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_rules/hooks/global_hooks.yml +8 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_rules/job.yml +39 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_rules/rules/.gitkeep +13 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_rules/rules/api-documentation-sync.md.example +10 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_rules/rules/readme-documentation.md.example +10 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_rules/rules/security-review.md.example +11 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_rules/rules/skill-md-validation.md +45 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_rules/rules/source-test-pairing.md.example +13 -0
- deepwork-0.3.0/.deepwork/jobs/deepwork_rules/steps/define.md +249 -0
- deepwork-0.3.0/.deepwork/jobs/update/job.yml +42 -0
- deepwork-0.3.0/.deepwork/jobs/update/steps/job.md +73 -0
- deepwork-0.3.0/.deepwork/rules/architecture-documentation-accuracy.md +10 -0
- deepwork-0.3.0/.deepwork/rules/manual-test-command-action.md +19 -0
- deepwork-0.3.0/.deepwork/rules/manual-test-infinite-block-command.md +41 -0
- deepwork-0.3.0/.deepwork/rules/manual-test-infinite-block-prompt.md +34 -0
- deepwork-0.3.0/.deepwork/rules/manual-test-multi-safety.md +25 -0
- deepwork-0.3.0/.deepwork/rules/manual-test-pair-mode.md +26 -0
- deepwork-0.3.0/.deepwork/rules/manual-test-set-mode.md +26 -0
- deepwork-0.3.0/.deepwork/rules/manual-test-trigger-safety.md +21 -0
- deepwork-0.3.0/.deepwork/rules/readme-accuracy.md +10 -0
- deepwork-0.3.0/.deepwork/rules/skill-template-best-practices.md +46 -0
- deepwork-0.3.0/.deepwork/rules/standard-jobs-source-of-truth.md +24 -0
- deepwork-0.3.0/.deepwork/rules/version-and-changelog-update.md +28 -0
- {deepwork-0.1.1/.gemini/commands → deepwork-0.3.0/.gemini/skills}/add_platform/add_capabilities.toml +35 -67
- {deepwork-0.1.1/.gemini/commands → deepwork-0.3.0/.gemini/skills}/add_platform/implement.toml +37 -70
- deepwork-0.3.0/.gemini/skills/add_platform/index.toml +75 -0
- {deepwork-0.1.1/.gemini/commands → deepwork-0.3.0/.gemini/skills}/add_platform/research.toml +33 -61
- {deepwork-0.1.1/.gemini/commands → deepwork-0.3.0/.gemini/skills}/add_platform/verify.toml +36 -63
- deepwork-0.3.0/.gemini/skills/commit/commit_and_push.toml +143 -0
- deepwork-0.3.0/.gemini/skills/commit/index.toml +66 -0
- deepwork-0.3.0/.gemini/skills/commit/lint.toml +134 -0
- deepwork-0.3.0/.gemini/skills/commit/test.toml +116 -0
- {deepwork-0.1.1/.gemini/commands → deepwork-0.3.0/.gemini/skills}/deepwork_jobs/define.toml +74 -116
- deepwork-0.3.0/.gemini/skills/deepwork_jobs/implement.toml +319 -0
- deepwork-0.3.0/.gemini/skills/deepwork_jobs/index.toml +66 -0
- {deepwork-0.1.1/.gemini/commands → deepwork-0.3.0/.gemini/skills}/deepwork_jobs/learn.toml +45 -116
- deepwork-0.3.0/.gemini/skills/deepwork_rules/define.toml +318 -0
- deepwork-0.3.0/.gemini/skills/deepwork_rules/index.toml +65 -0
- deepwork-0.3.0/.gemini/skills/update/index.toml +63 -0
- deepwork-0.3.0/.gemini/skills/update/job.toml +140 -0
- deepwork-0.3.0/.github/workflows/README.md +101 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/.github/workflows/cla.yml +18 -5
- deepwork-0.3.0/.github/workflows/claude-code-test.yml +374 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/.github/workflows/validate.yml +8 -1
- deepwork-0.3.0/CHANGELOG.md +105 -0
- deepwork-0.3.0/CLA/version_1/CLA_SIGNATORIES.md +20 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/PKG-INFO +54 -24
- {deepwork-0.1.1 → deepwork-0.3.0}/README.md +53 -23
- {deepwork-0.1.1 → deepwork-0.3.0}/claude.md +24 -9
- {deepwork-0.1.1 → deepwork-0.3.0}/doc/architecture.md +245 -117
- deepwork-0.3.0/doc/platforms/README.md +57 -0
- deepwork-0.3.0/doc/platforms/claude/cli_configuration.md +260 -0
- deepwork-0.3.0/doc/platforms/claude/hooks.md +327 -0
- deepwork-0.3.0/doc/platforms/claude/hooks_system.md +267 -0
- deepwork-0.3.0/doc/platforms/claude/learnings.md +57 -0
- deepwork-0.3.0/doc/platforms/gemini/hooks.md +446 -0
- deepwork-0.3.0/doc/platforms/gemini/learnings.md +82 -0
- deepwork-0.3.0/doc/rules_syntax.md +567 -0
- deepwork-0.3.0/doc/rules_system_design.md +547 -0
- deepwork-0.3.0/manual_tests/README.md +74 -0
- deepwork-0.3.0/manual_tests/test_command_action/test_command_action.txt +25 -0
- deepwork-0.3.0/manual_tests/test_command_action/test_command_action_log.txt +3 -0
- deepwork-0.3.0/manual_tests/test_infinite_block_command/test_infinite_block_command.py +42 -0
- deepwork-0.3.0/manual_tests/test_infinite_block_prompt/test_infinite_block_prompt.py +57 -0
- deepwork-0.3.0/manual_tests/test_multi_safety/test_multi_safety.py +42 -0
- deepwork-0.3.0/manual_tests/test_multi_safety/test_multi_safety_changelog.md +16 -0
- deepwork-0.3.0/manual_tests/test_multi_safety/test_multi_safety_version.txt +10 -0
- deepwork-0.3.0/manual_tests/test_pair_mode/test_pair_mode_expected.md +31 -0
- deepwork-0.3.0/manual_tests/test_pair_mode/test_pair_mode_trigger.py +47 -0
- deepwork-0.3.0/manual_tests/test_set_mode/test_set_mode_source.py +40 -0
- deepwork-0.3.0/manual_tests/test_set_mode/test_set_mode_test.py +37 -0
- deepwork-0.3.0/manual_tests/test_trigger_safety_mode/test_trigger_safety_mode.py +32 -0
- deepwork-0.3.0/manual_tests/test_trigger_safety_mode/test_trigger_safety_mode_doc.md +20 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/pyproject.toml +1 -1
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/cli/install.py +121 -32
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/cli/sync.py +20 -20
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/core/adapters.py +88 -51
- deepwork-0.3.0/src/deepwork/core/command_executor.py +173 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/core/generator.py +148 -31
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/core/hooks_syncer.py +51 -25
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/core/parser.py +8 -0
- deepwork-0.3.0/src/deepwork/core/pattern_matcher.py +271 -0
- deepwork-0.3.0/src/deepwork/core/rules_parser.py +511 -0
- deepwork-0.3.0/src/deepwork/core/rules_queue.py +321 -0
- deepwork-0.3.0/src/deepwork/hooks/README.md +181 -0
- deepwork-0.3.0/src/deepwork/hooks/__init__.py +77 -0
- deepwork-0.3.0/src/deepwork/hooks/claude_hook.sh +55 -0
- deepwork-0.3.0/src/deepwork/hooks/gemini_hook.sh +55 -0
- deepwork-0.3.0/src/deepwork/hooks/rules_check.py +514 -0
- deepwork-0.3.0/src/deepwork/hooks/wrapper.py +363 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/schemas/job_schema.py +14 -1
- deepwork-0.3.0/src/deepwork/schemas/rules_schema.py +103 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_jobs/AGENTS.md +60 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_jobs/job.yml +92 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_jobs/make_new_job.sh +134 -0
- {deepwork-0.1.1/.deepwork/jobs → deepwork-0.3.0/src/deepwork/standard_jobs}/deepwork_jobs/steps/define.md +35 -63
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_jobs/steps/implement.md +238 -0
- {deepwork-0.1.1/.deepwork/jobs → deepwork-0.3.0/src/deepwork/standard_jobs}/deepwork_jobs/steps/learn.md +4 -62
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_jobs/steps/supplemental_file_references.md +40 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_jobs/templates/agents.md.template +32 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_jobs/templates/job.yml.example +73 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_jobs/templates/job.yml.template +56 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_jobs/templates/step_instruction.md.example +82 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_jobs/templates/step_instruction.md.template +58 -0
- deepwork-0.1.1/.deepwork/jobs/deepwork_policy/hooks/capture_work_tree.sh → deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_rules/hooks/capture_prompt_work_tree.sh +3 -2
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_rules/hooks/global_hooks.yml +8 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_rules/hooks/user_prompt_submit.sh +16 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_rules/job.yml +39 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_rules/rules/.gitkeep +13 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_rules/rules/api-documentation-sync.md.example +10 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_rules/rules/readme-documentation.md.example +10 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_rules/rules/security-review.md.example +11 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_rules/rules/skill-md-validation.md +45 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_rules/rules/source-test-pairing.md.example +13 -0
- deepwork-0.3.0/src/deepwork/standard_jobs/deepwork_rules/steps/define.md +249 -0
- deepwork-0.3.0/src/deepwork/templates/claude/skill-job-meta.md.jinja +70 -0
- deepwork-0.3.0/src/deepwork/templates/claude/skill-job-step.md.jinja +198 -0
- deepwork-0.3.0/src/deepwork/templates/gemini/skill-job-meta.toml.jinja +76 -0
- deepwork-0.3.0/src/deepwork/templates/gemini/skill-job-step.toml.jinja +147 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/conftest.py +20 -0
- deepwork-0.3.0/tests/e2e/__init__.py +1 -0
- deepwork-0.3.0/tests/e2e/test_claude_code_integration.py +329 -0
- deepwork-0.3.0/tests/fixtures/jobs/exposed_step_job/job.yml +29 -0
- deepwork-0.3.0/tests/fixtures/jobs/exposed_step_job/steps/exposed_step.md +7 -0
- deepwork-0.3.0/tests/fixtures/jobs/exposed_step_job/steps/hidden_step.md +7 -0
- deepwork-0.3.0/tests/fixtures/jobs/fruits/job.yml +40 -0
- deepwork-0.3.0/tests/fixtures/jobs/fruits/steps/classify.md +83 -0
- deepwork-0.3.0/tests/fixtures/jobs/fruits/steps/identify.md +64 -0
- deepwork-0.3.0/tests/integration/test_fruits_workflow.py +194 -0
- deepwork-0.3.0/tests/integration/test_full_workflow.py +153 -0
- deepwork-0.3.0/tests/integration/test_install_flow.py +257 -0
- deepwork-0.3.0/tests/shell_script_tests/README.md +76 -0
- deepwork-0.3.0/tests/shell_script_tests/__init__.py +1 -0
- deepwork-0.3.0/tests/shell_script_tests/conftest.py +131 -0
- deepwork-0.3.0/tests/shell_script_tests/test_capture_prompt_work_tree.py +257 -0
- deepwork-0.3.0/tests/shell_script_tests/test_hooks.py +746 -0
- deepwork-0.3.0/tests/shell_script_tests/test_make_new_job.py +313 -0
- deepwork-0.3.0/tests/shell_script_tests/test_rules_stop_hook.py +299 -0
- deepwork-0.3.0/tests/shell_script_tests/test_user_prompt_submit.py +166 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/unit/test_adapters.py +75 -40
- deepwork-0.3.0/tests/unit/test_command_executor.py +197 -0
- deepwork-0.3.0/tests/unit/test_generator.py +269 -0
- deepwork-0.3.0/tests/unit/test_hook_wrapper.py +557 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/unit/test_hooks_syncer.py +59 -13
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/unit/test_parser.py +40 -0
- deepwork-0.3.0/tests/unit/test_pattern_matcher.py +205 -0
- deepwork-0.3.0/tests/unit/test_rules_check.py +105 -0
- deepwork-0.3.0/tests/unit/test_rules_parser.py +733 -0
- deepwork-0.3.0/tests/unit/test_rules_queue.py +349 -0
- deepwork-0.3.0/tests/unit/test_schema_validation.py +323 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/unit/test_stop_hooks.py +10 -12
- {deepwork-0.1.1 → deepwork-0.3.0}/uv.lock +1 -1
- deepwork-0.1.1/.claude/commands/AGENTS.md +0 -5
- deepwork-0.1.1/.claude/commands/deepwork_jobs.implement.md +0 -594
- deepwork-0.1.1/.claude/commands/deepwork_policy.define.md +0 -264
- deepwork-0.1.1/.deepwork/.gitignore +0 -3
- deepwork-0.1.1/.deepwork/jobs/deepwork_jobs/job.yml +0 -107
- deepwork-0.1.1/.deepwork/jobs/deepwork_jobs/steps/implement.md +0 -433
- deepwork-0.1.1/.deepwork/jobs/deepwork_policy/hooks/get_changed_files.sh +0 -30
- deepwork-0.1.1/.deepwork/jobs/deepwork_policy/hooks/global_hooks.yml +0 -8
- deepwork-0.1.1/.deepwork/jobs/deepwork_policy/hooks/policy_stop_hook.sh +0 -72
- deepwork-0.1.1/.deepwork/jobs/deepwork_policy/hooks/user_prompt_submit.sh +0 -17
- deepwork-0.1.1/.deepwork/jobs/deepwork_policy/job.yml +0 -35
- deepwork-0.1.1/.deepwork/jobs/deepwork_policy/steps/define.md +0 -174
- deepwork-0.1.1/.deepwork.policy.yml +0 -71
- deepwork-0.1.1/.gemini/commands/deepwork_jobs/implement.toml +0 -531
- deepwork-0.1.1/.gemini/commands/deepwork_jobs/refine.toml +0 -538
- deepwork-0.1.1/.gemini/commands/deepwork_policy/define.toml +0 -271
- deepwork-0.1.1/CHANGELOG.md +0 -41
- deepwork-0.1.1/CLA/version_1/CLA_SIGNATORIES.md +0 -25
- deepwork-0.1.1/src/deepwork/core/policy_parser.py +0 -295
- deepwork-0.1.1/src/deepwork/hooks/__init__.py +0 -1
- deepwork-0.1.1/src/deepwork/hooks/evaluate_policies.py +0 -376
- deepwork-0.1.1/src/deepwork/schemas/policy_schema.py +0 -78
- deepwork-0.1.1/src/deepwork/standard_jobs/deepwork_jobs/job.yml +0 -107
- deepwork-0.1.1/src/deepwork/standard_jobs/deepwork_jobs/steps/implement.md +0 -439
- deepwork-0.1.1/src/deepwork/standard_jobs/deepwork_policy/hooks/global_hooks.yml +0 -8
- deepwork-0.1.1/src/deepwork/standard_jobs/deepwork_policy/hooks/policy_stop_hook.sh +0 -56
- deepwork-0.1.1/src/deepwork/standard_jobs/deepwork_policy/job.yml +0 -35
- deepwork-0.1.1/src/deepwork/standard_jobs/deepwork_policy/steps/define.md +0 -195
- deepwork-0.1.1/src/deepwork/templates/claude/command-job-step.md.jinja +0 -210
- deepwork-0.1.1/src/deepwork/templates/gemini/command-job-step.toml.jinja +0 -169
- deepwork-0.1.1/tests/fixtures/policies/empty_policy.yml +0 -1
- deepwork-0.1.1/tests/fixtures/policies/instructions/security_review.md +0 -8
- deepwork-0.1.1/tests/fixtures/policies/invalid_missing_instructions.yml +0 -2
- deepwork-0.1.1/tests/fixtures/policies/invalid_missing_trigger.yml +0 -3
- deepwork-0.1.1/tests/fixtures/policies/multiple_policies.yml +0 -21
- deepwork-0.1.1/tests/fixtures/policies/policy_with_instructions_file.yml +0 -3
- deepwork-0.1.1/tests/fixtures/policies/valid_policy.yml +0 -6
- deepwork-0.1.1/tests/integration/test_full_workflow.py +0 -139
- deepwork-0.1.1/tests/integration/test_install_flow.py +0 -156
- deepwork-0.1.1/tests/unit/test_evaluate_policies.py +0 -101
- deepwork-0.1.1/tests/unit/test_generator.py +0 -199
- deepwork-0.1.1/tests/unit/test_policy_parser.py +0 -404
- {deepwork-0.1.1 → deepwork-0.3.0}/.deepwork/config.yml +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/.deepwork/jobs/add_platform/steps/add_capabilities.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/.deepwork/jobs/add_platform/steps/implement.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/.deepwork/jobs/add_platform/steps/research.md +0 -0
- {deepwork-0.1.1/src/deepwork/standard_jobs → deepwork-0.3.0/.deepwork/jobs}/deepwork_jobs/steps/supplemental_file_references.md +0 -0
- {deepwork-0.1.1/src/deepwork/standard_jobs/deepwork_policy → deepwork-0.3.0/.deepwork/jobs/deepwork_rules}/hooks/capture_prompt_work_tree.sh +0 -0
- {deepwork-0.1.1/src/deepwork/standard_jobs/deepwork_policy → deepwork-0.3.0/.deepwork/jobs/deepwork_rules}/hooks/user_prompt_submit.sh +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/.github/workflows/release.yml +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/.gitignore +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/CLA/version_1/CLA.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/CONTRIBUTING.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/LICENSE.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/doc/platforms/gemini/cli_configuration.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/doc/platforms/gemini/hooks_system.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/job_library/README.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/shell.nix +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/__init__.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/cli/__init__.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/cli/main.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/core/__init__.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/core/detector.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/schemas/__init__.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/templates/__init__.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/utils/__init__.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/utils/fs.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/utils/git.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/utils/validation.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/src/deepwork/utils/yaml_utils.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/__init__.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/fixtures/jobs/complex_job/job.yml +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/fixtures/jobs/complex_job/steps/comparative_report.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/fixtures/jobs/complex_job/steps/identify_competitors.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/fixtures/jobs/complex_job/steps/primary_research.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/fixtures/jobs/complex_job/steps/secondary_research.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/fixtures/jobs/invalid_job/job.yml +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/fixtures/jobs/simple_job/job.yml +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/fixtures/jobs/simple_job/steps/single_step.md +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/unit/test_detector.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/unit/test_fs.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/unit/test_git.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/unit/test_validation.py +0 -0
- {deepwork-0.1.1 → deepwork-0.3.0}/tests/unit/test_yaml_utils.py +0 -0
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"permissions": {
|
|
3
3
|
"allow": [
|
|
4
|
+
"WebFetch(domain:code.claude.com)",
|
|
5
|
+
"WebFetch(domain:www.anthropic.com)",
|
|
6
|
+
"WebFetch(domain:anthropic.com)",
|
|
7
|
+
"WebFetch(domain:platform.claude.com)",
|
|
8
|
+
"WebFetch(domain:docs.anthropic.com)",
|
|
4
9
|
"Bash(ls:*)",
|
|
5
10
|
"Bash(grep:*)",
|
|
6
11
|
"Bash(find:*)",
|
|
@@ -97,7 +102,7 @@
|
|
|
97
102
|
"hooks": [
|
|
98
103
|
{
|
|
99
104
|
"type": "command",
|
|
100
|
-
"command": ".deepwork/jobs/
|
|
105
|
+
"command": ".deepwork/jobs/deepwork_rules/hooks/user_prompt_submit.sh"
|
|
101
106
|
}
|
|
102
107
|
]
|
|
103
108
|
}
|
|
@@ -108,7 +113,7 @@
|
|
|
108
113
|
"hooks": [
|
|
109
114
|
{
|
|
110
115
|
"type": "command",
|
|
111
|
-
"command": ".
|
|
116
|
+
"command": "python -m deepwork.hooks.rules_check"
|
|
112
117
|
}
|
|
113
118
|
]
|
|
114
119
|
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: add_platform
|
|
3
|
+
description: "Add a new AI platform to DeepWork with adapter, templates, and tests"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# add_platform
|
|
7
|
+
|
|
8
|
+
**Multi-step workflow**: Add a new AI platform to DeepWork with adapter, templates, and tests
|
|
9
|
+
|
|
10
|
+
> **CRITICAL**: Always invoke steps using the Skill tool. Never copy/paste step instructions directly.
|
|
11
|
+
|
|
12
|
+
A workflow for adding support for a new AI platform (like Cursor, Windsurf, etc.) to DeepWork.
|
|
13
|
+
|
|
14
|
+
This job guides you through four phases:
|
|
15
|
+
1. **Research**: Capture the platform's CLI configuration and hooks system documentation
|
|
16
|
+
2. **Add Capabilities**: Update the job schema and adapters with any new hook events
|
|
17
|
+
3. **Implement**: Create the platform adapter, templates, tests (100% coverage), and README updates
|
|
18
|
+
4. **Verify**: Ensure installation works correctly and produces expected files
|
|
19
|
+
|
|
20
|
+
The workflow ensures consistency across all supported platforms and maintains
|
|
21
|
+
comprehensive test coverage for new functionality.
|
|
22
|
+
|
|
23
|
+
**Important Notes**:
|
|
24
|
+
- Only hooks available on slash command definitions should be captured
|
|
25
|
+
- Each existing adapter must be updated when new hooks are added (typically with null values)
|
|
26
|
+
- Tests must achieve 100% coverage for any new functionality
|
|
27
|
+
- Installation verification confirms the platform integrates correctly with existing jobs
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## Available Steps
|
|
31
|
+
|
|
32
|
+
1. **research** - Capture CLI configuration and hooks system documentation for the new platform
|
|
33
|
+
2. **add_capabilities** - Update job schema and adapters with any new hook events the platform supports (requires: research)
|
|
34
|
+
3. **implement** - Add platform adapter, templates, tests with 100% coverage, and README documentation (requires: research, add_capabilities)
|
|
35
|
+
4. **verify** - Set up platform directories and verify deepwork install works correctly (requires: implement)
|
|
36
|
+
|
|
37
|
+
## Execution Instructions
|
|
38
|
+
|
|
39
|
+
### Step 1: Analyze Intent
|
|
40
|
+
|
|
41
|
+
Parse any text following `/add_platform` to determine user intent:
|
|
42
|
+
- "research" or related terms → start at `add_platform.research`
|
|
43
|
+
- "add_capabilities" or related terms → start at `add_platform.add_capabilities`
|
|
44
|
+
- "implement" or related terms → start at `add_platform.implement`
|
|
45
|
+
- "verify" or related terms → start at `add_platform.verify`
|
|
46
|
+
|
|
47
|
+
### Step 2: Invoke Starting Step
|
|
48
|
+
|
|
49
|
+
Use the Skill tool to invoke the identified starting step:
|
|
50
|
+
```
|
|
51
|
+
Skill tool: add_platform.research
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Step 3: Continue Workflow Automatically
|
|
55
|
+
|
|
56
|
+
After each step completes:
|
|
57
|
+
1. Check if there's a next step in the sequence
|
|
58
|
+
2. Invoke the next step using the Skill tool
|
|
59
|
+
3. Repeat until workflow is complete or user intervenes
|
|
60
|
+
|
|
61
|
+
### Handling Ambiguous Intent
|
|
62
|
+
|
|
63
|
+
If user intent is unclear, use AskUserQuestion to clarify:
|
|
64
|
+
- Present available steps as numbered options
|
|
65
|
+
- Let user select the starting point
|
|
66
|
+
|
|
67
|
+
## Context Files
|
|
68
|
+
|
|
69
|
+
- Job definition: `.deepwork/jobs/add_platform/job.yml`
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: add_platform.add_capabilities
|
|
3
|
+
description: "Update job schema and adapters with any new hook events the platform supports"
|
|
4
|
+
user-invocable: false
|
|
3
5
|
hooks:
|
|
4
6
|
Stop:
|
|
5
7
|
- hooks:
|
|
6
8
|
- type: prompt
|
|
7
9
|
prompt: |
|
|
8
|
-
You must evaluate whether Claude has met all the below quality criteria for the request.
|
|
9
|
-
|
|
10
|
-
## Quality Criteria
|
|
11
|
-
|
|
12
10
|
Verify the capability additions meet ALL criteria:
|
|
13
11
|
1. Any new hooks from the platform (for slash commands only) are added to src/deepwork/schemas/job_schema.py
|
|
14
12
|
2. All existing adapters in src/deepwork/adapters.py are updated with the new hook fields
|
|
@@ -20,54 +18,23 @@ hooks:
|
|
|
20
18
|
|
|
21
19
|
If ALL criteria are met, include `<promise>✓ Quality Criteria Met</promise>`.
|
|
22
20
|
|
|
23
|
-
|
|
24
|
-
## Instructions
|
|
25
|
-
|
|
26
|
-
Review the conversation and determine if ALL quality criteria above have been satisfied.
|
|
27
|
-
Look for evidence that each criterion has been addressed.
|
|
28
|
-
|
|
29
|
-
If the agent has included `<promise>✓ Quality Criteria Met</promise>` in their response AND
|
|
30
|
-
all criteria appear to be met, respond with: {"ok": true}
|
|
31
|
-
|
|
32
|
-
If criteria are NOT met AND the promise tag is missing, respond with:
|
|
33
|
-
{"ok": false, "reason": "Continue working. [specific feedback on what's wrong]"}
|
|
34
21
|
---
|
|
35
22
|
|
|
36
23
|
# add_platform.add_capabilities
|
|
37
24
|
|
|
38
|
-
**Step 2
|
|
39
|
-
|
|
40
|
-
**Summary**: Add a new AI platform to DeepWork with adapter, templates, and tests
|
|
25
|
+
**Step 2/4** in **add_platform** workflow
|
|
41
26
|
|
|
42
|
-
|
|
27
|
+
> Add a new AI platform to DeepWork with adapter, templates, and tests
|
|
43
28
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
This job guides you through four phases:
|
|
47
|
-
1. **Research**: Capture the platform's CLI configuration and hooks system documentation
|
|
48
|
-
2. **Add Capabilities**: Update the job schema and adapters with any new hook events
|
|
49
|
-
3. **Implement**: Create the platform adapter, templates, tests (100% coverage), and README updates
|
|
50
|
-
4. **Verify**: Ensure installation works correctly and produces expected files
|
|
29
|
+
## Prerequisites (Verify First)
|
|
51
30
|
|
|
52
|
-
|
|
53
|
-
comprehensive test coverage for new functionality.
|
|
54
|
-
|
|
55
|
-
**Important Notes**:
|
|
56
|
-
- Only hooks available on slash command definitions should be captured
|
|
57
|
-
- Each existing adapter must be updated when new hooks are added (typically with null values)
|
|
58
|
-
- Tests must achieve 100% coverage for any new functionality
|
|
59
|
-
- Installation verification confirms the platform integrates correctly with existing jobs
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
## Prerequisites
|
|
63
|
-
|
|
64
|
-
This step requires completion of the following step(s):
|
|
31
|
+
Before proceeding, confirm these steps are complete:
|
|
65
32
|
- `/add_platform.research`
|
|
66
33
|
|
|
67
|
-
Please ensure these steps have been completed before proceeding.
|
|
68
|
-
|
|
69
34
|
## Instructions
|
|
70
35
|
|
|
36
|
+
**Goal**: Update job schema and adapters with any new hook events the platform supports
|
|
37
|
+
|
|
71
38
|
# Add Hook Capabilities
|
|
72
39
|
|
|
73
40
|
## Objective
|
|
@@ -205,86 +172,57 @@ For reference, here are common hook patterns across platforms:
|
|
|
205
172
|
When you find a new hook type, consider whether it maps to an existing pattern or is genuinely new functionality.
|
|
206
173
|
|
|
207
174
|
|
|
208
|
-
|
|
175
|
+
### Job Context
|
|
209
176
|
|
|
177
|
+
A workflow for adding support for a new AI platform (like Cursor, Windsurf, etc.) to DeepWork.
|
|
210
178
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
Make sure to read and use these files as context for this step.
|
|
217
|
-
|
|
218
|
-
## Work Branch Management
|
|
219
|
-
|
|
220
|
-
All work for this job should be done on a dedicated work branch:
|
|
221
|
-
|
|
222
|
-
1. **Check current branch**:
|
|
223
|
-
- If already on a work branch for this job (format: `deepwork/add_platform-[instance]-[date]`), continue using it
|
|
224
|
-
- If on main/master, create a new work branch
|
|
225
|
-
|
|
226
|
-
2. **Create work branch** (if needed):
|
|
227
|
-
```bash
|
|
228
|
-
git checkout -b deepwork/add_platform-[instance]-$(date +%Y%m%d)
|
|
229
|
-
```
|
|
230
|
-
Replace `[instance]` with a descriptive identifier (e.g., `acme`, `q1-launch`, etc.)
|
|
179
|
+
This job guides you through four phases:
|
|
180
|
+
1. **Research**: Capture the platform's CLI configuration and hooks system documentation
|
|
181
|
+
2. **Add Capabilities**: Update the job schema and adapters with any new hook events
|
|
182
|
+
3. **Implement**: Create the platform adapter, templates, tests (100% coverage), and README updates
|
|
183
|
+
4. **Verify**: Ensure installation works correctly and produces expected files
|
|
231
184
|
|
|
232
|
-
|
|
185
|
+
The workflow ensures consistency across all supported platforms and maintains
|
|
186
|
+
comprehensive test coverage for new functionality.
|
|
233
187
|
|
|
234
|
-
|
|
235
|
-
-
|
|
236
|
-
|
|
237
|
-
-
|
|
238
|
-
-
|
|
188
|
+
**Important Notes**:
|
|
189
|
+
- Only hooks available on slash command definitions should be captured
|
|
190
|
+
- Each existing adapter must be updated when new hooks are added (typically with null values)
|
|
191
|
+
- Tests must achieve 100% coverage for any new functionality
|
|
192
|
+
- Installation verification confirms the platform integrates correctly with existing jobs
|
|
239
193
|
|
|
240
|
-
## Quality Validation Loop
|
|
241
194
|
|
|
242
|
-
|
|
195
|
+
## Required Inputs
|
|
243
196
|
|
|
244
|
-
### Quality Criteria
|
|
245
|
-
Verify the capability additions meet ALL criteria:
|
|
246
|
-
1. Any new hooks from the platform (for slash commands only) are added to src/deepwork/schemas/job_schema.py
|
|
247
|
-
2. All existing adapters in src/deepwork/adapters.py are updated with the new hook fields
|
|
248
|
-
(set to None/null if the platform doesn't support that hook)
|
|
249
|
-
3. Only hooks available on slash command definitions are added (not general CLI hooks)
|
|
250
|
-
4. job_schema.py remains valid Python with no syntax errors
|
|
251
|
-
5. adapters.py remains consistent - all adapters have the same hook fields
|
|
252
|
-
6. If no new hooks are needed, document why in a comment
|
|
253
197
|
|
|
254
|
-
|
|
198
|
+
**Files from Previous Steps** - Read these first:
|
|
199
|
+
- `hooks_system.md` (from `research`)
|
|
255
200
|
|
|
201
|
+
## Work Branch
|
|
256
202
|
|
|
257
|
-
|
|
203
|
+
Use branch format: `deepwork/add_platform-[instance]-YYYYMMDD`
|
|
258
204
|
|
|
259
|
-
|
|
205
|
+
- If on a matching work branch: continue using it
|
|
206
|
+
- If on main/master: create new branch with `git checkout -b deepwork/add_platform-[instance]-$(date +%Y%m%d)`
|
|
260
207
|
|
|
261
|
-
|
|
262
|
-
<promise>✓ Quality Criteria Met</promise>
|
|
263
|
-
```
|
|
208
|
+
## Outputs
|
|
264
209
|
|
|
265
|
-
**
|
|
210
|
+
**Required outputs**:
|
|
211
|
+
- `job_schema.py`- `adapters.py`
|
|
212
|
+
## Quality Validation
|
|
266
213
|
|
|
267
|
-
|
|
214
|
+
Stop hooks will automatically validate your work. The loop continues until all criteria pass.
|
|
268
215
|
|
|
269
|
-
After completing this step:
|
|
270
216
|
|
|
271
|
-
1. **Verify outputs**: Confirm all required files have been created
|
|
272
217
|
|
|
273
|
-
|
|
274
|
-
- Step 2 of 4 is complete
|
|
275
|
-
- Outputs created: job_schema.py, adapters.py
|
|
276
|
-
- Ready to proceed to next step: `/add_platform.implement`
|
|
218
|
+
**To complete**: Include `<promise>✓ Quality Criteria Met</promise>` in your final response only after verifying ALL criteria are satisfied.
|
|
277
219
|
|
|
278
|
-
##
|
|
220
|
+
## On Completion
|
|
279
221
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
```
|
|
222
|
+
1. Verify outputs are created
|
|
223
|
+
2. Inform user: "Step 2/4 complete, outputs: job_schema.py, adapters.py"
|
|
224
|
+
3. **Continue workflow**: Use Skill tool to invoke `/add_platform.implement`
|
|
284
225
|
|
|
285
226
|
---
|
|
286
227
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
- Job definition: `.deepwork/jobs/add_platform/job.yml`
|
|
290
|
-
- Step instructions: `.deepwork/jobs/add_platform/steps/add_capabilities.md`
|
|
228
|
+
**Reference files**: `.deepwork/jobs/add_platform/job.yml`, `.deepwork/jobs/add_platform/steps/add_capabilities.md`
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: add_platform.implement
|
|
3
|
+
description: "Add platform adapter, templates, tests with 100% coverage, and README documentation"
|
|
4
|
+
user-invocable: false
|
|
3
5
|
hooks:
|
|
4
6
|
Stop:
|
|
5
7
|
- hooks:
|
|
@@ -7,10 +9,6 @@ hooks:
|
|
|
7
9
|
command: ".deepwork/jobs/add_platform/hooks/run_tests.sh"
|
|
8
10
|
- type: prompt
|
|
9
11
|
prompt: |
|
|
10
|
-
You must evaluate whether Claude has met all the below quality criteria for the request.
|
|
11
|
-
|
|
12
|
-
## Quality Criteria
|
|
13
|
-
|
|
14
12
|
Verify the implementation meets ALL criteria:
|
|
15
13
|
1. Platform adapter class is added to src/deepwork/adapters.py
|
|
16
14
|
2. Templates exist in src/deepwork/templates/<platform>/ with appropriate command structure
|
|
@@ -24,55 +22,24 @@ hooks:
|
|
|
24
22
|
|
|
25
23
|
If ALL criteria are met, include `<promise>✓ Quality Criteria Met</promise>`.
|
|
26
24
|
|
|
27
|
-
|
|
28
|
-
## Instructions
|
|
29
|
-
|
|
30
|
-
Review the conversation and determine if ALL quality criteria above have been satisfied.
|
|
31
|
-
Look for evidence that each criterion has been addressed.
|
|
32
|
-
|
|
33
|
-
If the agent has included `<promise>✓ Quality Criteria Met</promise>` in their response AND
|
|
34
|
-
all criteria appear to be met, respond with: {"ok": true}
|
|
35
|
-
|
|
36
|
-
If criteria are NOT met AND the promise tag is missing, respond with:
|
|
37
|
-
{"ok": false, "reason": "Continue working. [specific feedback on what's wrong]"}
|
|
38
25
|
---
|
|
39
26
|
|
|
40
27
|
# add_platform.implement
|
|
41
28
|
|
|
42
|
-
**Step 3
|
|
43
|
-
|
|
44
|
-
**Summary**: Add a new AI platform to DeepWork with adapter, templates, and tests
|
|
45
|
-
|
|
46
|
-
## Job Overview
|
|
47
|
-
|
|
48
|
-
A workflow for adding support for a new AI platform (like Cursor, Windsurf, etc.) to DeepWork.
|
|
49
|
-
|
|
50
|
-
This job guides you through four phases:
|
|
51
|
-
1. **Research**: Capture the platform's CLI configuration and hooks system documentation
|
|
52
|
-
2. **Add Capabilities**: Update the job schema and adapters with any new hook events
|
|
53
|
-
3. **Implement**: Create the platform adapter, templates, tests (100% coverage), and README updates
|
|
54
|
-
4. **Verify**: Ensure installation works correctly and produces expected files
|
|
55
|
-
|
|
56
|
-
The workflow ensures consistency across all supported platforms and maintains
|
|
57
|
-
comprehensive test coverage for new functionality.
|
|
58
|
-
|
|
59
|
-
**Important Notes**:
|
|
60
|
-
- Only hooks available on slash command definitions should be captured
|
|
61
|
-
- Each existing adapter must be updated when new hooks are added (typically with null values)
|
|
62
|
-
- Tests must achieve 100% coverage for any new functionality
|
|
63
|
-
- Installation verification confirms the platform integrates correctly with existing jobs
|
|
29
|
+
**Step 3/4** in **add_platform** workflow
|
|
64
30
|
|
|
31
|
+
> Add a new AI platform to DeepWork with adapter, templates, and tests
|
|
65
32
|
|
|
66
|
-
## Prerequisites
|
|
33
|
+
## Prerequisites (Verify First)
|
|
67
34
|
|
|
68
|
-
|
|
35
|
+
Before proceeding, confirm these steps are complete:
|
|
69
36
|
- `/add_platform.research`
|
|
70
37
|
- `/add_platform.add_capabilities`
|
|
71
38
|
|
|
72
|
-
Please ensure these steps have been completed before proceeding.
|
|
73
|
-
|
|
74
39
|
## Instructions
|
|
75
40
|
|
|
41
|
+
**Goal**: Add platform adapter, templates, tests with 100% coverage, and README documentation
|
|
42
|
+
|
|
76
43
|
# Implement Platform Support
|
|
77
44
|
|
|
78
45
|
## Objective
|
|
@@ -301,93 +268,60 @@ The templates use Jinja2 and should produce files that match exactly what the pl
|
|
|
301
268
|
- Template syntax errors often show up at runtime - test early
|
|
302
269
|
|
|
303
270
|
|
|
304
|
-
|
|
305
|
-
|
|
271
|
+
### Job Context
|
|
306
272
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
This step requires the following files from previous steps:
|
|
310
|
-
- `job_schema.py` (from step `add_capabilities`)
|
|
311
|
-
- `adapters.py` (from step `add_capabilities`)
|
|
312
|
-
- `cli_configuration.md` (from step `research`)
|
|
313
|
-
|
|
314
|
-
Make sure to read and use these files as context for this step.
|
|
315
|
-
|
|
316
|
-
## Work Branch Management
|
|
317
|
-
|
|
318
|
-
All work for this job should be done on a dedicated work branch:
|
|
319
|
-
|
|
320
|
-
1. **Check current branch**:
|
|
321
|
-
- If already on a work branch for this job (format: `deepwork/add_platform-[instance]-[date]`), continue using it
|
|
322
|
-
- If on main/master, create a new work branch
|
|
323
|
-
|
|
324
|
-
2. **Create work branch** (if needed):
|
|
325
|
-
```bash
|
|
326
|
-
git checkout -b deepwork/add_platform-[instance]-$(date +%Y%m%d)
|
|
327
|
-
```
|
|
328
|
-
Replace `[instance]` with a descriptive identifier (e.g., `acme`, `q1-launch`, etc.)
|
|
273
|
+
A workflow for adding support for a new AI platform (like Cursor, Windsurf, etc.) to DeepWork.
|
|
329
274
|
|
|
330
|
-
|
|
275
|
+
This job guides you through four phases:
|
|
276
|
+
1. **Research**: Capture the platform's CLI configuration and hooks system documentation
|
|
277
|
+
2. **Add Capabilities**: Update the job schema and adapters with any new hook events
|
|
278
|
+
3. **Implement**: Create the platform adapter, templates, tests (100% coverage), and README updates
|
|
279
|
+
4. **Verify**: Ensure installation works correctly and produces expected files
|
|
331
280
|
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
Ensure all outputs are:
|
|
335
|
-
- Well-formatted and complete
|
|
336
|
-
- Ready for review or use by subsequent steps
|
|
281
|
+
The workflow ensures consistency across all supported platforms and maintains
|
|
282
|
+
comprehensive test coverage for new functionality.
|
|
337
283
|
|
|
338
|
-
|
|
284
|
+
**Important Notes**:
|
|
285
|
+
- Only hooks available on slash command definitions should be captured
|
|
286
|
+
- Each existing adapter must be updated when new hooks are added (typically with null values)
|
|
287
|
+
- Tests must achieve 100% coverage for any new functionality
|
|
288
|
+
- Installation verification confirms the platform integrates correctly with existing jobs
|
|
339
289
|
|
|
340
|
-
This step uses an iterative quality validation loop. After completing your work, stop hook(s) will evaluate whether the outputs meet quality criteria. If criteria are not met, you will be prompted to continue refining.
|
|
341
290
|
|
|
342
|
-
|
|
291
|
+
## Required Inputs
|
|
343
292
|
|
|
344
|
-
The validation script will be executed automatically when you attempt to complete this step.
|
|
345
|
-
### Quality Criteria (2)
|
|
346
|
-
Verify the implementation meets ALL criteria:
|
|
347
|
-
1. Platform adapter class is added to src/deepwork/adapters.py
|
|
348
|
-
2. Templates exist in src/deepwork/templates/<platform>/ with appropriate command structure
|
|
349
|
-
3. Tests exist for all new functionality
|
|
350
|
-
4. Test coverage is 100% for new code (run: uv run pytest --cov)
|
|
351
|
-
5. All tests pass
|
|
352
|
-
6. README.md is updated with:
|
|
353
|
-
- New platform listed in supported platforms
|
|
354
|
-
- Installation instructions for the platform
|
|
355
|
-
- Any platform-specific notes
|
|
356
293
|
|
|
357
|
-
|
|
294
|
+
**Files from Previous Steps** - Read these first:
|
|
295
|
+
- `job_schema.py` (from `add_capabilities`)
|
|
296
|
+
- `adapters.py` (from `add_capabilities`)
|
|
297
|
+
- `cli_configuration.md` (from `research`)
|
|
358
298
|
|
|
299
|
+
## Work Branch
|
|
359
300
|
|
|
360
|
-
|
|
301
|
+
Use branch format: `deepwork/add_platform-[instance]-YYYYMMDD`
|
|
361
302
|
|
|
362
|
-
|
|
303
|
+
- If on a matching work branch: continue using it
|
|
304
|
+
- If on main/master: create new branch with `git checkout -b deepwork/add_platform-[instance]-$(date +%Y%m%d)`
|
|
363
305
|
|
|
364
|
-
|
|
365
|
-
<promise>✓ Quality Criteria Met</promise>
|
|
366
|
-
```
|
|
306
|
+
## Outputs
|
|
367
307
|
|
|
368
|
-
**
|
|
308
|
+
**Required outputs**:
|
|
309
|
+
- `templates/` (directory)- `tests/` (directory)- `README.md`
|
|
310
|
+
## Quality Validation
|
|
369
311
|
|
|
370
|
-
|
|
312
|
+
Stop hooks will automatically validate your work. The loop continues until all criteria pass.
|
|
371
313
|
|
|
372
|
-
After completing this step:
|
|
373
314
|
|
|
374
|
-
|
|
315
|
+
**Validation script**: `.deepwork/jobs/add_platform/hooks/run_tests.sh` (runs automatically)
|
|
375
316
|
|
|
376
|
-
|
|
377
|
-
- Step 3 of 4 is complete
|
|
378
|
-
- Outputs created: templates/, tests/, README.md
|
|
379
|
-
- Ready to proceed to next step: `/add_platform.verify`
|
|
317
|
+
**To complete**: Include `<promise>✓ Quality Criteria Met</promise>` in your final response only after verifying ALL criteria are satisfied.
|
|
380
318
|
|
|
381
|
-
##
|
|
319
|
+
## On Completion
|
|
382
320
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
```
|
|
321
|
+
1. Verify outputs are created
|
|
322
|
+
2. Inform user: "Step 3/4 complete, outputs: templates/, tests/, README.md"
|
|
323
|
+
3. **Continue workflow**: Use Skill tool to invoke `/add_platform.verify`
|
|
387
324
|
|
|
388
325
|
---
|
|
389
326
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
- Job definition: `.deepwork/jobs/add_platform/job.yml`
|
|
393
|
-
- Step instructions: `.deepwork/jobs/add_platform/steps/implement.md`
|
|
327
|
+
**Reference files**: `.deepwork/jobs/add_platform/job.yml`, `.deepwork/jobs/add_platform/steps/implement.md`
|