agent-first-mail 0.2.1

Let your AI agent work your inbox — email pulled into plain files it reads, sorts, and drafts on your machine, with nothing sent until you confirm.
Documentation
{
  "$schema": "https://cmn.dev/schemas/v1/spore-core.json",
  "id": "agent-first-mail",
  "name": "Agent-First Mail",
  "version": "0.2.1",
  "domain": "agentfirstkit.com",
  "key": "ed25519.BwbSzqdDYyMN1pPW5snRk3afrJAovHn8aueMvDpfNKVw",
  "synopsis": "Let your AI agent work your inbox — email pulled into plain files it reads, sorts, and drafts on your machine, with nothing sent until you confirm.",
  "intent": [
    "Give AI agents a local-first email workspace where pulled messages become editable case files rather than a traditional inbox app",
    "Preserve raw RFC822 mail while exposing mechanically cleaned text, message metadata, active cases, archived cases, direct-message archive categories, drafts, notes, and files through stable filesystem conventions",
    "Keep the CLI focused on side effects such as read-only pull with case suggestions, explicit triage assignment, case moves, archive and restore operations, attachment fetches, reply draft scaffolding, draft validation, local push queuing, explicit push operations including read/unread flag work, audit log inspection, and local push queue cleanup"
  ],
  "license": "MIT",
  "mutations": [
    "Add hermes as a supported skill agent target, installing to $HERMES_HOME/skills or ~/.hermes/skills",
    "Rename --scope project to --scope workspace throughout CLI, docs, and templates",
    "Fix afmail init to install the Codex workspace skill to .codex/skills/ instead of the old .agents/skills/, and update the managed .gitignore to match",
    "Bump afdata dependency from 0.13.2 to 0.14.0"
  ],
  "bonds": [
    {
      "relation": "depends_on",
      "uri": "cmn://agentfirstkit.com/b3.DwAdYSSk7MqFHGdUkJKdFA9EwVCgKDf2CZaThwNcgkdE",
      "id": "agent-first-data",
      "reason": "All structured output, field suffixes, secret handling, and JSONL events follow Agent-First Data conventions"
    }
  ],
  "tree": {
    "algorithm": "blob_tree_blake3_nfc",
    "exclude_names": [
      ".git",
      ".cmn"
    ],
    "follow_rules": [
      ".gitignore"
    ]
  }
}