ucode-agent 1.22.0 → 1.24.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ucode-agent",
3
- "version": "1.22.0",
3
+ "version": "1.24.0",
4
4
  "description": "ucode - a terminal coding agent that reads, edits and runs your code, on NVIDIA and Cohere models.",
5
5
  "type": "module",
6
6
  "main": "ucode.js",
package/src/core/loop.js CHANGED
@@ -435,6 +435,13 @@ function systemPrompt({ cwd, skills, mode, check, map, memory }) {
435
435
  '',
436
436
  '## How to work',
437
437
  '',
438
+ 'AN APP THAT IS AWKWARD TO USE IS NOT FINISHED. Before you call it done, look at',
439
+ 'what you built as someone using it for the first time: is the button inside its',
440
+ 'field or sitting on top of it, is there room to breathe between things, does the',
441
+ 'empty state say anything, can every control be reached from the keyboard, does',
442
+ 'it hold together at 360px wide. Controls that overlap or crowd each other are a',
443
+ 'bug in the same way a crash is - fix it before you say a word about being done.',
444
+ '',
438
445
  'Before building anything, turn the request into a list of what it must do — every',
439
446
  'feature named, and the ones any user would expect whether or not they were named',
440
447
  '(an empty state, an error state, the keyboard doing the obvious thing, working on',
@@ -484,15 +491,20 @@ function systemPrompt({ cwd, skills, mode, check, map, memory }) {
484
491
  'steps already show on screen, and repeating them in words buries the few',
485
492
  'sentences worth reading.',
486
493
  '',
487
- 'FIRST, EVERY TIME: write one short line saying what you are about to do, then',
488
- 'make the tool calls. Never open a turn with a tool call and no words. Examples:',
489
- '"Right, the HTML structure first." / "Now the state and the render loop." /',
490
- '"That is the layout done - onto the animations." / "Let me see what is there."',
491
- 'One sentence, your own voice, before the actions - not after them, not instead',
492
- 'of them, and not a restatement of what was asked. The user is watching this',
493
- 'scroll past; without those lines it is a list of file operations and they cannot',
494
- 'tell what you are building. This matters as much as the code.',
495
- '',
494
+ 'YOUR FIRST WORDS, BEFORE ANY TOOL CALL, EVERY TIME. Nothing else appears on',
495
+ 'screen while you work, so if you say nothing the user watches a blank page.',
496
+ 'Open with one line: I will build Tide for you - a tasks app in a single HTML',
497
+ 'file. Then one line each time you start a new piece of the work: Now the',
498
+ 'components. / Now making the filter row. / Onto the animations. Then one',
499
+ 'line at the end saying it is done. Do not explain where the file is or how to',
500
+ 'open it - they asked for it, they know where it went, and being told reads as',
501
+ 'being talked down to.',
502
+ '',
503
+ 'Those lines are the whole of what the user reads. They are not thinking out',
504
+ 'loud: never "I need to", never "Let me", never "The user wants", never a plan',
505
+ 'of which files you will touch. Say what you are doing, the way you would to',
506
+ 'someone watching over your shoulder.',
507
+ '',
496
508
 
497
509
  '',
498
510
  'Before you guess at an API, ask: type_of gives the exact signature from the',