# ofutils

> A collection of utility scripts for OmniFocus

Latest version **0.0.1-alpha.10** (published 2019-09-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install ofutils
pnpm add ofutils
yarn add ofutils
bun add ofutils
```

Provides the command `ofutils`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.1-alpha.10 |
| Published | 2019-09-05 |
| First published | 2019-08-21 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 15.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 7 |
| Author | Jacopo Scazzosi |
| Maintainers | jacoscaz |

## Links

- npm: https://www.npmjs.com/package/ofutils
- Repository: https://github.com/jacoscaz/node-ofutils
- Issues: https://github.com/jacoscaz/node-ofutils/issues
- npm.io page: https://npm.io/package/ofutils

## Dependencies (2)

- [commander](https://npm.io/package/commander.md) ^3.0.0
- [tty-table](https://npm.io/package/tty-table.md) ^2.7.4

## Recent versions

- 0.0.1-alpha.10 (latest) — 2019-09-05
- 0.0.1-alpha.9 — 2019-08-23
- 0.0.1-alpha.8 — 2019-08-21
- 0.0.1-alpha.7 — 2019-08-21

## README

# ofutils

A collection of utility scripts for the OmniFocus task manager.

This project was born mainly out the author's frustration with the lack of time
tracking in OmniFocus and some curiosity towards the relatively new support for
JavaScript as an alternative to AppleScript in Mac OS automation (JXA).

## Status

Pre-alpha.

## Installation

```sh
npm i -g ofutils@alpha
ofutils --help
```

## Reports

```shell
ofutils report --help
Usage: ofutils-report [options]

Options:
  -t, --type <type>          report type (default: "time-spent")
  -g, --group-by <criteria>  grouping criteria (default: "date,project,task")
  -s, --sort <directions>    sorting directions (default: "desc,asc,asc")
  -f, --from <date>          from date (default: "2019-08-01")
  -t, --to <date>            to date (default: "2019-08-21")
  -h, --help                 output usage information
```

The report command is the entry point for all the reporting features. Reports
are rendered to a terminal GUI.

Supported grouping criteria: `date`, `project`, `task`, `worklog`.

![terminal-based report GUI](https://raw.githubusercontent.com/jacoscaz/node-ofutils/master/screenshots/example-report.png "Gotta love terminal GUIs")

### Time spent

```sh
ofutils report -t time-spent
```

The _time spent_ report looks for tasks with notes indicating how much time has
been spent on them and computes the total worked hours per date. Each log entry 
must be entered in the "note" section of its task as a separate line formatted 
as follows:

```sh
time-spent 2019-08-20 1h description 1
time-spent 2019-08-19 1h description 2
```

## Resources

- https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/index.html
- https://developer.apple.com/library/archive/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/Articles/Introduction.html#//apple_ref/doc/uid/TP40014508
- https://github.com/nickrobinson/omnifocus
- https://github.com/jsit/omnifocus-3-applescript-guide
- https://discourse.omnigroup.com/t/example-of-applescript-to-get-tasks-from-specific-project/2707/2

---
_Source: https://npm.io/package/ofutils · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
