┌──────────────────────────────────────────────────┐
    │  ╔══════════════════════════════════════════════╗ │
    │  ║  ░█▀▀ ░█▀█ ░█▀▄ ░█▀▀ ▀█▀ ░█▀█ ░█▀█ ░█▀▀  ║ │
    │  ║  ░█   ░█░█ ░█░█ ░█▀▀ ░█  ░█▀█ ░█▀▀ ░█▀▀  ║ │
    │  ║  ░▀▀▀ ░▀▀▀ ░▀▀  ░▀▀▀ ░▀  ░▀░▀ ░▀   ░▀▀▀  ║ │
    │  ║                                              ║ │
    │  ║  the flight recorder for AI coding        ║ │
    │  ║  ───────────────────────────────        ║ │
    │  ║  ────────────────────────               ║ │
    │  ╠══════════════════════════════════════════════╣ │
    │  ║                                    SIDE A   ║ │
    │  ║     ┌───────┐           ┌───────┐  ▸ REC    ║ │
    │  ║     │ ╭───╮ │░░░░░░░░░░░│ ╭───╮ │           ║ │
    │  ║     │ │ ◎ │ │░░░░░░░░░░░│ │ ◎ │ │           ║ │
    │  ║     │ ╰───╯ │░░░░░░░░░░░│ ╰───╯ │           ║ │
    │  ║     └───────┘           └───────┘           ║ │
    │  ╚══════════════════════════════════════════════╝ │
    │  ◉                                            ◉  │
    └──────────────────────────────────────────────────┘

Your code moves fast.
Your docs don't.

Codetape records what changed, why, and what it broke — every time an AI agent touches your code. Then syncs your README, CLAUDE.md, and CHANGELOG. Automatically.

$ npx codetape init [copy] copied!
        ▼ scroll to learn more ▼
  ───────────────────────────────
═══════════════════════════════════╡ THE PROBLEM ╞═══════════════════════════════════
    ██╗    ██╗ █████╗ ██████╗ ███╗   ██╗██╗███╗   ██╗ ██████╗
    ██║    ██║██╔══██╗██╔══██╗████╗  ██║██║████╗  ██║██╔════╝
    ██║ █╗ ██║███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║  ███╗
    ╚██╗╚██╔╝██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║   ██║
     ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝ ╚═══╝╚═╝╚═╝ ╚═══╝╚══════╝

Documentation drift is
eating your codebase

One AI session. 40 files changed. Your README is still describing last month's architecture.

DOCUMENTATION FRESHNESS MONITOR ● REC
Code
LIVE
Git log
~1d
CLAUDE.md
~2w
README
~2mo
Arch docs
???
▸ WITH CODETAPE
All docs
~1d

Silent divergence

Docs say "instant charge". Code says "pre-auth". Nobody notices until a new hire reads the README and gets confused.

Decision amnesia

You chose X over Y for good reasons. Three weeks later, Claude rewrites it to Y because nobody recorded why.

CLAUDE.md goes stale

The file that tells your AI how the project works is the one file nobody updates after AI rewrites everything.

═══════════════════════════════════╡ FEATURES ╞════════════════════════════════════
  ┌─────────────────────────────────────────────┐
  │  7 commands  ·  0 config  ·  0 dependencies │
  └─────────────────────────────────────────────┘

All your docs,
always fresh.

/trace

Record a session

Captures what changed, why it changed, and what it affects. Not a diff — a story your future self can read in 30 seconds.

 ┌─ trace ────────────────┐
 │ ◉ PaymentService  MOD  │
 │ ◉ StripeWebhook   NEW  │
 │ ◉ BookingFlow     MOD  │
 │ ◎ 2 decisions logged   │
 └────────────────────────┘
/trace-sync

Sync your docs

Updates README, CHANGELOG, CLAUDE.md, and AGENTS.md from your trace history. Only touches managed sections.

 README.md
 ├── Getting Started  [yours]
 ├── Architecture     [synced]
 ├── Components       [synced]
 └── License          [yours]
/trace-map

Generate architecture

Creates ARCHITECTURE.md with mermaid dependency graphs and component descriptions. One command, full system overview.

 Booking ──▸ Payment ──▸ Stripe
    │                      ▲
    ▼                      │
 WhatsApp            Webhook
/trace-review

Detect drift

Scans for docs that fell behind the code. Reports severity. Offers to fix everything with one confirmation.

 ■■ HIGH   README#payment-flow
 ■□ MED    docs/api.md
 □□ LOW    StripeWebhook (new)
/trace-commit

Smart commits

Generates conventional commit messages from traces. feat, fix, refactor — with scope and breaking change flags.

 feat(payment): migrate to
 Stripe pre-authorization flow
 BREAKING CHANGE: PaymentService
 API signature changed
/trace-log

Search history

Query change history by component, date, or keyword. "What changed in PaymentService last month?" — instant answer.

  Mar 20  pre-auth migration
  Mar 05  add refund support
  Feb 28  Stripe SDK v14
═══════════════════════════════════╡ HOW IT WORKS ╞════════════════════════════════

Like a tape deck
for your codebase

Pure prompt engineering. Zero runtime. Claude does all the thinking.

  ╔═══════════╗     ╔═══════════╗     ╔═══════════╗     ╔═══════════╗
  INSTALL  ║────▸║    CODE   ║────▸║  RECORD   ║────▸║   SYNC    
 npx code-       just vibe        /trace         /trace-  
 tape init                                      sync    
  ╚═══════════╝     ╚═══════════╝     ╚═══════════╝     ╚═══════════╝
       │                  │                  │                  │
  Sets up skill     Codetape stays     Writes semantic     Updates README
  + .codetape/      invisible until     trace log with      CLAUDE.md and
  + commands        you need it         decisions + TODOs   CHANGELOG
═══════════════════════════════════════╡ DEMO ╞═════════════════════════════════════

30 seconds to first trace

~/projects/ride-flow — claude code
        ┌──────────────┐            ┌──────────────┐
        │    WITHOUT   │  ◀ drag ▶  │     WITH     │
        │   codetape   │            │   codetape   │
        └──────────────┘            └──────────────┘
without with
 Trace: "pre-auth for SCA"
 Decision: why pre-auth > charge
 Component map auto-updated
 README synced in one command
 CLAUDE.md knows current arch
 New dev reads ARCHITECTURE.md

  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
 commit: "update payment"
 commit: "fix stripe stuff"
 commit: "wip"
 README says "instant charge"
 CLAUDE.md describes old arch
 New dev: "how does this work?"

  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
◀▶
══════════════════════════════════╡ REAL EXAMPLE ╞═══════════════════════════════════

A complete workflow
in 3 steps

You just migrated payments from Stripe Charges to PaymentIntent. Here's what Codetape does with that.

Step 1/trace
Step 2/trace-sync
Step 3/trace-review
.codetape/traces/2026-03-20_stripe-preauth.md NEW
## Trace: stripe-preauth-flow
Date: 2026-03-20 14:32 · Impact: HIGH · Files: 12

### Summary
Migrated payment flow from Stripe Charges API to
PaymentIntent with pre-authorization. Enables SCA
compliance and delayed capture for booking confirmation.

### Components Modified
   PaymentService      refactored  → pre-auth flow
   StripeWebhook       new         → payment_intent events
   BookingFlow         modified    → two-step capture
   CheckoutPage        modified    → Stripe Elements UI

### Technical Decisions
   Chose PaymentIntent over Charges API
    Reason: SCA mandate + delayed capture for bookings
    Rejected: Charges API (no SCA), Checkout Sessions
    (too opinionated for our custom flow)

   Webhook-first confirmation over polling
    Reason: Reliable + handles async 3DS redirects
    Rejected: Client-side polling (race conditions)

### TODOs
   Add preauth expiry handling (72h timeout)
   Write webhook integration tests
   Update Stripe SDK to v14 in staging
What happened: Codetape analysed your git diff and generated a semantic trace — not a list of changed files, but a story that explains what changed, why, and what to do next.
Sync preview — 3 files to update SYNC
claude▸ /trace-sync

Reading 2 traces from .codetape/traces/...
Checking sync targets...

─── README.md ───────────────────────────
  + ## Architecture  (managed section)
  + Payment flow now uses Stripe
  + PaymentIntent with pre-authorization.
  + Webhook handles async confirmation.
 Getting Started       [yours — untouched]
 License               [yours — untouched]

─── CHANGELOG.md ────────────────────────
  + ## [Unreleased]
  + ### Changed
  + - Migrate payment to Stripe
  +   PaymentIntent (pre-auth flow)
  + ### Added
  + - Stripe webhook for payment events

─── CLAUDE.md ───────────────────────────
  + ## Architecture  (managed section)
  + PaymentService: pre-auth via
  + PaymentIntent API (not Charges)
  + StripeWebhook: handles payment_intent
  + events for async confirmation

Apply changes? [Y/n] Y

 README.md — architecture section updated
 CHANGELOG.md — entry prepended
 CLAUDE.md — architecture section updated
What happened: Codetape updated 3 docs from your traces. It only touched managed sections — your hand-written "Getting Started" and "License" sections are never modified. You see a diff preview before anything is written.
Documentation drift report REVIEW
claude▸ /trace-review

Comparing docs against recent traces...
Scanning 5 documentation targets...

┌─ Drift Report ───────────────────────────┐
                                           
  ■■ FRESH  README.md          synced 1h ago 
  ■■ FRESH  CHANGELOG.md       synced 1h ago 
  ■■ FRESH  CLAUDE.md          synced 1h ago 
  ■□ STALE  docs/api.md        2 weeks old   
  ■■ DRIFT  ARCHITECTURE.md    not generated 
                                           
  Score: 3/5 fresh · 1 stale · 1 missing  
                                           
  Suggestions:                             
   /trace-sync --target docs/api.md      
   /trace-map  (generate architecture)   
                                           
└───────────────────────────────────────────┘

Overall: 60% documentation coverage
Run /trace-sync to fix stale docs, /trace-map for architecture.
What happened: Codetape compared your documentation against recent code changes and flagged what's outdated. It tells you exactly which commands to run to fix it — no manual detective work.
═══════════════════════════════════════╡ GET STARTED ╞══════════════════════════════
            ╔════════════════════════════════════╗
            ║   ▸▸  FAST FORWARD TO BETTER DOCS  ║
            ╚════════════════════════════════════╝

Stop writing docs.
Let the tape roll.

Free and open source. Zero dependencies. Works with Claude Code today. Cursor and Codex support coming soon.

    ▮▮ ░░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░ ▮▮

                    MIT Licensed · Made by Nelson
             Built with Claude Code · Documented by Codetape
◀◀ REWIND ◀◀