From 587b24dfe8c0b01cca0aa650b4ea1128afec57d5 Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 15 Jun 2026 11:28:22 +0200 Subject: [PATCH] add claude --- claude/.claude/settings.json | 35 +++++++++++++++++++++++++++++++++++ claude/.claude/statusline.sh | 17 +++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 claude/.claude/settings.json create mode 100755 claude/.claude/statusline.sh diff --git a/claude/.claude/settings.json b/claude/.claude/settings.json new file mode 100644 index 0000000..0733b90 --- /dev/null +++ b/claude/.claude/settings.json @@ -0,0 +1,35 @@ +{ + "permissions": { + "allow": [ + "Read", + "Glob", + "Grep", + "WebSearch", + "WebFetch", + "Bash(rg:*)", + "Bash(ls:*)", + "Bash(fd:*)", + "Bash(find:*)", + "Bash(pwd:*)", + "Bash(cat:*)", + "Bash(head:*)", + "Bash(tail:*)", + "Bash(wc:*)", + "Bash(echo:*)", + "Bash(sort:*)", + "Bash(diff:*)", + "Bash(git log:*)", + "Bash(git diff:*)", + "Bash(git show:*)", + "Bash(git status:*)" + ] + }, + "statusLine": { + "type": "command", + "command": "~/.claude/statusline.sh" + }, + "autoMemoryEnabled": false, + "theme": "auto", + "editorMode": "vim" +} + diff --git a/claude/.claude/statusline.sh b/claude/.claude/statusline.sh new file mode 100755 index 0000000..0812587 --- /dev/null +++ b/claude/.claude/statusline.sh @@ -0,0 +1,17 @@ +#!/bin/bash +input=$(cat) + +MODEL=$(echo "$input" | jq -r '.model.display_name // "unknown"') +COST=$(echo "$input" | jq -r '.cost.total_cost_usd // 0') +EFFORT=$(echo "$input" | jq -r '.effort.level // "—"') +PCT=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1) + +COST_FMT=$(printf '$%.4f' "$COST") + +# Context bar (10 blocks) +FILLED=$((PCT / 10)) +EMPTY=$((10 - FILLED)) +BAR=$(printf '%0.sā–ˆ' $(seq 1 $FILLED 2>/dev/null))$(printf '%0.sā–‘' $(seq 1 $EMPTY 2>/dev/null)) + +echo "$MODEL | effort:$EFFORT | ctx:$BAR${PCT}% | $COST_FMT" +