ghost.dev friction report
{{ repo_name }}
{{ grade }}
Friction Score: {{ friction_score }} / 100 โ {{ friction_level }}
{{ total_duration_sec }}s
Total Duration
{{ time_to_build_min }}m
Time to Build
{{ time_to_test_min }}m
Time to Test
{{ friction_count }}
Friction Events
{{ step_count }}
Setup Steps
{{ docs_count }}
Docs Scanned
๐ Documentation Scanned
{% for doc in docs_found %}
{{ doc }}
{% endfor %}
โ๏ธ Detected Requirements
{% if prerequisites %}
Prerequisites
{% for p in prerequisites %}{{ p
}}{% endfor %}
Environment Variables
{% for v in env_vars %}{{ v
}}{% endfor %}
Implicit / Undocumented Requirements
{% for r in implicit_reqs %}{{ r
}}{% endfor %}
๐ง Extracted Setup Steps
{% for s in steps %}{{ s.action }}
{% if s.assumptions %}
โ ๏ธ Assumes: {{ s.assumptions|join(', ') }}
{% endif %}
๐ Friction Breakdown
{% for cat in categories %} {% endfor %}๐ฐ Estimated Onboarding Cost
~{{ cost_hours }}h
Time Wasted
${{ "%.0f"|format(cost_dollars) }}
Per Developer
${{ "%.0f"|format(cost_dollars * 10) }}
10 Devs / Year
๐ Execution Timeline
{% for sr in step_results %}{{ sr.command }}
{% if sr.friction %}
{{ sr.friction.severity }}
{{ sr.friction.description }}
{% if sr.friction.self_recovered %}
{% endif %}
๐ง Recovered: {{ sr.friction.recovery_method }}
{% endif %}
โ ๏ธ Friction Events
{% for e in friction_events %}{{ e.severity }} {{ e.description }} Step {{ e.step_number }}
- Category
- {{ e.category|replace('_',' ')|title }}
- Command
{{ e.command }}
- Doc Source
- {{ e.doc_source }}
- Doc Says
- "{{ e.doc_line }}"
- Reality
- {{ e.reality }}
- Time Wasted
- {{ e.time_wasted }}
{{ e.error_output }}
- Suggested Fix
- {{ e.suggested_fix }}
- Recovery
- โ Self-recovered: {{ e.recovery_method }}
๐ Suggested Documentation Fixes
{% for fix in fix_suggestions %}๐ {{ fix.file_to_fix }}{% if fix.section %} โ {{ fix.section }}{% endif %}
{% if fix.current_text %}โ {{ fix.current_text }}{% endif %}
{% if fix.suggested_text %}+ {{ fix.suggested_text }}{% endif %}
{% if fix.reasoning %}{{ fix.reasoning }}
{% endif %}