You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Preserved feedback feature and UI improvements:
- Feedback input mode component and functionality
- Ctrl+F shortcut for opening feedback
- Blinking cursor feature in multiline input
- Tab handling fix to avoid â character
Integrated all changes from main including:
- New StatusBar component replacing StatusIndicator
- Queue controls and UI improvements
- Multiple agent and tool updates
- Test improvements and new features
@@ -133,7 +135,10 @@ Use the spawn_agents tool to spawn specialized agents to help you complete the u
133
135
- **Sequence agents properly:** Keep in mind dependencies when spawning different agents. Don't spawn agents in parallel that depend on each other.
134
136
${buildArray(
135
137
'- Spawn context-gathering agents (file pickers, code-searcher, directory-lister, glob-matcher, and web/docs researchers) before making edits.',
136
-
`- Spawn a ${isGpt5 ? 'editor-best-of-n-gpt-5' : 'editor-best-of-n'} agent to implement the changes after you have gathered all the context you need. Don't spawn the editor in parallel with context-gathering agents.`,
138
+
!withImplementorGpt5&&
139
+
`- Spawn a ${isGpt5 ? 'editor-best-of-n-gpt-5' : 'editor-best-of-n'} agent to implement the changes after you have gathered all the context you need. You must spawn this agent for non-trivial changes, since it writes much better code than you would with the str_replace or write_file tools. Don't spawn the editor in parallel with context-gathering agents.`,
140
+
withImplementorGpt5&&
141
+
`- Spawn a editor-implementor-gpt-5 agent to implement the changes after you have gathered all the context you need. You must spawn this agent for non-trivial changes, since it writes much better code than you would with the str_replace or write_file tools.`,
137
142
'- Spawn commanders sequentially if the second command depends on the the first.',
138
143
hasCodeReviewer&&
139
144
'- Spawn a code-reviewer agent to review the code changes after you have made them.',
@@ -155,8 +160,11 @@ For other questions, you can direct them to codebuff.com, or especially codebuff
155
160
# Other response guidelines
156
161
157
162
${buildArray(
158
-
'- Your goal is to produce the highest quality results, even if it comes at the cost of more credits used.',
159
-
'- Speed is a secondary goal.',
163
+
!isFast&&
164
+
'- Your goal is to produce the highest quality results, even if it comes at the cost of more credits used.',
165
+
!isFast&&'- Speed is important, but a secondary goal.',
166
+
isFast&&
167
+
'- Prioritize speed: quickly getting the user request done is your first priority. Do not call any unnecessary tools. Spawn more agents in parallel to speed up the process. Be extremely concise in your responses. Use 2 words where you would have used 2 sentences.',
160
168
'- If a tool fails, try again, or try a different tool or approach.',
161
169
'- Context is managed for you. The context-pruner agent will automatically run as needed. Gather as much context as you need without worrying about it.',
@@ -228,6 +240,8 @@ function buildImplementationInstructionsPrompt({
228
240
hasNoValidation,
229
241
hasCodeReviewer,
230
242
hasCodeReviewerBestOfN,
243
+
withImplementorGpt5,
244
+
withDecisionMaker,
231
245
}: {
232
246
isSonnet: boolean
233
247
isGpt5: boolean
@@ -237,6 +251,8 @@ function buildImplementationInstructionsPrompt({
237
251
hasNoValidation: boolean
238
252
hasCodeReviewer: boolean
239
253
hasCodeReviewerBestOfN: boolean
254
+
withImplementorGpt5: boolean
255
+
withDecisionMaker: boolean
240
256
}){
241
257
return`Act as a helpful assistant and freely respond to the user's request however would be most helpful to the user. Use your judgement to orchestrate the completion of the user's request using your specialized sub-agents and tools as needed. Take your time and be comprehensive.
242
258
@@ -246,10 +262,21 @@ The user asks you to implement a new feature. You respond in multiple steps:
246
262
247
263
${buildArray(
248
264
EXPLORE_PROMPT,
249
-
`- Important: Read as many files as could possibly be relevant to the task over several steps to improve your understanding of the user's request and produce the best possible code changes. Find more examples within the codebase similar to the user's request, dependencies that help with understanding how things work, tests, etc. This is frequently 12-20 files, depending on the task.`,
250
-
`- For any task requiring 3+ steps, use the write_todos tool to write out your step-by-step implementation plan. Include ALL of the applicable tasks in the list.${hasCodeReviewer ? ' Include a step to review the code changes with the code-reviewer agent after you have made them.' : ''}${hasCodeReviewerBestOfN ? ' Include a step to review the code changes with the code-reviewer-best-of-n agent after you have made them.' : ''}${hasNoValidation ? '' : ' You should include at least one step to validate/test your changes: be specific about whether to typecheck, run tests, run lints, etc.'} Skip write_todos for simple tasks like quick edits or answering questions.`,
251
265
!isFast&&
252
-
`- You must spawn the ${isGpt5 ? 'editor-best-of-n-gpt-5' : 'editor-best-of-n'} agent to implement non-trivial code changes, since it will generate the best code changes from multiple implementation proposals. This is the best way to make high quality code changes -- strongly prefer using this agent over the str_replace or write_file tools, unless the change is very straightforward and obvious.`,
266
+
`- Important: Read as many files as could possibly be relevant to the task over several steps to improve your understanding of the user's request and produce the best possible code changes. Find more examples within the codebase similar to the user's request, dependencies that help with understanding how things work, tests, etc. This is frequently 12-20 files, depending on the task.`,
267
+
withDecisionMaker&&
268
+
`- Before planning or implementing, spawn decision-maker agents for a few of the most important decisions that need to be made. This will improve the quality of your decisions and your implementation.`,
269
+
!isFast&&
270
+
`- For any task requiring 3+ steps, use the write_todos tool to write out your step-by-step implementation plan. Include ALL of the applicable tasks in the list.${hasCodeReviewer ? ' Include a step to review the code changes with the code-reviewer agent after you have made them.' : ''}${hasCodeReviewerBestOfN ? ' Include a step to review the code changes with the code-reviewer-best-of-n agent after you have made them.' : ''}${hasNoValidation ? '' : ' You should include at least one step to validate/test your changes: be specific about whether to typecheck, run tests, run lints, etc.'} Skip write_todos for simple tasks like quick edits or answering questions.`,
271
+
isFast&&
272
+
'- Implement the changes in one go. Pause after making all the changes to see the tool results of your edits.',
273
+
isFast&&
274
+
'- Do a single typecheck targeted for your changes at most (if applicable for the project). Or skip this step if the change was small.',
275
+
!isFast&&
276
+
!withImplementorGpt5&&
277
+
`- IMPORTANT: You must spawn the ${isGpt5 ? 'editor-best-of-n-gpt-5' : 'editor-best-of-n'} agent to implement non-trivial code changes, since it will generate the best code changes from multiple implementation proposals. This is the best way to make high quality code changes -- strongly prefer using this agent over the str_replace or write_file tools, unless the change is very straightforward and obvious.`,
278
+
withImplementorGpt5&&
279
+
`- IMPORTANT: You must spawn the editor-implementor-gpt-5 agent to implement non-trivial code changes, since it will generate the best code changes using a smarter reasoning model. This is the best way to make high quality code changes -- strongly prefer using this agent over the str_replace or write_file tools, unless the change is very straightforward and obvious.`,
253
280
hasCodeReviewer&&
254
281
`- Spawn a code-reviewer agent to review the code changes after you have made them. You can skip this step for small changes that are obvious and don't require a review.`,
255
282
hasCodeReviewerBestOfN&&
@@ -262,22 +289,28 @@ ${buildArray(
262
289
}
263
290
264
291
functionbuildImplementationStepPrompt({
292
+
isFast,
265
293
isMax,
266
294
isGpt5,
267
295
hasNoValidation,
268
296
isSonnet,
297
+
withImplementorGpt5,
269
298
}: {
299
+
isFast: boolean
270
300
isMax: boolean
271
301
isGpt5: boolean
272
302
hasNoValidation: boolean
273
303
isSonnet: boolean
304
+
withImplementorGpt5: boolean
274
305
}){
275
306
returnbuildArray(
276
307
isMax&&
277
308
`Keep working until the user's request is completely satisfied${!hasNoValidation ? ' and validated' : ''}, or until you require more information from the user.`,
278
-
`After completing the user request, summarize your changes in a sentence or a few short bullet points.${isSonnet ? " Don't create any summary markdown files or example documentation files, unless asked by the user." : ''}. Don't repeat yourself.`,
309
+
!isFast&&
310
+
`You must spawn the ${withImplementorGpt5 ? 'editor-implementor-gpt-5' : isGpt5 ? 'editor-best-of-n-gpt-5' : 'editor-best-of-n'} agent to implement code changes, since it will generate the best code changes.`,
311
+
`After completing the user request, summarize your changes in a sentence${isFast ? '' : ' or a few short bullet points'}.${isSonnet ? " Don't create any summary markdown files or example documentation files, unless asked by the user." : ''}. Don't repeat yourself -- especially if you already summarized your changes then just end your turn.`,
279
312
isGpt5&&
280
-
`IMPORTANT: You should include at least one tool call ("<codebuff_tool_call>") per message response. If you are completely done with the user's request or require more information from the user, you must call the task_completed tool to end your turn.`,
313
+
`IMPORTANT: You must include at least one tool call ("<codebuff_tool_call>") per message response. If you are completely done with the user's request or require more information from the user, you must call the task_completed tool to end your turn.`,
0 commit comments