Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .deepwork/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 1.0.0
version: 0.1.0
platforms:
- claude
- gemini
6 changes: 3 additions & 3 deletions .deepwork/jobs/add_platform/job.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: add_platform
version: "1.0.0"
version: "0.1.0"
summary: "Add a new AI platform to DeepWork with adapter, templates, and tests"

description: |
Expand All @@ -21,8 +21,8 @@ description: |
- Installation verification confirms the platform integrates correctly with existing jobs

changelog:
- version: "1.0.0"
changes: "Initial job creation"
- version: "0.1.0"
changes: "Initial version"

steps:
- id: research
Expand Down
12 changes: 3 additions & 9 deletions .deepwork/jobs/deepwork_jobs/job.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: deepwork_jobs
version: "1.3.0"
version: "0.1.0"
summary: "DeepWork job management commands"
description: |
Core commands for managing DeepWork jobs. These commands help you define new multi-step
Expand All @@ -13,14 +13,8 @@ description: |
to change, validating the impact, and ensuring consistency across your workflow.

changelog:
- version: "1.0.0"
changes: "Initial job creation"
- version: "1.1.0"
changes: "Added stop hooks for quality validation loops on all steps"
- version: "1.2.0"
changes: "Updated to support array of stop hooks"
- version: "1.3.0"
changes: "Added policy awareness to implement step - suggests relevant policies after job implementation"
- version: "0.1.0"
changes: "Initial version"

steps:
- id: define
Expand Down
6 changes: 3 additions & 3 deletions .deepwork/jobs/deepwork_policy/job.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: deepwork_policy
version: "1.0.0"
version: "0.1.0"
summary: "Policy enforcement for AI agent sessions"
description: |
Manages policies that automatically trigger when certain files change during an AI agent session.
Expand All @@ -19,8 +19,8 @@ description: |
- Remind developers to update changelogs

changelog:
- version: "1.0.0"
changes: "Initial policy system implementation"
- version: "0.1.0"
changes: "Initial version"

steps:
- id: define
Expand Down
107 changes: 2 additions & 105 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,111 +5,8 @@ All notable changes to DeepWork will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.0] - 2026-01-10
## [0.1.0] - Initial Release

### Added

#### Core Functionality
- Job definition parser with JSON Schema validation
- Job registry for tracking installed workflows
- Multi-platform support (Claude Code, Google Gemini, GitHub Copilot)
- Platform auto-detection
- Git integration utilities (branch management, uncommitted changes detection)
- Jinja2-based skill file generation
- YAML configuration management
- Filesystem utilities with safe operations

#### CLI
- `deepwork install` command with platform selection
- `--platform` option for explicit platform choice
- `--path` option for specifying project directory
- Rich terminal output with progress indicators
- Auto-detection of AI platforms when not specified
- Comprehensive error messages and user guidance

#### Templates
- `skill-job-step.md.jinja` - Individual step skill template
- `skill-deepwork.define.md.jinja` - Job definition wizard
- `skill-deepwork.refine.md.jinja` - Job refinement tool

#### Testing
- 147 unit tests across all modules
- 19 integration tests for full workflows
- Test fixtures for simple and complex jobs
- 100% coverage of critical paths

#### Documentation
- Complete architecture specification
- Template design review document
- Implementation status tracking
- Quick start guide
- Development setup instructions

### Technical Details

**Modules Implemented:**
- `src/deepwork/cli/` - Command-line interface
- `src/deepwork/core/parser.py` - Job definition parsing (243 lines, 23 tests)
- `src/deepwork/core/registry.py` - Job registry (222 lines, 19 tests)
- `src/deepwork/core/detector.py` - Platform detection (128 lines, 14 tests)
- `src/deepwork/core/generator.py` - Skill generation (243 lines, 13 tests)
- `src/deepwork/schemas/job_schema.py` - JSON Schema (137 lines, 10 tests)
- `src/deepwork/utils/fs.py` - Filesystem utilities (134 lines, 23 tests)
- `src/deepwork/utils/git.py` - Git operations (157 lines, 25 tests)
- `src/deepwork/utils/yaml_utils.py` - YAML utilities (82 lines, 20 tests)
- `src/deepwork/utils/validation.py` - Schema validation (31 lines)

**Dependencies:**
- Python 3.11+
- Jinja2 >= 3.1.0
- PyYAML >= 6.0
- GitPython >= 3.1.0
- click >= 8.1.0
- rich >= 13.0.0
- jsonschema >= 4.17.0

### Features

#### Job Definition
- Declarative YAML format for job definitions
- JSON Schema validation with clear error messages
- Circular dependency detection using topological sort
- Support for user parameter inputs
- Support for file inputs from previous steps
- Step dependency management
- Multiple output files per step

#### Skill Generation
- Context-aware skill generation from templates
- Embedded step instructions
- Prerequisites section for dependent steps
- Work branch management guidance
- Next step recommendations
- Platform-specific skill formatting

#### Git Integration
- Work branch format: `work/[job_name]-[instance]-[date]`
- Git repository detection
- Uncommitted changes detection
- Branch existence checking
- Work directory organization

#### Platform Support
- Claude Code (.claude/ directory)
- Google Gemini (.gemini/ directory)
- GitHub Copilot (.github/ directory)
- Auto-detection of available platforms
- Platform-specific skill prefixes and extensions

### Known Limitations

- No runtime job execution tracking (planned for Phase 2)
- No automatic skill invocation (planned for Phase 2)
- No progress visualization (planned for Phase 2)
- Templates only for Claude Code (Gemini and Copilot use same templates currently)

### Breaking Changes

None - this is the initial release.
Initial version.

[0.1.0]: https://github.com/anthropics/deepwork/releases/tag/v0.1.0
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# DeepWork

> **Note**: DeepWork is in active development. We welcome feedback and contributions!

> Framework for enabling AI agents to perform complex, multi-step work tasks

DeepWork is a tool for defining and executing multi-step workflows with AI coding assistants like Claude Code, Google Gemini, and GitHub Copilot. It enables you to decompose complex tasks into manageable steps, with clear inputs, outputs, and dependencies.
Expand Down
2 changes: 1 addition & 1 deletion src/deepwork/cli/install.py
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ def _install_deepwork(platform_name: str | None, project_path: Path) -> None:

# Initialize config structure
if "version" not in config_data:
config_data["version"] = "1.0.0"
config_data["version"] = "0.1.0"

if "platforms" not in config_data:
config_data["platforms"] = []
Expand Down
12 changes: 3 additions & 9 deletions src/deepwork/standard_jobs/deepwork_jobs/job.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: deepwork_jobs
version: "1.3.0"
version: "0.1.0"
summary: "DeepWork job management commands"
description: |
Core commands for managing DeepWork jobs. These commands help you define new multi-step
Expand All @@ -13,14 +13,8 @@ description: |
to change, validating the impact, and ensuring consistency across your workflow.

changelog:
- version: "1.0.0"
changes: "Initial job creation"
- version: "1.1.0"
changes: "Added stop hooks for quality validation loops on all steps"
- version: "1.2.0"
changes: "Updated to support array of stop hooks"
- version: "1.3.0"
changes: "Added policy awareness to implement step - suggests relevant policies after job implementation"
- version: "0.1.0"
changes: "Initial version"

steps:
- id: define
Expand Down
6 changes: 3 additions & 3 deletions src/deepwork/standard_jobs/deepwork_policy/job.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: deepwork_policy
version: "1.0.0"
version: "0.1.0"
summary: "Policy enforcement for AI agent sessions"
description: |
Manages policies that automatically trigger when certain files change during an AI agent session.
Expand All @@ -19,8 +19,8 @@ description: |
- Remind developers to update changelogs

changelog:
- version: "1.0.0"
changes: "Initial policy system implementation"
- version: "0.1.0"
changes: "Initial version"

steps:
- id: define
Expand Down
6 changes: 3 additions & 3 deletions tests/fixtures/jobs/complex_job/job.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: competitive_research
version: "1.0.0"
version: "0.1.0"
summary: "Systematic competitive analysis workflow"
description: |
A comprehensive workflow for analyzing competitors in your market segment. This job
Expand All @@ -16,8 +16,8 @@ description: |
Designed for product teams conducting quarterly competitive analysis.

changelog:
- version: "1.0.0"
changes: "Initial job creation"
- version: "0.1.0"
changes: "Initial version"

steps:
- id: identify_competitors
Expand Down
6 changes: 3 additions & 3 deletions tests/fixtures/jobs/simple_job/job.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: simple_job
version: "1.0.0"
version: "0.1.0"
summary: "A simple single-step job for testing"
description: |
A simple single-step job for testing the DeepWork framework.
Expand All @@ -8,8 +8,8 @@ description: |
including a single step with user input and file output.

changelog:
- version: "1.0.0"
changes: "Initial job creation"
- version: "0.1.0"
changes: "Initial version"

steps:
- id: single_step
Expand Down
1 change: 0 additions & 1 deletion tests/integration/test_install_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ def test_install_with_claude(self, mock_claude_project: Path) -> None:
config = load_yaml(config_file)
assert config is not None
assert "claude" in config["platforms"]
assert config["version"] == "1.0.0"

# Verify core commands were created
claude_dir = mock_claude_project / ".claude" / "commands"
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,6 @@ def test_parses_simple_job(self, fixtures_dir: Path) -> None:
job = parse_job_definition(job_dir)

assert job.name == "simple_job"
assert job.version == "1.0.0"
assert job.summary == "A simple single-step job for testing"
assert "DeepWork framework" in job.description # Multi-line description
assert len(job.steps) == 1
Expand Down