mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 12:27:50 +01:00
Ranks the codecrafters build-your-own-x projects by difficulty and emits two offline, self-contained HTML pages: a per-guide ladder (~360 tutorials) and a per-category ladder (30 categories), grouped into Beginner/Intermediate/Advanced/ Expert tiers plus an Unsorted bucket. A guide inherits its category's tier; language only nudges order within a tier. Includes a Makefile pipeline (fetch -> parse -> build) and 100%-branch-covered tests. Excludes the generated guide page from codespell since it inlines upstream titles verbatim. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QNRTPNYvoBTQoTEWkYtCJD
18 lines
1.2 KiB
JSON
18 lines
1.2 KiB
JSON
{
|
|
"title": "Add byox_ladder difficulty-ladder generator",
|
|
"objective": "Add a self-contained tool that ranks the codecrafters build-your-own-x projects by difficulty and emits two offline HTML pages: a per-guide ladder (~360 tutorials) and a per-category ladder (30 categories), grouped into Beginner/Intermediate/Advanced/Expert tiers plus an Unsorted bucket.",
|
|
"acceptance_criteria": [
|
|
"python_pkg/byox_ladder parses the upstream README into guides.json via parse_guides.py",
|
|
"build_pages.py emits standalone guide-ladder.html and category-ladder.html that open via file:// with no network",
|
|
"make build regenerates the whole pipeline (fetch -> parse -> build)",
|
|
"Tests reach 100% branch coverage on parse_guides.py and build_pages.py",
|
|
"All pre-commit hooks pass (ruff ALL, mypy, pylint, bandit, codespell, check-python-location)"
|
|
],
|
|
"out_of_scope": [
|
|
"Vendoring the upstream README (fetched at build time, gitignored)",
|
|
"Any change to existing python_pkg packages or repo tooling",
|
|
"A per-guide exact 1..N ranking (difficulty is tier-based by design)"
|
|
],
|
|
"verifier": "pre-commit run --all-files (pre-push stage) and python3 -m pytest python_pkg/byox_ladder/tests"
|
|
}
|