{
  "id": "cc-connect",
  "name": "cc-connect",
  "homepage": "https://github.com/chenhg5/cc-connect",
  "description": "A bridge from local AI coding agents to messaging platforms",
  "executables": [
    "cc-connect"
  ],
  "dotfiles": {
    "paths": [
      "~/.cc-connect/config.toml"
    ],
    "secret": [],
    "secret_paths": [
      {
        "file": "~/.cc-connect/config.toml",
        "format": "toml",
        "match": {
          "key_path": [
            "providers.*.api_key",
            "openai.api_key",
            "qwen.api_key",
            "minimax.api_key",
            "mimo.api_key",
            "bridge.token",
            "management.token",
            "projects.*.platforms.*.options.token",
            "projects.*.platforms.*.options.app_secret"
          ]
        }
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "cc-connect",
    "description": "Send a message, attachment or synthesized voice message to an active cc-connect session. Starting the service, update and doctor are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "send"
        ],
        "label": "Send to a session",
        "source": [
          {
            "id": "help",
            "kind": "help",
            "url": "https://github.com/chenhg5/cc-connect/blob/main/cmd/cc-connect/send.go",
            "revision": "main 2026-10",
            "evidence": "Usage: cc-connect send [options] <message>\n  -m, --message <text>     Message to send (preferred over positional args)\n      --cwd <path>         Start a new session in this working directory\n      --tts <text>         Synthesize text and send it as a voice/audio message\n      --image <path>       Send an image attachment (repeatable)\n      --file <path>        Send a file attachment (repeatable)\n      --audio <path>       Send an audio attachment (repeatable)\n      --video <path>       Send a video attachment (repeatable)\n      --stdin              Read message from stdin (best for long/special-char messages)\n  -p, --project <name>     Target project (optional if only one project)\n  -s, --session <key>      Target session key (optional, picks first active)\n"
          }
        ],
        "field": [
          {
            "id": "message",
            "label": "Message",
            "type": "string",
            "option": [
              "--message",
              "-m"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "project",
            "label": "Project",
            "description": "Optional if only one project is configured.",
            "type": "string",
            "option": [
              "--project",
              "-p"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "session",
            "label": "Session key",
            "description": "Optional; the first active session is used.",
            "type": "string",
            "option": [
              "--session",
              "-s"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "image",
            "label": "Images",
            "type": "path",
            "option": [
              "--image"
            ],
            "multiple": true,
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "help"
            ]
          },
          {
            "id": "file",
            "label": "Files",
            "type": "path",
            "option": [
              "--file"
            ],
            "multiple": true,
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "help"
            ]
          },
          {
            "id": "tts",
            "label": "Voice message text",
            "type": "string",
            "option": [
              "--tts"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "cwd",
            "label": "Working directory for a new session",
            "type": "path",
            "option": [
              "--cwd"
            ],
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "sources": [
              "help"
            ]
          }
        ],
        "task": [
          {
            "id": "text",
            "label": "Send a text message",
            "fields": [
              "message",
              "project"
            ],
            "required": [
              "message"
            ]
          },
          {
            "id": "attach",
            "label": "Send a file or image",
            "fields": [
              "file",
              "image",
              "message",
              "project"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "message",
              "image",
              "file",
              "tts"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "project",
              "session",
              "cwd"
            ]
          }
        ]
      }
    ]
  }
}
