Local caching

Updated Jul 27, 2026

When --database-url is set, Frankie caches pull request metadata in the SQLite database and reuses it across sessions. Cached metadata is treated as fresh until the configured TTL expires (default: 24 hours). Once expired, Frankie revalidates the cache using conditional requests based on ETag and Last-Modified headers when GitHub provides them.

To enable caching:

  1. Run migrations once:
   frankie --migrate-db --database-url frankie.sqlite
  1. Use the same database path when loading a pull request:
   frankie --pr-url https://github.com/owner/repo/pull/123 --database-url frankie.sqlite

To change the TTL, set --pr-metadata-cache-ttl-seconds (or FRANKIE_PR_METADATA_CACHE_TTL_SECONDS).