Tools - Table-driven tool registry with permission classes and default/minimal profiles; new tools: edit_file, list_dir, glob, grep, delete_file, move_file, todo_write, web_fetch, ask_user (plus read_file paging). - Built-in Myers diff; write tools return unified diffs. - Persistent permission rules (.agent/permissions.json), per-turn undo snapshots (.agent/undo), AGENTS.md project notes, auto-compact at 80% of the model context, cancellable run_shell with process-group kill. TUI - Table-driven slash commands: /provider /key /effort /status /tools /permissions /yolo /undo /retry /diff /export /copy /rename /delete /init /max-steps /todo, with / and @ completion. - Permission modal with diff and prefix rules, ask_user modal, todo panel, header with model/effort/context, bracketed paste, line editing, wide-char cursor, NO_COLOR and ASCII fallback; Esc never quits. Startup and configuration - API keys are entered in the TUI (hidden) and saved per provider in <config>/credentials (0600); env variables are only a fallback. - Last provider, per-provider model and reasoning effort are remembered in <config>/settings.json; --effort/-e and /effort send reasoning_effort (low|medium|high|max) to models that accept it. - DeepSeek preset uses deepseek-flash / deepseek-v4-pro. - Session flags --new/--continue/--resume/--list-sessions, --yolo, --confirm. Compatibility and tests - ncurses detection, macOS/Homebrew support, make install, XDG config dir, POSIX cleanups; Gitea CI (gcc/clang/asan/musl/macOS). - Unit tests for diff, fs tools, registry, undo/perms and config; e2e fixtures multi_file_refactor and ask_or_todo; vendored cJSON.
901 B
901 B
Task: three small scripts, planned with a task list
Create these files in the workspace root:
greet.sh— printsHello, NAME!where NAME is the first argument, orHello, world!when no argument is given.count.sh— prints the number of lines in the file given as the first argument (just the number). Exits with status 2 and prints a usage line to stderr when no argument is given.SCRIPTS.md— one short section per script explaining how to run it.
Both scripts must be executable POSIX shell scripts (#!/bin/sh).
Rules:
- Start by calling
todo_writewith one item per file, then keep the list up to date (mark each item done as you finish it). Every item must be done at the end. - Nobody is available to answer questions in this run. If
ask_userfails, pick a sensible default and continue. - Test both scripts with
run_shellbefore you finish.