https://github.com/cdzombak/wdproc
Add files synced from WriterDeck to Day One or Things
https://github.com/cdzombak/wdproc
macos writerdeck
Last synced: about 1 month ago
JSON representation
Add files synced from WriterDeck to Day One or Things
- Host: GitHub
- URL: https://github.com/cdzombak/wdproc
- Owner: cdzombak
- License: mit
- Created: 2025-09-08T12:55:53.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-11-03T01:10:21.000Z (7 months ago)
- Last Synced: 2025-12-06T11:10:09.609Z (6 months ago)
- Topics: macos, writerdeck
- Language: Go
- Homepage:
- Size: 31.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WriterDeck Processor (wdproc)
Monitors folders synced from a [WriterDeck](https://writerdeckos.com) and automatically converts new files into entries in Day One or tasks in Things.
I use [Syncthing](https://syncthing.net) to sync files from WriterDeck to my Mac.
## Installation
### macOS via Homebrew
```shell
brew install cdzombak/oss/wdproc
```
### Manual installation from build artifacts
Pre-built binaries for macOS on various architectures are downloadable from each [GitHub Release](https://github.com/cdzombak/wdproc/releases).
### Build and install locally
```shell
git clone https://github.com/cdzombak/wdproc.git
cd wdproc
make build
cp out/wdproc $INSTALL_DIR
```
## Configuration
Configuration is provided via a YAML file. See [`config.example.yaml`](config.example.yaml).
```yaml
version: 1
paths:
journal: "~/WriterDeck/Journal"
tasks: "~/WriterDeck/Tasks"
processing:
journal_min_age: "4h"
tasks_min_age: "1h"
integrations:
day_one:
enabled: true
journal: "Default"
tags: ["via:WriterDeck"]
things:
enabled: true
tags: ["via:WriterDeck"]
```
## Usage
```shell
wdproc [OPTIONS]
Options:
--config PATH Path to configuration file (default: ./config.yaml)
--version Show version information
--verbose Enable verbose logging
--dry-run Preview actions without executing (default: true)
```
### Basic Usage
1. Configure the tool by editing `config.yaml`
2. Run with `--dry-run=false` to actually process files
3. Files will be processed based on their age and moved to Trash after successful integration
### Prerequisites
- **Day One CLI**: Install via `/usr/local/bin/dayone2` (required for Day One integration)
- **Things 3**: Must be installed for Things integration to work
- **WriterDeck**: Set up your folder structure in `~/WriterDeck/`
## Automation with launchd
For automatic processing, you can use the included launchd plist file `com.dzombak.writerdeckproc.plist` to run wdproc periodically.
**Note**: You will need to adjust the paths in the plist file to include your own username and configuration file location.
```shell
# After making edits, copy the plist to LaunchAgents directory
cp com.dzombak.writerdeckproc.plist ~/Library/LaunchAgents/
# Load the agent (runs every 5 minutes)
launchctl load ~/Library/LaunchAgents/com.dzombak.writerdeckproc.plist
# Start the agent immediately
launchctl start com.dzombak.writerdeckproc
# Check status
launchctl list | grep writerdeckproc
```
## License
MIT License; see [`LICENSE`](LICENSE) in this repo.
## Author
Chris Dzombak ([dzombak.com](https://www.dzombak.com) / [github.com/cdzombak](https://www.github.com/cdzombak)).