diff --git a/.claude/settings.json b/.claude/settings.json deleted file mode 100644 index 9030888..0000000 --- a/.claude/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "enabledPlugins": { - "frontend-design@claude-plugins-official": true - } -} diff --git a/.claude/settings.local.json b/.claude/settings.local.json deleted file mode 100644 index 4706250..0000000 --- a/.claude/settings.local.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "permissions": { - "allow": [ - "Bash(cargo build *)", - "Bash(npm run *)", - "Bash(kill %1)", - "Bash(perl -0pi -e 's/\\\\{line \\\\|\\\\| \" \"\\\\}/{displayLine\\(line\\) || \" \"}/g' src/App.svelte)", - "Bash(kill 26306)", - "Bash(convert --version)", - "Bash(magick /mnt/data/Development/GitLite/src-tauri/icons/icon.ico /mnt/data/Development/GitLite/src-tauri/icons/icon.png)", - "Bash(magick /mnt/data/Development/GitLite/src-tauri/icons/icon.ico -type TrueColorAlpha -alpha on PNG32:/mnt/data/Development/GitLite/src-tauri/icons/icon.png)", - "Bash(magick identify *)", - "Bash(magick -size 512x512 xc:\"rgba\\(70,130,180,255\\)\" PNG32:/mnt/data/Development/GitLite/src-tauri/icons/icon.png)", - "Bash(pkill -f \"vite --host\")", - "Bash(pkill -f \"tauri dev\")", - "Bash(pkill -f \"tauri_git_lite\")", - "Bash(xargs kill -9)", - "Bash(grep -qE \"\\(Running \\\\`target|error\\\\[|panicked|terminated\\)\" /tmp/claude-1000/-mnt-data-Development-GitLite/71a8b49f-ac61-4ad9-aaba-dc0219044038/tasks/b4ujhgmdk.output)", - "Bash(grep -qE \"\\(Running \\\\`target|error\\\\[|panicked|terminated\\)\" /tmp/claude-1000/-mnt-data-Development-GitLite/71a8b49f-ac61-4ad9-aaba-dc0219044038/tasks/bt54rikhh.output)", - "Bash(grep -qE \"\\(Running \\\\`target|error\\\\[|panicked|terminated\\)\" /tmp/claude-1000/-mnt-data-Development-GitLite/71a8b49f-ac61-4ad9-aaba-dc0219044038/tasks/b7nyub68s.output)", - "Bash(npm install *)", - "Bash(cargo check *)", - "Bash(npx vite *)", - "Bash(cargo tree *)", - "Bash(jobs)", - "Bash(npx svelte-check *)", - "Bash(git log *)", - "Bash(xxd)", - "Bash(python3 -)", - "Bash(echo \"exit: $?\")", - "Bash(grep -n \"input,\\\\|select,\\\\|input {\\\\|select {\\\\|.repo-form input\\\\|input:focus\\\\|::placeholder\" src/app.css)", - "Bash(sudo -n true)", - "Bash(rustc --version)", - "Read(//mnt/c/Users/cbr/Desktop/src-tauri/src/**)", - "Bash(sudo apt install -y libdbus-1-dev pkg-config)", - "Bash(dpkg -l)", - "Bash(apt list *)", - "Bash(cargo search *)", - "Bash(curl -s \"https://crates.io/api/v1/crates/mistralrs\")", - "Bash(cargo info *)", - "WebFetch(domain:raw.githubusercontent.com)", - "Bash(gh api *)", - "WebFetch(domain:github.com)", - "WebFetch(domain:ericlbuehler.github.io)", - "WebFetch(domain:docs.rs)", - "Bash(curl -s \"https://huggingface.co/api/models/Qwen/Qwen2.5-1.5B-Instruct-GGUF\")", - "Bash(python3 -c ' *)", - "Bash(curl -sI \"https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct-GGUF/resolve/main/qwen2.5-1.5b-instruct-q4_k_m.gguf\")", - "Bash(curl -s \"https://huggingface.co/api/models/Qwen/Qwen2.5-1.5B-Instruct-GGUF?blobs=true\")", - "Bash(grep -n 'from \"\\\\./lib/git\"\\\\|from \"\\\\./lib/types\"\\\\|^ commit,$' src/App.svelte)", - "Bash(kill 24343 24363 24375 24376)", - "Bash(curl -s \"https://huggingface.co/api/models/Qwen/Qwen2.5-0.5B-Instruct-GGUF?blobs=true\")", - "Bash(curl -s \"https://huggingface.co/api/models/bartowski/Llama-3.2-3B-Instruct-GGUF?blobs=true\")", - "Bash(curl -s \"https://huggingface.co/api/models/bartowski/Llama-3.2-3B-Instruct-GGUF\")", - "Bash(curl -s \"https://huggingface.co/api/models/Qwen/Qwen2.5-3B-Instruct-GGUF\")", - "Bash(curl -s \"https://huggingface.co/api/models/Qwen/Qwen2.5-3B-Instruct-GGUF?blobs=true\")", - "Bash(curl -s \"https://huggingface.co/api/models/Qwen/Qwen2.5-3B-Instruct\")", - "Bash(: *)", - "Bash(exit 0 *)", - "Bash(rustc -O sanitize_test.rs -o sanitize_test)", - "Bash(./sanitize_test)", - "Bash(echo \"exit:$?\")", - "Bash(grep -rlP \"[äöüßÄÖÜ]\" src src-tauri/src src-tauri/crates --include=\"*.rs\" --include=\"*.svelte\" --include=\"*.ts\")", - "Bash(echo \"---exit $?---\")", - "Bash(apt-cache policy *)", - "Bash(timeout 5 curl -sI http://archive.ubuntu.com)", - "Bash(sudo -n apt-get install -y libdbus-1-dev pkg-config)", - "Bash(grep -n '\"Unerwarteter Git-Log-Eintrag: {}\",' src-tauri/src/git.rs)", - "Bash(grep -E \"git_lite$|tauri_git_lite$\")", - "Bash(rustfmt --edition 2024 --check src-tauri/src/git.rs)", - "Bash(echo \"EXIT:$?\")", - "Bash(ls target/)", - "Bash(rustup target *)", - "Bash(echo \"exit code: $?\")", - "Read(//home/cbr/.cargo/registry/src/**)", - "Bash(find / -maxdepth 6 -iname \"mistralrs-*\" -type d)", - "Bash(grep -A2 '^name = \"tauri\"$' \"/mnt/c/Users/cbr/Desktop/Neuer Ordner \\(6\\)/src-tauri/Cargo.lock\")", - "Bash(rustfmt --edition 2024 --check src/badge.rs src/main.rs)", - "Bash(rustfmt --edition 2024 --check src/git.rs)", - "Bash(rustfmt --edition 2024 --check src/badge.rs)", - "Bash(rustfmt --edition 2024 --check src/git.rs src/main.rs)", - "Bash(pkg-config --list-all)", - "Bash(rustc --edition 2021 --crate-type lib -o /dev/null --emit=metadata src/git.rs)", - "Bash(rustc --edition 2021 --crate-type lib -o /dev/null --emit=metadata /mnt/d/Development/GitLite/src-tauri/src/git.rs)", - "Bash(rustc --edition 2021 --crate-type bin -o /dev/null --emit=metadata src/main.rs)", - "Bash(grep -B1 \"^error\\\\[E0432\\\\]\\\\|^error$\")", - "Bash(grep -v \"^--$\")", - "Bash(grep \"^error$\" -A2)", - "Bash(cargo run *)", - "Bash(node_modules/.bin/svelte-check --version)", - "Bash(rustfmt --check --edition 2021 src/git.rs src/main.rs)", - "Bash(rustfmt --check --edition 2021 src/git.rs)", - "Bash(awk *)", - "Bash(rustfmt --edition 2021 /tmp/blame_chunk.rs)", - "Read(//tmp/**)", - "Bash(identify src-tauri/icons/GitCat.ico)", - "Bash(python3 -c \"import PIL; print\\(PIL.__version__\\)\")", - "Bash(python3 *)", - "Bash(xxd -l 16 src-tauri/icons/GitCat.ico)", - "Bash(pkg-config --exists openssl)", - "Bash(sudo apt-get install -y libssl-dev pkg-config)", - "Bash(dpkg -L libssl3t64)", - "Bash(grep *)", - "Read(//home/christoph/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tauri-2.11.5/src/**)", - "Read(//home/christoph/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tauri-runtime-wry-2.11.4/src/**)", - "Read(//home/christoph/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tauri-2.11.5/src/window/**)", - "WebSearch", - "Bash(node -p \"require\\('./package.json'\\).version\")", - "Bash(bash -n PKGBUILD)", - "Bash(makepkg --printsrcinfo)", - "Bash(npx tauri *)", - "Bash(echo \"---exit code:$?---\")", - "Bash(git -C /mnt/data/Development/GitLite status --short)", - "Bash(makepkg -f --noconfirm)", - "Bash(tar -tf gitty-2026.7.19-1-x86_64.pkg.tar.zst)", - "Bash(cp /mnt/data/Development/GitLite/PKGBUILD .)", - "Bash(sed -i 's/^pkgrel=1/pkgrel=3/' PKGBUILD)", - "Bash(node -e \"const fs=require\\('fs'\\); const version='2026.8.1'; const pkgbuild=fs.readFileSync\\('PKGBUILD','utf8'\\).replace\\(/^pkgver=.*\\\\$/m, 'pkgver='+version\\).replace\\(/^pkgrel=.*\\\\$/m, 'pkgrel=1'\\); fs.writeFileSync\\('PKGBUILD', pkgbuild\\);\")", - "Bash(rm PKGBUILD)", - "Bash(git -C /mnt/data/Development/GitLite stash)", - "Bash(git -C /mnt/data/Development/GitLite stash pop)", - "Bash(command -v docker)", - "Read(//home/christoph/.docker/**)", - "Bash(docker info *)", - "Bash(sudo -n test -f /root/.docker/config.json)", - "Bash(systemctl list-units *)", - "Bash(find / -maxdepth 4 -iname \"act_runner*\")", - "Bash(find / -maxdepth 6 -iname \"config.yaml\" -path \"*runner*\")", - "Read(//home/**)", - "Bash(getent passwd *)", - "Bash(docker context *)", - "Bash(git -C /mnt/data/Development/GitLite log --oneline -1 -- PKGBUILD)", - "Bash(git -C /mnt/data/Development/GitLite show --stat HEAD -- PKGBUILD)", - "Bash(git -C /mnt/data/Development/GitLite log --oneline -10)", - "Bash(git -C /mnt/data/Development/GitLite status)", - "Bash(git *)" - ] - } -} diff --git a/README.md b/README.md index 425cc6d..03b7ef7 100644 --- a/README.md +++ b/README.md @@ -119,20 +119,6 @@ with the stored credentials. --- -## Development - -Start the complete desktop application in development mode with: - -```bash -npm run tauri:dev -``` - -The development launcher preserves normal proxy settings. If a sandboxed -development terminal injects the non-routing `127.0.0.1:9` proxy or its -blocking SSH placeholder, those values are removed only for the Tauri child -process so Git remotes and Git LFS remain testable in the debug application. - ---- ## Git LFS @@ -145,12 +131,3 @@ detects LFS usage and automatically downloads the required LFS objects with the same remote and credentials, so no second pull is needed. Fresh clones also get repository-local LFS filters and the pre-push hook before they are opened. ---- - -## SigNoz telemetry - -After the user opts in, Gitty sends privacy-filtered product events and technical errors as OTLP/HTTP JSON logs. Every Git/Tauri command is also captured as a trace span with its command name, duration and success state, but without command arguments or results. CPU utilization and resident memory usage of the Gitty process are sampled every 30 seconds and exported as OpenTelemetry gauges. The default endpoints are `https://telemetry.cbsk-tech.de/v1/logs`, `https://telemetry.cbsk-tech.de/v1/traces`, and `https://telemetry.cbsk-tech.de/v1/metrics`. - -The SigNoz reverse proxy must forward all three paths to the Collector's OTLP/HTTP receiver (normally port `4318`). For development or a separate collector hostname, set `GITTY_OTLP_LOGS_ENDPOINT`, `GITTY_OTLP_TRACES_ENDPOINT`, and `GITTY_OTLP_METRICS_ENDPOINT` to the full signal URLs before starting Gitty. - -Telemetry is non-blocking, bounded, disabled until consent is stored, and never includes repository paths, remote URLs, branch names, commit messages, diffs, file names, credentials, source code, URLs, or email addresses.