Skip to main content
A Story in repr is a narrative summary of a set of code changes. It transforms raw git commits into something human-readable—professional narratives that explain what you built and why it matters.

What’s in a Story?

A story consists of:
  • Summary: A one-line title (e.g., “Implemented OAuth2 authentication”)
  • Content: A detailed description of the work, generated by an LLM
  • Metadata:
    • Associated repository
    • Date range (first and last commit)
    • Commit SHAs (full 40-char hashes)
    • Files changed / Lines of code
    • Technologies used
    • Generation method (local/cloud)

Story Format Example

Here’s what a generated story looks like:

Resume Template (Default)

Interview Template (STAR Format)

Changelog Template

Narrative Template (Story Format)

How Stories are Created

Stories are generated via the repr generate command:
  1. Selection: Repr selects a batch of commits (from the queue, specific SHAs, or date range)
  2. Analysis: The diffs are analyzed to understand what changed and why
  3. Generation: An LLM (Local or Cloud) writes the narrative based on a Template
  4. Storage: The story is saved as a Markdown file in ~/.repr/stories/<id>.md

Story Metadata

Each story includes rich metadata stored in frontmatter:

Story Lifecycle

States

  • Draft (needs_review: true) - Newly generated, not yet approved
  • Approved (needs_review: false) - Reviewed and ready
  • Featured (is_featured: true) - Pinned to top of your profile
  • Hidden (is_hidden: true) - Excluded from public profile
  • Pushed (pushed_at: <timestamp>) - Published to repr.dev

Commands

Privacy & Storage

Stories are stored locally by default in ~/.repr/stories/ as Markdown files:
Privacy guarantee: Stories are only uploaded to the cloud if you explicitly run:
  • repr push - Publish specific stories
  • repr push --all - Publish all unpushed stories
  • repr sync - Bidirectional sync
Backup: Stories are human-readable Markdown files. You can:
  • Read them in any text editor
  • Version control them (git init ~/.repr/stories)
  • Backup with repr data backup
  • Export with repr profile export

Use Cases

Different templates serve different purposes:
Use CaseTemplateWhy
Performance ReviewresumeQuantified impact, action verbs
Job Interview PrepinterviewSTAR format, behavioral questions
Sprint DemochangelogWhat shipped, categorized
Blog PostnarrativeStorytelling, technical journey
Weekly UpdateresumeProfessional, stakeholder-friendly
PortfolioresumeHighlight best work, impact-focused