deepwork 0.1.0__py3-none-any.whl → 0.2.0__py3-none-any.whl

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.
Files changed (31) hide show
  1. deepwork/cli/install.py +48 -0
  2. deepwork/cli/sync.py +9 -0
  3. deepwork/core/adapters.py +17 -0
  4. deepwork/core/policy_parser.py +10 -0
  5. deepwork/hooks/evaluate_policies.py +237 -20
  6. deepwork/schemas/policy_schema.py +10 -0
  7. deepwork/standard_jobs/deepwork_jobs/AGENTS.md +60 -0
  8. deepwork/standard_jobs/deepwork_jobs/job.yml +30 -22
  9. deepwork/standard_jobs/deepwork_jobs/make_new_job.sh +134 -0
  10. deepwork/standard_jobs/deepwork_jobs/steps/define.md +26 -57
  11. deepwork/standard_jobs/deepwork_jobs/steps/implement.md +43 -242
  12. deepwork/standard_jobs/deepwork_jobs/steps/learn.md +288 -0
  13. deepwork/standard_jobs/deepwork_jobs/steps/supplemental_file_references.md +40 -0
  14. deepwork/standard_jobs/deepwork_jobs/templates/agents.md.template +32 -0
  15. deepwork/standard_jobs/deepwork_jobs/templates/job.yml.example +73 -0
  16. deepwork/standard_jobs/deepwork_jobs/templates/job.yml.template +56 -0
  17. deepwork/standard_jobs/deepwork_jobs/templates/step_instruction.md.example +82 -0
  18. deepwork/standard_jobs/deepwork_jobs/templates/step_instruction.md.template +58 -0
  19. deepwork/standard_jobs/deepwork_policy/hooks/{capture_work_tree.sh → capture_prompt_work_tree.sh} +3 -2
  20. deepwork/standard_jobs/deepwork_policy/hooks/policy_stop_hook.sh +3 -19
  21. deepwork/standard_jobs/deepwork_policy/hooks/user_prompt_submit.sh +5 -6
  22. deepwork/standard_jobs/deepwork_policy/steps/define.md +22 -1
  23. deepwork/templates/default_policy.yml +53 -0
  24. {deepwork-0.1.0.dist-info → deepwork-0.2.0.dist-info}/METADATA +52 -128
  25. deepwork-0.2.0.dist-info/RECORD +49 -0
  26. deepwork/standard_jobs/deepwork_jobs/steps/refine.md +0 -447
  27. deepwork/standard_jobs/deepwork_policy/hooks/get_changed_files.sh +0 -30
  28. deepwork-0.1.0.dist-info/RECORD +0 -41
  29. {deepwork-0.1.0.dist-info → deepwork-0.2.0.dist-info}/WHEEL +0 -0
  30. {deepwork-0.1.0.dist-info → deepwork-0.2.0.dist-info}/entry_points.txt +0 -0
  31. {deepwork-0.1.0.dist-info → deepwork-0.2.0.dist-info}/licenses/LICENSE.md +0 -0
@@ -2,16 +2,13 @@
2
2
  # policy_stop_hook.sh - Evaluates policies when the agent stops
3
3
  #
4
4
  # This script is called as a Claude Code Stop hook. It:
5
- # 1. Gets the list of files changed during the session
6
- # 2. Evaluates policies from .deepwork.policy.yml
5
+ # 1. Evaluates policies from .deepwork.policy.yml
6
+ # 2. Computes changed files based on each policy's compare_to setting
7
7
  # 3. Checks for <promise> tags in the conversation transcript
8
8
  # 4. Returns JSON to block stop if policies need attention
9
- # 5. Resets the work tree baseline for the next iteration
10
9
 
11
10
  set -e
12
11
 
13
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
14
-
15
12
  # Check if policy file exists
16
13
  if [ ! -f .deepwork.policy.yml ]; then
17
14
  # No policies defined, nothing to do
@@ -31,16 +28,6 @@ if [ -n "${HOOK_INPUT}" ]; then
31
28
  TRANSCRIPT_PATH=$(echo "${HOOK_INPUT}" | jq -r '.transcript_path // empty' 2>/dev/null || echo "")
32
29
  fi
33
30
 
34
- # Get changed files
35
- changed_files=$("${SCRIPT_DIR}/get_changed_files.sh" 2>/dev/null || echo "")
36
-
37
- # If no files changed, nothing to evaluate
38
- if [ -z "${changed_files}" ]; then
39
- # Reset baseline for next iteration
40
- "${SCRIPT_DIR}/capture_work_tree.sh" 2>/dev/null || true
41
- exit 0
42
- fi
43
-
44
31
  # Extract conversation text from the JSONL transcript
45
32
  # The transcript is JSONL format - each line is a JSON object
46
33
  # We need to extract the text content from assistant messages
@@ -57,16 +44,13 @@ fi
57
44
  # Call the Python evaluator
58
45
  # The Python module handles:
59
46
  # - Parsing the policy file
47
+ # - Computing changed files based on each policy's compare_to setting
60
48
  # - Matching changed files against triggers/safety patterns
61
49
  # - Checking for promise tags in the conversation context
62
50
  # - Generating appropriate JSON output
63
51
  result=$(echo "${conversation_context}" | python -m deepwork.hooks.evaluate_policies \
64
52
  --policy-file .deepwork.policy.yml \
65
- --changed-files "${changed_files}" \
66
53
  2>/dev/null || echo '{}')
67
54
 
68
- # Reset the work tree baseline for the next iteration
69
- "${SCRIPT_DIR}/capture_work_tree.sh" 2>/dev/null || true
70
-
71
55
  # Output the result (JSON for Claude Code hooks)
72
56
  echo "${result}"
@@ -1,17 +1,16 @@
1
1
  #!/bin/bash
2
2
  # user_prompt_submit.sh - Runs on every user prompt submission
3
3
  #
4
- # This script captures the work tree baseline if it doesn't exist yet.
5
- # This ensures we have a baseline to compare against when evaluating policies.
4
+ # This script captures the work tree state at each prompt submission.
5
+ # This baseline is used for policies with compare_to: prompt to detect
6
+ # what changed during an agent response.
6
7
 
7
8
  set -e
8
9
 
9
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
10
11
 
11
- # Only capture if no baseline exists yet (first prompt of session)
12
- if [ ! -f .deepwork/.last_work_tree ]; then
13
- "${SCRIPT_DIR}/capture_work_tree.sh"
14
- fi
12
+ # Capture work tree state at each prompt for compare_to: prompt policies
13
+ "${SCRIPT_DIR}/capture_prompt_work_tree.sh"
15
14
 
16
15
  # Exit successfully - don't block the prompt
17
16
  exit 0
@@ -56,6 +56,22 @@ If there are files that, when also changed, mean the policy shouldn't fire:
56
56
  - Trigger: `src/auth/**/*`
57
57
  - Safety: `SECURITY.md`, `docs/security_review.md`
58
58
 
59
+ ### Step 3b: Choose the Comparison Mode (Optional)
60
+
61
+ The `compare_to` field controls what baseline is used when detecting "changed files":
62
+
63
+ **Options:**
64
+ - `base` (default) - Compares to the base of the current branch (merge-base with main/master). This is the most common choice for feature branches, as it shows all changes made on the branch.
65
+ - `default_tip` - Compares to the current tip of the default branch (main/master). Useful when you want to see the difference from what's currently in production.
66
+ - `prompt` - Compares to the state at the start of each prompt. Useful for policies that should only fire based on changes made during a single agent response.
67
+
68
+ **When to use each:**
69
+ - **base**: Best for most policies. "Did this branch change config files?" → trigger docs review
70
+ - **default_tip**: For policies about what's different from production/main
71
+ - **prompt**: For policies that should only consider very recent changes within the current session
72
+
73
+ Most policies should use the default (`base`) and don't need to specify `compare_to`.
74
+
59
75
  ### Step 4: Write the Instructions
60
76
 
61
77
  Create clear, actionable instructions for what the agent should do when the policy fires.
@@ -86,6 +102,7 @@ Create or update `.deepwork.policy.yml` in the project root.
86
102
  - name: "[Friendly name for the policy]"
87
103
  trigger: "[glob pattern]" # or array: ["pattern1", "pattern2"]
88
104
  safety: "[glob pattern]" # optional, or array
105
+ compare_to: "base" # optional: "base" (default), "default_tip", or "prompt"
89
106
  instructions: |
90
107
  [Multi-line instructions for the agent...]
91
108
  ```
@@ -95,6 +112,7 @@ Create or update `.deepwork.policy.yml` in the project root.
95
112
  - name: "[Friendly name for the policy]"
96
113
  trigger: "[glob pattern]"
97
114
  safety: "[glob pattern]"
115
+ compare_to: "base" # optional
98
116
  instructions_file: "path/to/instructions.md"
99
117
  ```
100
118
 
@@ -166,7 +184,10 @@ Create or update this file at the project root with the new policy entry.
166
184
  ## Context
167
185
 
168
186
  Policies are evaluated automatically when you finish working on a task. The system:
169
- 1. Tracks which files you changed during the session
187
+ 1. Determines which files have changed based on each policy's `compare_to` setting:
188
+ - `base` (default): Files changed since the branch diverged from main/master
189
+ - `default_tip`: Files different from the current main/master branch
190
+ - `prompt`: Files changed since the last prompt submission
170
191
  2. Checks if any changes match policy trigger patterns
171
192
  3. Skips policies where safety patterns also matched
172
193
  4. Prompts you with instructions for any triggered policies
@@ -0,0 +1,53 @@
1
+ # DeepWork Policy Configuration
2
+ #
3
+ # Policies are automated guardrails that trigger when specific files change.
4
+ # They help ensure documentation stays current, security reviews happen, etc.
5
+ #
6
+ # Use /deepwork_policy.define to create new policies interactively.
7
+ #
8
+ # Format:
9
+ # - name: "Friendly name for the policy"
10
+ # trigger: "glob/pattern/**/*" # or array: ["pattern1", "pattern2"]
11
+ # safety: "pattern/**/*" # optional - if these also changed, skip the policy
12
+ # compare_to: "base" # optional: "base" (default), "default_tip", or "prompt"
13
+ # instructions: |
14
+ # Multi-line instructions for the AI agent...
15
+ #
16
+ # Example policies (uncomment and customize):
17
+ #
18
+ # - name: "README Documentation"
19
+ # trigger: "src/**/*"
20
+ # safety: "README.md"
21
+ # instructions: |
22
+ # Source code has been modified. Please review README.md for accuracy:
23
+ # 1. Verify the project overview reflects current functionality
24
+ # 2. Check that usage examples are still correct
25
+ # 3. Ensure installation/setup instructions remain valid
26
+ #
27
+ # - name: "API Documentation Sync"
28
+ # trigger: "src/api/**/*"
29
+ # safety: "docs/api/**/*.md"
30
+ # instructions: |
31
+ # API code has changed. Please verify that API documentation is up to date:
32
+ # - New or changed endpoints
33
+ # - Modified request/response schemas
34
+ # - Updated authentication requirements
35
+ #
36
+ # - name: "Security Review for Auth Changes"
37
+ # trigger:
38
+ # - "src/auth/**/*"
39
+ # - "src/security/**/*"
40
+ # instructions: |
41
+ # Authentication or security code has been changed. Please:
42
+ # 1. Review for hardcoded credentials or secrets
43
+ # 2. Check input validation on user inputs
44
+ # 3. Verify access control logic is correct
45
+ #
46
+ # - name: "Test Coverage for New Code"
47
+ # trigger: "src/**/*.py"
48
+ # safety: "tests/**/*.py"
49
+ # instructions: |
50
+ # New source code was added. Please ensure appropriate test coverage:
51
+ # 1. Add unit tests for new functions/methods
52
+ # 2. Update integration tests if behavior changed
53
+ # 3. Verify all new code paths are tested
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepwork
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: Framework for enabling AI agents to perform complex, multi-step work tasks
5
5
  Project-URL: Homepage, https://github.com/deepwork/deepwork
6
6
  Project-URL: Documentation, https://github.com/deepwork/deepwork#readme
@@ -50,7 +50,19 @@ DeepWork is a tool for defining and executing multi-step workflows with AI codin
50
50
  | OpenCode | Planned | Markdown | No |
51
51
  | GitHub Copilot CLI | Planned | Markdown | No (tool permissions only) |
52
52
 
53
- ## Installation
53
+ > **Tip:** New to DeepWork? Claude Code has the most complete feature support, including quality validation hooks and automated policies. For browser automation, Claude in Chrome (Anthropic's browser extension) works well with DeepWork workflows.
54
+
55
+ ## Easy Installation
56
+ In your Agent CLI (ex. `claude`), ask:
57
+
58
+ ```
59
+ Please fully install https://pypi.org/project/deepwork/ and make sure you see the new commands.
60
+ ```
61
+
62
+ ## Installation Details
63
+
64
+
65
+ **Agents**: - be sure to perform all the steps, not just the package install.
54
66
 
55
67
  ### Prerequisites
56
68
 
@@ -61,45 +73,34 @@ DeepWork is a tool for defining and executing multi-step workflows with AI codin
61
73
  ### Install DeepWork
62
74
 
63
75
  ```bash
64
- # Using uv (recommended)
65
- uv pip install -e .
76
+ # Using pipx (recommended - isolated environment)
77
+ pipx install deepwork
78
+
79
+ # Or using uv
80
+ uv tool install deepwork
66
81
 
67
82
  # Or using pip
68
- pip install -e .
83
+ pip install deepwork
69
84
  ```
70
85
 
71
86
  ### Install in Your Project
72
-
73
- #### Claude Code
74
-
75
87
  ```bash
76
88
  cd your-project/
77
89
  deepwork install --platform claude
78
- ```
79
90
 
80
- #### Gemini CLI
81
-
82
- ```bash
83
- cd your-project/
91
+ # Or Gemini CLI, etc.
84
92
  deepwork install --platform gemini
85
93
  ```
86
94
 
87
- **Gemini CLI Notes**:
88
- - Commands are generated as TOML files in `.gemini/commands/`
89
- - Commands use colon (`:`) namespacing: `/job_name:step_id`
90
- - Gemini CLI does not support command-level hooks; quality validation is embedded in prompts
91
- - See [Gemini CLI documentation](https://geminicli.com/docs/) for more details
92
-
93
95
  This will:
94
96
  - Create `.deepwork/` directory structure
95
97
  - Generate core DeepWork jobs
96
98
  - Install DeepWork jobs for your AI assistant
97
99
  - Configure hooks for your AI assistant to enable policies
100
+ - Create a `.deepwork.policy.yml` template file with example policies
98
101
 
99
102
  ## Quick Start
100
103
 
101
-
102
-
103
104
  ### 1. Define a Job
104
105
  Jobs are multi-step workflows where each Step has clear input and output artifacts, making them easier to manage effectively.
105
106
 
@@ -228,50 +229,10 @@ your-project/
228
229
 
229
230
  **Note**: Work outputs are created on dedicated Git branches (e.g., `deepwork/job_name-instance-date`), not in a separate directory.
230
231
 
231
- ## Development
232
-
233
- ### Setup Development Environment
234
-
235
- ```bash
236
- # Using Nix (recommended)
237
- nix-shell
238
-
239
- # Or manually
240
- uv sync
241
- ```
242
-
243
- ### Run Tests
244
-
245
- ```bash
246
- # All tests
247
- uv run pytest tests/ -v
248
-
249
- # Unit tests only
250
- uv run pytest tests/unit/ -v
251
-
252
- # Integration tests only
253
- uv run pytest tests/integration/ -v
254
-
255
- # With coverage
256
- uv run pytest tests/ --cov=deepwork --cov-report=html
257
- ```
258
-
259
- ### Code Quality
260
-
261
- ```bash
262
- # Linting
263
- ruff check src/
264
-
265
- # Type checking
266
- mypy src/
267
-
268
- # Format code
269
- ruff format src/
270
- ```
271
-
272
232
  ## Documentation
273
233
 
274
234
  - **[Architecture](doc/architecture.md)**: Complete design specification
235
+ - **[Contributing](CONTRIBUTING.md)**: Setup development environment and contribute
275
236
 
276
237
  ## Project Structure
277
238
 
@@ -297,74 +258,42 @@ deepwork/
297
258
 
298
259
  ## Features
299
260
 
300
- ### Job Definition
301
-
302
- - **Declarative YAML**: Define workflows in simple, readable YAML
303
- - **JSON Schema Validation**: Automatic validation of job structure
304
- - **Dependency Management**: Explicit dependencies with cycle detection
305
- - **File & User Inputs**: Support for both user parameters and file outputs from previous steps
306
-
307
- ### Skill Generation
308
-
309
- - **Template-Based**: Jinja2 templates for consistent skill generation
310
- - **Context-Aware**: Skills include all necessary context (instructions, inputs, dependencies)
311
- - **Multi-Platform**: Generate skills for different AI platforms
312
-
313
- ### Git Integration
314
-
315
- - **Work Branches**: Automatic work branch creation and management
316
- - **Namespace Isolation**: Multiple concurrent job instances supported
317
- - **Version Control**: All outputs tracked in Git
318
-
319
- ### Policies
320
-
321
- Policies automatically enforce team guidelines when files change:
322
-
261
+ ### 📋 Job Definition
262
+ Define structured, multi-step workflows where each step has clear requirements and produces specific results.
263
+ - **Dependency Management**: Explicitly link steps with automatic sequence handling and cycle detection.
264
+ - **Artifact Passing**: Seamlessly use file outputs from one step as inputs for future steps.
265
+ - **Dynamic Inputs**: Support for both fixed file references and interactive user parameters.
266
+ - **Human-Readable YAML**: Simple, declarative job definitions that are easy to version and maintain.
267
+
268
+ ### 🌿 Git-Native Workflow
269
+ Maintain a clean repository with automatic branch management and isolation.
270
+ - **Automatic Branching**: Every job execution happens on a dedicated work branch (e.g., `deepwork/my-job-2024`).
271
+ - **Namespace Isolation**: Run multiple concurrent jobs or instances without versioning conflicts.
272
+ - **Full Traceability**: All AI-generated changes, logs, and artifacts are tracked natively in your Git history.
273
+
274
+ ### 🛡️ Automated Policies
275
+ Enforce project standards and best practices without manual oversight. Policies monitor file changes and automatically prompt your AI assistant to follow specific guidelines when relevant code is modified.
276
+ - **Automatic Triggers**: Detect when specific files or directories are changed to fire relevant policies.
277
+ - **Contextual Guidance**: Instructions are injected directly into the AI's workflow at the right moment.
278
+ - **Common Use Cases**: Keep documentation in sync, enforce security reviews, or automate changelog updates.
279
+
280
+ **Example Policy**:
323
281
  ```yaml
324
- # .deepwork.policy.yml
282
+ # Enforce documentation updates when config changes
325
283
  - name: "Update docs on config changes"
326
284
  trigger: "app/config/**/*"
327
- safety: "docs/install_guide.md"
328
- instructions: |
329
- Configuration files changed. Please update docs/install_guide.md
330
- if installation instructions need to change.
331
- ```
332
-
333
- **How it works**:
334
- 1. When you start a Claude Code session, the baseline git state is captured
335
- 2. When the agent finishes, changed files are compared against policy triggers
336
- 3. If policies fire (trigger matches, no safety match), Claude is prompted to address them
337
- 4. Use `<promise>✓ Policy Name</promise>` to mark policies as handled
338
-
339
- **Use cases**:
340
- - Keep documentation in sync with code changes
341
- - Require security review for auth code modifications
342
- - Enforce changelog updates for API changes
343
-
344
- Define policies interactively:
345
- ```
346
- /deepwork_policy.define
285
+ instructions: "Configuration files changed. Please update docs/install_guide.md."
347
286
  ```
348
287
 
349
- ## Roadmap
350
-
351
- ### Phase 2: Runtime Enhancements (Planned)
352
-
353
- - Job execution tracking
354
- - Automatic skill invocation
355
- - Progress visualization
356
- - Error recovery
357
-
358
- ### Phase 3: Advanced Features (Planned)
359
-
360
- - Job templates and marketplace
361
- - Parallel step execution
362
- - External tool integration
363
- - Web UI for job management
288
+ ### 🚀 Multi-Platform Support
289
+ Generate native commands and skills tailored for your AI coding assistant.
290
+ - **Native Integration**: Works directly with the skill/command formats of supported agents.
291
+ - **Context-Aware**: Skills include all necessary context (instructions, inputs, and dependencies) for the AI.
292
+ - **Expanding Ecosystem**: Currently supports **Claude Code** and **Gemini CLI**, with more platforms planned.
364
293
 
365
294
  ## Contributing
366
295
 
367
- DeepWork is currently in MVP phase. Contributions welcome!
296
+ DeepWork is currently in MVP phase. Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for the full development guide.
368
297
 
369
298
  ## License
370
299
 
@@ -375,15 +304,10 @@ DeepWork is licensed under the Business Source License 1.1 (BSL 1.1). See [LICEN
375
304
  - **Free for non-competing use**: You can use DeepWork freely for internal workflow automation, education, research, and development
376
305
  - **Change Date**: On January 14, 2030, the license will automatically convert to Apache License 2.0
377
306
  - **Prohibited Uses**: You cannot use DeepWork to build products that compete with DeepWork or Unsupervised.com, Inc. in workflow automation or data analysis
378
- - **Contributing**: Contributors must sign our [Contributor License Agreement (CLA)](CLA.md)
307
+ - **Contributing**: Contributors must sign our [Contributor License Agreement (CLA)](CLA/version_1/CLA.md)
379
308
 
380
309
  For commercial use or questions about licensing, please contact legal@unsupervised.com
381
310
 
382
311
  ## Credits
383
312
 
384
313
  - Inspired by [GitHub's spec-kit](https://github.com/github/spec-kit)
385
- - Built for [Claude Code](https://claude.com/claude-code)
386
-
387
- ---
388
-
389
- **Built with Claude Code** 🤖
@@ -0,0 +1,49 @@
1
+ deepwork/__init__.py,sha256=vcMnJioxhfoL6kGh4FM51Vk9UoLnQ76g6Ms7XDUItYA,748
2
+ deepwork/cli/__init__.py,sha256=3SqmfcP2xqutiCYAbajFDJTjr2pOLydqTN0NN-FTsIE,33
3
+ deepwork/cli/install.py,sha256=EnsegIjj-ZYkXMGER0iJXHuN2vVzFhzDUbNLL0ZU5bk,11366
4
+ deepwork/cli/main.py,sha256=m6tVnfSy03azI9Ky6ySEMat_UdLEMzVT3SsRKQWigvA,471
5
+ deepwork/cli/sync.py,sha256=lGgT9Tz_vPQx4z4Bkqk5LfkcT2hTn9nPvdWJVSeKhmM,6303
6
+ deepwork/core/__init__.py,sha256=1g869QuwsYzNjQONneng2OMc6HKt-tlBCaxJbMMfoho,36
7
+ deepwork/core/adapters.py,sha256=wvK4_dSPzRppk7tXuHWIqftqFllYwR-h5YWFZjwcxbY,12908
8
+ deepwork/core/detector.py,sha256=PThpFLH-ZVL8UqjVdGSnGA0mFbhc6_rp6V3_Yzw97kI,2466
9
+ deepwork/core/generator.py,sha256=jMd0uTcym_zozksL3NAHIklaiMNotOvoUsqm-xA_pr0,9935
10
+ deepwork/core/hooks_syncer.py,sha256=GY4XI4VaQLucuU_zPHsDmEUCfgStHIsD558qpWan2bs,5817
11
+ deepwork/core/parser.py,sha256=y1YnOrbKtQEtpv-kPTJHE_A7M3MGaUZhrE59RFcp778,9573
12
+ deepwork/core/policy_parser.py,sha256=wLte32h_uUaJPNTuH2p4pL-EYg1ntSymEdArX-x7GcU,9384
13
+ deepwork/hooks/__init__.py,sha256=dEadpnlsP9ZOGHuyvXxhCb84q9ogmSQH7gL_hQp3q7Y,74
14
+ deepwork/hooks/evaluate_policies.py,sha256=hGi6lDcldGj7MYoUqViB9ObtTRrUHJvkjJeNJbl5lmI,11482
15
+ deepwork/schemas/__init__.py,sha256=PpydKb_oaTv8lYapN_nV-Tl_OUCoSM_okvsEJ8gNTpI,41
16
+ deepwork/schemas/job_schema.py,sha256=MpcUsk2pH7y-uNANFTeNlTDwyKwALAAf57VmJeK-JwE,8755
17
+ deepwork/schemas/policy_schema.py,sha256=Y6P3YkiEza-W8WwqjTBinNCPreCgMz2OUShmVGx4OBo,3099
18
+ deepwork/standard_jobs/deepwork_jobs/AGENTS.md,sha256=Y6I4jZ8DfN0RFY3UF5bgQRZvL7wQD9P0lgE7EZM6CGI,2252
19
+ deepwork/standard_jobs/deepwork_jobs/job.yml,sha256=aY2V-ReMuZ2VxqVT14H1euX_cB9ZvWibAzO81oXI-o8,5924
20
+ deepwork/standard_jobs/deepwork_jobs/make_new_job.sh,sha256=JArfFU9lEaJPRsXRL3rU1IMt2p6Bq0s2C9f98aJ7Mxg,3878
21
+ deepwork/standard_jobs/deepwork_jobs/steps/define.md,sha256=6CYM7LB1Vx7tD76QP65s2wdTCcPk15ZVFLx6TZndbyg,12819
22
+ deepwork/standard_jobs/deepwork_jobs/steps/implement.md,sha256=Wh7ZJGNSyejSgICPFzhbTBaH2bF288YGWqkhKQEmyH4,10313
23
+ deepwork/standard_jobs/deepwork_jobs/steps/learn.md,sha256=yyB6ManHblOOxEM_Odbx0tvPVFVwqlmnwxiC7lZ7txU,10185
24
+ deepwork/standard_jobs/deepwork_jobs/steps/supplemental_file_references.md,sha256=uKDEwB3TxMLK-Zim3QQfkvaW5W6AVWHjWnH25aY6wCw,1478
25
+ deepwork/standard_jobs/deepwork_jobs/templates/agents.md.template,sha256=SUJL862C6-DnT9lK3sNIZ5T2wVgXN4YRph4FrKtFnLo,739
26
+ deepwork/standard_jobs/deepwork_jobs/templates/job.yml.example,sha256=roRi6sIGFGmPCkoVW26HfuTBjAO8-pPsxI5-Gfg3rc0,2361
27
+ deepwork/standard_jobs/deepwork_jobs/templates/job.yml.template,sha256=3I-VQvqXVJNZ_Vb5Ik28JsrEbGKbyLTZcuKxdEmV5s0,1789
28
+ deepwork/standard_jobs/deepwork_jobs/templates/step_instruction.md.example,sha256=HXcjVaQz2HsDiA4ClnIeLvysVOGrFJ_5Tr-pm6dhdwc,2706
29
+ deepwork/standard_jobs/deepwork_jobs/templates/step_instruction.md.template,sha256=6n9jFFuda4r549Oo-LBPKixFD3NvDl5MwEg5V7ItQBg,1286
30
+ deepwork/standard_jobs/deepwork_policy/job.yml,sha256=6pxyEiHZ7fThd4CjpkkROKXGlRqaH4odinLc-ttfork,1377
31
+ deepwork/standard_jobs/deepwork_policy/hooks/capture_prompt_work_tree.sh,sha256=D6Ozo9oDqsL7YBh-ebQK1S8ED9hfIi_0Z8khFjC6wZY,973
32
+ deepwork/standard_jobs/deepwork_policy/hooks/global_hooks.yml,sha256=AS8wzWz7Q4s7iUdhjUwjm9t91Z7QZZw3JCBH81IqKRg,166
33
+ deepwork/standard_jobs/deepwork_policy/hooks/policy_stop_hook.sh,sha256=HFLTheh3VCphhtMCKpPN4a54lrNWlrOffuC23_-QY34,2122
34
+ deepwork/standard_jobs/deepwork_policy/hooks/user_prompt_submit.sh,sha256=TxwYb7kBW-cfHmcQoruJBjCTWvdWbQVQIMplNgzMuOs,498
35
+ deepwork/standard_jobs/deepwork_policy/steps/define.md,sha256=p16fcPSc_6g4WvBzCBJ5l32Uaasp8lew5e6LaDPjpNI,7430
36
+ deepwork/templates/__init__.py,sha256=APvjx_u7eRUerw9yA_fJ1ZqCzYA-FWUCV9HCz0RgjOc,50
37
+ deepwork/templates/default_policy.yml,sha256=nOJtFzV6SPDwNvzNcDKL-679CTXq6hgIBTaxnUKSdVs,2049
38
+ deepwork/templates/claude/command-job-step.md.jinja,sha256=hrOR6WqUVJ8aX_qIptVUuGd4BAe439Dx6gMv-MeCk40,5795
39
+ deepwork/templates/gemini/command-job-step.toml.jinja,sha256=UlhljjJlwNO9D_NrG6MNZ7IKozrdjy2DkPkj9E7hKxU,4196
40
+ deepwork/utils/__init__.py,sha256=AtvE49IFI8Rg36O4cNIlzB-oxvkW3apFgXExn8GSk6s,38
41
+ deepwork/utils/fs.py,sha256=94OUvUrqGebjHVtnjd5vXL6DalKNdpRu-iAPsHvAPjI,3499
42
+ deepwork/utils/git.py,sha256=J4tAB1zE6-WMAEHbarevhmSvvPLkeKBpiRv1UxUVwYk,3748
43
+ deepwork/utils/validation.py,sha256=SyFg9fIu1JCDMbssQgJRCTUNToDNcINccn8lje-tjts,851
44
+ deepwork/utils/yaml_utils.py,sha256=X8c9yEqxEgw5CdPQ23f1Wz8SSP783MMGKyGV_2SKaNU,2454
45
+ deepwork-0.2.0.dist-info/METADATA,sha256=z00l55xdxJKzjQxc0d7m293oGNaEAnfa0gzkPOi1UGk,11216
46
+ deepwork-0.2.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
47
+ deepwork-0.2.0.dist-info/entry_points.txt,sha256=RhJBySzm619kh-yIdsAyfFXInAlY8Jm-39FLIBcOj2s,51
48
+ deepwork-0.2.0.dist-info/licenses/LICENSE.md,sha256=W0EtJVYf0cQ_awukOCW1ETwNSpV2RKqnAGfoOjyz_K8,4126
49
+ deepwork-0.2.0.dist-info/RECORD,,