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.
- steerdev-0.4.27.dist-info/METADATA +224 -0
- steerdev-0.4.27.dist-info/RECORD +57 -0
- steerdev-0.4.27.dist-info/WHEEL +4 -0
- steerdev-0.4.27.dist-info/entry_points.txt +2 -0
- steerdev_agent/__init__.py +10 -0
- steerdev_agent/api/__init__.py +32 -0
- steerdev_agent/api/activity.py +278 -0
- steerdev_agent/api/agents.py +145 -0
- steerdev_agent/api/client.py +158 -0
- steerdev_agent/api/commands.py +399 -0
- steerdev_agent/api/configs.py +238 -0
- steerdev_agent/api/context.py +306 -0
- steerdev_agent/api/events.py +294 -0
- steerdev_agent/api/hooks.py +178 -0
- steerdev_agent/api/implementation_plan.py +408 -0
- steerdev_agent/api/messages.py +231 -0
- steerdev_agent/api/prd.py +281 -0
- steerdev_agent/api/runs.py +526 -0
- steerdev_agent/api/sessions.py +403 -0
- steerdev_agent/api/specs.py +321 -0
- steerdev_agent/api/tasks.py +659 -0
- steerdev_agent/api/workflow_runs.py +351 -0
- steerdev_agent/api/workflows.py +191 -0
- steerdev_agent/cli.py +2254 -0
- steerdev_agent/config/__init__.py +19 -0
- steerdev_agent/config/models.py +236 -0
- steerdev_agent/config/platform.py +272 -0
- steerdev_agent/config/settings.py +62 -0
- steerdev_agent/daemon.py +675 -0
- steerdev_agent/executor/__init__.py +64 -0
- steerdev_agent/executor/base.py +121 -0
- steerdev_agent/executor/claude.py +328 -0
- steerdev_agent/executor/stream.py +163 -0
- steerdev_agent/git/__init__.py +1 -0
- steerdev_agent/handlers/__init__.py +5 -0
- steerdev_agent/handlers/prd.py +533 -0
- steerdev_agent/integration.py +334 -0
- steerdev_agent/prompt/__init__.py +10 -0
- steerdev_agent/prompt/builder.py +263 -0
- steerdev_agent/prompt/templates.py +422 -0
- steerdev_agent/py.typed +0 -0
- steerdev_agent/runner.py +829 -0
- steerdev_agent/setup/__init__.py +5 -0
- steerdev_agent/setup/claude_setup.py +560 -0
- steerdev_agent/setup/templates/claude_md_section.md +140 -0
- steerdev_agent/setup/templates/settings.json +69 -0
- steerdev_agent/setup/templates/skills/activity/SKILL.md +160 -0
- steerdev_agent/setup/templates/skills/context/SKILL.md +122 -0
- steerdev_agent/setup/templates/skills/git-workflow/SKILL.md +218 -0
- steerdev_agent/setup/templates/skills/progress-logging/SKILL.md +211 -0
- steerdev_agent/setup/templates/skills/specs-management/SKILL.md +161 -0
- steerdev_agent/setup/templates/skills/task-management/SKILL.md +343 -0
- steerdev_agent/setup/templates/steerdev.yaml +51 -0
- steerdev_agent/version.py +149 -0
- steerdev_agent/workflow/__init__.py +10 -0
- steerdev_agent/workflow/executor.py +494 -0
- 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.
|