@@ -398,3 +398,105 @@ sync-metadata:
398398# Run panic-attacker pre-commit scan
399399assail:
400400 @command -v panic-attack >/dev/null 2>&1 && panic-attack assail . || echo "panic-attack not found — install from https://github.com/hyperpolymath/panic-attacker"
401+
402+ # ═══════════════════════════════════════════════════════════════════════════════
403+ # ONBOARDING & DIAGNOSTICS
404+ # ═══════════════════════════════════════════════════════════════════════════════
405+
406+ # Check all required toolchain dependencies and report health
407+ doctor:
408+ #!/usr/bin/env bash
409+ echo "═══════════════════════════════════════════════════"
410+ echo " Anamnesis Doctor — Toolchain Health Check"
411+ echo "═══════════════════════════════════════════════════"
412+ echo ""
413+ PASS=0; FAIL=0; WARN=0
414+ check() {
415+ local name="$1" cmd="$2" min="$3"
416+ if command -v "$cmd" >/dev/null 2>&1; then
417+ VER=$("$cmd" --version 2>&1 | head -1)
418+ echo " [OK] $name — $VER"
419+ PASS=$((PASS + 1))
420+ else
421+ echo " [FAIL] $name — not found (need $min+)"
422+ FAIL=$((FAIL + 1))
423+ fi
424+ }
425+ check "just" just "1.25"
426+ check "git" git "2.40"
427+ check "Zig" zig "0.13"
428+ # Optional tools
429+ if command -v panic-attack >/dev/null 2>&1; then
430+ echo " [OK] panic-attack — available"
431+ PASS=$((PASS + 1))
432+ else
433+ echo " [WARN] panic-attack — not found (pre-commit scanner)"
434+ WARN=$((WARN + 1))
435+ fi
436+ echo ""
437+ echo " Result: $PASS passed, $FAIL failed, $WARN warnings"
438+ if [ "$FAIL" -gt 0 ]; then
439+ echo " Run 'just heal' to attempt automatic repair."
440+ exit 1
441+ fi
442+ echo " All required tools present."
443+
444+ # Attempt to automatically install missing tools
445+ heal:
446+ #!/usr/bin/env bash
447+ echo "═══════════════════════════════════════════════════"
448+ echo " Anamnesis Heal — Automatic Tool Installation"
449+ echo "═══════════════════════════════════════════════════"
450+ echo ""
451+ if ! command -v just >/dev/null 2>&1; then
452+ echo "Installing just..."
453+ cargo install just 2>/dev/null || echo "Install just from https://just.systems"
454+ fi
455+ echo ""
456+ echo "Heal complete. Run 'just doctor' to verify."
457+
458+ # Guided tour of the project structure and key concepts
459+ tour:
460+ #!/usr/bin/env bash
461+ echo "═══════════════════════════════════════════════════"
462+ echo " Anamnesis — Guided Tour"
463+ echo "═══════════════════════════════════════════════════"
464+ echo ""
465+ echo '*A conversation knowledge extraction and reconciliation system for multi-LLM development workflows.*'
466+ echo ""
467+ echo "Key directories:"
468+ echo " src/ Source code"
469+ echo " ffi/ Foreign function interface (Zig)"
470+ echo " src/abi/ Idris2 ABI definitions"
471+ echo " docs/ Documentation"
472+ echo " tests/ Test suite"
473+ echo " .github/workflows/ CI/CD workflows"
474+ echo " contractiles/ Must/Trust/Dust contracts"
475+ echo " .machine_readable/ Machine-readable metadata"
476+ echo " examples/ Usage examples"
477+ echo ""
478+ echo "Quick commands:"
479+ echo " just doctor Check toolchain health"
480+ echo " just heal Fix missing tools"
481+ echo " just help-me Common workflows"
482+ echo " just default List all recipes"
483+ echo ""
484+ echo "Read more: README.adoc, EXPLAINME.adoc"
485+
486+ # Show help for common workflows
487+ help-me:
488+ #!/usr/bin/env bash
489+ echo "═══════════════════════════════════════════════════"
490+ echo " Anamnesis — Common Workflows"
491+ echo "═══════════════════════════════════════════════════"
492+ echo ""
493+ echo "FIRST TIME SETUP:"
494+ echo " just doctor Check toolchain"
495+ echo " just heal Fix missing tools"
496+ echo ""
497+ echo "PRE-COMMIT:"
498+ echo " just assail Run panic-attacker scan"
499+ echo ""
500+ echo "LEARN:"
501+ echo " just tour Guided project tour"
502+ echo " just default List all recipes"
0 commit comments