Phoenix is a Elixir workable choice for cli tool. GreatCTO auto-detects both — adds the cli-tool archetype overlay, wires cli-tool-specific gates, and runs 83 specialist agents around your existing Phoenix workflow.
GreatCTO reads your mix.exs and detects phoenix + cli-tool archetype from signals: imports, file structure, env vars, README hints.
Attaches the cli-tool archetype overlay: archetype-specific reviewer + compliance gates. Override if your specifics differ; the defaults are sensible for Phoenix-style projects.
qa-engineer runs mix test --cover / credo --strict; security-officer audits Ecto query injection + Phoenix CSRF; performance-engineer profiles BEAM scheduler + Ecto pool.
Bugs you've hit before in other Phoenix projects (connection-pool exhaustion, ORM N+1 queries, retry storms) — the agent's Step 0 includes the prior detection order. MTTR drops 94 % on second occurrence (methodology).
$ cd my-phoenix-app && npx great-cto init ✓ scanning manifests… found manifest ✓ stack: phoenix (Elixir) ✓ archetype: cli-tool ⚠ archetype + stack combo is unusual — review overlay manually ✓ 83 agents ready $ /start "add cli-tool feature" ▸ architect drafting ARCH-cli-tool.md… ▸ pm decomposing into beads tasks… ⚐ gate:plan — your approval needed
Approve → 3 senior-devs run in parallel worktrees → 5 reviewers fan out in parallel → gate:ship → deploy. One real run walked stage-by-stage: /proof.
This is the shape of what senior-dev drafts for "cli-tool feature" — auth first, schema validation, and the audit line the cli-tool reviewer requires before gate:ship opens.
# lib/app_web/controllers/cli_tool_controller.ex — reviewed by 5 agents
defmodule AppWeb.CliToolController do
use AppWeb, :controller
plug :require_authenticated_user # security-officer: auth before handler
def create(conn, params) do
with {:ok, attrs} <- validate(params), # qa-engineer: changeset enforced
{:ok, result} <- CliTool.handle(attrs, conn.assigns.current_user) do
AuditLog.record(conn.assigns.current_user.id, "cli-tool feature", result.confidence) # gate:cli-tool
json(conn, result)
end
end
end
cli-tool overlay.Developer CLIs with shell-injection-safe argv handling.
CI/CD utilities with --json output and clean exit codes.
Internal ops tooling with secret redaction in verbose logs.
Phoenix (Elixir) is not a typical fit for cli tool. The archetype overlay still attaches, but you may want to override defaults more aggressively. Check the cli-tool archetype page for the typical stack list and decide if your case is the right tool / right archetype.
No black-box "AI does it all" loop. GreatCTO is a deterministic state machine — 8 stages, 22 nodes, 2 human gates. Every node maps to a real agent on GitHub. Inspect the state machine →
$ npx great-cto init
Free, MIT, runs locally. Built as a Claude Code plugin — install with one command.
Eight stages, two human gates, four memory layers. Why this exact shape, and what I tried that didn't work.
One run, one feature, from prompt to merged PR. Time, cost, and gate-by-gate breakdown — no marketing math.
Regex vs LLM-based archetype detection, the false-positive count, and why I keep rejecting the obvious fix.
The bottleneck in agentic SDLC isn't model quality — it's process governance. Here's the state machine that closes the gap.