Skip to main content

Sync email threads from IMAP to Markdown, draft replies, manage collaborators

Project description

Corky

Alpha software. Expect breaking changes between minor versions. See VERSIONS.md for migration notes.

Full documentation: https://btakita.github.io/corky

Sync email threads from IMAP to Markdown. Draft replies with AI assistance. Share scoped threads with collaborators via git.

Corky syncs threads from any IMAP provider (Gmail, Protonmail Bridge, self-hosted) into mail/conversations/ — one file per thread, regardless of source. A thread that arrives via both Gmail and Protonmail merges into one file. Labels, accounts, and contacts are metadata, not directory structure.

Install

pip install corky        # or: pipx install corky

Or via shell installer:

curl -sSf https://raw.githubusercontent.com/btakita/corky/main/install.sh | sh

Or from source: cargo install --path .

Quick start

corky init --user you@gmail.com
# Edit mail/.corky.toml with credentials
corky sync

See the getting started guide for full setup instructions.

Key features

  • Flat conversations — one Markdown file per thread, all sources merged
  • Sandboxed sharing — label-based routing gives collaborators only the threads you choose
  • AI-native — files, CLI, and git work the same for humans and agents
  • Multi-account — Gmail, Protonmail Bridge, generic IMAP, all in one directory
  • Social posting — draft and publish to LinkedIn (and future platforms) via OAuth
  • Scheduling — schedule email and social drafts for timed publishing
  • Topics — organize conversations with shared topic context across mailboxes
  • Watch daemon — poll IMAP and run scheduled publishing with corky watch

Usage

corky sync                      # Incremental IMAP sync
corky unanswered                # Threads awaiting a reply
corky draft push FILE           # Save as email draft
corky mailbox add NAME --label LABEL  # Share threads
corky contact sync              # Sync contact CLAUDE.md between root and mailboxes
corky social draft linkedin      # Create social media draft
corky social publish FILE       # Publish to LinkedIn
corky schedule run              # Publish due scheduled items
corky topics list               # Show configured topics
corky watch                     # Poll, sync, and publish scheduled
corky --help                    # All commands

Telegram import

Import Telegram Desktop JSON exports into corky conversations:

corky sync telegram-import ~/Downloads/telegram-export/result.json
corky sync telegram-import ~/Downloads/telegram-export/           # directory of exports
corky sync telegram-import result.json --label personal --account tg-personal

Export from Telegram Desktop: Settings > Advanced > Export Telegram data > JSON format.

Slack import

Import Slack workspace export ZIPs:

corky slack import ~/Downloads/my-workspace-export.zip
corky slack import export.zip --label work --account slack-work

Export from Slack: Workspace admin > Settings > Import/Export Data > Export.

See the command reference for details.

Development

cp .corky.toml.example mail/.corky.toml
make check    # clippy + test
make release  # build + symlink to .bin/corky

See building and conventions.

AI agent instructions

Project instructions live in AGENTS.md (symlinked as CLAUDE.md). Personal overrides go in CLAUDE.local.md / AGENTS.local.md (gitignored).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

corky-0.11.4.tar.gz (223.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

corky-0.11.4-py3-none-manylinux_2_39_x86_64.whl (6.7 MB view details)

Uploaded Python 3manylinux: glibc 2.39+ x86-64

File details

Details for the file corky-0.11.4.tar.gz.

File metadata

  • Download URL: corky-0.11.4.tar.gz
  • Upload date:
  • Size: 223.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.12.4

File hashes

Hashes for corky-0.11.4.tar.gz
Algorithm Hash digest
SHA256 7f4d4a9d068fb0fe612f26f325ff5f24f271797cec8f9fe8ebd32ac6aee6ab41
MD5 aadcdf51e8edee24db5876690d2d3618
BLAKE2b-256 05d2af73e55d9019ccdac131b33a7e7b972d7acbbc8ca9222ba523616f550171

See more details on using hashes here.

File details

Details for the file corky-0.11.4-py3-none-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for corky-0.11.4-py3-none-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 3f7e8f34b3edb98dadc85f1b37ad5f2ac5ec31f2d13bacd7f975ad5f5801ba21
MD5 098a2a05dfc6d60f182ede6e430db851
BLAKE2b-256 f40c62a125952743669c43c36a415e2e7c90b267fc6d641ed98c66140ae03191

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page