mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 21:14:01 +01:00
New python_pkg/code_tutor package that turns an unfamiliar codebase into an interactive lesson: analyse code into items (_analyzer), order them dependency-first (_plan_builder), pose reimplement challenges (_challenge + _challenge_support), verify user implementations with tests and coverage (_verifier), track progress (_progress/_session), and offer local-LLM hints (_llm), driven by a Typer/Rich CLI (cli). - meta/pyproject.toml + .pre-commit-config.yaml + meta/requirements.txt: add anthropic/rich/typer deps, a cli.py per-file-ignore (Typer B008 etc), and code_tutor-specific ruff/pylint/mypy tuning. - _challenge.py and its tests are split across _challenge_support.py and test_challenge_part2/part3.py to stay under the 500-line file cap. Verification: pytest 631 passed at 100% line+branch coverage; every file <=500 lines; pre-commit (ruff ALL, mypy strict, pylint 10/10, bandit, evidence + multi-file contract) green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017RRCdR4D8SaVrN2xraMQxM
18 lines
1.1 KiB
JSON
18 lines
1.1 KiB
JSON
{
|
|
"title": "code_tutor interactive codebase-learning CLI",
|
|
"objective": "Ship a new python_pkg/code_tutor package that turns an unfamiliar codebase into an interactive lesson: analyse code into items, order them dependency-first, pose reimplement challenges, and verify user implementations with tests and coverage, with optional local-LLM hints.",
|
|
"acceptance_criteria": [
|
|
"Analyzer extracts functions/classes as CodeItems from a codebase.",
|
|
"Plan builder orders items dependency-first and groups them into sessions.",
|
|
"Challenge flow discovers matching user tests and drives the attempt loop.",
|
|
"Verifier runs the user's implementation against tests and enforces a coverage bar.",
|
|
"CLI (Typer/Rich) exposes the tutor commands.",
|
|
"Whole package passes ruff select=ALL, mypy strict, pylint 10/10, and 100% line+branch test coverage."
|
|
],
|
|
"out_of_scope": [
|
|
"A hosted/multi-user service.",
|
|
"Bundling or managing the local LLM runtime itself."
|
|
],
|
|
"verifier": "python -m pytest python_pkg/code_tutor/tests/ --cov=python_pkg.code_tutor --cov-branch (100%) + pre-commit (ruff/mypy/pylint/bandit)"
|
|
}
|