Go to file
Krzysztof kuhy Rudnicki c73cfd3573 ci: build the pylint env first, pygame headers only if that fails
The first run of the split workflow restored the pylint hook env from
the old monolithic cache, yet still spent 30 s on apt for pygame's SDL
headers, because the step was gated on an exact cache-key hit. That made
the pylint group 71 s. Now the env build is attempted first (pre-commit
installs the env, then has no files to lint) and the headers are
installed and the build retried only when it actually fails.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KFwA9nymhUdTrVF65kigTV
2026-09-27 08:49:17 +02:00
.github ci: build the pylint env first, pygame headers only if that fails 2026-09-27 08:49:17 +02:00
.vscode chore: archive 41 unmaintained directories to testsAndMisc-archive 2026-05-14 20:21:05 +02:00
docs docs: prettier-format book-guard icon contract 2026-09-26 19:44:44 +02:00
endurain Cache prettier's verdict so a push stops paying Node startup 2026-09-11 21:03:57 +02:00
linux_configuration i3blocks: gaming budget block (time left, used/total, unearned bonuses) 2026-09-26 17:22:54 +02:00
meta deps: bump hypothesis 6.168.1 -> 6.168.2 2026-09-27 08:43:50 +02:00
python_pkg app_icons: open-book glyph for book-guard; android_ui: hermetic serial test 2026-09-26 19:42:31 +02:00
scripts Re-point paths for the ~ reorganisation (home-tidy) 2026-09-11 20:50:19 +02:00
third_party/agent-skills style(prettier): apply markdown/json formatting updates 2026-05-07 22:08:00 +02:00
.binary-allowlist billsplit: drop the four unused platform runner directories 2026-08-17 11:14:32 +02:00
.copilotignore Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
.fvmrc chore: consolidate root configs into meta/, drop unused C dir + split/pdfCentered/geo_data 2026-05-14 20:40:12 +02:00
.gitignore Extract digital-wellbeing; the directory-depth cap now enforces 2026-08-23 20:57:51 +02:00
.pre-commit-config.yaml helium: unlock the keyring through secretstorage; anchor the running-browser check 2026-09-20 18:29:49 +02:00
.prettierignore Extract phone_focus_mode together with focus_policy 2026-08-23 18:32:58 +02:00
.shellcheckrc Fail the build on any shellcheck finding; fix the 222 the old gate hid 2026-08-03 19:49:11 +02:00
AGENTS.md Re-point paths for the ~ reorganisation (home-tidy) 2026-09-11 20:50:19 +02:00
CLAUDE.md CLAUDE.md -> AGENTS.md symlink; add cocoindex_code to gitignore 2026-08-18 20:17:48 +02:00
DOCS-installer-fix.md Re-point paths for the ~ reorganisation (home-tidy) 2026-09-11 20:50:19 +02:00
DOCS-restructure-handoff.md Re-point paths for the ~ reorganisation (home-tidy) 2026-09-11 20:50:19 +02:00
lint_python.sh chore: consolidate root configs into meta/, drop unused C dir + split/pdfCentered/geo_data 2026-05-14 20:40:12 +02:00
pyproject.toml chore: consolidate root configs into meta/, drop unused C dir + split/pdfCentered/geo_data 2026-05-14 20:40:12 +02:00
README.md Make the geofence tell the truth, and the phone explain itself 2026-08-14 13:43:05 +02:00
requirements.txt chore: consolidate root configs into meta/, drop unused C dir + split/pdfCentered/geo_data 2026-05-14 20:40:12 +02:00
run.sh chore: consolidate root configs into meta/, drop unused C dir + split/pdfCentered/geo_data 2026-05-14 20:40:12 +02:00
TODO-design-audit.md Re-point paths for the ~ reorganisation (home-tidy) 2026-09-11 20:50:19 +02:00

testsAndMisc

A collection of personal projects, scripts, and experiments — from a GPS-based phone focus tool to Linux/Arch automation, with CI, linting, and pre-commit hooks across the board.

Highlights

Phone Focus Mode

Location-based app restriction for rooted Android. Automatically disables non-whitelisted apps within 500 m of home using ADB + Magisk. Features Haversine distance calculation, hysteresis to prevent toggling, fail-safe unlock, and state persistence. Bash, Android ADB.

Linux Configuration

Automated Arch Linux setup: fresh-install scripts, i3 window manager config, LaTeX environment, and system tests. Includes documentation and test result logging.

Scripts

Utility scripts for development workflows — build file validation, secret detection, and custom makepkg helpers.

Repository Layout

Path Description
python_pkg/ Python packages (each maintained subpackage lives here)
billsplit/ Receipt bill-splitting Flutter app — people, groups, per-item assignment, e-paragon import and xlsx export (Dart, 100 % line coverage gate)
linux_configuration/ Arch Linux setup, i3 config, system maintenance scripts
focus_owner/ Device Owner app enforcing focus mode on the unrooted Pixel 6a — geofence + night curfew, hides apps the phone cannot un-hide (Dart/Kotlin)
phone_focus_mode/ GPS-based Android focus enforcer (rooted-era scripts; config.sh is still the policy source of truth for focus_owner/)
reverse_survivors/ Reverse Survivors — React/Vite game where you play the horde against an AI survivor (TypeScript, 100 % coverage gate)
scripts/ Workspace-level helper scripts and pre-commit hooks
docs/ Reference docs and historical reports
third_party/ Vendored upstream skills/agents
meta/ Repo-wide tooling: pyproject.toml, requirements.txt, .pre-commit-config.yaml, run.sh, lint_python.sh, .fvmrc. Symlinked into the repo root so tools that auto-discover from root keep working.

Archived / unmaintained projects live in the sibling repository testsAndMisc-archive.

Tooling

  • Python linting: Ruff with all rules enabled (see meta/pyproject.toml)
  • Dependencies: pip install -r meta/requirements.txt (combined runtime + dev)
  • CI: GitHub Actions — lint, build, and test on push
  • Testing: pytest (Python), custom shell-based test harness for scripts