Skip to content

Support CodeBuddy CLI #3

Description

@Beckers26

Problem

agent-adaptor currently has built-in bindings for Codex, Claude, and Cursor, but it does not expose a first-class CodeBuddy CLI binding. Hosts that want to run CodeBuddy through the SDK need the same Run / Start semantics, session behavior, output contract, and optional injection points already provided by the existing adapters.

Scope

Add support for CodeBuddy CLI as a localized adapter/binding without changing the core SDK execution model.

The implementation should:

  • Add a public codebuddy.New(cfg, opts...) binding constructor and codebuddy.NewAdapter() low-level adapter constructor.
  • Define a CodeBuddy-specific config type that keeps provider details isolated from core SDK APIs.
  • Research and document the supported CodeBuddy CLI command shape, authentication/profile expectations, structured output mode, and resume/session behavior before implementation.
  • Parse CodeBuddy's official CLI/protocol output in the adapter, not in shared helpers.
  • Preserve the existing output contract: Output, RawStreams, Transcript, Summary, and provider-specific terminal Result must remain separated.
  • Preserve the single execution flow: SDK defaults/overrides resolution, session coordination, adapter execution, checkpoint persistence, and result archival.
  • Add adapter conformance coverage comparable to the existing built-in adapters.
  • Update user-facing documentation and examples so hosts can bind CodeBuddy as the default agent or a named agent.

Acceptance Criteria

  • codebuddy.New(...) can be used with agentadaptor.WithDefaultAgent(...).
  • sdk.Run(...) and sdk.Start(...).Wait(...) return equivalent structured results for CodeBuddy runs.
  • Session behavior is explicit and tested for stateless, start-new, continue, and failure cases supported by the CLI.
  • Raw stdout/stderr are preserved without being mixed into assistant-facing Output.
  • Transcript entries are produced by CodeBuddy adapter protocol parsing rather than generic JSON guessing.
  • Environment/profile/model/admin capabilities are either implemented or explicitly reported as unsupported through existing SDK contracts.
  • Documentation includes dependency selection notes if any new runtime dependency is introduced.

Notes

codebuddy is not currently available on the local PATH in the development environment used to create this issue, so the first implementation step should verify the current official CLI behavior and avoid hardcoding assumptions from stale examples.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions