reference
tools
training
Complete reference for the Python tools, shell scripts, and Makefile targets available in this repo.
Study & Practice
Tool
Description
Run with
run_training_session.py
Mixed-mode session runner (flashcards, quiz, scenarios). Supports drill manifests, SM-2 spaced repetition, and retry for weak items.
make run-training-session
run_case_study.py
Case study review runner — 60 case studies across 4 domains.
python3 tools/run_case_study.py list
run_scenario.py
Incident response drill runner with step-by-step mode and filtering.
make scenario
run_trivia.py
Interactive "Did you know?" trivia sessions for DevOps topics.
python3 tools/run_trivia.py
quiz.py
Interactive quiz runner from the quiz bank.
python3 tools/quiz.py
build_study_plan.py
Generate time-budgeted study plans with 10 named presets. Auto-selects based on SM-2 state.
make build-study-plan
recommend_training_session.py
Recommend what to study next based on SM-2 due items, weak areas, and coverage gaps.
make recommend-training-session
report_training_progress.py
Progress and weakness reporting with recommendations.
make report-training-progress
Validation
Tool
Description
Run with
validate_registry.py
Validate the canonical asset registry (assets.yaml).
make validate-registry
validate_flashcards.py
Validate flashcard TSV decks (schema, IDs, duplicates). Supports --strict.
Part of make validate-training-assets
validate_quiz_bank.py
Validate quiz bank YAML (schema, topic cross-ref). Supports --strict.
Part of make validate-training-assets
validate_scenarios.py
Validate scenario YAML files (schema, IDs, fields). Supports --strict.
Part of make validate-training-assets
validate_drills.py
Validate drill manifest YAML files (schema, sources, filters).
make validate-drills
validate_trivia.py
Validate trivia TSV decks (header schema, field counts, IDs).
python3 tools/validate_trivia.py
validate_structure.py
Validate repo structure and detect stale references across files, dirs, Makefile, CI.
make validate-structure
check_portal_drift.py
Check if generated portal files are out of date with the registry.
make check-portal-drift
Reporting & Audit
Tool
Description
Run with
audit_training_assets.py
Audit training assets for quality, coverage, and duplicates.
make audit-training-assets
report_training_coverage.py
Coverage gap analysis across flashcards, quizzes, scenarios, and docs.
make report-training-coverage
report_topic_coverage_grid.py
Topic-by-type coverage matrix showing which topics have primers, cards, quiz, etc.
make report-topic-coverage-grid
report_case_study_graph.py
Map case studies to derived flashcards, related quiz items, and scenarios.
make report-case-study-graph
manage_profiles.py
List, summarize, reset, or archive learner profiles.
make manage-profiles
Content Generation & Pipeline
Tool
Description
Run with
gen_portal.py
Regenerate portal files (levels, topics, exercise map, progress, catalog) from registry.
make gen-portal
gen_wiki_nav.py
Generate MkDocs nav, topic landing pages, breadcrumbs, and related sections.
make gen-wiki-nav
gen_mkdocs_nav.py
Generate the nav: section of mkdocs.yml from the registry.
make gen-mkdocs-nav
gen_interactive_pages.py
Generate wiki-browsable pages for flashcards, quiz, scenarios, and drills.
make gen-interactive-pages
generate_training_candidates.py
Derive candidate flashcards and quiz items from library markdown files.
python3 tools/generate_training_candidates.py <dir>
derive_case_study_assets.py
Derive flashcards from case study markdown (symptoms, questions, solutions).
make derive-case-study-assets
promote_training_candidates.py
Review and promote staged candidates to canonical assets with quality scoring.
make promote-training-candidates
export_anki_starters.py
Regenerate Anki-importable starter decks from canonical flashcards. Supports 5 export modes.
make export-anki-starters
Maintenance Utilities
Tool
Description
Run with
normalize_cards.py
Normalize flashcard outliers (expand one-word answers, strip leading <br> tags).
python3 tools/normalize_cards.py
rejoin_split_cards.py
Rejoin malformed/split flashcard rows (collects orphan lines back into parent).
python3 tools/rejoin_split_cards.py
trim_outliers.py
Trim bloated answers (>800 chars) and fix bloated questions (>200 chars).
python3 tools/trim_outliers.py
strict_allowlist.py
Shared helper for loading strict validation allowlists (used by validators).
Library — not called directly
Infrastructure Scripts
Scripts in devops/scripts/ for local cluster management and deployment.
Script
Description
Makefile Targets
deploy-local.sh
Deploy the grokdevops app to a local k3s/k3d cluster.
make deploy-all, make undeploy-all
deploy-wiki.sh
Build and deploy the wiki to GitHub Pages (grokdevops-wiki repo).
make deploy-wiki, make deploy-wiki-dry
k3d-cluster.sh
Manage a k3d (k3s-in-Docker) cluster for local development.
make k3d-up, make k3d-down, make k3d-deploy
install-observability.sh
Install Prometheus, Loki, Tempo, and Grafana on the cluster.
Referenced in observability guides
install-argocd.sh
Install ArgoCD with CLI configuration and app registration.
make argocd-install, make argocd-uninstall
install-kyverno.sh
Install Kyverno policy engine via Helm for admission control.
make kyverno-install, make kyverno-uninstall
install-linkerd.sh
Install Linkerd service mesh with auto-mTLS and viz extension.
make linkerd-install, make linkerd-uninstall
install-postgres.sh
Install PostgreSQL via Bitnami Helm chart (dev defaults).
make postgres-install, make postgres-uninstall
install-vault.sh
Install HashiCorp Vault in dev mode with Agent Injector.
make vault-install, make vault-uninstall
workflow.sh
Shared helper for infrastructure workflow scripts.
Library — sourced by other scripts
Key Makefile Targets
Run make help for the full list. Most commonly used:
# Testing
make test # Smoke + pytest (app only, fast)
make test-all # Full: lint + all tests + training lint + repo health
# Training validation
make validate-training-assets # Run all 4 validators (normal mode)
make validate-training-assets-strict # Warnings as errors (CI gate)
make validate-registry # Registry validation only
# Content generation
make gen-portal # Regenerate portal pages from registry
make gen-wiki-nav # Regenerate wiki nav and topic pages
make gen-mkdocs-nav # Regenerate mkdocs.yml nav section
# Wiki
make deploy-wiki # Build + deploy wiki to GitHub Pages
make deploy-wiki-dry # Build only (no push)
make wiki-serve # Local preview server
# Study
make run-training-session # Run a study session
make recommend-training-session # What to study next
make build-study-plan # Generate a study plan
make report-training-progress # Progress report
March 25, 2026 20:43:47
March 18, 2026 22:32:42