Skip to content

Question: would you accept a PenguinHarness adapter contribution? #123

Description

@shrekcg

Hi maintainers — first of all, thanks for HarnessKit; managing 12 agents from one dashboard is great.

I'd like to use HarnessKit to manage PenguinHarness on my machine (it's a local agent harness that keeps multiple agent states under one data root). Right now it isn't among the supported agents, so I'm planning to add a penguin adapter, and wanted to ask before writing it whether that contribution would be welcome.

What PenguinHarness looks like on disk

<penguin-data-root>/
  agents/
    <agent_id>/
      agent_state/
        AGENTS.md
        skills/<skill-name>/SKILL.md
        memory/*.md
        schedule/ ...
        ...

Key points:

  • One data root, multiple "agent states" (one per agent id) — structurally similar to how the dsh adapter handles multiple profiles under one home, so that pattern can be reused.
  • Each agent state has its own AGENTS.md, skills/ (standard SKILL.md layout), memory/, etc.
  • The harness itself is not a "big-name" CLI like Claude/Codex — same situation as dsh was before it got an adapter.

Proposed scope for a first contribution

  • New adapter crates/hk-core/src/adapter/penguin.rs implementing AgentAdapter:
    • detect() checks the data root exists (also respect an env override, like DSH_HOME);
    • skill_dirs() enumerates agents/*/agent_state/skills;
    • config files: AGENTS.md / memory files tracked like other agents' global config files.
  • MCP / plugin / hooks declared unsupported initially (Penguin's formats differ; can be added later, mirroring how some existing adapters started minimal).
  • Follow CONTRIBUTING.md: build + tests green, update the capability matrix and AGENT_ORDER.

Questions

  1. Would you be open to a penguin adapter contribution (or would you rather keep the supported list at the current 12)?
  2. Any requirements for a new agent adapter beyond what CONTRIBUTING.md already asks for (docs, screenshots, verification against a real install, etc.)?

Happy to do the work — just want to confirm it's welcome before spending time on it. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions