feat(kugetsu): add KUGETSU_VERBOSITY for PM agent output control #103

Merged
shoko merged 1 commits from feat/issue-46-verbosity-v6 into main 2026-04-02 05:48:10 +02:00
Showing only changes of commit 538d9fba80 - Show all commits

View File

@@ -9,9 +9,10 @@ INDEX_FILE="$KUGETSU_DIR/index.json"
NOTIFICATIONS_FILE="$KUGETSU_DIR/notifications.json" NOTIFICATIONS_FILE="$KUGETSU_DIR/notifications.json"
LOGS_DIR="$KUGETSU_DIR/logs" LOGS_DIR="$KUGETSU_DIR/logs"
ENV_DIR="${ENV_DIR:-$KUGETSU_DIR/env}" ENV_DIR="${ENV_DIR:-$KUGETSU_DIR/env}"
VERBOSITY_DIR="$KUGETSU_DIR/verbosity"
MAX_CONCURRENT_AGENTS="${MAX_CONCURRENT_AGENTS:-3}" MAX_CONCURRENT_AGENTS="${MAX_CONCURRENT_AGENTS:-3}"
KUGETSU_VERBOSITY="${KUGETSU_VERBOSITY:-total}" KUGETSU_VERBOSITY="${KUGETSU_VERBOSITY:-default}"
# Load user config overrides (~/.kugetsu/config) # Load user config overrides (~/.kugetsu/config)
if [ -f "$KUGETSU_DIR/config" ]; then if [ -f "$KUGETSU_DIR/config" ]; then
@@ -547,9 +548,62 @@ cmd_status() {
echo "ok" echo "ok"
} }
get_verbosity_context() {
local verbosity="${KUGETSU_VERBOSITY:-default}"
local verbosity_file="$VERBOSITY_DIR/${verbosity}.md"
if [ -f "$verbosity_file" ]; then
cat "$verbosity_file"
else
echo "## Verbosity: $verbosity"
fi
}
init_verbosity_templates() {
mkdir -p "$VERBOSITY_DIR"
if [ ! -f "$VERBOSITY_DIR/verbose.md" ]; then
cat > "$VERBOSITY_DIR/verbose.md" << 'EOF'
## Verbosity: Verbose
You are operating in HIGH verbosity mode. Include ALL available context:
- Full command outputs and their results
- Detailed reasoning and thinking process
- All file changes with diffs when relevant
- Complete log excerpts
- Comprehensive status updates
- Ask clarifying questions when uncertain
EOF
fi
if [ ! -f "$VERBOSITY_DIR/default.md" ]; then
cat > "$VERBOSITY_DIR/default.md" << 'EOF'
## Verbosity: Default
You are operating in NORMAL verbosity mode. Provide balanced output:
- Standard command outputs and key results
- Moderate reasoning detail
- Important file changes summarized
- Regular status updates
EOF
fi
if [ ! -f "$VERBOSITY_DIR/quiet.md" ]; then
cat > "$VERBOSITY_DIR/quiet.md" << 'EOF'
## Verbosity: Quiet
You are operating in QUIET verbosity mode. Keep output minimal:
- Only essential information
- Brief status updates (1-2 sentences)
- Final decisions only
- Yes/No answers when appropriate
EOF
fi
}
cmd_delegate() { cmd_delegate() {
local message="${1:-}" local message="${1:-}"
local verbosity="${KUGETSU_VERBOSITY:-total}" local verbosity="${KUGETSU_VERBOSITY:-default}"
if [ -z "$message" ]; then if [ -z "$message" ]; then
echo "Error: message is required" >&2 echo "Error: message is required" >&2
@@ -994,6 +1048,9 @@ cmd_init() {
# Max concurrent dev agents (default: 3) # Max concurrent dev agents (default: 3)
# MAX_CONCURRENT_AGENTS=5 # MAX_CONCURRENT_AGENTS=5
# Verbosity level for PM agent output (verbose, default, or quiet)
# KUGETSU_VERBOSITY=default
# Git server configurations # Git server configurations
# Format: GIT_SERVERS["hostname"]="https://hostname" # Format: GIT_SERVERS["hostname"]="https://hostname"
# Add servers with: kugetsu server add <name> <url> # Add servers with: kugetsu server add <name> <url>