Skip to content

Modernize project configuration and development tooling - #70

Open
Snuffy2 wants to merge 41 commits into
sirjmann92:mainfrom
Snuffy2:modernize-project-config
Open

Modernize project configuration and development tooling#70
Snuffy2 wants to merge 41 commits into
sirjmann92:mainfrom
Snuffy2:modernize-project-config

Conversation

@Snuffy2

@Snuffy2 Snuffy2 commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Modernizes MouseTrap's project configuration and development tooling so local setup, CI, dependency maintenance, and Docker builds use the same supported Python, Node.js, npm, Biome, and prek contracts.

What Changed

  • Consolidated Python dependency, type-checking, and lint configuration into pyproject.toml and replaced the legacy pre-commit configuration with prek.toml.
  • Bump Node to v24 LTS
  • Added repository scripts for setup, lint and dependency-update for local development
  • Incorporate local backend and mypy dependency-synchronization helpers into those scripts
  • Consolidated Biome into one root configuration, refreshed frontend tooling, and removed redundant lockfiles and version/config files.
  • Hardened CI and Docker builds for native-platform frontend compilation and explicit npm install-script approvals.
  • Updated contributor documentation to describe the unified workflows and supported tool versions.

Why

The repository previously spread overlapping configuration across several files and allowed local, CI, and Docker workflows to drift. Centralizing the authoritative settings and enforcing the same dependency-install policies makes maintenance simpler and ensures unsupported or unapproved tooling fails early.

Snuffy2 added 11 commits July 25, 2026 22:57
Run the frontend-installed Biome migration explicitly against the root and frontend configuration files so dependency updates cannot leave either versioned schema stale.
Enforce the npm install-script allowlist across local, CI, update, and Docker installs. Validate Python, Node.js, and npm before setup mutates the virtual environment or Git hooks.
Pass the strict install-script policy at each npm dependency command in local setup, maintenance, CI, and Docker. Remove the extra npm configuration layer in favor of visible CLI enforcement.
Derive the isolated mypy hook's runtime and type-stub dependencies from pyproject.toml during dependency maintenance, preventing the duplicated prek list from drifting.
Move frontend-specific Biome rules into the root configuration, point frontend scripts at the shared file, and migrate only that single configuration during dependency updates.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant