steerdev 0.4.27__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 (57) hide show
  1. steerdev-0.4.27.dist-info/METADATA +224 -0
  2. steerdev-0.4.27.dist-info/RECORD +57 -0
  3. steerdev-0.4.27.dist-info/WHEEL +4 -0
  4. steerdev-0.4.27.dist-info/entry_points.txt +2 -0
  5. steerdev_agent/__init__.py +10 -0
  6. steerdev_agent/api/__init__.py +32 -0
  7. steerdev_agent/api/activity.py +278 -0
  8. steerdev_agent/api/agents.py +145 -0
  9. steerdev_agent/api/client.py +158 -0
  10. steerdev_agent/api/commands.py +399 -0
  11. steerdev_agent/api/configs.py +238 -0
  12. steerdev_agent/api/context.py +306 -0
  13. steerdev_agent/api/events.py +294 -0
  14. steerdev_agent/api/hooks.py +178 -0
  15. steerdev_agent/api/implementation_plan.py +408 -0
  16. steerdev_agent/api/messages.py +231 -0
  17. steerdev_agent/api/prd.py +281 -0
  18. steerdev_agent/api/runs.py +526 -0
  19. steerdev_agent/api/sessions.py +403 -0
  20. steerdev_agent/api/specs.py +321 -0
  21. steerdev_agent/api/tasks.py +659 -0
  22. steerdev_agent/api/workflow_runs.py +351 -0
  23. steerdev_agent/api/workflows.py +191 -0
  24. steerdev_agent/cli.py +2254 -0
  25. steerdev_agent/config/__init__.py +19 -0
  26. steerdev_agent/config/models.py +236 -0
  27. steerdev_agent/config/platform.py +272 -0
  28. steerdev_agent/config/settings.py +62 -0
  29. steerdev_agent/daemon.py +675 -0
  30. steerdev_agent/executor/__init__.py +64 -0
  31. steerdev_agent/executor/base.py +121 -0
  32. steerdev_agent/executor/claude.py +328 -0
  33. steerdev_agent/executor/stream.py +163 -0
  34. steerdev_agent/git/__init__.py +1 -0
  35. steerdev_agent/handlers/__init__.py +5 -0
  36. steerdev_agent/handlers/prd.py +533 -0
  37. steerdev_agent/integration.py +334 -0
  38. steerdev_agent/prompt/__init__.py +10 -0
  39. steerdev_agent/prompt/builder.py +263 -0
  40. steerdev_agent/prompt/templates.py +422 -0
  41. steerdev_agent/py.typed +0 -0
  42. steerdev_agent/runner.py +829 -0
  43. steerdev_agent/setup/__init__.py +5 -0
  44. steerdev_agent/setup/claude_setup.py +560 -0
  45. steerdev_agent/setup/templates/claude_md_section.md +140 -0
  46. steerdev_agent/setup/templates/settings.json +69 -0
  47. steerdev_agent/setup/templates/skills/activity/SKILL.md +160 -0
  48. steerdev_agent/setup/templates/skills/context/SKILL.md +122 -0
  49. steerdev_agent/setup/templates/skills/git-workflow/SKILL.md +218 -0
  50. steerdev_agent/setup/templates/skills/progress-logging/SKILL.md +211 -0
  51. steerdev_agent/setup/templates/skills/specs-management/SKILL.md +161 -0
  52. steerdev_agent/setup/templates/skills/task-management/SKILL.md +343 -0
  53. steerdev_agent/setup/templates/steerdev.yaml +51 -0
  54. steerdev_agent/version.py +149 -0
  55. steerdev_agent/workflow/__init__.py +10 -0
  56. steerdev_agent/workflow/executor.py +494 -0
  57. steerdev_agent/workflow/memory.py +185 -0
@@ -0,0 +1,69 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(steerdev tasks:*)",
5
+ "Bash(steerdev specs:*)",
6
+ "Bash(steerdev context:*)",
7
+ "Bash(steerdev activity:*)",
8
+ "Bash(steerdev git:*)",
9
+ "Bash(steerdev hooks:*)",
10
+ "Bash(git checkout:*)",
11
+ "Bash(git branch:*)",
12
+ "Bash(git add:*)",
13
+ "Bash(git commit:*)",
14
+ "Bash(git push:*)",
15
+ "Bash(git status:*)",
16
+ "Bash(git diff:*)",
17
+ "Bash(git log:*)",
18
+ "Bash(gh pr create:*)",
19
+ "Bash(gh pr view:*)",
20
+ "Bash(gh pr list:*)"
21
+ ]
22
+ },
23
+ "hooks": {
24
+ "SessionStart": [
25
+ {
26
+ "hooks": [
27
+ {
28
+ "type": "command",
29
+ "command": "steerdev hooks session-start",
30
+ "timeout": 10
31
+ }
32
+ ]
33
+ }
34
+ ],
35
+ "SessionEnd": [
36
+ {
37
+ "hooks": [
38
+ {
39
+ "type": "command",
40
+ "command": "steerdev hooks session-end",
41
+ "timeout": 10
42
+ }
43
+ ]
44
+ }
45
+ ],
46
+ "Stop": [
47
+ {
48
+ "hooks": [
49
+ {
50
+ "type": "command",
51
+ "command": "steerdev hooks agent-stop",
52
+ "timeout": 10
53
+ }
54
+ ]
55
+ }
56
+ ],
57
+ "SubagentStop": [
58
+ {
59
+ "hooks": [
60
+ {
61
+ "type": "command",
62
+ "command": "steerdev hooks subagent-stop",
63
+ "timeout": 10
64
+ }
65
+ ]
66
+ }
67
+ ]
68
+ }
69
+ }
@@ -0,0 +1,160 @@
1
+ # Activity Skill
2
+
3
+ This skill enables self-reporting of progress, blockers, and querying activity history via the steerdev.com API.
4
+
5
+ Activity reporting provides visibility into agent work and enables better coordination and debugging.
6
+
7
+ ## Event Types
8
+
9
+ | Type | Description | When to Use |
10
+ |------|-------------|-------------|
11
+ | `progress` | Progress update | Report incremental progress on a task |
12
+ | `blocker` | Blocked on something | Report when stuck or waiting |
13
+ | `question` | Need clarification | Report questions about requirements |
14
+ | `milestone` | Reached a milestone | Report significant achievements |
15
+ | `error` | Encountered an error | Report errors during execution |
16
+ | `warning` | Warning/heads-up | Report potential issues |
17
+ | `info` | General information | Report general updates |
18
+
19
+ ## When to Use
20
+
21
+ - **Making progress**: Report progress updates periodically
22
+ - **Encountering blockers**: Report blockers that prevent progress
23
+ - **Need clarification**: Report questions about requirements or approach
24
+ - **Completing milestones**: Report when significant milestones are reached
25
+ - **Debugging issues**: Query activity history to understand what happened
26
+
27
+ ## Available Commands
28
+
29
+ ### Report Activity
30
+
31
+ ```bash
32
+ steerdev activity report --type TYPE --message "MESSAGE" [OPTIONS]
33
+ ```
34
+
35
+ Self-report progress, blockers, or other activity events.
36
+
37
+ **Options:**
38
+ - `--type`, `-t`: Event type (required) - `progress`, `blocker`, `question`, `milestone`, `error`, `warning`, `info`
39
+ - `--message`, `-m`: Human-readable message (required)
40
+ - `--metadata`: Additional metadata as JSON string
41
+ - `--run-id`, `-r`: Run ID to associate with
42
+ - `--session`, `-s`: Session name
43
+
44
+ **Examples:**
45
+ ```bash
46
+ # Report progress
47
+ steerdev activity report \
48
+ --type progress \
49
+ --message "Completed authentication module, starting API endpoints"
50
+
51
+ # Report a blocker
52
+ steerdev activity report \
53
+ --type blocker \
54
+ --message "Need database credentials to continue testing"
55
+
56
+ # Report with metadata
57
+ steerdev activity report \
58
+ --type milestone \
59
+ --message "All unit tests passing" \
60
+ --metadata '{"tests_passed": 42, "coverage": "85%"}'
61
+
62
+ # Report a question
63
+ steerdev activity report \
64
+ --type question \
65
+ --message "Should login endpoint support OAuth or just email/password?"
66
+
67
+ # Report an error
68
+ steerdev activity report \
69
+ --type error \
70
+ --message "Build failed: missing dependency @types/node"
71
+ ```
72
+
73
+ ### Query Activity
74
+
75
+ ```bash
76
+ steerdev activity query [--run-id RUN_ID] [--type TYPE] [--limit N]
77
+ ```
78
+
79
+ Query activity history with optional filters.
80
+
81
+ **Options:**
82
+ - `--run-id`, `-r`: Filter by run ID
83
+ - `--type`, `-t`: Filter by event type
84
+ - `--limit`, `-l`: Maximum events to return (default: 20)
85
+
86
+ **Examples:**
87
+ ```bash
88
+ # Get recent activity
89
+ steerdev activity query
90
+
91
+ # Get activity for a specific run
92
+ steerdev activity query --run-id abc123...
93
+
94
+ # Get only blockers
95
+ steerdev activity query --type blocker
96
+
97
+ # Get recent errors
98
+ steerdev activity query --type error --limit 10
99
+ ```
100
+
101
+ ## Workflow Example
102
+
103
+ ```bash
104
+ # Starting a task - report progress
105
+ steerdev activity report \
106
+ --type progress \
107
+ --message "Starting work on user authentication feature"
108
+
109
+ # Working on implementation
110
+ steerdev activity report \
111
+ --type progress \
112
+ --message "Implemented JWT token generation"
113
+
114
+ # Hit a blocker
115
+ steerdev activity report \
116
+ --type blocker \
117
+ --message "Blocked: Need Redis connection for session storage"
118
+
119
+ # Ask a question
120
+ steerdev activity report \
121
+ --type question \
122
+ --message "Token expiry: 1 hour or 24 hours?"
123
+
124
+ # Reached a milestone
125
+ steerdev activity report \
126
+ --type milestone \
127
+ --message "Authentication module complete with tests"
128
+
129
+ # Check what happened in a run
130
+ steerdev activity query --run-id abc123...
131
+ ```
132
+
133
+ ## Best Practices
134
+
135
+ 1. **Report progress regularly** - Helps track work and identify issues
136
+ 2. **Be specific about blockers** - Include what's needed to unblock
137
+ 3. **Include relevant metadata** - Add structured data for better tracking
138
+ 4. **Report milestones** - Helps identify when major pieces are complete
139
+ 5. **Report errors immediately** - Helps with debugging and recovery
140
+ 6. **Write progress logs** - Also write to `docs/progress.jsonl` for local visibility
141
+
142
+ ## Complementary: Progress Logging
143
+
144
+ Activity reporting sends events to the steerdev.com API. You should ALSO write progress logs locally:
145
+
146
+ - **`docs/progress.jsonl`**: Append JSON lines for each significant event
147
+ - **`docs/{timestamp}_{task}.md`**: Detailed markdown progress notes
148
+
149
+ See the Progress Logging skill for full details. Both systems work together:
150
+ - Activity API: Real-time server-side visibility
151
+ - Progress logs: Local audit trail and documentation
152
+
153
+ ## Environment
154
+
155
+ Requires `STEERDEV_API_KEY` environment variable to be set.
156
+
157
+ **Optional:**
158
+ - `STEERDEV_API_ENDPOINT`: Override the API base URL (default: https://steerdev.com/api/v1)
159
+ - `STEERDEV_AGENT_ID`: Agent identifier for tracking
160
+ - `STEERDEV_AGENT_NAME`: Agent name for display
@@ -0,0 +1,122 @@
1
+ # Project Context Skill
2
+
3
+ This skill provides access to project context information via the steerdev.com API.
4
+
5
+ Project context includes tech stack, patterns, conventions, and structure information that helps AI agents understand and work effectively within a codebase.
6
+
7
+ ## When to Use
8
+
9
+ - **Starting work on a project**: Get context to understand tech stack and conventions
10
+ - **Before making architectural decisions**: Check existing patterns
11
+ - **After major codebase changes**: Refresh context to update cached information
12
+
13
+ ## Available Commands
14
+
15
+ ### Get Context
16
+
17
+ ```bash
18
+ steerdev context get [--project-id PROJECT_ID]
19
+ ```
20
+
21
+ Retrieve project context including tech stack, patterns, and structure.
22
+
23
+ **Options:**
24
+ - `--project-id`, `-p`: Project ID (or use `STEERDEV_PROJECT_ID` env var)
25
+
26
+ **Example:**
27
+ ```bash
28
+ # Get context for the current project
29
+ steerdev context get
30
+
31
+ # Get context for a specific project
32
+ steerdev context get --project-id abc123...
33
+ ```
34
+
35
+ **Returns:**
36
+ - **Tech Stack**: Languages, frameworks, and tools used
37
+ - **Patterns**: Common code patterns in the project
38
+ - **Conventions**: Coding conventions and style guidelines
39
+ - **Structure**: Project directory structure
40
+ - **Dependencies**: Key dependencies and versions
41
+
42
+ ### Refresh Context
43
+
44
+ ```bash
45
+ steerdev context refresh [--project-id PROJECT_ID]
46
+ ```
47
+
48
+ Force a refresh of cached project context.
49
+
50
+ Use this after making significant changes to the codebase structure or dependencies.
51
+
52
+ **Options:**
53
+ - `--project-id`, `-p`: Project ID (or use `STEERDEV_PROJECT_ID` env var)
54
+
55
+ **Example:**
56
+ ```bash
57
+ # Refresh context for the current project
58
+ steerdev context refresh
59
+ ```
60
+
61
+ **Note:** Context refresh happens asynchronously. Run `context get` after a moment to see updated information.
62
+
63
+ ## Workflow Example
64
+
65
+ ```bash
66
+ # At the start of a new task, get project context
67
+ steerdev context get
68
+
69
+ # Use the context to understand:
70
+ # - What framework to use for new features
71
+ # - What coding patterns to follow
72
+ # - Where to place new files
73
+
74
+ # After adding new dependencies or changing structure
75
+ steerdev context refresh
76
+
77
+ # Verify the refresh
78
+ steerdev context get
79
+ ```
80
+
81
+ ## Context Information
82
+
83
+ The context includes:
84
+
85
+ ### Tech Stack
86
+ Languages and frameworks used in the project:
87
+ - Programming languages (Python, TypeScript, etc.)
88
+ - Web frameworks (FastAPI, Next.js, etc.)
89
+ - Database technologies
90
+ - Build tools
91
+
92
+ ### Patterns
93
+ Common patterns observed in the codebase:
94
+ - API patterns (REST, GraphQL)
95
+ - State management patterns
96
+ - Error handling patterns
97
+ - Testing patterns
98
+
99
+ ### Conventions
100
+ Project-specific conventions:
101
+ - Naming conventions
102
+ - File organization
103
+ - Import ordering
104
+ - Code style preferences
105
+
106
+ ### Structure
107
+ Directory structure overview:
108
+ - Source directories
109
+ - Test directories
110
+ - Configuration files
111
+ - Key entry points
112
+
113
+ ### Dependencies
114
+ Major dependencies and their versions to ensure compatibility.
115
+
116
+ ## Environment
117
+
118
+ Requires `STEERDEV_API_KEY` environment variable to be set.
119
+
120
+ **Optional:**
121
+ - `STEERDEV_API_ENDPOINT`: Override the API base URL (default: https://steerdev.com/api/v1)
122
+ - `STEERDEV_PROJECT_ID`: Default project ID for all commands
@@ -0,0 +1,218 @@
1
+ # Git Workflow Skill
2
+
3
+ This skill provides Git workflow commands with steerdev conventions for branch management and pull requests.
4
+
5
+ ## When to Use
6
+
7
+ - **Starting a task**: Create a properly named task branch
8
+ - **Completing work**: Create a pull request with proper format
9
+ - **Checking status**: See current branch and task context
10
+
11
+ ## Available Commands
12
+
13
+ ### Create Task Branch
14
+
15
+ ```bash
16
+ steerdev git branch TASK_ID [--name NAME]
17
+ ```
18
+
19
+ Create a task branch with steerdev naming convention: `task/<task-id-short>`.
20
+
21
+ **Arguments:**
22
+ - `TASK_ID`: Task ID to create branch for (uses first 8 characters)
23
+
24
+ **Options:**
25
+ - `--name`, `-n`: Custom branch name suffix
26
+
27
+ **Examples:**
28
+ ```bash
29
+ # Create branch for task
30
+ steerdev git branch abc12345-def6-7890-...
31
+ # Creates: task/abc12345
32
+
33
+ # Create branch with descriptive suffix
34
+ steerdev git branch abc12345-def6-7890-... --name auth-flow
35
+ # Creates: task/abc12345-auth-flow
36
+ ```
37
+
38
+ **Behavior:**
39
+ - If branch already exists, switches to it
40
+ - If branch doesn't exist, creates and switches to it
41
+
42
+ ### Create Pull Request
43
+
44
+ ```bash
45
+ steerdev git pr --title "TITLE" [--body "BODY"] [--task-id ID] [--draft]
46
+ ```
47
+
48
+ Create a pull request using GitHub CLI with steerdev conventions.
49
+
50
+ **Options:**
51
+ - `--title`, `-t`: PR title (required)
52
+ - `--body`, `-b`: PR body/description
53
+ - `--task-id`: Task ID to reference in PR
54
+ - `--draft`, `-d`: Create as draft PR
55
+
56
+ **Examples:**
57
+ ```bash
58
+ # Simple PR
59
+ steerdev git pr --title "Add user authentication"
60
+
61
+ # PR with description
62
+ steerdev git pr \
63
+ --title "Add user authentication" \
64
+ --body "## Summary
65
+ Implements JWT-based authentication.
66
+
67
+ ## Changes
68
+ - Login endpoint
69
+ - Logout endpoint
70
+ - Auth middleware"
71
+
72
+ # PR linked to task
73
+ steerdev git pr \
74
+ --title "Add user authentication" \
75
+ --task-id abc12345...
76
+
77
+ # Draft PR
78
+ steerdev git pr \
79
+ --title "WIP: Add user authentication" \
80
+ --draft
81
+ ```
82
+
83
+ **Note:** Requires GitHub CLI (`gh`) to be installed and authenticated.
84
+
85
+ ### Check Git Status
86
+
87
+ ```bash
88
+ steerdev git status
89
+ ```
90
+
91
+ Show current branch and task context.
92
+
93
+ **Returns:**
94
+ - Current branch name
95
+ - Task ID (if branch follows `task/<id>` convention)
96
+ - Number of uncommitted changes
97
+ - Remote tracking status
98
+ - Ahead/behind status
99
+
100
+ **Example Output:**
101
+ ```
102
+ Git Status
103
+ Branch: task/abc12345
104
+ Task ID: abc12345
105
+ Uncommitted changes: 3 file(s)
106
+ Tracking: origin/task/abc12345
107
+ Status: 2 ahead, 0 behind
108
+ ```
109
+
110
+ ## Complete Workflow Example
111
+
112
+ ```bash
113
+ # 1. Get next task
114
+ steerdev tasks next
115
+
116
+ # 2. Create task branch
117
+ steerdev git branch abc12345-def6-7890-...
118
+
119
+ # 3. Check status
120
+ steerdev git status
121
+
122
+ # 4. Mark task as started
123
+ steerdev tasks update abc12345... --status started
124
+
125
+ # 5. Create progress log
126
+ TIMESTAMP=$(date -u +%Y%m%d_%H%M%S)
127
+ DOC_FILE="docs/${TIMESTAMP}_add_user_auth.md"
128
+ cat > "$DOC_FILE" << 'EOF'
129
+ # Task: Add User Authentication
130
+ **Task ID**: abc12345
131
+ **Started**: 2026-02-03T14:30:22Z
132
+ **Status**: in-progress
133
+ ## Progress
134
+ EOF
135
+ echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","task_id":"abc12345","event":"started","message":"Beginning auth implementation","doc_file":"'"$DOC_FILE"'"}' >> docs/progress.jsonl
136
+
137
+ # 6. Implement the task...
138
+ # (make commits as you work)
139
+ git add .
140
+ git commit -m "feat: add login endpoint"
141
+
142
+ # Log progress
143
+ echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","task_id":"abc12345","event":"progress","message":"Login endpoint complete"}' >> docs/progress.jsonl
144
+
145
+ git add .
146
+ git commit -m "feat: add logout endpoint"
147
+
148
+ # 7. Check status before PR
149
+ steerdev git status
150
+
151
+ # 8. Push and create PR
152
+ git push -u origin HEAD
153
+ steerdev git pr \
154
+ --title "Add user authentication" \
155
+ --task-id abc12345... \
156
+ --body "## Summary
157
+ Implements JWT authentication as specified.
158
+
159
+ ## Changes
160
+ - Login endpoint with JWT generation
161
+ - Logout endpoint with token invalidation
162
+ - Auth middleware for protected routes
163
+
164
+ ## Testing
165
+ - Run \`pytest tests/auth/\`
166
+ - Manual test via /api/docs"
167
+ # Returns: https://github.com/org/repo/pull/42
168
+
169
+ # 9. Log completion
170
+ echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","task_id":"abc12345","event":"completed","message":"Auth implementation complete","pr_url":"https://github.com/org/repo/pull/42","doc_file":"'"$DOC_FILE"'"}' >> docs/progress.jsonl
171
+
172
+ # 10. Mark task complete with PR URL
173
+ steerdev tasks update abc12345... \
174
+ --status completed \
175
+ --result "Implemented auth. PR: https://github.com/org/repo/pull/42"
176
+ ```
177
+
178
+ ## Branch Naming Convention
179
+
180
+ Branches follow the pattern: `task/<short-task-id>[-optional-suffix]`
181
+
182
+ - `task/abc12345` - Basic task branch
183
+ - `task/abc12345-auth` - With descriptive suffix
184
+ - `task/abc12345-fix-login` - More detailed suffix
185
+
186
+ The short task ID is the first 8 characters of the full UUID.
187
+
188
+ ## PR Conventions
189
+
190
+ Pull requests created via this skill include:
191
+
192
+ 1. **Title**: Descriptive title of changes
193
+ 2. **Body**: Optional description with:
194
+ - Summary of changes
195
+ - Task reference (if --task-id provided)
196
+ 3. **Footer**: Link to steerdev.com
197
+
198
+ ## Important Rules
199
+
200
+ 1. **Always create a branch** before starting work
201
+ 2. **Commit frequently** with descriptive messages
202
+ 3. **Create PR before marking task complete**
203
+ 4. **Include PR URL** in task completion result
204
+ 5. **Log progress** to `docs/progress.jsonl` (see Progress Logging skill)
205
+ 6. **Log completion** with PR URL before marking task done
206
+
207
+ ## Prerequisites
208
+
209
+ - **Git**: Must be installed and repository initialized
210
+ - **GitHub CLI**: Required for `git pr` command
211
+ - Install: https://cli.github.com
212
+ - Authenticate: `gh auth login`
213
+
214
+ ## Environment
215
+
216
+ No additional environment variables required for git commands.
217
+
218
+ Uses local git configuration for author information.