daily-focus 1.2.0-dev.10 → 1.2.0-dev.11

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.
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadConfig
3
- } from "./chunk-J7ZYVUG6.js";
3
+ } from "./chunk-4DZEBUPU.js";
4
4
  import {
5
5
  IN_NPX_CACHE,
6
6
  PACKAGED,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "daily-focus",
3
- "version": "1.2.0-dev.10",
3
+ "version": "1.2.0-dev.11",
4
4
  "description": "An interactive dashboard of what you should focus on today at work",
5
5
  "keywords": [
6
6
  "dashboard",
package/prompts/README.md CHANGED
@@ -5,12 +5,13 @@
5
5
  | [`morning-brief-work.md`](./morning-brief-work.md) | The prompt for the work briefing agent, run once every workday morning. |
6
6
  | [`morning-brief-personal.md`](./morning-brief-personal.md) | The prompt for the personal briefing agent: email, family calendars, Apple Reminders, Apple Messages, e-Boks and the user's own GitHub projects. |
7
7
  | [`assistant.md`](./assistant.md) | The instructions for the on-demand assistant, which the server runs headless when the user presses Ask on a row. One file for both profiles. Linked into the store as `assistant.md`. |
8
+ | [`onboarding.md`](./onboarding.md) | The instructions for the setup screen's CLI sessions, one per question, which propose the answer a new user most likely wants. Not linked into the store: the server reads it from the running copy and inlines it, as it does the assistant's. |
8
9
 
9
- All three are **nothing but prompt** — each is read verbatim by its agent, so anything
10
+ All four are **nothing but prompt** — each is read verbatim by its agent, so anything
10
11
  else in there is either noise the agent has to skip or, worse, an instruction it
11
12
  might try to act on. Notes about the prompts belong in this file instead.
12
13
 
13
- The assistant's file differs from the other two in one way: the server does read it.
14
+ The assistant's file differs from the briefing prompts in one way: the server does read it.
14
15
  It is the server that starts the assistant, so it is the server that inlines these
15
16
  instructions ahead of the row and the request on the first turn of a session. The
16
17
  quick actions the panel offers are sentences in `src/assistant.ts`, not in the
@@ -32,14 +33,15 @@ alongside `items.schema.json`, so a run only ever names a path inside the store:
32
33
  ~/.daily-focus/
33
34
  prompt.md → prompts/morning-brief-work.md (symlink, made by the dashboard at start)
34
35
  items.schema.json → schema/items.schema.json (symlink, made by the dashboard at start)
35
- focus.md you write it, in the dashboard or by hand
36
- sources.md you write it, in the dashboard or by hand
36
+ focus.md you write it, on the setup screen, in the dashboard or by hand
37
+ sources.md you write it, on the setup screen, in the dashboard or by hand
37
38
  settings.json the dashboard writes: what you set on its settings page
38
39
  items.json the agent writes it
39
40
  actions.jsonl the dashboard appends
40
41
  agent.jsonl the dashboard appends: every run, its report, and the questions asked of it
41
42
  archive/ the dashboard writes
42
43
  prs.json the dashboard writes: its last fetch of the user's open pull requests
44
+ onboarding.json the dashboard writes: the setup screen's answers, and what was proposed for them
43
45
  ```
44
46
 
45
47
  That boundary is the point, and it is worth being strict about. A prompt that reaches
@@ -0,0 +1,41 @@
1
+ # Setting up Daily Focus
2
+
3
+ You are helping someone set up Daily Focus, a dashboard that has a coding-agent CLI
4
+ write them a short brief each morning: what needs to get done today, from their
5
+ mail, calendar, pull requests, tickets and documents.
6
+
7
+ They are on the setup screen now. It asks them one question at a time, and each
8
+ question comes with the answer they most likely want already ticked, so most of
9
+ the time all they do is confirm. Your job in this session is that one question,
10
+ named below: find out enough to propose the answer, and say why in a sentence.
11
+
12
+ ## How to work
13
+
14
+ - **Only read.** Never send, post, create, edit, move or delete anything,
15
+ anywhere: no mail, no drafts, no calendar changes, no comments, no files.
16
+ - **Be quick.** Someone is waiting on this. A few well-chosen lookups, then
17
+ answer. If something would take long to find out, make the likely guess and
18
+ say it is a guess.
19
+ - **Nobody can answer you mid-turn.** Never ask a question; the screen does the
20
+ asking. If a tool or account isn't reachable, work with what is and say what
21
+ you couldn't check.
22
+ - **Guess well.** A question for the *work* profile wants work accounts,
23
+ calendars and projects; for *personal*, everything else. Lean towards what the
24
+ morning brief needs and away from noise.
25
+ - **Say why in one or two short sentences**, under 40 words, in the first
26
+ person and plain text, no Markdown: "These are on your northwind.dev account,
27
+ where most of this week's meetings are." Cite what you saw, never invent it.
28
+ Say what you guessed, but not every lookup that failed. Never quote private
29
+ content such as mail subjects or meeting titles; counts and account names are
30
+ fine.
31
+ - **Answer with the JSON the schema asks for**, and nothing else. Use an empty
32
+ string, not null, for anything unknown.
33
+ - **Your why describes the answer you give, and nothing more.** The screen
34
+ shows the two side by side. Never say you included something the answer
35
+ doesn't hold; if the user asks for something it has no place for, say so.
36
+
37
+ ## When the user writes back
38
+
39
+ They may tell you what to change ("also the on-call rota", "that's my old
40
+ address"). Do what they ask, check what you need to, and answer with the whole
41
+ proposal again, in the same JSON.