Skip to content

Enhancement: Add OpenCode CLI support (Invoke-OpenCodeTask) #9

@eigenverft

Description

@eigenverft

User Story

As a user, I want to use the OpenCode CLI through this module, so that I can:

  • Run OpenCode tasks from PowerShell scripts
  • Use named sessions with OpenCode
  • Have a consistent experience across all agent CLIs

Acceptance Criteria

Core Command

  • Invoke-OpenCodeTask cmdlet added
  • Supports -Prompt (mandatory, string)
  • Supports -Directory / -Path
  • Supports -SessionName / -Session
  • Supports -AllowDangerous (default: $true)
  • Supports -Json (default: $true)
  • Supports -Model
  • Supports -AddDir

Session Management

  • Get-OpenCodeSession - List or get sessions
  • Remove-OpenCodeSession - Remove a session
  • Clear-OpenCodeSessions - Clear all sessions
  • Session store: %LOCALAPPDATA%\Eigenverft.Manifested.Agent\sessions\named-opencode-sessions.json

Module Exports

  • Add functions to FunctionsToExport in .psd1
  • Add file to FileList in .psd1

Documentation

  • Add to README.md Quick Start section
  • Add to README.md Command Reference
  • Add behavior notes for OpenCode

Example Usage

# One-shot task
Invoke-OpenCodeTask -Prompt "summarize this repository"

# Named session
Invoke-OpenCodeTask -Prompt "read the repo" -SessionName "opencode1"
Invoke-OpenCodeTask -Prompt "continue" -SessionName "opencode1"

# List sessions
Get-OpenCodeSession

Implementation Notes

  • Follow existing pattern from Invoke-QwenTask / Invoke-GeminiTask
  • OpenCode CLI likely uses similar headless/JSON output模式
  • Check OpenCode CLI documentation for:
    • Command name (opencode?)
    • JSON output flag
    • Session/resume flags
    • Approval/sandbox flags

Tasks

  • Research OpenCode CLI arguments and output formats
  • Create Eigenverft.Manifested.Agent.InvokeOpenCodeTask.ps1
  • Add session management functions
  • Update module manifest
  • Update README.md
  • Test basic functionality

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions