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.
- package/LICENSE +21 -0
- package/README.md +84 -8
- package/dist/cli.js +5562 -3859
- 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
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/granola-toolkit)
|
|
4
|
+
[](https://github.com/kkarimi/granola-toolkit/actions/workflows/ci.yml)
|
|
5
|
+
[](https://kkarimi.github.io/granola-toolkit/)
|
|
6
|
+
[](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
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
- [`
|
|
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
|
-
- [`
|
|
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
|