Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 7 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,12 @@ jobs:
steps:
- uses: actions/checkout@v6

- uses: actions/setup-node@v6
- uses: oven-sh/setup-bun@v2
with:
node-version: '24'
cache: 'npm'
bun-version: latest

- run: npm ci
- run: npm run typecheck
- run: npm run lint
- run: npm test
- run: npm run build
- run: bun install
- run: bun run typecheck
- run: bun run lint
- run: bun test
- run: bun run build
24 changes: 14 additions & 10 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,14 @@ jobs:
steps:
- uses: actions/checkout@v6

- uses: actions/setup-node@v6
- uses: oven-sh/setup-bun@v2
with:
node-version: '24'
cache: 'npm'
bun-version: latest

- run: npm ci
- run: npm run typecheck
- run: npm run lint
- run: npm test
- run: bun install
- run: bun run typecheck
- run: bun run lint
- run: bun test

publish:
needs: test
Expand All @@ -30,17 +29,22 @@ jobs:
steps:
- uses: actions/checkout@v6

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'npm'
registry-url: 'https://registry.npmjs.org'

- run: npm ci
- run: npm run build
- run: bun install
- run: bun run build

- name: Publish to npm
run: npm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
Expand Down
10 changes: 5 additions & 5 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ A CLI tool for OmniFocus on macOS that uses JavaScript for Automation (JXA) to i

### Development Workflow
```bash
npm install # Install dependencies
npm run build # Build TypeScript to dist/
npm run dev # Watch mode for development
npm link # Link binary for local testing (creates `of` command)
bun install # Install dependencies
bun run build # Build TypeScript to dist/
bun run dev # Watch mode for development
bun link # Link binary for local testing (creates `of` command)
```

### Testing the CLI
After `npm link`, use `of` command globally:
After `bun link`, use `of` command globally:
```bash
of task list # List tasks
of project list # List projects
Expand Down
25 changes: 14 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![npm version](https://img.shields.io/npm/v/@stephendolan/omnifocus-cli.svg)](https://www.npmjs.com/package/@stephendolan/omnifocus-cli)
[![npm downloads](https://img.shields.io/npm/dm/@stephendolan/omnifocus-cli.svg)](https://www.npmjs.com/package/@stephendolan/omnifocus-cli)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Node.js Version](https://img.shields.io/node/v/@stephendolan/omnifocus-cli.svg)](https://nodejs.org)
[![Bun](https://img.shields.io/badge/Bun-%3E%3D1.0-black)](https://bun.sh)
[![Platform](https://img.shields.io/badge/platform-macOS-lightgrey.svg)](https://www.apple.com/macos/)

A powerful command-line interface for OmniFocus on macOS, inspired by the GitHub CLI (`gh`).
Expand All @@ -20,21 +20,24 @@ A powerful command-line interface for OmniFocus on macOS, inspired by the GitHub

## Installation

Requires [Bun](https://bun.sh) runtime.

```bash
# Install globally
npm install -g @stephendolan/omnifocus-cli
# Install globally with bun (recommended)
bun install -g @stephendolan/omnifocus-cli

# Or run directly without installing
npx @stephendolan/omnifocus-cli task list
bunx @stephendolan/omnifocus-cli task list
npx @stephendolan/omnifocus-cli task list # also works
```

### From Source

```bash
git clone https://github.com/stephendolan/omnifocus-cli.git
cd omnifocus-cli
npm install
npm run link # Build and link globally
bun install
bun run link # Build and link globally
```

Now you can use the `of` command anywhere in your terminal.
Expand Down Expand Up @@ -450,7 +453,7 @@ of tag delete "Obsolete Tag"

- macOS (OmniFocus is Mac-only)
- OmniFocus installed and running
- Node.js 18+
- [Bun](https://bun.sh) 1.0+

## How It Works

Expand All @@ -460,16 +463,16 @@ The CLI uses JavaScript for Automation (JXA) to communicate directly with OmniFo

```bash
# Install dependencies
npm install
bun install

# Build TypeScript
npm run build
bun run build

# Watch mode for development
npm run dev
bun run dev

# Link for local testing
npm link
bun link
```

## Troubleshooting
Expand Down
Loading