@stephendolan/omnifocus-cli 1.0.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 +321 -0
- package/dist/commands/inbox.d.ts +3 -0
- package/dist/commands/inbox.d.ts.map +1 -0
- package/dist/commands/inbox.js +31 -0
- package/dist/commands/inbox.js.map +1 -0
- package/dist/commands/perspective.d.ts +3 -0
- package/dist/commands/perspective.d.ts.map +1 -0
- package/dist/commands/perspective.js +23 -0
- package/dist/commands/perspective.js.map +1 -0
- package/dist/commands/project.d.ts +3 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +58 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/search.d.ts +3 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +14 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/task.d.ts +3 -0
- package/dist/commands/task.d.ts.map +1 -0
- package/dist/commands/task.js +96 -0
- package/dist/commands/task.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/command-utils.d.ts +4 -0
- package/dist/lib/command-utils.d.ts.map +1 -0
- package/dist/lib/command-utils.js +22 -0
- package/dist/lib/command-utils.js.map +1 -0
- package/dist/lib/display.d.ts +12 -0
- package/dist/lib/display.d.ts.map +1 -0
- package/dist/lib/display.js +168 -0
- package/dist/lib/display.js.map +1 -0
- package/dist/lib/filters.d.ts +14 -0
- package/dist/lib/filters.d.ts.map +1 -0
- package/dist/lib/filters.js +48 -0
- package/dist/lib/filters.js.map +1 -0
- package/dist/lib/omnifocus.d.ts +26 -0
- package/dist/lib/omnifocus.d.ts.map +1 -0
- package/dist/lib/omnifocus.js +457 -0
- package/dist/lib/omnifocus.js.map +1 -0
- package/dist/types.d.ts +70 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +41 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025
|
|
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
ADDED
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
# OmniFocus CLI
|
|
2
|
+
|
|
3
|
+
A powerful command-line interface for OmniFocus on macOS, inspired by the GitHub CLI (`gh`).
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- 📝 **Task Management** - Create, list, update, and delete tasks
|
|
8
|
+
- 📂 **Project Management** - Manage projects and their organization
|
|
9
|
+
- 📥 **Inbox Management** - View and count inbox items
|
|
10
|
+
- 🔍 **Search** - Full-text search across tasks
|
|
11
|
+
- 🎨 **Beautiful Output** - Color-coded, formatted output with icons
|
|
12
|
+
- ⚡ **Fast** - Direct OmniFocus integration using JXA
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install
|
|
18
|
+
npm run build
|
|
19
|
+
npm link
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Now you can use the `of` command anywhere in your terminal.
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
### Task Commands
|
|
27
|
+
|
|
28
|
+
#### List Tasks
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# List all active tasks
|
|
32
|
+
of task list
|
|
33
|
+
|
|
34
|
+
# List flagged tasks only
|
|
35
|
+
of task list --flagged
|
|
36
|
+
|
|
37
|
+
# Filter by project
|
|
38
|
+
of task list --project "Work"
|
|
39
|
+
|
|
40
|
+
# Filter by tag
|
|
41
|
+
of task list --tag "urgent"
|
|
42
|
+
|
|
43
|
+
# Include completed tasks
|
|
44
|
+
of task list --completed
|
|
45
|
+
|
|
46
|
+
# Show verbose details
|
|
47
|
+
of task list -v
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
#### Create a Task
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Simple task to inbox
|
|
54
|
+
of task create "Review pull requests"
|
|
55
|
+
|
|
56
|
+
# Task with project
|
|
57
|
+
of task create "Write documentation" --project "Website"
|
|
58
|
+
|
|
59
|
+
# Task with multiple options
|
|
60
|
+
of task create "Call dentist" \
|
|
61
|
+
--project "Personal" \
|
|
62
|
+
--tag "phone" \
|
|
63
|
+
--due "2024-01-15" \
|
|
64
|
+
--flagged \
|
|
65
|
+
--estimate 15
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
#### Update a Task
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Mark as completed
|
|
72
|
+
of task update "Review pull requests" --complete
|
|
73
|
+
|
|
74
|
+
# Flag a task
|
|
75
|
+
of task update "Call dentist" --flag
|
|
76
|
+
|
|
77
|
+
# Move to different project
|
|
78
|
+
of task update "Write docs" --project "Documentation"
|
|
79
|
+
|
|
80
|
+
# Update multiple properties
|
|
81
|
+
of task update "Email team" \
|
|
82
|
+
--name "Email team about launch" \
|
|
83
|
+
--due "2024-01-20" \
|
|
84
|
+
--flag
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
#### View Task Details
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# View by name
|
|
91
|
+
of task view "Review pull requests"
|
|
92
|
+
|
|
93
|
+
# View by ID
|
|
94
|
+
of task view "kXu3B-LZfFH"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
#### Delete a Task
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
of task delete "Old task"
|
|
101
|
+
of task rm "Old task" # alias
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Project Commands
|
|
105
|
+
|
|
106
|
+
#### List Projects
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# List all active projects
|
|
110
|
+
of project list
|
|
111
|
+
|
|
112
|
+
# Filter by folder
|
|
113
|
+
of project list --folder "Work"
|
|
114
|
+
|
|
115
|
+
# Filter by status
|
|
116
|
+
of project list --status "on hold"
|
|
117
|
+
|
|
118
|
+
# Include dropped projects
|
|
119
|
+
of project list --dropped
|
|
120
|
+
|
|
121
|
+
# Show verbose details
|
|
122
|
+
of project list -v
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### Create a Project
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Simple project
|
|
129
|
+
of project create "Website Redesign"
|
|
130
|
+
|
|
131
|
+
# Project with folder and tags
|
|
132
|
+
of project create "Q1 Planning" \
|
|
133
|
+
--folder "Work" \
|
|
134
|
+
--tag "quarterly" \
|
|
135
|
+
--sequential
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
#### View Project Details
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
of project view "Website Redesign"
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
#### Delete a Project
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
of project delete "Old Project"
|
|
148
|
+
of project rm "Old Project" # alias
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Inbox Commands
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# List inbox items
|
|
155
|
+
of inbox list
|
|
156
|
+
|
|
157
|
+
# Get inbox count
|
|
158
|
+
of inbox count
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Search
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# Search for tasks
|
|
165
|
+
of search "documentation"
|
|
166
|
+
|
|
167
|
+
# Show verbose results
|
|
168
|
+
of search "meeting" -v
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Command Reference
|
|
172
|
+
|
|
173
|
+
### Global Options
|
|
174
|
+
|
|
175
|
+
- `-h, --help` - Show help for any command
|
|
176
|
+
- `-V, --version` - Show version number
|
|
177
|
+
|
|
178
|
+
### Task Filters
|
|
179
|
+
|
|
180
|
+
- `-f, --flagged` - Show only flagged tasks
|
|
181
|
+
- `-p, --project <name>` - Filter by project name
|
|
182
|
+
- `-t, --tag <name>` - Filter by tag name
|
|
183
|
+
- `-c, --completed` - Include completed tasks
|
|
184
|
+
- `-v, --verbose` - Show detailed information
|
|
185
|
+
|
|
186
|
+
### Task Options
|
|
187
|
+
|
|
188
|
+
- `--project <name>` - Assign to project
|
|
189
|
+
- `--note <text>` - Add note
|
|
190
|
+
- `--tag <tags...>` - Add tags (space-separated)
|
|
191
|
+
- `--due <date>` - Set due date (ISO format: YYYY-MM-DD)
|
|
192
|
+
- `--defer <date>` - Set defer date (ISO format)
|
|
193
|
+
- `--flagged` - Flag the task
|
|
194
|
+
- `--estimate <minutes>` - Set time estimate in minutes
|
|
195
|
+
|
|
196
|
+
### Project Options
|
|
197
|
+
|
|
198
|
+
- `--folder <name>` - Assign to folder
|
|
199
|
+
- `--note <text>` - Add note
|
|
200
|
+
- `--tag <tags...>` - Add tags (space-separated)
|
|
201
|
+
- `--sequential` - Make it a sequential project
|
|
202
|
+
- `--status <status>` - Set status (active, on hold, dropped)
|
|
203
|
+
|
|
204
|
+
## Output Legend
|
|
205
|
+
|
|
206
|
+
### Task List
|
|
207
|
+
|
|
208
|
+
- `⭐` - Flagged task
|
|
209
|
+
- `✓` - Completed task
|
|
210
|
+
- `○` - Incomplete task
|
|
211
|
+
- `[Project]` - Project name (cyan)
|
|
212
|
+
- `#tag` - Tags (magenta)
|
|
213
|
+
- `due X ago` - Overdue tasks (red)
|
|
214
|
+
- `due in X` - Upcoming tasks (gray)
|
|
215
|
+
- `[Xh Xm]` - Time estimate (gray)
|
|
216
|
+
|
|
217
|
+
### Project List
|
|
218
|
+
|
|
219
|
+
- `●` - Status indicator (green=active, yellow=on hold, red=dropped)
|
|
220
|
+
- `(X/Y)` - Remaining/Total tasks
|
|
221
|
+
- `[sequential]` - Sequential project indicator (blue)
|
|
222
|
+
- `[Folder]` - Folder name (cyan)
|
|
223
|
+
- `#tag` - Tags (magenta)
|
|
224
|
+
|
|
225
|
+
## Examples
|
|
226
|
+
|
|
227
|
+
### Daily Workflow
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# Check inbox
|
|
231
|
+
of inbox count
|
|
232
|
+
|
|
233
|
+
# List today's tasks
|
|
234
|
+
of task list --flagged
|
|
235
|
+
|
|
236
|
+
# Add a quick task
|
|
237
|
+
of task create "Buy groceries" --tag "errands"
|
|
238
|
+
|
|
239
|
+
# Review project status
|
|
240
|
+
of project list
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Weekly Review
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
# Check all projects
|
|
247
|
+
of project list -v
|
|
248
|
+
|
|
249
|
+
# Review flagged items
|
|
250
|
+
of task list --flagged -v
|
|
251
|
+
|
|
252
|
+
# Search for specific topics
|
|
253
|
+
of search "meeting"
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Task Management
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
# Create a task in a project with details
|
|
260
|
+
of task create "Draft quarterly report" \
|
|
261
|
+
--project "Management" \
|
|
262
|
+
--tag "writing" \
|
|
263
|
+
--due "2024-02-01" \
|
|
264
|
+
--estimate 120 \
|
|
265
|
+
--note "Include metrics from Q4 dashboard"
|
|
266
|
+
|
|
267
|
+
# Complete a task
|
|
268
|
+
of task update "Draft quarterly report" --complete
|
|
269
|
+
|
|
270
|
+
# Reschedule a task
|
|
271
|
+
of task update "Team meeting prep" --due "2024-01-22"
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## Requirements
|
|
275
|
+
|
|
276
|
+
- macOS (OmniFocus is Mac-only)
|
|
277
|
+
- OmniFocus installed and running
|
|
278
|
+
- Node.js 18+
|
|
279
|
+
|
|
280
|
+
## How It Works
|
|
281
|
+
|
|
282
|
+
The CLI uses JavaScript for Automation (JXA) to communicate directly with OmniFocus via AppleScript. This provides:
|
|
283
|
+
|
|
284
|
+
- Fast, direct access to your OmniFocus data
|
|
285
|
+
- No need for sync or external services
|
|
286
|
+
- Full access to OmniFocus features
|
|
287
|
+
- Real-time updates
|
|
288
|
+
|
|
289
|
+
## Development
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
# Install dependencies
|
|
293
|
+
npm install
|
|
294
|
+
|
|
295
|
+
# Build TypeScript
|
|
296
|
+
npm run build
|
|
297
|
+
|
|
298
|
+
# Watch mode for development
|
|
299
|
+
npm run dev
|
|
300
|
+
|
|
301
|
+
# Link for local testing
|
|
302
|
+
npm link
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
## Troubleshooting
|
|
306
|
+
|
|
307
|
+
### Permission Issues
|
|
308
|
+
|
|
309
|
+
When you first run a command, macOS will ask for permission to control OmniFocus. Make sure to grant this permission in System Settings > Privacy & Security > Automation.
|
|
310
|
+
|
|
311
|
+
### Task Not Found
|
|
312
|
+
|
|
313
|
+
Use the exact task name or ID. For IDs, you can get them using the `-v` (verbose) flag with list commands.
|
|
314
|
+
|
|
315
|
+
### Date Format
|
|
316
|
+
|
|
317
|
+
Use ISO format for dates: `YYYY-MM-DD` or full ISO strings like `2024-01-15T10:00:00`.
|
|
318
|
+
|
|
319
|
+
## License
|
|
320
|
+
|
|
321
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/commands/inbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,kBAAkB,IAAI,OAAO,CAqC5C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { displayTaskList, pluralize } from '../lib/display.js';
|
|
4
|
+
import { executeOmniFocusCommand } from '../lib/command-utils.js';
|
|
5
|
+
export function createInboxCommand() {
|
|
6
|
+
const command = new Command('inbox');
|
|
7
|
+
command.description('Manage OmniFocus inbox');
|
|
8
|
+
command
|
|
9
|
+
.command('list')
|
|
10
|
+
.alias('ls')
|
|
11
|
+
.description('List inbox tasks')
|
|
12
|
+
.option('-v, --verbose', 'Show detailed information')
|
|
13
|
+
.action(async (options) => {
|
|
14
|
+
await executeOmniFocusCommand('Loading inbox...', (of) => of.listInboxTasks(), (tasks) => displayTaskList(tasks, options.verbose), 'Failed to load inbox');
|
|
15
|
+
});
|
|
16
|
+
command
|
|
17
|
+
.command('count')
|
|
18
|
+
.description('Get inbox count')
|
|
19
|
+
.action(async () => {
|
|
20
|
+
await executeOmniFocusCommand('Counting inbox items...', (of) => of.getInboxCount(), (count) => {
|
|
21
|
+
if (count === 0) {
|
|
22
|
+
console.log(chalk.green('✓ Inbox is empty'));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
console.log(chalk.yellow(`📥 ${pluralize(count, 'item')} in inbox`));
|
|
26
|
+
}
|
|
27
|
+
}, 'Failed to get inbox count');
|
|
28
|
+
});
|
|
29
|
+
return command;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=inbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/commands/inbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAE9C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,uBAAuB,CAC3B,kBAAkB,EAClB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,EAC3B,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,EAClD,sBAAsB,CACvB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,uBAAuB,CAC3B,yBAAyB,EACzB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,EAC1B,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,EACD,2BAA2B,CAC5B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perspective.d.ts","sourceRoot":"","sources":["../../src/commands/perspective.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,wBAAwB,IAAI,OAAO,CA+BlD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { displayTaskList, displayPerspectiveList } from '../lib/display.js';
|
|
3
|
+
import { executeOmniFocusCommand } from '../lib/command-utils.js';
|
|
4
|
+
export function createPerspectiveCommand() {
|
|
5
|
+
const command = new Command('perspective');
|
|
6
|
+
command.description('Manage OmniFocus perspectives');
|
|
7
|
+
command
|
|
8
|
+
.command('list')
|
|
9
|
+
.alias('ls')
|
|
10
|
+
.description('List all perspectives')
|
|
11
|
+
.action(async () => {
|
|
12
|
+
await executeOmniFocusCommand('Loading perspectives...', (of) => of.listPerspectives(), (perspectives) => displayPerspectiveList(perspectives), 'Failed to load perspectives');
|
|
13
|
+
});
|
|
14
|
+
command
|
|
15
|
+
.command('view <name>')
|
|
16
|
+
.description('View tasks in a perspective')
|
|
17
|
+
.option('-v, --verbose', 'Show detailed information')
|
|
18
|
+
.action(async (name, options) => {
|
|
19
|
+
await executeOmniFocusCommand(`Loading perspective "${name}"...`, (of) => of.getPerspectiveTasks(name), (tasks) => displayTaskList(tasks, options.verbose), 'Failed to load perspective');
|
|
20
|
+
});
|
|
21
|
+
return command;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=perspective.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perspective.js","sourceRoot":"","sources":["../../src/commands/perspective.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,UAAU,wBAAwB;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAErD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,uBAAuB,CAC3B,yBAAyB,EACzB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,EAC7B,CAAC,YAAY,EAAE,EAAE,CAAC,sBAAsB,CAAC,YAAY,CAAC,EACtD,6BAA6B,CAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,uBAAuB,CAC3B,wBAAwB,IAAI,MAAM,EAClC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EACpC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,EAClD,4BAA4B,CAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,oBAAoB,IAAI,OAAO,CA+E9C"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { displayProjectList, displayProjectDetails, displayWithSuccessMessage, displaySuccessMessage } from '../lib/display.js';
|
|
3
|
+
import { executeOmniFocusCommand } from '../lib/command-utils.js';
|
|
4
|
+
export function createProjectCommand() {
|
|
5
|
+
const command = new Command('project');
|
|
6
|
+
command.description('Manage OmniFocus projects');
|
|
7
|
+
command
|
|
8
|
+
.command('list')
|
|
9
|
+
.alias('ls')
|
|
10
|
+
.description('List projects')
|
|
11
|
+
.option('-f, --folder <name>', 'Filter by folder')
|
|
12
|
+
.option('-s, --status <status>', 'Filter by status (active, on hold, dropped)')
|
|
13
|
+
.option('-d, --dropped', 'Include dropped projects')
|
|
14
|
+
.option('-v, --verbose', 'Show detailed information')
|
|
15
|
+
.action(async (options) => {
|
|
16
|
+
await executeOmniFocusCommand('Loading projects...', (of) => {
|
|
17
|
+
const filters = {
|
|
18
|
+
includeDropped: options.dropped,
|
|
19
|
+
...(options.folder && { folder: options.folder }),
|
|
20
|
+
...(options.status && { status: options.status }),
|
|
21
|
+
};
|
|
22
|
+
return of.listProjects(filters);
|
|
23
|
+
}, (projects) => displayProjectList(projects, options.verbose), 'Failed to load projects');
|
|
24
|
+
});
|
|
25
|
+
command
|
|
26
|
+
.command('create <name>')
|
|
27
|
+
.description('Create a new project')
|
|
28
|
+
.option('-f, --folder <name>', 'Assign to folder')
|
|
29
|
+
.option('-n, --note <text>', 'Add note')
|
|
30
|
+
.option('-t, --tag <tags...>', 'Add tags')
|
|
31
|
+
.option('-s, --sequential', 'Make it a sequential project')
|
|
32
|
+
.option('--status <status>', 'Set status (active, on hold, dropped)')
|
|
33
|
+
.action(async (name, options) => {
|
|
34
|
+
await executeOmniFocusCommand('Creating project...', (of) => of.createProject({
|
|
35
|
+
name,
|
|
36
|
+
note: options.note,
|
|
37
|
+
folder: options.folder,
|
|
38
|
+
tags: options.tag,
|
|
39
|
+
sequential: options.sequential,
|
|
40
|
+
status: options.status,
|
|
41
|
+
}), (project) => displayWithSuccessMessage('Project created successfully', project, displayProjectDetails), 'Failed to create project');
|
|
42
|
+
});
|
|
43
|
+
command
|
|
44
|
+
.command('delete <idOrName>')
|
|
45
|
+
.alias('rm')
|
|
46
|
+
.description('Delete a project')
|
|
47
|
+
.action(async (idOrName) => {
|
|
48
|
+
await executeOmniFocusCommand('Deleting project...', (of) => of.deleteProject(idOrName), () => displaySuccessMessage('Project deleted successfully'), 'Failed to delete project');
|
|
49
|
+
});
|
|
50
|
+
command
|
|
51
|
+
.command('view <idOrName>')
|
|
52
|
+
.description('View project details')
|
|
53
|
+
.action(async (idOrName) => {
|
|
54
|
+
await executeOmniFocusCommand('Loading project...', (of) => of.getProject(idOrName), (project) => displayProjectDetails(project), 'Failed to load project');
|
|
55
|
+
});
|
|
56
|
+
return command;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,mBAAmB,IAAI,OAAO,CAgB7C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { displayTaskList } from '../lib/display.js';
|
|
3
|
+
import { executeOmniFocusCommand } from '../lib/command-utils.js';
|
|
4
|
+
export function createSearchCommand() {
|
|
5
|
+
const command = new Command('search');
|
|
6
|
+
command.description('Search tasks by name or note');
|
|
7
|
+
command.argument('<query>', 'Search query');
|
|
8
|
+
command.option('-v, --verbose', 'Show detailed information');
|
|
9
|
+
command.action(async (query, options) => {
|
|
10
|
+
await executeOmniFocusCommand('Searching...', (of) => of.searchTasks(query), (tasks) => displayTaskList(tasks, options.verbose), 'Search failed');
|
|
11
|
+
});
|
|
12
|
+
return command;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC5C,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC,CAAC;IAE7D,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,MAAM,uBAAuB,CAC3B,cAAc,EACd,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,EAClD,eAAe,CAChB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,iBAAiB,IAAI,OAAO,CA4H3C"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { displayTaskList, displayTaskDetails, displayWithSuccessMessage, displaySuccessMessage } from '../lib/display.js';
|
|
3
|
+
import { executeOmniFocusCommand } from '../lib/command-utils.js';
|
|
4
|
+
export function createTaskCommand() {
|
|
5
|
+
const command = new Command('task');
|
|
6
|
+
command.description('Manage OmniFocus tasks');
|
|
7
|
+
command
|
|
8
|
+
.command('list')
|
|
9
|
+
.alias('ls')
|
|
10
|
+
.description('List tasks')
|
|
11
|
+
.option('-f, --flagged', 'Show only flagged tasks')
|
|
12
|
+
.option('-p, --project <name>', 'Filter by project')
|
|
13
|
+
.option('-t, --tag <name>', 'Filter by tag')
|
|
14
|
+
.option('-c, --completed', 'Include completed tasks')
|
|
15
|
+
.option('-v, --verbose', 'Show detailed information')
|
|
16
|
+
.action(async (options) => {
|
|
17
|
+
await executeOmniFocusCommand('Loading tasks...', (of) => {
|
|
18
|
+
const filters = {
|
|
19
|
+
includeCompleted: options.completed,
|
|
20
|
+
...(options.flagged && { flagged: true }),
|
|
21
|
+
...(options.project && { project: options.project }),
|
|
22
|
+
...(options.tag && { tag: options.tag }),
|
|
23
|
+
};
|
|
24
|
+
return of.listTasks(filters);
|
|
25
|
+
}, (tasks) => displayTaskList(tasks, options.verbose), 'Failed to load tasks');
|
|
26
|
+
});
|
|
27
|
+
command
|
|
28
|
+
.command('create <name>')
|
|
29
|
+
.description('Create a new task')
|
|
30
|
+
.option('-p, --project <name>', 'Assign to project')
|
|
31
|
+
.option('-n, --note <text>', 'Add note')
|
|
32
|
+
.option('-t, --tag <tags...>', 'Add tags')
|
|
33
|
+
.option('-d, --due <date>', 'Set due date (ISO format)')
|
|
34
|
+
.option('-D, --defer <date>', 'Set defer date (ISO format)')
|
|
35
|
+
.option('-f, --flagged', 'Flag the task')
|
|
36
|
+
.option('-e, --estimate <minutes>', 'Estimated time in minutes', parseInt)
|
|
37
|
+
.action(async (name, options) => {
|
|
38
|
+
await executeOmniFocusCommand('Creating task...', (of) => of.createTask({
|
|
39
|
+
name,
|
|
40
|
+
note: options.note,
|
|
41
|
+
project: options.project,
|
|
42
|
+
tags: options.tag,
|
|
43
|
+
due: options.due,
|
|
44
|
+
defer: options.defer,
|
|
45
|
+
flagged: options.flagged,
|
|
46
|
+
estimatedMinutes: options.estimate,
|
|
47
|
+
}), (task) => displayWithSuccessMessage('Task created successfully', task, displayTaskDetails), 'Failed to create task');
|
|
48
|
+
});
|
|
49
|
+
command
|
|
50
|
+
.command('update <idOrName>')
|
|
51
|
+
.description('Update an existing task')
|
|
52
|
+
.option('-n, --name <name>', 'New name')
|
|
53
|
+
.option('--note <text>', 'New note')
|
|
54
|
+
.option('-p, --project <name>', 'Move to project')
|
|
55
|
+
.option('-t, --tag <tags...>', 'Replace tags')
|
|
56
|
+
.option('-d, --due <date>', 'Set due date (ISO format)')
|
|
57
|
+
.option('-D, --defer <date>', 'Set defer date (ISO format)')
|
|
58
|
+
.option('-f, --flag', 'Flag the task')
|
|
59
|
+
.option('-F, --unflag', 'Unflag the task')
|
|
60
|
+
.option('-c, --complete', 'Mark as completed')
|
|
61
|
+
.option('-C, --incomplete', 'Mark as incomplete')
|
|
62
|
+
.option('-e, --estimate <minutes>', 'Estimated time in minutes', parseInt)
|
|
63
|
+
.action(async (idOrName, options) => {
|
|
64
|
+
await executeOmniFocusCommand('Updating task...', (of) => {
|
|
65
|
+
const updates = {
|
|
66
|
+
...(options.name && { name: options.name }),
|
|
67
|
+
...(options.note !== undefined && { note: options.note }),
|
|
68
|
+
...(options.project && { project: options.project }),
|
|
69
|
+
...(options.tag && { tags: options.tag }),
|
|
70
|
+
...(options.due !== undefined && { due: options.due }),
|
|
71
|
+
...(options.defer !== undefined && { defer: options.defer }),
|
|
72
|
+
...(options.flag && { flagged: true }),
|
|
73
|
+
...(options.unflag && { flagged: false }),
|
|
74
|
+
...(options.complete && { completed: true }),
|
|
75
|
+
...(options.incomplete && { completed: false }),
|
|
76
|
+
...(options.estimate !== undefined && { estimatedMinutes: options.estimate }),
|
|
77
|
+
};
|
|
78
|
+
return of.updateTask(idOrName, updates);
|
|
79
|
+
}, (task) => displayWithSuccessMessage('Task updated successfully', task, displayTaskDetails), 'Failed to update task');
|
|
80
|
+
});
|
|
81
|
+
command
|
|
82
|
+
.command('delete <idOrName>')
|
|
83
|
+
.alias('rm')
|
|
84
|
+
.description('Delete a task')
|
|
85
|
+
.action(async (idOrName) => {
|
|
86
|
+
await executeOmniFocusCommand('Deleting task...', (of) => of.deleteTask(idOrName), () => displaySuccessMessage('Task deleted successfully'), 'Failed to delete task');
|
|
87
|
+
});
|
|
88
|
+
command
|
|
89
|
+
.command('view <idOrName>')
|
|
90
|
+
.description('View task details')
|
|
91
|
+
.action(async (idOrName) => {
|
|
92
|
+
await executeOmniFocusCommand('Loading task...', (of) => of.getTask(idOrName), (task) => displayTaskDetails(task), 'Failed to load task');
|
|
93
|
+
});
|
|
94
|
+
return command;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|