Ka-Note/.claude/settings.local.json

59 lines
8.2 KiB
JSON

{
"permissions": {
"allow": [
"Bash(npm install)",
"Bash(npx:*)",
"Bash(npm run build:*)",
"Bash(netstat:*)",
"Bash(taskkill:*)",
"Bash(npm install:*)",
"Bash(pkill:*)",
"Bash(npm run db:generate:*)",
"Bash(docker ps:*)",
"Bash(docker compose:*)",
"Bash(az webapp config appsettings list:*)",
"Bash(node:*)",
"Bash(python3:*)",
"Bash(echo:*)",
"Bash(git -C ka-note check-ignore .env)",
"Bash(git -C . check-ignore ka-note/.env)",
"Bash(git check-ignore:*)",
"Bash(powershell.exe -NoProfile -Command \":*)",
"Bash(powershell.exe -NoProfile -Command \"& { $e=$null; [System.Management.Automation.Language.Parser]::ParseFile\\(''C:\\\\work\\\\chrka\\\\myNote\\\\ka-note\\\\scripts\\\\download.ps1'',[ref]$null,[ref]$e\\); if\\($e\\){$e|%{$_.Message}}else{''OK''} }\")",
"Bash(powershell.exe -NoProfile -File /tmp/pscheck.ps1)",
"Bash(powershell.exe -NoProfile -Command \"& ''C:\\\\work\\\\chrka\\\\myNote\\\\ka-note\\\\scripts\\\\download.ps1'' -Force\")",
"Bash(powershell.exe -NoProfile -Command \"\\(Get-Content ''C:\\\\work\\\\chrka\\\\myNote\\\\work\\\\kai-bundle.json'' -Raw | ConvertFrom-Json\\).readmeAi\")",
"Skill(ka-journal)",
"Bash(powershell.exe:*)",
"Skill(ka-jf-topic)",
"Bash(wc:*)",
"Bash(cd C:/work/chrka/myNote/ka-note && npm ls fflate 2>&1)",
"Bash(rm:*)",
"Bash(tail:*)",
"Bash(export:*)",
"Bash(curl:*)",
"Bash(rm -f 'C:\\\\work\\\\chrka\\\\myNote\\\\work\\\\_tmp_test_silent.ps1' && cd /c/work/chrka/myNote && git add ka-note/scripts/get-token.ps1 && git commit -m \"fix: persistent token cache in get-token.ps1\n\n- Fast path: reads from ~/.ka-note/token.txt if not expired \\(no MSAL needed\\)\n- On expiry: MSAL silent refresh with login hint\n- Fallback: interactive browser login \\(~once per 90 days\\)\n- Auto-saves every acquired token back to cache file\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\" 2>&1)",
"Bash(cd /c/work/chrka/myNote && git rm -r --cached work/ 2>&1)",
"Bash(sqlite3:*)",
"Bash(cd \"/c/work/chrka/myNote/import/upnote/Markdown/General Space\" && python3 << 'PYSCRIPT' 2>&1 | PYTHONIOENCODING=utf-8 python3 -c \"import sys; print\\(sys.stdin.read\\(\\)\\)\"\nimport os\nimport re\nimport sys\n\n# Set UTF-8 encoding for output\nsys.stdout.reconfigure\\(encoding='utf-8'\\)\n\nresults = []\nmd_files = [f for f in os.listdir\\('.'\\) if f.endswith\\('.md'\\)]\n\nfor file in sorted\\(md_files\\):\n try:\n with open\\(file, 'r', encoding='utf-8'\\) as f:\n content = f.read\\(\\)\n \n # Check if it has #dtJournal tag\n if '#dtJournal' not in content:\n continue\n \n # Extract date heading \\(strip emoji\\)\n date_match = re.search\\(r'^## Jo: \\(.+\\)', content, re.MULTILINE\\)\n if not date_match:\n continue\n date_heading = date_match.group\\(1\\).replace\\('📘', ''\\).strip\\(\\)\n \n # Extract year/weekday\n lines = content.split\\('\\\\n'\\)\n found_hr = False\n year_weekday = None\n content_start = None\n \n for i, line in enumerate\\(lines\\):\n if line.strip\\(\\) == '* * *':\n found_hr = True\n elif found_hr and re.match\\(r'^## \\\\d{4} -', line\\):\n year_weekday = line.replace\\('## ', ''\\)\n content_start = i + 1\n break\n \n if year_weekday and content_start:\n content_lines = []\n for j in range\\(content_start, len\\(lines\\)\\):\n if lines[j].startswith\\('#'\\) or lines[j].strip\\(\\) == '':\n if content_lines: # Stop at first empty section\n break\n if lines[j].strip\\(\\):\n content_lines.append\\(lines[j]\\)\n \n content_text = '\\\\n'.join\\(content_lines\\)\n results.append\\({\n 'file': f\"C:/work/chrka/myNote/import/upnote/Markdown/General Space/{file}\",\n 'date': date_heading,\n 'year_weekday': year_weekday,\n 'content': content_text[:1000]\n }\\)\n except:\n pass\n\nprint\\(f\"TOTAL DAILY JOURNAL ENTRIES: {len\\(results\\)}\\\\n\"\\)\n\nfor i, r in enumerate\\(results, 1\\):\n print\\(f\"{i}. DATE: {r['date']} | {r['year_weekday']}\"\\)\n print\\(f\" FILE: {r['file']}\"\\)\n if r['content']:\n print\\(f\" CONTENT: {r['content'][:200]}...\"\\)\n print\\(\\)\nPYSCRIPT)",
"Bash(paru -Ss visual-studio-code-bin 2>/dev/null || yay -Ss visual-studio-code-bin 2>/dev/null || echo \"kein AUR-Helper gefunden\")",
"Bash(paru -S --noconfirm visual-studio-code-bin)",
"Bash(code --version)",
"Bash(code --install-extension svelte.svelte-vscode --install-extension bradlc.vscode-tailwindcss --install-extension esbenp.prettier-vscode --install-extension dbaeumer.vscode-eslint)",
"Bash(git config:*)",
"Bash(FILE=\"/home/d-chrka@internal.lan/Projekte/chrka/Ka-Note/ka-note/client/src/routes/wiki/[id]/+page.svelte\"\npython3 - \"$FILE\" <<'EOF'\nimport sys\npath = sys.argv[1]\nwith open\\(path, 'r'\\) as f:\n content = f.read\\(\\)\n\nold = '\\\\t\\\\t\\\\t\\\\t<input\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tclass=\"flex-1 bg-transparent text-2xl font-bold text-white outline-none placeholder:text-muted\"'\nnew = '\\\\t\\\\t\\\\t\\\\t<input\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tbind:this={titleInputEl}\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tclass=\"flex-1 bg-transparent text-2xl font-bold text-white outline-none placeholder:text-muted\"'\n\nif old in content:\n content = content.replace\\(old, new, 1\\)\n with open\\(path, 'w'\\) as f:\n f.write\\(content\\)\n print\\(\"replaced\"\\)\nelse:\n print\\(\"NOT FOUND\"\\)\n # debug: show actual bytes around the area\n idx = content.find\\('<input'\\)\n print\\(repr\\(content[idx:idx+100]\\)\\)\nEOF)",
"Bash(git push:*)",
"Bash(git rm:*)",
"Bash(ls /home/d-chrka@internal.lan/Projekte/chrka/Ka-Note/ka-note/backups/*.db 2>/dev/null | sort -t- -k1 | tail -5)",
"Bash(pwsh -NoProfile -Command '\n$ErrorActionPreference = \"Stop\"\n$envFile = \"/home/d-chrka@internal.lan/Projekte/chrka/Ka-Note/ka-note/.env\"\nif \\(Test-Path $envFile\\) {\n Get-Content $envFile | Where-Object { $_ -match \"^\\\\s*[^#]\\\\S+=\\\\S\" } | ForEach-Object {\n $k, $v = $_ -split \"=\", 2\n [System.Environment]::SetEnvironmentVariable\\($k.Trim\\(\\), $v.Trim\\(\\), \"Process\"\\)\n }\n}\n\n$KuduToken = az account get-access-token --resource \"https://management.azure.com\" --query accessToken -o tsv\nif \\($LASTEXITCODE -ne 0\\) { throw \"Failed to get Azure access token\" }\n\n$backup = \"/home/d-chrka@internal.lan/Projekte/chrka/Ka-Note/ka-note/backups/ka-note-pre-deploy-1.2.39.db\"\nWrite-Host \"Uploading: $backup\"\n\nInvoke-WebRequest -Uri \"https://ka-note.scm.azurewebsites.net/api/vfs/data/ka-note.db\" `\n -Method PUT `\n -Headers @{ Authorization = \"Bearer $KuduToken\" } `\n -InFile $backup -UseBasicParsing | Out-Null\n\nWrite-Host \"Upload done. Restarting...\"\naz webapp restart --name ka-note --resource-group rg-koogle-prod\nWrite-Host \"Done.\"\n')",
"Bash(az webapp:*)",
"Bash(BACKUP=\"/home/d-chrka@internal.lan/Projekte/chrka/Ka-Note/ka-note/backups/ka-note-pre-deploy-1.2.39.db\"\naz webapp deploy --name ka-note --resource-group rg-koogle-prod \\\\\n --src-path \"$BACKUP\" \\\\\n --target-path \"/home/data/ka-note.db\" \\\\\n --type static 2>&1)",
"Bash(BACKUP=\"/home/d-chrka@internal.lan/Projekte/chrka/Ka-Note/ka-note/backups/ka-note-pre-deploy-1.2.39.db\"\ncurl -s -o /dev/null -w \"%{http_code}\" -X PUT \\\\\n -u '$ka-note:PbAnjiqP3MhWkAn3ofACdkdtpB3N6fQl3dyu5mDa1hRMw20gZFECGeeuAvmc' \\\\\n -H \"Content-Type: application/octet-stream\" \\\\\n --data-binary @\"$BACKUP\" \\\\\n \"https://ka-note.scm.azurewebsites.net/api/vfs/data/ka-note.db\")",
"Bash(az resource:*)",
"Bash(BACKUP=\"/home/d-chrka@internal.lan/Projekte/chrka/Ka-Note/ka-note/backups/ka-note-pre-deploy-1.2.39.db\")",
"Bash(split -b 8m \"$BACKUP\" /tmp/db_chunk_)",
"Read(//tmp/**)"
]
}
}