@fureworks/scope 0.1.0 → 0.3.0

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.
Files changed (104) hide show
  1. package/README.md +129 -48
  2. package/dist/cli/clean.d.ts +7 -0
  3. package/dist/cli/clean.d.ts.map +1 -0
  4. package/dist/cli/clean.js +49 -0
  5. package/dist/cli/clean.js.map +1 -0
  6. package/dist/cli/config.d.ts +8 -1
  7. package/dist/cli/config.d.ts.map +1 -1
  8. package/dist/cli/config.js +368 -42
  9. package/dist/cli/config.js.map +1 -1
  10. package/dist/cli/diff.d.ts +6 -0
  11. package/dist/cli/diff.d.ts.map +1 -0
  12. package/dist/cli/diff.js +63 -0
  13. package/dist/cli/diff.js.map +1 -0
  14. package/dist/cli/init.d.ts +2 -0
  15. package/dist/cli/init.d.ts.map +1 -0
  16. package/dist/cli/init.js +15 -0
  17. package/dist/cli/init.js.map +1 -0
  18. package/dist/cli/notifications.d.ts +7 -0
  19. package/dist/cli/notifications.d.ts.map +1 -0
  20. package/dist/cli/notifications.js +77 -0
  21. package/dist/cli/notifications.js.map +1 -0
  22. package/dist/cli/onboard.d.ts.map +1 -1
  23. package/dist/cli/onboard.js +2 -1
  24. package/dist/cli/onboard.js.map +1 -1
  25. package/dist/cli/plan.d.ts +7 -0
  26. package/dist/cli/plan.d.ts.map +1 -0
  27. package/dist/cli/plan.js +111 -0
  28. package/dist/cli/plan.js.map +1 -0
  29. package/dist/cli/review.d.ts +6 -0
  30. package/dist/cli/review.d.ts.map +1 -0
  31. package/dist/cli/review.js +167 -0
  32. package/dist/cli/review.js.map +1 -0
  33. package/dist/cli/snooze.d.ts +12 -0
  34. package/dist/cli/snooze.d.ts.map +1 -0
  35. package/dist/cli/snooze.js +155 -0
  36. package/dist/cli/snooze.js.map +1 -0
  37. package/dist/cli/today.d.ts.map +1 -1
  38. package/dist/cli/today.js +85 -11
  39. package/dist/cli/today.js.map +1 -1
  40. package/dist/cli/tune.d.ts +8 -0
  41. package/dist/cli/tune.d.ts.map +1 -0
  42. package/dist/cli/tune.js +62 -0
  43. package/dist/cli/tune.js.map +1 -0
  44. package/dist/engine/__tests__/prioritize.test.d.ts +2 -0
  45. package/dist/engine/__tests__/prioritize.test.d.ts.map +1 -0
  46. package/dist/engine/__tests__/prioritize.test.js +199 -0
  47. package/dist/engine/__tests__/prioritize.test.js.map +1 -0
  48. package/dist/engine/prioritize.d.ts +10 -2
  49. package/dist/engine/prioritize.d.ts.map +1 -1
  50. package/dist/engine/prioritize.js +249 -50
  51. package/dist/engine/prioritize.js.map +1 -1
  52. package/dist/index.js +61 -5
  53. package/dist/index.js.map +1 -1
  54. package/dist/notifications/index.d.ts.map +1 -1
  55. package/dist/notifications/index.js +6 -10
  56. package/dist/notifications/index.js.map +1 -1
  57. package/dist/sources/__tests__/git.test.d.ts +2 -0
  58. package/dist/sources/__tests__/git.test.d.ts.map +1 -0
  59. package/dist/sources/__tests__/git.test.js +52 -0
  60. package/dist/sources/__tests__/git.test.js.map +1 -0
  61. package/dist/sources/activity.d.ts +32 -0
  62. package/dist/sources/activity.d.ts.map +1 -0
  63. package/dist/sources/activity.js +101 -0
  64. package/dist/sources/activity.js.map +1 -0
  65. package/dist/sources/calendar.d.ts +6 -0
  66. package/dist/sources/calendar.d.ts.map +1 -1
  67. package/dist/sources/calendar.js +114 -0
  68. package/dist/sources/calendar.js.map +1 -1
  69. package/dist/sources/git.d.ts +3 -0
  70. package/dist/sources/git.d.ts.map +1 -1
  71. package/dist/sources/git.js +62 -6
  72. package/dist/sources/git.js.map +1 -1
  73. package/dist/sources/issues.d.ts +2 -0
  74. package/dist/sources/issues.d.ts.map +1 -1
  75. package/dist/sources/issues.js +33 -0
  76. package/dist/sources/issues.js.map +1 -1
  77. package/dist/store/config.d.ts +8 -0
  78. package/dist/store/config.d.ts.map +1 -1
  79. package/dist/store/config.js +22 -0
  80. package/dist/store/config.js.map +1 -1
  81. package/dist/store/muted.d.ts +17 -0
  82. package/dist/store/muted.d.ts.map +1 -0
  83. package/dist/store/muted.js +55 -0
  84. package/dist/store/muted.js.map +1 -0
  85. package/dist/store/snapshot.d.ts +12 -0
  86. package/dist/store/snapshot.d.ts.map +1 -0
  87. package/dist/store/snapshot.js +41 -0
  88. package/dist/store/snapshot.js.map +1 -0
  89. package/package.json +11 -3
  90. package/src/cli/config.ts +0 -66
  91. package/src/cli/context.ts +0 -109
  92. package/src/cli/daemon.ts +0 -217
  93. package/src/cli/onboard.ts +0 -335
  94. package/src/cli/status.ts +0 -77
  95. package/src/cli/switch.ts +0 -93
  96. package/src/cli/today.ts +0 -114
  97. package/src/engine/prioritize.ts +0 -257
  98. package/src/index.ts +0 -58
  99. package/src/notifications/index.ts +0 -42
  100. package/src/sources/calendar.ts +0 -170
  101. package/src/sources/git.ts +0 -168
  102. package/src/sources/issues.ts +0 -62
  103. package/src/store/config.ts +0 -104
  104. package/tsconfig.json +0 -19
package/README.md CHANGED
@@ -1,14 +1,8 @@
1
1
  # Scope
2
2
 
3
- **Personal ops CLIfocus on what matters.**
3
+ **Scope tells you the 3 things that matter right now and gives you permission to ignore everything else.**
4
4
 
5
- Scope reads your existing workflow (git repos, calendar, PRs) and tells you what actually needs your attention. It doesn't add to your workflow it gives you clarity.
6
-
7
- ## Why
8
-
9
- AI tools made you more capable. Which means more gets piled on. The bottleneck moved from *execution* to *prioritization and context switching*.
10
-
11
- Scope sits above your tools and helps you focus.
5
+ A personal ops CLI for builders who juggle multiple repos, PRs, meetings, and issues. Scope reads your existing workflow signals and surfaces what needs attention. No manual input. No new accounts. No cloud.
12
6
 
13
7
  ## Install
14
8
 
@@ -16,77 +10,164 @@ Scope sits above your tools and helps you focus.
16
10
  npm install -g @fureworks/scope
17
11
  ```
18
12
 
13
+ Requires Node.js 18+.
14
+
19
15
  ## Quick Start
20
16
 
21
17
  ```bash
22
- scope onboard # Guided setup (1 minute)
23
- scope today # What matters right now
18
+ scope onboard # guided first-time setup
19
+ scope today # what matters right now
20
+ scope review # end-of-day summary
24
21
  ```
25
22
 
26
- ## Commands
23
+ Or set up non-interactively (great for AI agents):
27
24
 
28
- ```
29
- scope onboard Guided first-time setup
30
- scope today What needs your attention right now
31
- scope status Overview of all watched projects
32
- scope switch <project> Switch to a project context
33
- scope context Show current project context
34
- scope review End-of-day summary
35
- scope config View/edit configuration
25
+ ```bash
26
+ scope init
27
+ scope config repos add ~/projects/my-app ~/projects/api
28
+ scope config repos scan ~/work # auto-discover git repos
29
+ scope config calendar enable
30
+ scope config projects add myproject --dir ~/projects/my-app
36
31
  ```
37
32
 
38
- ## How It Works
33
+ ## What It Does
39
34
 
40
- Scope reads signals from your existing tools:
35
+ Scope reads signals from tools you already use:
41
36
 
42
- - **Git** — uncommitted changes, stale branches, open PRs
43
- - **Google Calendar** — today's meetings, free blocks (via [gws](https://github.com/googleworkspace/cli))
44
- - **GitHub** — PR reviews waiting on you, failing CI
37
+ - **Git** — uncommitted work, stale branches, recent activity
38
+ - **GitHub** — open PRs, review requests, CI status, assigned issues
39
+ - **Google Calendar** — meetings, free blocks (via `gws` CLI)
45
40
 
46
- It scores each item by urgency, staleness, and blocking potential, then shows you what matters:
41
+ Then it scores and ranks everything using deterministic rules (no AI):
47
42
 
48
43
  ```
49
44
  $ scope today
50
45
 
46
+ Good morning. Here's what matters:
47
+
51
48
  NOW
52
49
  ───
53
- 🔴 Meeting: Team standup in 45 min
54
- 🔴 PR #8 on api-service waiting on your review (3 days)
50
+ 🔴 PR #8 on api-service (low context: no CI status)
51
+ auth migrationreview requested, 3 days old
52
+ Why: Someone's waiting on your review. 3 days stale.
55
53
 
56
54
  TODAY
57
55
  ────
58
- 🟡 fureworks/scope — 3 uncommitted files, last touched 2h ago
59
- 🟡 PR #12 on fureworks.com open 3 days, no review
56
+ 🟡 fureworks/scope
57
+ 3 uncommitted files, last touched 6h ago
58
+ Why: Uncommitted work for 6 hours. Commit or stash.
59
+
60
+ IGNORED
61
+ ───────
62
+ ✗ PR #2 on docs — Fresh, no one's waiting
63
+ ✗ Issue #12 on scope — Less than a week old, no priority label
64
+
65
+ Nothing else needs you today.
66
+ ```
67
+
68
+ ## Commands
69
+
70
+ | Command | What it does |
71
+ |---------|-------------|
72
+ | `scope today` | Morning priorities — what needs attention right now |
73
+ | `scope review` | End-of-day summary — what got done, what's carrying over |
74
+ | `scope plan` | Weekly view — calendar density, PR backlog, best build days |
75
+ | `scope status` | Overview of all watched projects |
76
+ | `scope switch <project>` | Context switch between projects |
77
+ | `scope context` | Show current project state |
78
+ | `scope snooze <item> --until <date>` | Hide an item until a date |
79
+ | `scope mute <item>` | Permanently hide an item |
80
+ | `scope tune [key] [value]` | Adjust scoring weights |
81
+ | `scope config repos\|calendar\|projects` | Manage configuration |
82
+ | `scope init` | Initialize Scope |
83
+ | `scope onboard` | Interactive guided setup |
84
+ | `scope daemon start\|stop\|status` | Background signal checks |
85
+ | `scope notifications` | View recent alerts |
86
+
87
+ ## How Scoring Works
88
+
89
+ Each item gets a priority score based on measurable signals:
90
+
91
+ ```
92
+ Score = (Time Pressure + Staleness + Blocking Potential + Effort Match) × Weight
93
+ ```
94
+
95
+ - **Score ≥ 8** → 🔴 **NOW** — do these first (max 3 shown)
96
+ - **Score 4–7** → 🟡 **TODAY** — fit these in (max 5 shown)
97
+ - **Score < 4** → **IGNORED** — shown with reason, explicitly excluded
60
98
 
61
- 💡 2h free block after standup (14:00–16:00)
62
- Good for: fureworks/scope (has pending work)
99
+ Adjust weights with `scope tune`:
63
100
 
64
- 4 other items can wait → scope status
101
+ ```bash
102
+ scope tune staleness 1.5 # stale items rank higher
103
+ scope tune blocking 0.5 # reduce blocking urgency
104
+ scope tune --reset # restore defaults
65
105
  ```
66
106
 
67
- ## Design Principles
107
+ ## Time Awareness
108
+
109
+ `scope today` adjusts its tone based on when you run it:
68
110
 
69
- - **CLI-first, local-first** your data stays on your machine
70
- - **Reads, doesn't create** no new inputs required from you
71
- - **Opinionated output** tells you what matters, not just lists stuff
72
- - **Degrades gracefully** — missing integrations skip quietly, never crash
73
- - **Open source** — MIT licensed
111
+ - **Morning:** "Good morning. Here's what matters."
112
+ - **Afternoon:** "3/5 from this morning done. 2 remaining."
113
+ - **Evening:** "Run `scope review` to wrap up."
114
+
115
+ ## Weekly Planning
116
+
117
+ ```
118
+ $ scope plan
119
+
120
+ THIS WEEK
121
+ ─────────
122
+ Mon ████░░ 3 meetings, 2h free
123
+ Tue ██░░░░ 1 meeting, 5h free ← best deep work day
124
+ Wed █████░ 4 meetings, 1h free
125
+ Thu ███░░░ 2 meetings, 4h free
126
+ Fri █░░░░░ 0 meetings, 7h free
127
+
128
+ BACKLOG
129
+ ───────
130
+ 3 PRs older than 1 week
131
+ 2 issues approaching stale (>14 days)
132
+
133
+ 💡 Tuesday + Friday are your best build days this week.
134
+ ```
74
135
 
75
136
  ## Prerequisites
76
137
 
77
- - Node.js 18+
78
- - Git
79
- - [GitHub CLI](https://cli.github.com/) (`gh`) — for PR data
80
- - [Google Workspace CLI](https://github.com/googleworkspace/cli) (`gws`) — for calendar (optional)
138
+ Scope reads from external tools. All are optional — missing integrations reduce output but never crash.
81
139
 
82
- ## Status
140
+ | Tool | What it provides | Install |
141
+ |------|-----------------|---------|
142
+ | `gh` (GitHub CLI) | PRs, issues, CI status | [cli.github.com](https://cli.github.com/) |
143
+ | `gws` (Google Workspace CLI) | Calendar events, free blocks | `npm i -g @googleworkspace/cli` |
83
144
 
84
- 🚧 **v0.1 in development** — early but usable.
145
+ ## Best Practices
85
146
 
86
- ## License
147
+ See [WORKFLOW.md](./WORKFLOW.md) for habits that make Scope's output better — commit often, assign yourself, use labels, block focus time.
148
+
149
+ ## Philosophy
150
+
151
+ - **Zero manual input.** Scope reads. It doesn't ask you to enter data.
152
+ - **Confident exclusion.** The value isn't what's shown — it's what's hidden and why.
153
+ - **Degraded mode is fine.** Only have git? Scope works. Add calendar? Better. Each integration is additive.
154
+ - **CLI-first, local-first.** No accounts, no cloud, no tracking.
155
+ - **No AI (v1).** Deterministic rules-based scoring. Transparent and predictable.
156
+
157
+ ## Data
87
158
 
88
- MIT see [LICENSE](./LICENSE)
159
+ Everything lives in `~/.scope/`:
89
160
 
90
- ---
161
+ ```
162
+ ~/.scope/
163
+ ├── config.toml # configuration
164
+ ├── contexts/ # saved project contexts
165
+ ├── snapshots/ # daily snapshots (for review comparison)
166
+ ├── muted.json # snoozed/muted items
167
+ ├── notifications.log # notification history
168
+ └── daemon.pid # background process
169
+ ```
170
+
171
+ ## License
91
172
 
92
- *A [Fureworks](https://fureworks.com) project — works born from human touch.*
173
+ MIT [Fureworks](https://fureworks.com)
@@ -0,0 +1,7 @@
1
+ interface CleanOptions {
2
+ json?: boolean;
3
+ dry?: boolean;
4
+ }
5
+ export declare function cleanCommand(options: CleanOptions): Promise<void>;
6
+ export {};
7
+ //# sourceMappingURL=clean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../src/cli/clean.ts"],"names":[],"mappings":"AAIA,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgEvE"}
@@ -0,0 +1,49 @@
1
+ import chalk from "chalk";
2
+ import { loadConfig, configExists } from "../store/config.js";
3
+ import { scanAllRepos } from "../sources/git.js";
4
+ export async function cleanCommand(options) {
5
+ if (!configExists()) {
6
+ console.log(chalk.yellow(" Scope isn't set up yet. Run `scope onboard` to get started.\n"));
7
+ process.exit(1);
8
+ }
9
+ const config = loadConfig();
10
+ if (config.repos.length === 0) {
11
+ console.log(chalk.yellow(" No repos configured. Run `scope config repos add` to add some.\n"));
12
+ process.exit(1);
13
+ }
14
+ const signals = await scanAllRepos(config.repos);
15
+ const stale = [];
16
+ for (const signal of signals) {
17
+ for (const branch of signal.staleBranches) {
18
+ stale.push({ repo: signal.repo, branch });
19
+ }
20
+ }
21
+ if (options.json) {
22
+ console.log(JSON.stringify({ stale }, null, 2));
23
+ return;
24
+ }
25
+ console.log("");
26
+ if (stale.length === 0) {
27
+ console.log(chalk.green(" ✓ No stale branches found. Repos are clean.\n"));
28
+ return;
29
+ }
30
+ console.log(chalk.bold(" STALE BRANCHES"));
31
+ console.log(chalk.dim(" ──────────────"));
32
+ const byRepo = new Map();
33
+ for (const { repo, branch } of stale) {
34
+ if (!byRepo.has(repo))
35
+ byRepo.set(repo, []);
36
+ byRepo.get(repo).push(branch);
37
+ }
38
+ for (const [repo, branches] of byRepo) {
39
+ console.log(`\n ${chalk.bold(repo)}`);
40
+ for (const branch of branches) {
41
+ console.log(chalk.dim(` ✗ ${branch}`));
42
+ }
43
+ }
44
+ console.log(chalk.dim(`\n ${stale.length} stale branch${stale.length > 1 ? "es" : ""} across ${byRepo.size} repo${byRepo.size > 1 ? "s" : ""}.`));
45
+ if (!options.dry) {
46
+ console.log(chalk.dim(" To delete: git branch -d <branch> (in each repo)\n"));
47
+ }
48
+ }
49
+ //# sourceMappingURL=clean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/cli/clean.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,9 @@
1
- export declare function configCommand(key?: string, value?: string): Promise<void>;
1
+ import { Command } from "commander";
2
+ type JsonOptions = {
3
+ json?: boolean;
4
+ dir?: string;
5
+ };
6
+ export declare function configCommand(key?: string, value?: string, options?: JsonOptions): Promise<void>;
7
+ export declare function registerConfigCommand(program: Command): void;
8
+ export {};
2
9
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAMA,wBAAsB,aAAa,CACjC,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAwDf"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,KAAK,WAAW,GAAG;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AA4HF,wBAAsB,aAAa,CACjC,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA+Cf;AAkND,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwE5D"}