-
Notifications
You must be signed in to change notification settings - Fork 66
Open
Labels
Description
Developer Experience (DX) Audit Report
This report summarizes the findings of a Developer Experience audit performed on the repository.
✅ Strengths
- Documentation:
README.mdprovides a clear mission statement and easy entry points (Codespaces, Gitpod).CONTRIBUTING.mdis comprehensive, featuring diagrams of website and development structures, and clear steps for contribution.MAINTAINERS.mdeffectively guides repository maintainers.
- Tooling:
- Modern Python Tooling: Usage of
uvfor fast dependency management. - Task Runner:
justfilesimplifies common commands (install,serve,check). - Linting & Formatting: Comprehensive setup with
ruff,black,prettier, andeslintviapre-commit.
- Modern Python Tooling: Usage of
- CI/CD:
- Active workflows for checks, accessibility testing (
playwright), and security (scorecard).
- Active workflows for checks, accessibility testing (
⚠️ Areas for Improvement
-
Issue Templates:
- The
.github/ISSUE_TEMPLATEdirectory containsadd_event.ymlbut lacks standard Bug Report or Feature Request templates. This can lead to unstructured issue submissions. - Recommendation: Add
bug_report.mdandfeature_request.mdtemplates.
- The
-
Static Type Checking:
- There is no evidence of strict static type checking (e.g.,
mypyorpyright) inpyproject.tomlorjustfile. - Recommendation: Integrate
mypyinto the dev dependencies and thejust checkcommand to catch type errors early.
- There is no evidence of strict static type checking (e.g.,
-
Justfile
checkCommand:- The
checkcommand runsformat, which usually applies formatting. In CI or check contexts, it is often better to verify formatting (e.g.,ruff format --check) rather than modifying files. - Recommendation: Update
justfileto have separatefix(apply format) andlint(check format) commands, or ensurecheckuses non-mutating verification.
- The
-
Local Dev Setup:
- While
uvis great, ensuringuvitself is installed is the first step. Adding a small "One-line setup" or check script could further lower the barrier.
- While
📋 Action Plan
- Create
bug_report.mdandfeature_request.mdin.github/ISSUE_TEMPLATE. - Add
mypyto optional dependencies and configure it. - Refine
justfilecommands to distinguish between checking and fixing code.