Overview
The Work Journal is DevDaily’s “memory” layer — it stores daily work snapshots locally so you can recall what you were doing on any date, across any project. It powers context recovery, smart recall, and cross-project weekly summaries.Storage Location
All journal data is stored locally at:Directory Structure
The journal uses a date-based directory structure:Index File
Theindex.json file maintains a registry of all projects and their snapshot history:
Snapshot Files
Each snapshot is stored as a JSON file with this structure:Snapshot Data Structure
Core Metadata
string
required
ISO date string (YYYY-MM-DD)
string
required
ISO timestamp of when snapshot was taken
string
required
Sanitized repo name or directory name
string
required
Absolute path to the repo root
Git Information
string
required
Current branch at snapshot time
array
required
All active (non-merged) local branches with status
array
required
Commits made on the snapshot date
array
required
Commits made in the last 7 days for context
Work Context
array
Open/recently merged PRs
array
Active/recently touched tickets from Jira, Linear, GitHub Issues
array
Work categories breakdown (e.g., frontend: 60%, backend: 40%)
array
Most frequently changed files
object
Diff statistics: filesChanged, insertions, deletions
User-Added Content
string
Free-form notes attached by the user
string
AI-generated summary of what you were working on
array
Auto-extracted + user-supplied tags for search
Search and Retrieval
Search by Query
The journal supports full-text search across all snapshot content:- Commit messages
- Branch names
- File paths
- PR titles
- Ticket IDs and titles
- Notes
- AI summaries
- Tags
- Project IDs
Search by Tags
Search by Project
Relevance Scoring
Search results are ranked by relevance:- Branch name match: +10 points
- Active branch match: +5 points
- PR title match: +5 points
- Ticket match: +5 points
- Tag match: +5 points
- Notes match: +4 points
- Commit message match: +3 points
- AI summary match: +3 points
- Project ID match: +3 points
- File path match: +2 points
src/core/work-journal.ts:1050:
Auto-Tagging
Snapshots are automatically tagged based on content:Branch Prefixes
feature/→featuretagfix/,bugfix/→bugfixtaghotfix/→hotfixtagchore/→choretagrefactor/→refactortagdocs/→docstagtest/→testtag
Conventional Commits
Extracted from commit messages:feat:→feattagfix:→fixtagdocs:→docstagrefactor:→refactortagtest:→testtagchore:→choretagperf:→perftag
Ticket IDs
PROJ-123→PROJ-123tag#456→#456tag
Work Categories
Categories with ≥20% contribution:frontend,backend,api,database, etc.
PR Labels
All PR labels are added as tagsMaintenance
Get Storage Stats
Prune Old Snapshots
Remove snapshots older than a specific number of days:Rebuild Index
If your index becomes corrupted or out of sync:Cross-Project Summaries
Get aggregated activity across all projects:File History
Find when a specific file was last worked on:Snapshot Merging
When you take multiple snapshots on the same day for the same project, they are merged instead of overwritten:- Newer metadata wins (branch, timestamp, etc.)
- Commits are deduplicated by hash
- Branches are deduplicated by name
- PRs are deduplicated by number
- Notes are concatenated
- Tags are combined
src/core/work-journal.ts:987:
Privacy
All journal data is stored locally at
~/.config/devdaily/journal/. Nothing is ever sent to external servers.