Skip to content

Switch to uv and prek, and enforce the shared lint suite - #117

Merged
rtibbles merged 3 commits into
learningequality:mainfrom
rtibblesbot:issue-100-2676e3
Oct 25, 2026
Merged

rtibbles merged 3 commits into
learningequality:mainfrom
rtibblesbot:issue-100-2676e3

Conversation

@rtibblesbot

@rtibblesbot rtibblesbot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Repo becomes a uv project with a prek suite matching Kolibri's.
  • Adds ruff, ESLint, Prettier, zizmor and uv-lock hooks.
  • Fixes every existing finding, including ESLint and Prettier failures on main.
  • Scopes every GitHub App token to the permissions its script uses.
  • Dependabot tracks uv and pre-commit instead of pip.
  • Adds docs/development.md for dev setup.

References

Closes #100.

Reviewer guidance

Suggested review: Full code review.

  • Workflow steps changed: .github/workflows/community-contribution-label.yml, .github/workflows/contributor-issue-comment.yml, .github/workflows/contributor-pr-reply.yml, .github/workflows/dependabot-reviewer.yml, .github/workflows/good-first-issue-comment.yml, .github/workflows/holiday-message.yml, .github/workflows/is-contributor.yml, .github/workflows/manage-issue-header.yml, .github/workflows/pr-statistics.yml, .github/workflows/pre-commit.yml, .github/workflows/pull-request-label.yml, .github/workflows/pull-request-template.yml, .github/workflows/review-requested.yml, .github/workflows/sync-automation-template.yml, .github/workflows/test.yml, .github/workflows/unassign-inactive-issues.yaml, .github/workflows/update-pr-spreadsheet.yml.
  • Confirm the LE bot app installation holds members: read; without it, unassign-inactive-issues fails token creation in every consumer repo.
  • Decide whether the # zizmor: ignore[github-app] on the org-wide sync token counts as "fixed, not excluded".
  • After merge, trigger each scoped automation and the uv-run community-contribution-label in learningequality/test-actions, since PR checks run the @main leaves, not this branch's.
  1. From a fresh clone: uv sync --group dev, yarn install --frozen-lockfile, uv run prek run --all-files — every hook passes.
  2. After merge, trigger the scoped automations in learningequality/test-actions — each runs without a 403.
Criterion verifiable only after merge Reason
pre-commit.yml passes on main Only observable after merge.
Dependabot lists uv, pre-commit, npm, github-actions, no pip Dependency graph reads the default branch.

AI usage

Used Claude Code to plan the change, write the config, fix the lint findings and scope the app tokens. Verified with prek on a clean clone, the JS test suite and self-review of the diff.

Deviations from the issue spec

Criterion Why not
Existing violations fixed, not excluded sync-automation-template.yml keeps # zizmor: ignore[github-app] on its org-wide token: consumers are discovered at runtime, so no static repositories: list fits.

Written by rtibblesbot, an LLM-based coding agent.

@rtibblesbot

🟡 Waiting for feedback

Last updated: 2026-10-25 19:52 UTC

rtibblesbot and others added 3 commits October 25, 2026 12:34
- pyproject.toml + uv.lock replace requirements-dev.txt
- CI and community-contribution-label run through uv instead of pip
- Add uv-lock, zizmor, ruff, ESLint and Prettier hooks; bump the rest
- Dependabot tracks uv and pre-commit instead of pip
- docs/development.md covers dev setup

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- JS scripts write output through process.stdout/stderr instead of console
- Python scripts log status messages; the issue URL list stays on stdout

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Each create-github-app-token step requests only the permissions its job uses
- Event values reach run: through env:
- Top-level permissions: contents: read

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rtibblesbot
rtibblesbot marked this pull request as ready for review October 25, 2026 19:50
@rtibblesbot
rtibblesbot requested review from a team and leq-bot October 25, 2026 19:50
@rtibbles
rtibbles merged commit f5b89e8 into learningequality:main Oct 25, 2026
194 checks passed
@rtibblesbot

Copy link
Copy Markdown
Contributor Author

Quick check on rtibblesbot's work on this PR: react 👍 helpful · 😕 mixed · 👎 not helpful. Reply with anything specific.

@rtibblesbot
rtibblesbot deleted the issue-100-2676e3 branch October 25, 2026 19:58
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.

Switch to uv and prek, and enforce the shared lint suite

2 participants