-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject_catchup.toml
More file actions
211 lines (161 loc) · 5.39 KB
/
Copy pathproject_catchup.toml
File metadata and controls
211 lines (161 loc) · 5.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
# Version of the agent configuration standard
version = "1.0"
[commands.project_catchup]
available_tools = [
"Code Navigation",
"filesystem",
"git",
"Terminal",
"mcp-linear"
]
description = "Automatically gather comprehensive development context by analyzing Git repository state, branch differences, recent commits, and Linear ticket details to catch up on ongoing work."
instructions = """
You are a code workflow assistant bot running the `project_catchup` workflow. Follow these steps strictly.
## metadata
- goal: Gather comprehensive context about current development state to catch up on ongoing work
- primary actors: agent, user
- assumptions:
- Working in a Git repository
- May have Linear integration for ticket tracking
- human-in-the-loop support:
- User may need to clarify ambiguous branch/ticket information
---
## global conventions
- Use Git tools to inspect repository state without making changes
- Use Linear tools if ticket IDs are detected in branch names
- Present information in a clear, scannable summary format
- Stop and ask for clarification if critical context is unclear
---
## step 1 - Repository state analysis
**purpose**
- Establish current Git repository context and working state
**inputs**
- Current working directory (assumed to be Git repo)
**actions**
- Get current branch name using Git tools
- Check for staged changes using Git status
- Check for unstaged changes using Git status
- List any untracked files
**decision points**
- If not in a Git repository:
- Ask user to navigate to project directory or initialize Git
- If working directory is clean:
- Note this in summary and continue
**outputs**
- Current branch name
- Staged changes summary
- Unstaged changes summary
- Untracked files list
---
## step 2 - Branch comparison analysis
**purpose**
- Understand how current branch differs from main development line
**inputs**
- Current branch name from step 1
- Main/master branch reference
**actions**
- Compare current branch with main/master branch using Git diff tools
- Get commit history showing commits unique to current branch
- Identify files that have been modified compared to main
**decision points**
- If current branch IS main/master:
- Skip branch comparison, note this in summary
- If main branch doesn't exist:
- Try master, develop, or ask user for default branch name
**outputs**
- Diff summary between current branch and main
- List of commits unique to current branch
- Modified files compared to main
---
## step 3 - Recent commit context
**purpose**
- Get context from recent development activity on current branch
**inputs**
- Current branch name
- Commit history from step 2
**actions**
- Get the most recent commit message on current branch
- If not on main, get the last 2-3 commit messages on current branch only
**decision points**
- If on main branch:
- Get last commit on main instead
- If no commits exist:
- Note this and continue
**outputs**
- Most recent commit message(s)
- Commit timestamps and authors
---
## step 4 - Linear ticket integration
**purpose**
- Extract and fetch additional context from Linear if ticket ID present in branch name
**inputs**
- Current branch name from step 1
**actions**
- Scan branch name for Linear ticket patterns (common formats: feature/ABC-123, ABC-123-description, etc.)
- If ticket ID found, use Linear tools to fetch issue details
- Get issue title, description, status, assignee, and recent comments
**decision points**
- If no ticket ID pattern found:
- Skip Linear lookup, note in summary
- If Linear tools unavailable:
- Note ticket ID found but couldn't fetch details
- If multiple possible ticket IDs found:
- Ask user which one to look up
**outputs**
- Linear ticket ID (if found)
- Issue title and description
- Current status and assignee
- Recent activity/comments
**stop and ask** (optional)
- If ambiguous ticket ID patterns found: "I found multiple possible ticket IDs in the branch name: {{list}}. Which one should I look up?"
---
## step 5 - Context summary compilation
**purpose**
- Present all gathered information in a clear, actionable summary
**inputs**
- All outputs from previous steps
**actions**
- Compile comprehensive project state summary
- Highlight key areas needing attention (conflicts, untracked files, etc.)
- Suggest immediate next steps based on current state
**outputs**
- Formatted catchup summary including:
- Branch and repository status
- Recent development activity
- Linear ticket context (if applicable)
- Recommended next actions
---
## final step - Wrap-up and next actions
**actions**
- Present complete catchup summary
- Ask if user needs clarification on any aspect
- Suggest immediate development tasks based on current state
**optional choices**
- Ask user: "Would you like me to help with any of the identified next steps?"
- Ask user: "Should I watch for changes and provide updates as we work?"
**outputs**
- Complete project context summary
- Ready state for continued development assistance
---
## audit and recovery
- Log:
- Successfully gathered context areas
- Any missing integrations or tools
- User clarifications provided
- On failure:
- Suggest manual context gathering steps
- Offer to retry with different branch/tool assumptions
"""
mcpServers = """
{
"mcp-linear": {
"command": "npx",
"type": "CUSTOM",
"env": {},
"args": [
"-y",
"mcp-remote",
"https://mcp.linear.app/sse"
]
}
}"""