|
Some checks failed
dependency freshness / dependencies on newest stable (push) Has been cancelled
md-naming / markdown naming convention (push) Has been cancelled
Pre-commit checks / pre-commit (push) Has been cancelled
Python tests / test (push) Has been cancelled
Shell tests / shell-tests (push) Has been cancelled
Shell tests / arch-tests (push) Has been cancelled
A push took ~13s. prettier is a pre-push hook precisely because Node's startup dominates its runtime, and pre-commit chunks a large file list into several invocations -- a 106-file push paid ten cold Node starts. ci-mirror, the hook that looks expensive, was already 0.02s once its green-tree cache hit. A file whose content, prettier version and prettier config are all unchanged since its last clean check cannot have become unformatted, so the verdict is now cached and the file never reaches Node. Only clean verdicts are recorded, so a formatting regression is always re-checked; the key includes `prettier --version` and every config file, so an upgrade or a config edit invalidates the cache wholesale. The systemd-run memory cap is unchanged. Measured on the same push range: 13.0s -> 3.3s total, of which ~0.6s is hooks and the rest is git's own network negotiation. On a 40-file list the runner itself goes 0.652s -> 0.057s, starting no prettier process at all. endurain/README.md and copilot-instructions.md are reflowed: the ~ reorganisation lengthened paths inside them, which changed prettier's markdown table alignment. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AwtowrowDXx6ccmWVPkCaF |
||
|---|---|---|
| .github | ||
| .vscode | ||
| docs | ||
| endurain | ||
| linux_configuration | ||
| meta | ||
| python_pkg | ||
| scripts | ||
| third_party/agent-skills | ||
| .binary-allowlist | ||
| .copilotignore | ||
| .fvmrc | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .prettierignore | ||
| .shellcheckrc | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| DOCS-installer-fix.md | ||
| DOCS-restructure-handoff.md | ||
| lint_python.sh | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
| run.sh | ||
| TODO-design-audit.md | ||
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