diff --git a/claude/settings.json b/claude/settings.json index 671a084..fd27592 100644 --- a/claude/settings.json +++ b/claude/settings.json @@ -2,5 +2,14 @@ "attribution": { "commit": "", "pr": "" + }, + "enabledPlugins": { + "typescript-lsp@claude-plugins-official": true + }, + "effortLevel": "medium", + "voiceEnabled": false, + "statusLine": { + "type": "command", + "command": "bash ~/.config/claude/statusline-command.sh" } } diff --git a/config/cagent/.gitignore b/config/cagent/.gitignore new file mode 100644 index 0000000..516e4dc --- /dev/null +++ b/config/cagent/.gitignore @@ -0,0 +1 @@ +.cagent_first_run diff --git a/config/claude/sample.json b/config/claude/sample.json new file mode 100644 index 0000000..4fdad02 --- /dev/null +++ b/config/claude/sample.json @@ -0,0 +1,61 @@ +{ + "cwd": "/current/working/directory", + "session_id": "abc123...", + "transcript_path": "/path/to/transcript.jsonl", + "model": { + "id": "claude-opus-4-6", + "display_name": "Opus" + }, + "workspace": { + "current_dir": "/current/working/directory", + "project_dir": "/original/project/directory" + }, + "version": "1.0.80", + "output_style": { + "name": "default" + }, + "cost": { + "total_cost_usd": 0.01234, + "total_duration_ms": 45000, + "total_api_duration_ms": 2300, + "total_lines_added": 156, + "total_lines_removed": 23 + }, + "context_window": { + "total_input_tokens": 15234, + "total_output_tokens": 4521, + "context_window_size": 200000, + "used_percentage": 8, + "remaining_percentage": 92, + "current_usage": { + "input_tokens": 8500, + "output_tokens": 1200, + "cache_creation_input_tokens": 5000, + "cache_read_input_tokens": 2000 + } + }, + "exceeds_200k_tokens": false, + "rate_limits": { + "five_hour": { + "used_percentage": 23.5, + "resets_at": 1738425600 + }, + "seven_day": { + "used_percentage": 41.2, + "resets_at": 1738857600 + } + }, + "vim": { + "mode": "NORMAL" + }, + "agent": { + "name": "security-reviewer" + }, + "worktree": { + "name": "my-feature", + "path": "/path/to/.claude/worktrees/my-feature", + "branch": "worktree-my-feature", + "original_cwd": "/path/to/project", + "original_branch": "main" + } +} diff --git a/config/claude/statusline-command.sh b/config/claude/statusline-command.sh new file mode 100644 index 0000000..3833b12 --- /dev/null +++ b/config/claude/statusline-command.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +set -o errexit +set -o nounset + +input=$(cat) + +# "// empty" produces no output when rate_limits is absent +FIVE_H=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty') +WEEK=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty') +WINDOW=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1) + +LIMITS="" +[ -n "$WINDOW" ] && LIMITS="${LIMITS:+$LIMITS }cw:$(printf '%.0f' "$WINDOW")%" +[ -n "$FIVE_H" ] && LIMITS="${LIMITS:+$LIMITS }5h:$(printf '%.0f' "$FIVE_H")%" +[ -n "$WEEK" ] && LIMITS="${LIMITS:+$LIMITS }7d:$(printf '%.0f' "$WEEK")%" + +[ -n "$LIMITS" ] && echo "$LIMITS" || echo "" diff --git a/vscode/User/.gitignore b/vscode/User/.gitignore index f7a7870..0d84e9a 100644 --- a/vscode/User/.gitignore +++ b/vscode/User/.gitignore @@ -1,3 +1,4 @@ workspaceStorage/ globalStorage/ History/ +chatLanguageModels.json