devdaily-ai 0.5.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,17 +2,16 @@
2
2
 
3
3
  # DevDaily AI
4
4
 
5
- **Your AI-powered developer memory**
5
+ **Your AI-powered developer memory.**
6
6
 
7
- Auto-generate standup notes, PR descriptions, weekly summaries and never lose context when switching tasks.
7
+ Auto-generate standup notes, PR descriptions, and weekly summaries from your git history.
8
8
 
9
- [![NPM Version](https://img.shields.io/npm/v/devdaily-ai)](https://www.npmjs.com/package/devdaily-ai)
9
+ [![npm version](https://img.shields.io/npm/v/devdaily-ai)](https://www.npmjs.com/package/devdaily-ai)
10
+ [![CI](https://github.com/hempun10/devdaily/actions/workflows/ci.yml/badge.svg)](https://github.com/hempun10/devdaily/actions/workflows/ci.yml)
10
11
  [![Node Version](https://img.shields.io/node/v/devdaily-ai)](https://nodejs.org)
11
- [![Tests](https://img.shields.io/badge/tests-654%20passing-brightgreen)](#testing)
12
- [![License](https://img.shields.io/npm/l/devdaily-ai)](LICENSE)
13
- [![GitHub Stars](https://img.shields.io/github/stars/hempun10/devdaily)](https://github.com/hempun10/devdaily)
12
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
14
13
 
15
- [Installation](#installation) · [Quick Start](#quick-start) · [Commands](#commands) · [Configuration](#configuration) · [Contributing](docs/CONTRIBUTING.md)
14
+ [Installation](#installation) · [Quick Start](#quick-start) · [Commands](#commands) · [Configuration](#configuration) · [Contributing](CONTRIBUTING.md)
16
15
 
17
16
  </div>
18
17
 
@@ -20,22 +19,15 @@ Auto-generate standup notes, PR descriptions, weekly summaries — and never los
20
19
 
21
20
  ## Why DevDaily?
22
21
 
23
- Developers lose hours every week to low-value repetitive work:
22
+ Developers lose hours every week writing standup notes, crafting PR descriptions, compiling weekly reports, and trying to remember what they were doing before a context switch.
24
23
 
25
- - ⏱️ Writing standup notes every morning
26
- - 📝 Crafting PR descriptions from scratch
27
- - 📊 Compiling weekly accomplishments for managers
28
- - 🧠 Trying to remember what you were doing before a context switch
24
+ DevDaily analyzes your git history, tracks your work automatically, and uses GitHub Copilot CLI to generate professional summaries — in seconds.
29
25
 
30
- **DevDaily fixes all of this.** It analyzes your git history, tracks your work automatically, and uses GitHub Copilot CLI to generate professional summaries in seconds.
26
+ **Key differentiator:** DevDaily builds a **persistent local memory** of your work. Every standup you run, every PR you generate, every branch you switch DevDaily silently records a snapshot. That means:
31
27
 
32
- ### What makes it different
33
-
34
- Most dev tools generate text from commits. DevDaily goes further: it builds a **persistent local memory** of your work. Every standup you run, every PR you generate, every branch you switch — DevDaily silently records a snapshot. That means:
35
-
36
- - `devdaily context` can tell you exactly where you left off, even days later
28
+ - `devdaily context` tells you exactly where you left off, even days later
37
29
  - `devdaily recall auth` finds every time you touched authentication code
38
- - `devdaily week` produces accurate summaries even if you forgot to commit on some days
30
+ - `devdaily week` produces accurate summaries from your local journal
39
31
  - Cross-project summaries work across all your repositories
40
32
 
41
33
  No cloud. No telemetry. Everything stays in `~/.config/devdaily/journal/`.
@@ -44,24 +36,18 @@ No cloud. No telemetry. Everything stays in `~/.config/devdaily/journal/`.
44
36
 
45
37
  ## Features
46
38
 
47
- | Feature | Description |
48
- | ------------------------------ | ------------------------------------------------------------------------------------ |
49
- | **🚀 Standup Generator** | Generate daily standup notes from commits, PRs, and tickets in 30 seconds |
50
- | **📄 Smart PR Descriptions** | Auto-generate titles and descriptions with template support and commitlint |
51
- | **📅 Weekly Summaries** | Cross-project weekly summaries with date ranges, journal enrichment, and JSON export |
52
- | **📸 Work Snapshots** | Capture rich snapshots of your repo state branches, commits, PRs, tickets, diffs |
53
- | **🧠 Persistent Memory** | Local work journal that remembers everything across sessions and days |
54
- | **🔄 Context Recovery** | `devdaily context` fight context-switching amnesia, resume where you left off |
55
- | **🔍 Work Search** | `devdaily recall` search your history by keyword, file, tag, or date range |
56
- | **⚡ Auto-Snapshots** | Snapshots happen invisibly when you run commands or commit code — zero friction |
57
- | **🪝 Git Hooks** | Opt-in `post-commit` and `post-checkout` hooks for automatic capture |
58
- | **🎫 PM Integration** | GitHub Issues, Jira, Linear, and Notion support for ticket context |
59
- | **🖥️ Interactive Dashboard** | Beautiful TUI with keyboard navigation and real-time stats |
60
- | **🩺 Doctor Command** | Diagnose and auto-fix setup issues |
61
- | **🔔 Notifications** | Send standups to Slack or Discord via webhooks |
62
- | **🔀 Interactive PR Workflow** | Preview, edit, select labels/reviewers/assignees, then create PRs |
63
- | **📋 Auto-Copy** | All outputs copied to clipboard automatically |
64
- | **🎨 Professional Output** | Clean terminal UI with theming, ASCII art, and multi-format export |
39
+ | Feature | Description |
40
+ | --------------------- | ------------------------------------------------------------------ |
41
+ | **Standup Generator** | Generate daily standup notes from commits, PRs, and tickets |
42
+ | **PR Descriptions** | Auto-generate titles and bodies with template + commitlint support |
43
+ | **Weekly Summaries** | Compile weekly accomplishments with stats and AI analysis |
44
+ | **Context Recovery** | Recover where you left off after a context switch |
45
+ | **Work Search** | Search your work history by keyword, file, tag, or date |
46
+ | **Auto-Snapshots** | Silent work tracking as a side-effect of commands you already run |
47
+ | **Git Hooks** | Opt-in `post-commit` and `post-checkout` hooks for extra coverage |
48
+ | **PM Integration** | GitHub Issues, Jira, and Linear ticket linking |
49
+ | **Notifications** | Send standups to Slack or Discord via webhooks |
50
+ | **Output Formats** | Markdown, Slack, plain text, and JSON output |
65
51
 
66
52
  ---
67
53
 
@@ -69,442 +55,231 @@ No cloud. No telemetry. Everything stays in `~/.config/devdaily/journal/`.
69
55
 
70
56
  ### Prerequisites
71
57
 
72
- - **Node.js** >= 18.0.0
73
- - **Git** (any recent version)
74
- - **GitHub CLI** with Copilot extension (for AI features)
58
+ - [Node.js](https://nodejs.org) >= 18.0.0
59
+ - [Git](https://git-scm.com)
60
+ - [GitHub CLI](https://cli.github.com) (`gh`)
61
+ - [GitHub Copilot CLI extension](https://github.com/github/gh-copilot) (`gh extension install github/gh-copilot`)
75
62
 
76
- ### Quick Install
63
+ ### Install
77
64
 
78
65
  ```bash
79
- # Install DevDaily
80
66
  npm install -g devdaily-ai
81
-
82
- # Check prerequisites and auto-fix issues
83
- devdaily doctor --fix
84
-
85
- # Interactive setup — aliases, completions, PM integration, git hooks
86
- devdaily init
87
67
  ```
88
68
 
89
- After setup, use `dd` as a shortcut anywhere:
69
+ ### Verify
90
70
 
91
71
  ```bash
92
- dd standup # Generate standup
93
- dd pr # Generate PR description
94
- dd week # Weekly summary
95
- dd context # Resume where you left off
72
+ devdaily --version
73
+ devdaily doctor # Check all prerequisites
96
74
  ```
97
75
 
98
76
  ### GitHub Copilot CLI Setup
99
77
 
100
- DevDaily uses GitHub Copilot CLI for AI-powered text generation. If you don't have it:
78
+ DevDaily uses GitHub Copilot CLI for AI-powered text generation. Set it up once:
101
79
 
102
80
  ```bash
103
- # Install GitHub CLI
104
- brew install gh # macOS
105
- # winget install GitHub.cli # Windows
106
- # sudo apt install gh # Debian/Ubuntu
107
-
108
- # Authenticate
109
81
  gh auth login
110
-
111
- # Install Copilot extension
112
82
  gh extension install github/gh-copilot
83
+ gh copilot --version # Verify it works
113
84
  ```
114
85
 
115
- Run `devdaily doctor` at any time to verify your setup.
116
-
117
86
  ---
118
87
 
119
88
  ## Quick Start
120
89
 
121
90
  ```bash
122
- # Navigate to any git repository
123
- cd your-project
91
+ # Set up aliases and shell completions
92
+ devdaily init
124
93
 
125
94
  # Generate today's standup
126
95
  devdaily standup
127
96
 
128
- # Generate a PR description for your current branch
97
+ # Generate a PR description
129
98
  devdaily pr
130
99
 
131
- # Get this week's summary
100
+ # See your weekly summary
132
101
  devdaily week
133
102
 
134
103
  # Recover context after a break
135
104
  devdaily context
136
105
 
137
106
  # Search your work history
138
- devdaily recall "authentication"
107
+ devdaily recall "auth refactor"
108
+ ```
139
109
 
140
- # Take a manual snapshot with a note
141
- devdaily snapshot --note "Finished auth refactor"
110
+ With the `dd` alias (installed via `devdaily init`):
111
+
112
+ ```bash
113
+ dd s # standup
114
+ dd pr # PR description
115
+ dd w # weekly summary
116
+ dd ctx # context recovery
142
117
  ```
143
118
 
144
119
  ---
145
120
 
146
121
  ## Commands
147
122
 
148
- ### Core Commands
123
+ ### Core
149
124
 
150
- | Command | Aliases | Description |
151
- | ------------------- | ------------------ | ------------------------------------------------------------ |
152
- | `devdaily standup` | `s`, `su`, `daily` | Generate standup notes from recent commits, PRs, and tickets |
153
- | `devdaily pr` | `p`, `pull` | Generate PR description from current branch |
154
- | `devdaily week` | `w`, `weekly` | Generate weekly work summary |
155
- | `devdaily context` | `ctx`, `resume` | Recover what you were working on |
156
- | `devdaily recall` | `search`, `find` | Search your work history |
157
- | `devdaily snapshot` | `snap`, `save` | Manually capture a work snapshot |
125
+ | Command | Aliases | Description |
126
+ | ---------- | ------------------ | ------------------------------------------- |
127
+ | `standup` | `s`, `su`, `daily` | Generate standup notes from recent commits |
128
+ | `pr` | `p`, `pull` | Generate PR description from current branch |
129
+ | `week` | `w`, `weekly` | Generate weekly work summary |
130
+ | `context` | `ctx`, `resume` | Recover what you were working on |
131
+ | `recall` | `search`, `find` | Search your work history |
132
+ | `snapshot` | `snap`, `save` | Manually capture a work snapshot |
158
133
 
159
134
  ### Setup & Utility
160
135
 
161
- | Command | Aliases | Description |
162
- | ------------------ | ---------------- | ----------------------------------- |
163
- | `devdaily init` | — | Interactive setup wizard |
164
- | `devdaily config` | `cfg` | Manage configuration |
165
- | `devdaily doctor` | `check`, `setup` | Diagnose and fix prerequisites |
166
- | `devdaily connect` | `pm`, `link` | Test project management connections |
167
- | `devdaily dash` | `d`, `dashboard` | Interactive TUI dashboard |
168
-
169
- ---
136
+ | Command | Aliases | Description |
137
+ | --------- | ---------------- | ------------------------------------------------- |
138
+ | `init` | — | Set up aliases, completions, hooks, notifications |
139
+ | `config` | `cfg` | View and edit configuration |
140
+ | `doctor` | `check`, `setup` | Check system requirements |
141
+ | `connect` | `pm`, `link` | Configure project management integration |
142
+ | `dash` | `d`, `dashboard` | Open interactive dashboard |
170
143
 
171
144
  ### `devdaily standup`
172
145
 
173
- Generate daily standup notes from your recent commits, PRs, and tickets.
174
-
175
146
  ```bash
176
- devdaily standup # Yesterday's work (default)
177
- devdaily standup --days=3 # Last 3 days
178
- devdaily standup --format=slack # Slack-formatted output
179
- devdaily standup --context # Show detailed work analysis
180
- devdaily standup --raw-context # Output raw context (no AI)
181
- devdaily standup --send # Send to Slack/Discord
182
- devdaily standup --no-journal # Skip auto-snapshot side-effect
147
+ devdaily standup # Yesterday's work
148
+ devdaily standup --days 3 # Last 3 days
149
+ devdaily standup --format plain # Plain text (no markdown)
150
+ devdaily standup --format slack # Slack-ready format
151
+ devdaily standup --format json # Structured JSON
152
+ devdaily standup --ticket PROJ-123 # Include specific ticket context
153
+ devdaily standup --tone business # Business-friendly tone
154
+ devdaily standup --send # Send to Slack + Discord
155
+ devdaily standup --slack # Send to Slack only
156
+ devdaily standup --test-webhook # Test webhook configuration
157
+ devdaily standup --context # Show detailed work analysis
158
+ devdaily standup --raw-context # Output raw context (no AI)
159
+ devdaily standup --no-copy # Don't copy to clipboard
160
+ devdaily standup --debug # Show full prompt and response
183
161
  ```
184
162
 
185
- | Option | Description |
186
- | ---------------------- | --------------------------------------------------- |
187
- | `-d, --days <n>` | Number of days to look back (default: 1) |
188
- | `-f, --format <type>` | Output format: `markdown`, `slack`, `plain`, `json` |
189
- | `-a, --author <email>` | Filter by author email |
190
- | `-t, --ticket <id...>` | Include specific ticket IDs for context |
191
- | `--tone <type>` | Output tone: `engineering`, `mixed`, `business` |
192
- | `--context` | Show detailed work context analysis |
193
- | `--raw-context` | Output raw context block (no AI generation) |
194
- | `--preview` | Show context and confirm before generating |
195
- | `--send` | Send to all configured notification channels |
196
- | `--slack` | Send to Slack |
197
- | `--discord` | Send to Discord |
198
- | `--no-tickets` | Skip fetching ticket context |
199
- | `--no-prs` | Skip fetching PR context |
200
- | `--no-copy` | Don't copy to clipboard |
201
- | `--no-journal` | Skip auto-saving a snapshot |
202
- | `--debug` | Show full prompt and context |
203
-
204
- ---
205
-
206
163
  ### `devdaily pr`
207
164
 
208
- Generate comprehensive PR descriptions with smart title generation, template support, and interactive workflows.
209
-
210
165
  ```bash
211
- devdaily pr # Generate and preview
212
- devdaily pr --create # Create PR on GitHub immediately
213
- devdaily pr --draft # Create as draft PR
214
- devdaily pr --base=develop # Compare against develop branch
215
- devdaily pr --interactive # Select labels, reviewers, assignees
216
- devdaily pr --ticket PROJ-123 # Include specific ticket context
217
- devdaily pr --no-journal # Skip auto-snapshot
166
+ devdaily pr # Generate + interactive menu
167
+ devdaily pr --create # Create PR on GitHub
168
+ devdaily pr --draft # Create as draft PR
169
+ devdaily pr --base develop # Compare against develop
170
+ devdaily pr --ticket PROJ-456 # Include ticket context
171
+ devdaily pr --interactive # Select labels, reviewers, assignees
172
+ devdaily pr --debug # Show AI prompt
218
173
  ```
219
174
 
220
- | Option | Description |
221
- | --------------------- | ------------------------------------------------- |
222
- | `-b, --base <branch>` | Base branch to compare against |
223
- | `-c, --create` | Create PR on GitHub |
224
- | `-d, --draft` | Create as draft PR |
225
- | `-t, --ticket <id>` | Include specific ticket/issue for context |
226
- | `-i, --interactive` | Interactive mode for labels, reviewers, assignees |
227
- | `-p, --preview` | Show preview before creating |
228
- | `--no-tickets` | Skip fetching ticket context |
229
- | `--no-template` | Ignore PR template |
230
- | `--no-diff` | Skip diff context in AI prompt |
231
- | `--no-prompt-file` | Ignore `.devdaily-pr-prompt.md` |
232
- | `--no-copy` | Don't copy to clipboard |
233
- | `--no-journal` | Skip auto-saving a snapshot |
234
- | `--debug` | Show prompts and raw AI input |
235
-
236
- **Smart features:**
237
-
238
- - Auto-detects `.github/PULL_REQUEST_TEMPLATE.md` and fills sections
239
- - Generates conventional commit titles (`feat:`, `fix:`, etc.)
240
- - Extracts ticket/issue numbers from branch names and commits
241
- - Supports custom prompt files (`.devdaily-pr-prompt.md`) for team conventions
242
-
243
- ---
244
-
245
175
  ### `devdaily week`
246
176
 
247
- Generate weekly summaries with cross-project support and journal enrichment.
248
-
249
177
  ```bash
250
- devdaily week # Current week
251
- devdaily week --last # Last week
252
- devdaily week --from 2025-01-06 --to 2025-01-10 # Custom range
253
- devdaily week --weeks-ago 2 # Two weeks ago
254
- devdaily week --all-projects # Cross-project summary from journal
255
- devdaily week --json # Output stats as JSON
256
- devdaily week --save # Save summary to journal
178
+ devdaily week # Current week
179
+ devdaily week --last # Last week
180
+ devdaily week --weeks-ago 2 # Two weeks ago
181
+ devdaily week --from 2025-01-01 --to 2025-01-07
182
+ devdaily week --all-projects # Cross-project summary
183
+ devdaily week --save # Save summary to journal
184
+ devdaily week --json # Machine-readable stats
257
185
  ```
258
186
 
259
- | Option | Description |
260
- | --------------------- | --------------------------------------- |
261
- | `-l, --last` | Show last week |
262
- | `-s, --start <date>` | Custom start date (YYYY-MM-DD) |
263
- | `--from <date>` | Start date for custom range |
264
- | `--to <date>` | End date for custom range |
265
- | `-w, --weeks-ago <n>` | Number of weeks back |
266
- | `--all-projects` | Cross-project summary from journal data |
267
- | `-p, --project <id>` | Filter by project identifier |
268
- | `--save` | Save generated summary to journal |
269
- | `--json` | Output stats as JSON (no AI) |
270
- | `--raw-context` | Output raw context (no AI) |
271
- | `--no-tickets` | Skip ticket fetching |
272
- | `--no-prs` | Skip PR fetching |
273
- | `--no-journal` | Skip journal data enrichment |
274
- | `--no-auto-snapshot` | Skip auto-saving a snapshot |
275
- | `--no-copy` | Don't copy to clipboard |
276
- | `--debug` | Show full prompt |
277
-
278
- ---
279
-
280
187
  ### `devdaily context`
281
188
 
282
- Recover what you were working on — fight context-switching amnesia.
283
-
284
189
  ```bash
285
- devdaily context # Last 7 days of context
286
- devdaily context --days=14 # Last 14 days
287
- devdaily context --date 2025-01-10 # Specific date
288
- devdaily context --ai # AI-powered "where did I leave off?" summary
289
- devdaily context --all-projects # Context across all tracked projects
290
- devdaily context --branches # Detailed active branch status
190
+ devdaily context # Where did I leave off?
191
+ devdaily context --ai # AI-powered summary
192
+ devdaily context --days 14 # Look back further
193
+ devdaily context --all-projects # All projects
194
+ devdaily context --branches # Show active branch details
291
195
  ```
292
196
 
293
- | Option | Description |
294
- | -------------------- | ---------------------------------------- |
295
- | `-d, --days <n>` | Number of days to look back (default: 7) |
296
- | `-p, --project <id>` | Filter by project |
297
- | `--all-projects` | Show context across all tracked projects |
298
- | `--date <date>` | Show context for a specific date |
299
- | `--from <date>` | Start date for range |
300
- | `--to <date>` | End date for range |
301
- | `--ai` | Generate an AI-powered summary |
302
- | `--branches` | Show detailed active branch status |
303
- | `--raw` | Output raw context data |
304
- | `--no-copy` | Don't copy to clipboard |
305
- | `--debug` | Show debug output |
306
-
307
- ---
308
-
309
197
  ### `devdaily recall`
310
198
 
311
- Search your work history — "when did I last work on X?"
312
-
313
199
  ```bash
314
- devdaily recall "authentication" # Search by keyword
315
- devdaily recall --file src/auth.ts # Find when a file was changed
316
- devdaily recall --tag feature # Filter by tag
317
- devdaily recall "login" --ai # AI summary of search results
318
- devdaily recall --from 2025-01-01 --to 2025-01-31 # Date range
319
- devdaily recall "PROJ-123" # Search by ticket ID
200
+ devdaily recall "auth" # Search for "auth" in history
201
+ devdaily recall --file src/auth.ts # When was this file changed?
202
+ devdaily recall --tag feature # Find snapshots tagged "feature"
203
+ devdaily recall --from 2025-01-01 # Search within date range
204
+ devdaily recall --ai # AI summary of results
320
205
  ```
321
206
 
322
- | Option | Description |
323
- | --------------------- | -------------------------------- |
324
- | `-p, --project <id>` | Filter by project |
325
- | `--from <date>` | Start date (YYYY-MM-DD) |
326
- | `--to <date>` | End date (YYYY-MM-DD) |
327
- | `-d, --days <n>` | Search last N days (default: 90) |
328
- | `-t, --tag <tags...>` | Filter by tags |
329
- | `-f, --file <path>` | Search for a specific file path |
330
- | `-l, --limit <n>` | Max results (default: 10) |
331
- | `--ai` | AI-powered summary of results |
332
- | `--json` | Output as JSON |
333
- | `--no-copy` | Don't copy to clipboard |
334
- | `--debug` | Show debug output |
335
-
336
- ---
337
-
338
207
  ### `devdaily snapshot`
339
208
 
340
- Manually capture a snapshot of your current work state.
341
-
342
- > **Note:** You rarely need to run this manually. Snapshots are taken automatically when you run `standup`, `pr`, or `week`, and optionally on every commit/checkout via git hooks. Use this command when you want to attach a note, tag, or force a snapshot at a specific moment.
343
-
344
209
  ```bash
345
- devdaily snapshot # Take a full snapshot
346
- devdaily snapshot --light # Quick snapshot (no PRs/tickets)
347
- devdaily snapshot --note "Finished auth refactor"
348
- devdaily snapshot --tag milestone release
349
- devdaily snapshot --list # List recent snapshots (7 days)
350
- devdaily snapshot --list 30 # List last 30 days
351
- devdaily snapshot --stats # Show journal storage stats
352
- devdaily snapshot --prune 90 # Remove entries older than 90 days
210
+ devdaily snapshot # Capture a full snapshot
211
+ devdaily snapshot --light # Quick capture (no PR/ticket fetch)
212
+ devdaily snapshot --note "before refactor"
213
+ devdaily snapshot --tag release # Tag the snapshot
214
+ devdaily snapshot --list # Browse recent snapshots
215
+ devdaily snapshot --stats # Journal storage stats
216
+ devdaily snapshot --prune 90 # Remove entries older than 90 days
353
217
  ```
354
218
 
355
- | Option | Description |
356
- | --------------------- | ----------------------------------------- |
357
- | `-d, --date <date>` | Snapshot date (YYYY-MM-DD) |
358
- | `-p, --project <id>` | Override project identifier |
359
- | `-n, --note <text>` | Attach a note |
360
- | `-t, --tag <tags...>` | Add custom tags |
361
- | `--light` | Quick mode — commits and branch info only |
362
- | `--list [days]` | List recent snapshots |
363
- | `--stats` | Show journal storage stats |
364
- | `--prune <days>` | Remove entries older than N days |
365
- | `--no-prs` | Skip PR data |
366
- | `--no-tickets` | Skip ticket data |
367
- | `--no-branches` | Skip branch listing |
368
- | `--debug` | Show debug output |
369
-
370
- ---
371
-
372
219
  ### `devdaily init`
373
220
 
374
- Interactive setup wizard for aliases, completions, config, PM integration, and git hooks.
375
-
376
- ```bash
377
- devdaily init # Interactive setup
378
- devdaily init --global # Global setup
379
- devdaily init --git-hooks # Install auto-snapshot git hooks
380
- devdaily init --remove-hooks # Remove devdaily git hooks
381
- devdaily init --alias # Only set up shell alias
382
- devdaily init --completions # Only set up tab completions
383
- devdaily init --pm # Only set up PM integration
384
- devdaily init --notifications # Only set up Slack/Discord
385
- ```
386
-
387
- **Git hooks** (opt-in):
388
-
389
- - `post-commit` — Automatically snapshots after each commit
390
- - `post-checkout` — Automatically snapshots when switching branches
391
- - Runs in background, never slows down git
392
- - POSIX-compatible, safe with existing hooks (appends, doesn't overwrite)
393
- - Remove cleanly with `devdaily init --remove-hooks`
394
-
395
- ---
396
-
397
- ### `devdaily doctor`
398
-
399
- Check system requirements and diagnose issues.
400
-
401
- ```bash
402
- devdaily doctor # Check all prerequisites
403
- devdaily doctor --fix # Attempt automatic fixes
404
- ```
405
-
406
- **Checks:** Node.js version, Git, GitHub CLI, authentication, Copilot extension.
407
-
408
- ---
409
-
410
- ### `devdaily config`
411
-
412
- Manage configuration.
413
-
414
221
  ```bash
415
- devdaily config # Interactive editor
416
- devdaily config --show # Show current config
417
- devdaily config --edit # Open in $EDITOR
418
- devdaily config --path # Show config file path
419
- devdaily config --reset # Reset to defaults
222
+ devdaily init # Interactive setup wizard
223
+ devdaily init --global # Global setup
224
+ devdaily init --alias # Set up dd alias only
225
+ devdaily init --completions # Shell completions only
226
+ devdaily init --notifications # Slack/Discord webhook setup
227
+ devdaily init --git-hooks # Install auto-snapshot hooks
228
+ devdaily init --remove-hooks # Remove auto-snapshot hooks
420
229
  ```
421
230
 
422
231
  ---
423
232
 
424
- ### `devdaily connect`
233
+ ## Auto-Snapshots
425
234
 
426
- Test project management connections.
235
+ DevDaily captures lightweight work snapshots automatically so you never lose context:
427
236
 
428
- ```bash
429
- devdaily connect # Test current PM integration
430
- devdaily connect --test # Run connection test
431
- ```
237
+ **When snapshots happen:**
432
238
 
433
- ---
434
-
435
- ## How Auto-Snapshots Work
436
-
437
- DevDaily captures your work state **automatically** at natural moments — you never have to think about it.
239
+ - After running `devdaily standup`, `pr`, or `week` (side-effect)
240
+ - On `git commit` and `git checkout` (opt-in via `devdaily init --git-hooks`)
241
+ - Manually via `devdaily snapshot`
438
242
 
439
- ### When snapshots happen
243
+ **What's stored:**
440
244
 
441
- | Trigger | How | What's captured |
442
- | ------------------- | ----------------- | --------------------------------------------- |
443
- | `devdaily standup` | Side-effect | Light snapshot (commits, branch) |
444
- | `devdaily pr` | Side-effect | Light snapshot + PR context |
445
- | `devdaily week` | Side-effect | Light snapshot |
446
- | `git commit` | Git hook (opt-in) | Light snapshot |
447
- | `git checkout` | Git hook (opt-in) | Light snapshot + branch note |
448
- | `devdaily snapshot` | Manual | Full snapshot (PRs, tickets, branches, diffs) |
245
+ - Current branch and active branches
246
+ - Today's commits (messages, files changed)
247
+ - Diff stats (insertions, deletions, files)
248
+ - Work categories (frontend, backend, infra, etc.)
249
+ - Optional notes and tags
449
250
 
450
- ### Disabling auto-snapshots
251
+ **Disabling:**
451
252
 
452
253
  ```bash
453
- # Per-command: skip with a flag
254
+ # Per-command
454
255
  devdaily standup --no-journal
455
- devdaily pr --no-journal
256
+ devdaily week --no-auto-snapshot
456
257
 
457
- # Globally: disable in config
458
- # .devdaily.json
459
- {
460
- "journal": {
461
- "autoSnapshot": false
462
- }
463
- }
258
+ # Globally
259
+ # Set journal.autoSnapshot to false in .devdaily.json
464
260
  ```
465
261
 
466
- ### What's stored
467
-
468
- Snapshots are saved locally to `~/.config/devdaily/journal/` as JSON files organized by date. Each snapshot records:
469
-
470
- - Current branch and active local branches
471
- - Today's commits with files changed
472
- - Recent commits for context
473
- - Open and recently merged PRs
474
- - Extracted ticket/issue references
475
- - Work category breakdown (frontend, backend, infra, etc.)
476
- - Diff stats and top changed files
477
- - Optional notes and tags
478
-
479
- No data is uploaded anywhere. The journal is yours.
480
-
481
262
  ---
482
263
 
483
264
  ## Configuration
484
265
 
485
- DevDaily supports global and per-project configuration.
266
+ DevDaily uses a JSON config file with optional JSON Schema support for IDE autocomplete.
486
267
 
487
268
  ### Config file locations
488
269
 
489
- | Scope | Path |
490
- | ----------- | ----------------------------------------------------- |
491
- | **Global** | `~/.config/devdaily/config.json` |
492
- | **Local** | `.devdaily.json` in project root |
493
- | **Secrets** | `.devdaily.secrets.json` (auto-added to `.gitignore`) |
270
+ | Scope | Path |
271
+ | ------------------- | ------------------------------------------------------------- |
272
+ | Local (per-project) | `.devdaily.json` |
273
+ | Global | `~/.config/devdaily/config.json` |
274
+ | Secrets | `~/.config/devdaily/secrets.json` or `.devdaily.secrets.json` |
494
275
 
495
- Local config overrides global config.
276
+ Local config overrides global config. Secrets are stored separately and should never be committed.
496
277
 
497
- ### Example configuration
278
+ ### Example
498
279
 
499
280
  ```json
500
281
  {
501
282
  "$schema": "https://raw.githubusercontent.com/hempun10/devdaily/main/schemas/devdaily.schema.json",
502
- "version": 1,
503
-
504
- "theme": {
505
- "primary": "cyan",
506
- "accent": "magenta"
507
- },
508
283
 
509
284
  "output": {
510
285
  "format": "markdown",
@@ -519,9 +294,8 @@ Local config overrides global config.
519
294
 
520
295
  "standup": {
521
296
  "defaultDays": 1,
522
- "groupBy": "ticket",
523
- "includeTicketLinks": true,
524
- "sections": ["completed", "in-progress", "blockers"]
297
+ "sections": ["completed", "in-progress", "blockers"],
298
+ "includeTicketLinks": true
525
299
  },
526
300
 
527
301
  "pr": {
@@ -529,22 +303,12 @@ Local config overrides global config.
529
303
  "includeDiff": true,
530
304
  "maxDiffLines": 200,
531
305
  "titleFormat": "conventional",
532
- "includeTicketInTitle": true,
533
306
  "autoLabels": true
534
307
  },
535
308
 
536
- "week": {
537
- "startDay": "monday",
538
- "includeWeekends": false
539
- },
540
-
541
309
  "journal": {
542
310
  "autoSnapshot": true,
543
311
  "gitHooks": false,
544
- "hooks": {
545
- "postCommit": true,
546
- "postCheckout": true
547
- },
548
312
  "quiet": true
549
313
  },
550
314
 
@@ -554,49 +318,47 @@ Local config overrides global config.
554
318
  },
555
319
 
556
320
  "notifications": {
557
- "slack": {
558
- "enabled": false
559
- },
560
- "discord": {
561
- "enabled": false
562
- }
321
+ "slack": { "enabled": false },
322
+ "discord": { "enabled": false }
563
323
  }
564
324
  }
565
325
  ```
566
326
 
567
327
  ### Project management integration
568
328
 
569
- DevDaily supports multiple PM tools for richer context in AI summaries:
329
+ DevDaily extracts ticket IDs from branch names and commit messages, then fetches metadata from your PM tool:
330
+
331
+ ```bash
332
+ devdaily connect # Interactive setup
333
+ devdaily connect --tool jira # Configure Jira
334
+ devdaily connect --tool linear # Configure Linear
335
+ ```
570
336
 
571
- | Tool | Config | Auth |
572
- | ----------------- | ------------------ | ----------------------------------------------- |
573
- | **GitHub Issues** | `"tool": "github"` | GitHub CLI (`gh auth login`) |
574
- | **Jira** | `"tool": "jira"` | `JIRA_API_TOKEN`, `JIRA_EMAIL`, `JIRA_BASE_URL` |
575
- | **Linear** | `"tool": "linear"` | `LINEAR_API_KEY` |
576
- | **Notion** | `"tool": "notion"` | `NOTION_API_KEY`, `NOTION_DATABASE_ID` |
337
+ Supported tools: **GitHub Issues** (default, uses `gh` CLI), **Jira** (REST API v3), **Linear** (GraphQL API).
577
338
 
578
- Set up interactively with `devdaily init --pm` or `devdaily connect`.
339
+ ### Custom PR prompt file
579
340
 
580
- **Ticket extraction** DevDaily automatically finds ticket IDs from:
341
+ Create a `.devdaily-pr-prompt.md` file in your repo to customize how PR descriptions are generated:
581
342
 
582
- 1. Branch names: `feature/PROJ-123-description`
583
- 2. Commit messages: `fix: resolve issue PROJ-123`
584
- 3. PR titles and bodies
585
- 4. Manual input: `--ticket PROJ-123`
343
+ ```markdown
344
+ ## PR Description Guidelines
586
345
 
587
- ### Custom PR prompt file
346
+ - Use present tense ("Add feature" not "Added feature")
347
+ - Reference ticket numbers
348
+ - Include a testing section
349
+ - Keep descriptions concise
350
+ ```
588
351
 
589
- Create `.devdaily-pr-prompt.md` in your repo root to customize how AI generates PR descriptions (like `CLAUDE.md` but for PRs). DevDaily searches for this file automatically. Generate a starter with `devdaily init`.
352
+ Search order: `.devdaily-pr-prompt.md` `.github/devdaily-pr-prompt.md` `docs/devdaily-pr-prompt.md`
590
353
 
591
354
  ---
592
355
 
593
356
  ## Privacy & Security
594
357
 
595
- - **All data stays local.** The work journal is stored in `~/.config/devdaily/journal/` on your machine.
596
- - **No telemetry.** DevDaily does not phone home.
597
- - **AI context is minimal.** Only commit messages, branch names, and diff summaries are sent to GitHub Copilot CLI. Full file contents are never shared.
598
- - **Secrets are separate.** API tokens are stored in `.devdaily.secrets.json`, which is auto-added to `.gitignore`.
599
- - **Opt-in features.** Git hooks, notifications, and PM integrations are all opt-in.
358
+ - **All data stays local.** Journal entries are stored in `~/.config/devdaily/journal/` nothing is sent to any server.
359
+ - **Secrets are stored separately** in `.devdaily.secrets.json` (auto-added to `.gitignore`) or `~/.config/devdaily/secrets.json`.
360
+ - **Git hooks are opt-in** and POSIX-compatible. They append to existing hooks instead of overwriting.
361
+ - **AI generation** uses GitHub Copilot CLI, which processes your prompts through GitHub's infrastructure under your existing Copilot agreement.
600
362
 
601
363
  ---
602
364
 
@@ -604,6 +366,12 @@ Create `.devdaily-pr-prompt.md` in your repo root to customize how AI generates
604
366
 
605
367
  ### Prerequisites
606
368
 
369
+ - Node.js >= 18
370
+ - npm >= 9
371
+ - Git
372
+
373
+ ### Setup
374
+
607
375
  ```bash
608
376
  git clone https://github.com/hempun10/devdaily.git
609
377
  cd devdaily
@@ -613,16 +381,16 @@ npm install
613
381
  ### Common tasks
614
382
 
615
383
  ```bash
616
- npm run dev # Run in development mode (tsx watch)
617
- npm run build # Production build (tsup)
618
- npm test # Run all tests (vitest)
619
- npm run test:watch # Tests in watch mode
620
- npm run test:coverage # Tests with coverage
621
- npm run typecheck # TypeScript type checking
622
- npm run lint # ESLint
623
- npm run lint:fix # ESLint with auto-fix
624
- npm run format # Prettier formatting
625
- npm run format:check # Check formatting
384
+ npm run dev # Watch mode (auto-rebuild)
385
+ npm run build # Production build (tsup)
386
+ npm run typecheck # TypeScript type checking
387
+ npm run lint # ESLint
388
+ npm run lint:fix # ESLint with auto-fix
389
+ npm run format # Prettier format
390
+ npm run format:check # Prettier check
391
+ npm test # Run all tests (vitest)
392
+ npm run test:watch # Tests in watch mode
393
+ npm run test:coverage # Tests with coverage report
626
394
  ```
627
395
 
628
396
  ### Project structure
@@ -630,175 +398,103 @@ npm run format:check # Check formatting
630
398
  ```
631
399
  devdaily/
632
400
  ├── src/
633
- │ ├── index.ts # CLI entry point
634
- │ ├── commands/ # CLI command implementations
635
- │ │ ├── standup.ts # Standup generator
636
- │ │ ├── pr.ts # PR description generator
637
- │ │ ├── week.ts # Weekly summary
638
- │ │ ├── context.ts # Context recovery ("where did I leave off?")
639
- │ │ ├── recall.ts # Work history search
640
- │ │ ├── snapshot.ts # Manual snapshot capture
641
- │ │ ├── dash.ts # Interactive TUI dashboard
642
- │ │ ├── init.ts # Setup wizard
643
- │ │ ├── config.ts # Configuration management
644
- │ │ ├── doctor.ts # Prerequisite checker
645
- │ └── connect.ts # PM connection tester
646
- │ ├── core/ # Core business logic
647
- │ │ ├── git-analyzer.ts # Git operations (commits, branches, diffs)
648
- │ │ ├── copilot.ts # GitHub Copilot CLI integration
649
- │ │ ├── context-analyzer.ts # Work context extraction & categorization
650
- │ │ ├── standup-context.ts # Rich standup context builder
651
- │ │ ├── snapshot-builder.ts # Repo state capture → WorkSnapshot
652
- │ │ ├── work-journal.ts # Persistent local storage layer
653
- │ │ ├── auto-snapshot.ts # Side-effect snapshots & git hook utilities
654
- │ │ ├── project-management.ts # PM tool abstraction (Jira, Linear, Notion, GitHub)
655
- │ │ ├── pm-errors.ts # PM error handling & diagnostics
656
- │ │ ├── github.ts # GitHub API client
657
- │ │ ├── github-repo.ts # GitHub repo metadata & PR creation
658
- │ │ ├── pr-template.ts # PR template detection & parsing
659
- ├── pr-prompt.ts # Custom PR prompt file support
660
- │ └── notifications.ts # Slack/Discord webhook integration
661
- │ ├── config/ # Configuration system
662
- ├── schema.ts # Zod schema (type-safe config)
663
- └── index.ts # Config manager (global + local + secrets)
664
- ├── ui/ # Terminal UI system
665
- │ │ ├── renderer.ts # Main UI rendering (boxes, sections, stats)
666
- │ │ ├── colors.ts # Theme-aware color system
667
- │ │ ├── ascii.ts # ASCII art and symbols
668
- │ │ ├── help.ts # Help screen rendering
669
- │ │ ├── dashboard.ts # Interactive TUI dashboard
670
- │ │ ├── keyboard.ts # Keyboard input handling
671
- │ │ └── index.ts # UI re-exports
672
- │ ├── utils/ # Shared utilities
673
- │ │ ├── helpers.ts # Date, clipboard, formatting helpers
674
- │ │ ├── commitlint.ts # Conventional commit parsing
675
- │ │ └── ui.ts # UI utility helpers
676
- │ └── types/ # TypeScript type definitions
677
- │ └── index.ts
678
- ├── tests/ # Test suite (654 tests)
679
- │ ├── auto-snapshot.test.ts # Auto-snapshot, hooks, side-effects (74 tests)
680
- │ ├── work-journal.test.ts # Work journal & snapshot builder (123 tests)
681
- │ ├── project-management.test.ts # PM integrations (130 tests)
682
- │ ├── pr-creation.test.ts # PR creation & workflows (123 tests)
683
- │ ├── standup-context.test.ts # Standup context building (70 tests)
684
- │ ├── copilot.test.ts # Copilot CLI integration (38 tests)
685
- │ ├── pr-prompt.test.ts # PR prompt file handling (26 tests)
686
- │ ├── pr-template.test.ts # PR template parsing (25 tests)
687
- │ ├── context-analyzer.test.ts # Context analysis (22 tests)
688
- │ ├── git-analyzer.test.ts # Git operations (15 tests)
689
- │ ├── commitlint.test.ts # Commit parsing (6 tests)
690
- │ └── ui.test.ts # UI rendering (2 tests)
691
- ├── docs/ # Documentation
692
- │ ├── CONTRIBUTING.md
693
- │ ├── TESTING.md
694
- │ ├── PUBLISHING.md
695
- │ ├── PROJECT_SETUP.md
696
- │ ├── DEV_TOOLING_SETUP.md
697
- │ ├── QUICK_REFERENCE.md
698
- │ └── reports/
699
- ├── schemas/ # JSON schemas
700
- │ └── devdaily.schema.json # Config schema for IDE autocomplete
701
- ├── examples/ # Example outputs
702
- │ ├── standup-output.md
703
- │ ├── pr-output.md
704
- │ └── week-output.md
705
- ├── scripts/ # Dev/test scripts
706
- │ ├── setup-test-repo.sh
707
- │ ├── setup-test-commits.sh
708
- │ └── create-linear-issues.py
709
- ├── .github/
710
- │ ├── workflows/
711
- │ │ ├── ci.yml # CI — lint, typecheck, test (Node 18/20/22)
712
- │ │ └── publish.yml # NPM publish on GitHub release
713
- │ └── PULL_REQUEST_TEMPLATE.md
714
- ├── package.json
715
- ├── tsconfig.json
716
- ├── tsup.config.ts # Build config
717
- ├── vitest.config.ts # Test config
718
- ├── eslint.config.js # Lint config
719
- ├── commitlint.config.cjs # Commit message linting
720
- ├── CHANGELOG.md
721
- └── LICENSE
401
+ │ ├── commands/ # CLI command handlers
402
+ ├── standup.ts # Standup generation
403
+ │ │ ├── pr.ts # PR description generation
404
+ │ │ ├── week.ts # Weekly summary
405
+ │ │ ├── context.ts # Context recovery
406
+ │ │ ├── recall.ts # Work history search
407
+ │ │ ├── snapshot.ts # Manual snapshot capture
408
+ │ │ ├── init.ts # Setup wizard
409
+ │ │ ├── config.ts # Configuration management
410
+ │ │ ├── doctor.ts # System diagnostics
411
+ │ │ ├── connect.ts # PM tool connection
412
+ │ │ └── dash.ts # Interactive dashboard
413
+ ├── core/ # Business logic
414
+ ├── git-analyzer.ts # Git operations (simple-git)
415
+ │ │ ├── copilot.ts # GitHub Copilot CLI integration
416
+ │ │ ├── standup-context.ts # Rich context builder for standups
417
+ │ │ ├── context-analyzer.ts # Work pattern analysis
418
+ │ │ ├── snapshot-builder.ts # Snapshot creation
419
+ │ │ ├── work-journal.ts # Persistent local storage
420
+ │ │ ├── auto-snapshot.ts # Side-effect & hook snapshots
421
+ │ │ ├── notifications.ts # Slack/Discord webhooks
422
+ │ │ ├── project-management.ts # Jira/Linear/GitHub Issues
423
+ │ │ ├── pr-template.ts # PR template detection
424
+ │ │ ├── pr-prompt.ts # Custom prompt file loader
425
+ │ │ ├── github.ts # GitHub API helpers
426
+ │ │ └── github-repo.ts # Repo metadata
427
+ │ ├── config/ # Configuration loading & schema
428
+ ├── ui/ # Terminal UI (colors, ASCII, help)
429
+ │ ├── utils/ # Helpers (clipboard, formatting, commitlint)
430
+ │ ├── types/ # TypeScript type definitions
431
+ │ └── index.ts # CLI entry point
432
+ ├── tests/ # Vitest test suites
433
+ ├── schemas/ # JSON Schema for config validation
434
+ ├── examples/ # Example command outputs
435
+ ├── docs/ # Additional documentation
436
+ └── .github/ # CI workflows and templates
722
437
  ```
723
438
 
724
439
  ### Tech stack
725
440
 
726
- | Layer | Technology |
727
- | ----------------------- | ----------------------------- |
728
- | **Language** | TypeScript (strict mode) |
729
- | **CLI framework** | Commander.js |
730
- | **Git operations** | simple-git |
731
- | **AI integration** | GitHub Copilot CLI via execa |
732
- | **Interactive prompts** | Inquirer.js |
733
- | **Terminal UI** | chalk, picocolors, boxen, ora |
734
- | **Clipboard** | clipboardy |
735
- | **Config validation** | Zod |
736
- | **Testing** | Vitest |
737
- | **Build** | tsup (ESM output) |
738
- | **Linting** | ESLint + Prettier |
739
- | **Commit linting** | commitlint + Husky |
441
+ | Category | Technology |
442
+ | ------------------ | ---------------------------- |
443
+ | Language | TypeScript 5.7 (strict mode) |
444
+ | Runtime | Node.js 18+ (ESM) |
445
+ | CLI framework | Commander.js 12 |
446
+ | Git operations | simple-git |
447
+ | AI generation | GitHub Copilot CLI |
448
+ | Terminal UI | chalk, boxen, ora, inquirer |
449
+ | Build | tsup |
450
+ | Testing | Vitest |
451
+ | Linting | ESLint + Prettier |
452
+ | Commit conventions | commitlint + Husky |
740
453
 
741
454
  ---
742
455
 
743
456
  ## Testing
744
457
 
745
- DevDaily has a comprehensive test suite with **654 tests across 12 test files**.
746
-
747
458
  ```bash
748
- # Run all tests
749
- npm test
750
-
751
- # Run specific test file
752
- npx vitest run tests/auto-snapshot.test.ts
753
-
754
- # Watch mode
755
- npm run test:watch
756
-
757
- # With coverage
758
- npm run test:coverage
459
+ npm test # Run all tests
460
+ npm run test:watch # Watch mode
461
+ npm run test:coverage # With coverage report
759
462
  ```
760
463
 
761
- ### Test coverage by module
762
-
763
- | Module | Tests | Coverage Area |
764
- | -------------------- | ----- | ------------------------------------------------------ |
765
- | `project-management` | 130 | Jira, Linear, Notion, GitHub Issues integration |
766
- | `pr-creation` | 123 | PR generation, templates, interactive workflows |
767
- | `work-journal` | 123 | Persistent storage, search, cross-project, merge logic |
768
- | `auto-snapshot` | 74 | Side-effect snapshots, git hooks, install/remove |
769
- | `standup-context` | 70 | Context building, formatting, enrichment |
770
- | `copilot` | 38 | Copilot CLI integration, retries, error handling |
771
- | `pr-prompt` | 26 | Custom prompt file loading and merging |
772
- | `pr-template` | 25 | Template detection and section parsing |
773
- | `context-analyzer` | 22 | Ticket extraction, work categorization |
774
- | `git-analyzer` | 15 | Git operations, branch detection |
775
- | `commitlint` | 6 | Conventional commit parsing |
776
- | `ui` | 2 | UI rendering |
464
+ ### Test coverage
465
+
466
+ | Module | Tests | Description |
467
+ | -------------------- | ------- | ---------------------------------------- |
468
+ | `auto-snapshot` | 74 | Side-effect snapshots, hooks, config |
469
+ | `work-journal` | 123 | Persistent storage, search, aggregation |
470
+ | `project-management` | 130 | Jira, Linear, GitHub Issues integration |
471
+ | `standup-context` | 70 | Context building, formatting |
472
+ | `notifications` | 70 | Slack/Discord webhooks, output formatter |
473
+ | `pr-creation` | 123 | PR generation pipeline |
474
+ | `copilot` | 38 | AI prompt building |
475
+ | `pr-prompt` | 26 | Custom prompt file loading |
476
+ | `pr-template` | 25 | Template detection and parsing |
477
+ | `context-analyzer` | 22 | Work pattern analysis |
478
+ | `git-analyzer` | 15 | Git operations |
479
+ | `commitlint` | 6 | Conventional commit parsing |
480
+ | `ui` | 2 | UI rendering |
481
+ | **Total** | **724** | |
777
482
 
778
483
  ---
779
484
 
780
485
  ## FAQ
781
486
 
782
- **Q: Does this work offline?**
783
- A: Git analysis, snapshots, journal, and context recovery work offline. AI text generation requires GitHub Copilot CLI (internet connection). Use `--raw-context` to get structured data without AI.
784
-
785
- **Q: What git hosting providers are supported?**
786
- A: DevDaily works with any git repository. PR creation requires GitHub CLI. Ticket integration supports GitHub, Jira, Linear, and Notion.
787
-
788
- **Q: Is my code sent to external services?**
789
- A: Only commit messages and diff summaries are sent to GitHub Copilot CLI. Full file contents are never shared. The work journal stays entirely local.
487
+ **Q: Does DevDaily send my code anywhere?**
488
+ No. DevDaily reads your local git history and sends a text prompt to GitHub Copilot CLI. Your source code is not uploaded. Journal data stays on your machine.
790
489
 
791
- **Q: Can I use this with monorepos?**
792
- A: Yes. DevDaily analyzes the git history of your current directory. Use `--project` to track multiple sub-projects, and `--all-projects` for cross-project summaries.
490
+ **Q: Can I use DevDaily without GitHub Copilot?**
491
+ Currently, GitHub Copilot CLI is required for AI-powered generation. You can use `--raw-context` to get the structured context block without AI processing, and pipe it to any LLM of your choice.
793
492
 
794
- **Q: What about conventional commits?**
795
- A: DevDaily parses conventional commits automatically. PR titles are generated with proper `feat:`, `fix:`, `chore:` prefixes. Work is categorized by type.
493
+ **Q: Does it work with monorepos?**
494
+ Yes. DevDaily analyzes the git history of whatever repository you're currently in. Multi-project support via the journal lets you aggregate across repos.
796
495
 
797
- **Q: How do I clean up old journal data?**
798
- A: Run `devdaily snapshot --prune 90` to remove entries older than 90 days. Use `devdaily snapshot --stats` to see storage usage.
799
-
800
- **Q: Can I disable the auto-snapshot behavior?**
801
- A: Yes. Set `"journal": { "autoSnapshot": false }` in your config, or pass `--no-journal` to individual commands.
496
+ **Q: How do I uninstall the git hooks?**
497
+ Run `devdaily init --remove-hooks`. This cleanly removes only the DevDaily lines from your hook files.
802
498
 
803
499
  ---
804
500
 
@@ -806,75 +502,50 @@ A: Yes. Set `"journal": { "autoSnapshot": false }` in your config, or pass `--no
806
502
 
807
503
  ### Common issues
808
504
 
809
- | Problem | Solution |
810
- | ------------------------------ | ------------------------------------------------------------------------ |
811
- | `command not found: devdaily` | `npm install -g devdaily-ai` |
812
- | `GitHub Copilot CLI not found` | `gh extension install github/gh-copilot` |
813
- | `Not a git repository` | Run inside a git repo, or use `--all-projects` for journal-only commands |
814
- | `No commits found` | Make sure you have commits: `git log --oneline` |
815
- | PM tickets not appearing | Run `devdaily connect --test` to diagnose |
505
+ | Problem | Solution |
506
+ | ------------------------------ | ---------------------------------------------------- |
507
+ | `GitHub Copilot CLI not found` | Run `gh extension install github/gh-copilot` |
508
+ | `Not a git repository` | Navigate to a git repo before running commands |
509
+ | `No commits found` | Try increasing `--days` or check `--author` filter |
510
+ | Clipboard not working | Install `xclip` (Linux) or check permissions (macOS) |
511
+ | Webhook test fails | Run `devdaily init --notifications` to reconfigure |
816
512
 
817
513
  ### Diagnostics
818
514
 
819
515
  ```bash
820
- # Full system check
821
- devdaily doctor
822
-
823
- # Auto-fix what's possible
824
- devdaily doctor --fix
825
-
826
- # Debug any command
827
- devdaily standup --debug
828
- devdaily pr --debug
516
+ devdaily doctor # Check all prerequisites
517
+ devdaily doctor --fix # Attempt automatic fixes
518
+ devdaily config --path # Show config file location
829
519
  ```
830
520
 
831
521
  ---
832
522
 
833
523
  ## Roadmap
834
524
 
835
- - [x] Standup, PR, and weekly summary generation
836
- - [x] GitHub Issues, Jira, Linear, Notion integration
837
- - [x] PR template detection and auto-fill
838
- - [x] Interactive PR workflow (labels, reviewers, assignees)
839
- - [x] Persistent work journal and snapshots
840
- - [x] Context recovery (`devdaily context`)
841
- - [x] Work history search (`devdaily recall`)
842
- - [x] Automatic side-effect snapshots
843
- - [x] Git hooks for post-commit and post-checkout
844
- - [x] Cross-project weekly summaries
845
- - [x] Custom PR prompt files (`.devdaily-pr-prompt.md`)
846
- - [ ] Support for Ollama / local AI models
847
- - [ ] VS Code extension
848
- - [ ] Team collaboration features
849
- - [ ] Analytics and impact tracking dashboard
850
- - [ ] Scheduled auto-standup (cron / launchd)
525
+ - [ ] Plugin system for custom output formats and integrations
526
+ - [ ] Background agent for periodic auto-snapshots
527
+ - [ ] Dashboard visualization of work patterns
528
+ - [ ] Notion integration for ticket tracking
529
+ - [ ] Team-level aggregated summaries
530
+ - [ ] Ollama/local LLM support as Copilot alternative
851
531
 
852
532
  ---
853
533
 
854
534
  ## Contributing
855
535
 
856
- We welcome contributions! See [CONTRIBUTING.md](docs/CONTRIBUTING.md) for guidelines.
536
+ Contributions are welcome! Please read the [Contributing Guide](CONTRIBUTING.md) before submitting a pull request.
857
537
 
858
538
  ```bash
859
539
  git clone https://github.com/hempun10/devdaily.git
860
540
  cd devdaily
861
541
  npm install
862
- npm test # Make sure everything passes
863
- npm run dev # Start developing
542
+ npm test
864
543
  ```
865
544
 
866
- ---
867
-
868
- ## License
869
-
870
- MIT © [Hem Pun](https://github.com/hempun10)
545
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for the full development workflow, coding standards, and pull request process.
871
546
 
872
547
  ---
873
548
 
874
- <div align="center">
875
-
876
- **[⬆ Back to top](#devdaily-ai)**
877
-
878
- Made with ❤️ by developers, for developers
549
+ ## License
879
550
 
880
- </div>
551
+ [MIT](LICENSE) © [Hem Pun](https://github.com/hempun10)