Skip to content

Evolve to opencode-pilot: MCP automation for OpenCode #54

Description

@athal7

Overview

Rename and evolve opencode-ntfy into opencode-pilot — a comprehensive automation layer for OpenCode.

Status

Rename complete (Jan 4, 2026)

  • Repo renamed to opencode-pilot
  • Version reset to v0.1.0
  • Homebrew formula updated
  • All local configs updated

🔄 Polling migration still TODO

Why the Change?

After domain analysis with the ocdc project, we identified that:

  1. Automation and containers are separate domains
  2. Not all sessions need containers — e.g., Apple Reminders → local OpenCode session
  3. opencode-ntfy already has notifications, mobile UI, remote control — the session management pieces
  4. ocdc has polling, source fetching, self-iteration — the automation pieces

The logical split:

  • opencode-pilot: Automation (polling + sessions + notifications)
  • opencode-devcontainers: Container isolation only

What opencode-pilot Will Be

┌─────────────────────────────────────────────────────────────┐
│                    opencode-pilot                            │
│              (OpenCode automation layer)                     │
│                                                              │
│  Sources → Evaluation → Actions → Sessions → Notifications   │
│  (MCP)     (readiness)  (local/   (OpenCode)  (webhook)     │
│                          container)                          │
└─────────────────────────────────────────────────────────────┘

Features to Keep (from opencode-ntfy)

  • Webhook notifications (ntfy, Home Assistant, Slack)
  • Mobile UI
  • Permission handling
  • Callback server / remote control
  • Session proxy

Features to Add (from ocdc)

  • Polling loop (lib/ocdc-poll)
  • Source fetching via MCP (lib/ocdc-mcp-fetch.js)
  • Repo configuration (repos.yaml)
  • Self-iteration / readiness evaluation (lib/ocdc-self-iteration.bash)
  • WIP limits

Features to Build New

  • Pluggable action system:
    • type: local — Start OpenCode directly
    • type: container — Call opencode-devcontainers
  • Workflow configuration format
  • CLI: opencode-pilot start/stop/status/workflows

Migration Steps

  1. Create feature branch for pilot evolution
  2. Copy polling code from ocdc
  3. Adapt polling to use action system
  4. Add local session support
  5. Add container session support (calls opencode-devcontainers)
  6. Update configuration schema
  7. Rename package/repo to opencode-pilot
  8. Reset version to v0.1.0

Blocked By

Related

Configuration Preview

# ~/.config/opencode-pilot/workflows/my-repo.yaml
source:
  type: github_issue
  repo: myorg/myrepo
  filter:
    assignee: "@me"
    labels: ["ai-ready"]

action:
  type: container  # or "local"

readiness:
  labels:
    exclude: [blocked, needs-design]
  priority:
    labels:
      - { label: critical, weight: 100 }

wip_limits:
  max_concurrent: 3
# ~/.config/opencode-pilot/workflows/personal-todos.yaml
source:
  type: apple_reminders
  list: "Coding Tasks"

action:
  type: local  # No container, just opencode

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions