granola-toolkit 0.65.0 → 0.67.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 (4) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +84 -8
  3. package/dist/cli.js +5562 -3859
  4. package/package.json +15 -5
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Nima Karimi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,6 +1,34 @@
1
1
  # granola-toolkit
2
2
 
3
- Toolkit for working with Granola meetings, notes, transcripts, folders, and local workspaces.
3
+ [![npm version](https://img.shields.io/npm/v/granola-toolkit?label=npm)](https://www.npmjs.com/package/granola-toolkit)
4
+ [![CI](https://img.shields.io/github/actions/workflow/status/kkarimi/granola-toolkit/ci.yml?branch=main&label=ci)](https://github.com/kkarimi/granola-toolkit/actions/workflows/ci.yml)
5
+ [![Docs](https://img.shields.io/badge/docs-live-0f766e)](https://kkarimi.github.io/granola-toolkit/)
6
+ [![License](https://img.shields.io/github/license/kkarimi/granola-toolkit)](https://github.com/kkarimi/granola-toolkit/blob/main/LICENSE)
7
+
8
+ The unofficial open-source Swiss army knife for Granola.
9
+
10
+ Sync your meeting archive locally, browse it in the browser or terminal, export anything you need,
11
+ and run your own agents against transcripts and notes.
12
+
13
+ > `granola-toolkit` is for people who want more than a flat export command:
14
+ > a local-first Granola archive, a real browser and terminal workspace, and automation you control.
15
+
16
+ ## Why Use It
17
+
18
+ - Local-first control instead of being trapped in one app surface
19
+ - CLI, browser, and TUI on one shared runtime and one local index
20
+ - Bring your own agent workflows on top of transcripts and notes
21
+ - Export notes and transcripts into files you actually own
22
+ - Open-source and scriptable, with local prompts, rules, skills, and plugins
23
+
24
+ ## What You Get
25
+
26
+ - `granola sync` for local indexing and refresh
27
+ - `granola web` for a browser workspace
28
+ - `granola tui` / `granola attach` for keyboard-first terminal use
29
+ - `granola notes` and `granola transcripts` for file exports
30
+ - `granola automation` plus harnesses/rules for BYOA review workflows
31
+ - local diagnostics, sync history, and inspectable runtime state
4
32
 
5
33
  ## Install
6
34
 
@@ -26,7 +54,6 @@ macOS arm64, Linux x64, and Windows x64. Extract the archive and run `granola` (
26
54
  ```bash
27
55
  granola init --provider openrouter
28
56
  granola auth login --api-key grn_...
29
- granola service start
30
57
  granola web
31
58
  ```
32
59
 
@@ -38,13 +65,54 @@ If you start with `granola web`, the browser now walks you through the same firs
38
65
  enter a Granola API key, import your meetings, choose an agent provider, and land in a workspace
39
66
  with a starter reviewable notes pipeline already configured.
40
67
 
41
- `granola service start` is the new long-running background mode. It keeps the local sync loop warm,
42
- serves the browser workspace, and lets `granola attach` discover the running service without making
43
- you keep a foreground terminal open.
68
+ `granola web` now prefers the long-running background-service path by default: it will reuse the
69
+ existing service when one is already running, or start it for you when you have not asked for a
70
+ foreground/debug session.
71
+
72
+ `granola service start` is still available when you want to warm the local sync loop without
73
+ opening a browser first.
44
74
 
45
75
  If you prefer to reuse the desktop app session instead, `granola auth login` still imports it from
46
76
  `supabase.json`.
47
77
 
78
+ ## Set Default Configuration
79
+
80
+ `granola init` writes a project-local `.granola.toml` for you. If you want to edit it directly,
81
+ the file can look like this:
82
+
83
+ ```toml
84
+ agent-provider = "openrouter"
85
+ agent-model = "openai/gpt-5-mini"
86
+ agent-harnesses-file = "./.granola/agent-harnesses.json"
87
+ automation-rules-file = "./.granola/automation-rules.json"
88
+ pkm-targets-file = "./.granola/pkm-targets.json"
89
+ output = "./exports/notes"
90
+ transcript-output = "./exports/transcripts"
91
+ debug = false
92
+ ```
93
+
94
+ The CLI reads configuration in this order:
95
+
96
+ 1. command-line flags
97
+ 2. environment variables
98
+ 3. `.granola.toml`
99
+ 4. platform defaults
100
+
101
+ Relative paths in `.granola.toml` resolve from the directory that contains the config file.
102
+
103
+ ## Debug Logging
104
+
105
+ Yes, the toolkit supports a real debug mode.
106
+
107
+ ```bash
108
+ granola sync --debug
109
+ granola web --debug --foreground
110
+ DEBUG_MODE=1 granola service start
111
+ ```
112
+
113
+ Useful when you want to see config resolution, auth mode selection, sync behaviour, and runtime
114
+ paths while diagnosing local-state issues.
115
+
48
116
  ## Documentation
49
117
 
50
118
  The detailed documentation now lives at
@@ -61,16 +129,24 @@ Key docs entry points:
61
129
 
62
130
  - [`Overview`](https://kkarimi.github.io/granola-toolkit/docs/)
63
131
  - [`Getting Started`](https://kkarimi.github.io/granola-toolkit/docs/getting-started/)
64
- - [`Exporting`](https://kkarimi.github.io/granola-toolkit/docs/exporting/)
65
- - [`Meetings and Folders`](https://kkarimi.github.io/granola-toolkit/docs/meetings-and-folders/)
132
+ - [`Automation`](https://kkarimi.github.io/granola-toolkit/docs/automation/)
66
133
  - [`Server, Web, and TUI`](https://kkarimi.github.io/granola-toolkit/docs/server-web-and-tui/)
67
134
  - [`Auth and Configuration`](https://kkarimi.github.io/granola-toolkit/docs/auth-and-configuration/)
68
- - [`Development`](https://kkarimi.github.io/granola-toolkit/docs/development/)
135
+ - [`Exporting`](https://kkarimi.github.io/granola-toolkit/docs/exporting/)
136
+ - [`Meetings and Folders`](https://kkarimi.github.io/granola-toolkit/docs/meetings-and-folders/)
137
+ - [`Agent Skills`](https://kkarimi.github.io/granola-toolkit/docs/agent-skills/)
138
+ - [`Architecture`](https://kkarimi.github.io/granola-toolkit/docs/architecture/)
69
139
  - [`Releases`](https://kkarimi.github.io/granola-toolkit/docs/releases/)
140
+ - [`Development`](https://kkarimi.github.io/granola-toolkit/docs/development/)
70
141
 
71
142
  Release history is also tracked in
72
143
  [`CHANGELOG.md`](https://github.com/kkarimi/granola-toolkit/blob/main/CHANGELOG.md).
73
144
 
145
+ ## Contributing
146
+
147
+ Contributions are welcome. See [CONTRIBUTING.md](/Users/nima/dev/personal/granola-cli/CONTRIBUTING.md) for
148
+ local setup, QA expectations, and contribution workflow.
149
+
74
150
  ## Local Development
75
151
 
76
152
  ```bash