Skip to content

feat(fran-mora/plandex): add Plandex AI coding agent module#876

Open
fran-mora wants to merge 1 commit intocoder:mainfrom
fran-mora:feat/add-plandex-module
Open

feat(fran-mora/plandex): add Plandex AI coding agent module#876
fran-mora wants to merge 1 commit intocoder:mainfrom
fran-mora:feat/add-plandex-module

Conversation

@fran-mora
Copy link
Copy Markdown

Summary

Adds the fran-mora namespace and a v1 plandex module that installs and configures the Plandex CLI in a Coder workspace. Plandex is an open-source CLI AI coding agent (Go, ~12k stars); this module fills a gap alongside the existing claude-code, aider, codex, opencode, goose, copilot, and cursor-cli modules.

Module shape mirrors claude-code:

  • Wraps Plandex's official installer (https://plandex.ai/install.sh); supports pinned versions via the upstream PLANDEX_VERSION env var.
  • Sets API-key env vars for OpenAI / Anthropic / Google / OpenRouter (each marked sensitive). Each coder_env resource is gated on the corresponding key being non-empty.
  • Optional plandex_api_host for self-hosted Plandex servers.
  • Optional workdir; auto-creates it if missing.
  • Uses coder-utils for script orchestration per AGENTS.md guidance, with module data under \$HOME/.coder-modules/fran-mora/plandex/ per the standard data layout.
  • Exposes the scripts output for downstream coder_script ordering via coder exp sync.

v1 ships CLI install only. Full agentapi web-UI integration is deferred until upstream coder/agentapi adds a plandex type; the README documents BYO-launcher via coder_app in the meantime.

The placeholder icon at .icons/plandex.svg and the namespace avatar are intentionally simple — happy to swap for an official asset if you have a preferred source.

Test plan

  • terraform validate (from module dir) — pass
  • terraform test -verbose — 11/11 pass (defaults, workdir trim, version pinning, install toggle, individual + multiple provider keys creating expected coder_env resources, self-hosted host, custom scripts, custom icon)
  • bun run fmt — clean (no diff produced)
  • go build ./cmd/readmevalidation && ./readmevalidation — pass (24 contributor profiles, 79 modules, 33 templates all valid)
  • git diff --stat reviewed — only the 7 new files; no stray edits to existing code

Description of AI Usage

I used Claude Code to scaffold this module against the existing claude-code template, adapt it for Plandex's installer shape, write the test cases, and verify locally. All review comments are mine to address.

Adds the fran-mora namespace and a v1 module that installs and
configures the Plandex CLI in a Coder workspace. Plandex
(https://plandex.ai) is an open-source CLI AI coding agent; this
module fills a gap alongside the existing claude-code, aider, codex,
opencode, goose, copilot, and cursor-cli modules.

Module shape mirrors claude-code:

- Wraps Plandex's official installer; supports pinned versions via
  the upstream PLANDEX_VERSION env var.
- Sets API-key env vars for OpenAI, Anthropic, Google, and OpenRouter
  (each marked sensitive). Each coder_env resource is gated on the
  corresponding key being non-empty.
- Optional plandex_api_host for self-hosted Plandex servers.
- Optional workdir; auto-creates it if missing.
- Uses coder-utils for script orchestration per AGENTS.md guidance,
  with module data under \$HOME/.coder-modules/fran-mora/plandex/ per
  the standard data layout.
- Exposes the scripts output for downstream coder_script ordering via
  coder exp sync.

v1 ships CLI install only. Full agentapi web-UI integration is
deferred until upstream coder/agentapi adds a plandex type; the
README documents BYO-launcher via coder_app in the meantime.

Local validation:
- terraform validate: pass
- terraform test: 11/11 pass
- bun run fmt: clean
- ./readmevalidation: pass (24 contributors, 79 modules, 33 templates)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant