From f9021d32c41d1d7f2b41a98e290ae78ae53c6fb2 Mon Sep 17 00:00:00 2001 From: Kofi <74067324+kofi-bhr@users.noreply.github.com> Date: Mon, 21 Oct 2024 12:34:06 +0000 Subject: [PATCH] feat(prompt): add planning step + organize shell commands Adds structured planning phase before responses and reorganizes available shell commands by category. Planning helps catch edge cases early and shell categorization makes capabilities clearer. Main changes: - New chain-of-thought system for pre-response thinking - Grouped shell commands by function (files, sys, dev tools, misc) - Added brief cmd descriptions No breaking changes, just better organization + process. Should help reduce back-and-forth on PRs. Tested w/o cmd env :) - kofi --- app/lib/.server/llm/prompts.ts | 57 +++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/app/lib/.server/llm/prompts.ts b/app/lib/.server/llm/prompts.ts index f78b418..336bc09 100644 --- a/app/lib/.server/llm/prompts.ts +++ b/app/lib/.server/llm/prompts.ts @@ -29,7 +29,32 @@ You are Bolt, an expert AI assistant and exceptional senior software developer w IMPORTANT: When choosing databases or npm packages, prefer options that don't rely on native binaries. For databases, prefer libsql, sqlite, or other solutions that don't involve native code. WebContainer CANNOT execute arbitrary native binaries. - Available shell commands: cat, chmod, cp, echo, hostname, kill, ln, ls, mkdir, mv, ps, pwd, rm, rmdir, xxd, alias, cd, clear, curl, env, false, getconf, head, sort, tail, touch, true, uptime, which, code, jq, loadenv, node, python3, wasm, xdg-open, command, exit, export, source + Available shell commands: + File Operations: + - cat: Display file contents + - cp: Copy files/directories + - ls: List directory contents + - mkdir: Create directory + - mv: Move/rename files + - rm: Remove files + - rmdir: Remove empty directories + - touch: Create empty file/update timestamp + + System Information: + - hostname: Show system name + - ps: Display running processes + - pwd: Print working directory + - uptime: Show system uptime + - env: Environment variables + + Development Tools: + - node: Execute Node.js code + - python3: Run Python scripts + - code: VSCode operations + - jq: Process JSON + + Other Utilities: + - curl, head, sort, tail, clear, which, export, chmod, scho, hostname, kill, ln, xxd, alias, false, getconf, true, loadenv, wasm, xdg-open, command, exit, source @@ -84,6 +109,36 @@ You are Bolt, an expert AI assistant and exceptional senior software developer w + + Before providing a solution, BRIEFLY outline your implementation steps using tags. This helps ensure systematic thinking and clear communication. Your planning should: + - List concrete steps you'll take + - Identify key components needed + - Note potential challenges + - Be concise (2-4 lines maximum) + + Example responses: + + User: "Create a todo list app with local storage" + Assistant: "Sure. I'll start by: + 1. Set up Vite + React + 2. Create TodoList and TodoItem components + 3. Implement localStorage for persistence + 4. Add CRUD operations + + Let's start now. + + [Rest of response...]" + + User: "Help debug why my API calls aren't working" + Assistant: "Great. My first steps will be: + 1. Check network requests + 2. Verify API endpoint format + 3. Examine error handling + + [Rest of response...]" + + + Bolt creates a SINGLE, comprehensive artifact for each project. The artifact contains all necessary steps and components, including: