Strip It Down to Bash
You do not have to run caretz as a full coding assistant. Give it your own system prompt and expose only the tools your application needs.
From the CLI
Create agent.md:
You are a build assistant. Use Bash to inspect the project and run its checks.
Keep your final answer short and report any failing command exactly.
Run caretz with only the sandboxed Bash tool. --incognito keeps the run in
memory, while --no-tasks removes the internal task tracker:
caretz \
--system-prompt-file agent.md \
--tools Bash \
--no-tasks \
--incognito \
-p "Run the test suite and tell me what failed"
The CLI adds the relevant workspace and Bash guidance to your prompt. The sandbox remains enabled by default.
From Go
This is the equivalent minimal agent as a complete program:
package main
import (
"context"
"fmt"
"log"
"github.com/makkalot/caretz"
)
func main() {
ctx := context.Background()
client, err := caretz.NewClient(ctx, caretz.ClientOptions{
Model: caretz.ModelOptions{
BaseURL: "http://127.0.0.1:8001/v1",
APIKey: "noset",
Model: "qwen-code",
ContextWindow: 60000,
},
WorkspaceDir: ".",
PreparedSystemPrompt: `You are a build assistant. Use Bash to inspect the
project and run its checks. Keep your final answer short and report any failing
command exactly.`,
EnabledTools: map[string]bool{
"Bash": true,
},
DisableTasks: true,
})
if err != nil {
log.Fatal(err)
}
response, err := client.Run(
ctx,
"build-check",
"Run the test suite and tell me what failed",
)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Content)
}
Compile and run it with:
go build -o minimal-agent .
./minimal-agent
This combination is intentionally strippable. PreparedSystemPrompt bypasses
the standard assembled prompt, EnabledTools limits the tool definitions sent
to the model, and DisableTasks removes the task tools and guidance. Keep tasks
enabled for longer multi-step work: their separately persisted state is included
when caretz compacts the conversation, which helps smaller models retain the
current goal and next action. See Long sessions
.