pAiCoder — Software Design & Coding Agent, on macOS
🧰 The powerful spec-first coding assistant
Free 30-day evaluation · Design from anything · Bring your own models — Claude · Grok · GPT · Meta Muse Spark · local Ollama · or an open-source LLM you host yourself
Quick Start — two minutes to your first win (solo mode)
- Install the extension.
- Add an API key —
Cmd+Shift+P → pAiCoder: Setup → paste an Anthropic, xAI, OpenAI, or Meta key. (You can add more later and assign them by role.)
- Open that CHAT panel —
Cmd+Shift+P → pAiCoder: Open Panel (REPL / CHAT). This is your command center: type a command, or just chat with the agent.
- Pick a first win:
| You want to… |
Do this |
| ✍️ Write code faster |
Open a Python file, write a docstring, press Tab to accept the ghost-text implementation. |
| 🧱 Build from an idea |
In that CHAT panel: design a REST API for a todo app with auth → review SPEC.md → implement. |
| 📄 Start a project from a file |
In the VS Code Explorer, right-click a project description file (.txt, .md, .jpg, .png) and choose pAiCoder: Load Design from this File. |
| ☁️ Deploy infrastructure |
right-click your diagram in the Explorer → pAiCoder: Load Design from this File → review → aws-deploy (or azure-deploy, google-deploy, oracle-deploy). |
| 🤖 Serve an open-source LLM |
In that CHAT panel: llm-design → pick VM or Kubernetes → answer a couple of questions → llm-build → llm-deploy. |
| 🔗 Code with your own model |
After deploying (or if you already run one): llm-assign → point pAiCoder's CODER role at your endpoint. |
| 🔧 Design hardware (RTL) |
In that CHAT panel: verilog-design → answer a few questions → review the hardware SPEC.md → verilog-build writes modern SystemVerilog + a testbench for your own sim/synth flow. |
💡 Type help in that CHAT panel to see every command available in your build, and doctor to verify your setup and see which features are enabled.
Why you'll like pAiCoder
- You approve the plan first. Every build starts from a
SPEC.md you can read, edit, and accept — no black-box code dumps.
- Your models, your cost. Mix providers by role — a fast model for completion, a strong one for design, an independent one for audits. Save up to ~70% on tokens versus single-model tools.
- Idea to running system, in one tool. The same assistant designs the app, writes the code, provisions the cloud, and can even stand up an open-source LLM — each step gated by a deterministic audit.
- Close the loop on your own models. Deploy an open-weight LLM to your own cloud, then assign it to a pAiCoder role and build with a model that's fully private and fully yours.
- It reads your diagrams. Hand it an architecture image and it produces the spec and the infrastructure.
- Nothing runs behind your back. Every step is one you can see and approve, and a check runs before any deployment touches the cloud.
✨ Features
Spec-first workflow
description / doc / diagram → SPEC.md → code → deployment
Describe it, sketch it, or drop in a diagram — pAiCoder writes a reviewable spec, you approve it, then it implements. Add features later with plan, build with implement, and keep quality high with audit and security (each offers one-shot fixes).
One idea, twelve stacks 🌐
Describe what you want — pAiCoder picks the language that fits, or you just name it ("an iPhone game in Swift," "a Go CLI," "a Spring Boot API"). It recognizes the stack from your description and tells you what it chose, then scaffolds a modern, production-shaped project — a package-by-feature layout, an adapter layer for external systems, idiomatic tests in that language's own framework, and an explicit DEPLOYMENT.md. Not a toy scaffold you outgrow in a week — a structure built to scale to a real project.
| Language |
Great for |
Tests |
Ship it |
| 🐍 Python |
data & ETL pipelines, ML/AI, backends, automation, glue |
pytest |
wheel / container |
| 🍎 Swift / SwiftUI |
native iOS · iPhone · iPad · macOS apps & games |
swift-testing |
App Store · TestFlight · binary |
| 🟦 TypeScript |
Node.js services, CLIs, tooling |
vitest |
process manager / container |
| 💜 C# / .NET |
Windows & cross-platform services, Web APIs |
xUnit |
dotnet publish |
| ☕ Java / Spring Boot |
JVM services & REST APIs |
JUnit 5 |
bootJar / container |
| 🐹 Go |
services, CLIs, single static binaries |
go test |
cross-compiled binary |
| 🦀 Rust |
systems, performance-critical, memory-safe |
cargo test |
cross-compiled binary |
| ⚙️ C++ |
high-performance & embedded |
GoogleTest |
host binary · flash to device |
| 🟪 Kotlin |
JVM services & Android |
Kotest |
shadowJar / container |
| 🔴 Scala |
JVM, functional, data-heavy |
MUnit |
sbt assembly |
| 🔵 F# / .NET |
functional-first .NET (records, unions) |
Expecto |
dotnet publish |
| ⚛️ React |
browser front-ends (TypeScript + Vite) |
Vitest + jsdom |
static dist/ — any host or CDN |
Building a full-stack app? React and the service behind it are two components — pAiCoder builds
each in the stack that suits it and keeps the type contract between them consistent.
Every project is designed the same spec-first way — you approve the SPEC.md before a line is written — and audited the same way, in whichever language fits the job. Not sure which stack? Just describe the project and let pAiCoder choose; name a language explicitly and it honors your call.
Inline & docstring completion
Ghost-text suggestions as you type in any language, powered by your chosen model. Write a docstring and let pAiCoder fill in the function.
def multiply(a, b):
"""Multiply two numbers and return the result."""
# → press Tab to accept: return a * b
- Tab or Alt+\ to accept a suggestion.
- For the cleanest experience, quiet the built-in dropdown:
"editor.quickSuggestions": { "other": "off" }.
Deploy to any major cloud
Turn a diagram or a description into production-ready infrastructure — then ship it.
AWS · Azure · Google Cloud · Oracle Cloud
- AWS generates a CloudFormation stack + GitHub Actions pipelines; Azure generates Bicep; Google and Oracle generate Terraform.
aws-deploy · azure-deploy · google-deploy · oracle-deploy — each pairs with a -status and a -destroy.
- A broad library of deployment patterns (serverless APIs, containers, event-driven, data pipelines, AI/ML, and more).
- A deterministic audit validates the templates and blocks the deploy until secrets and placeholders are filled — no half-configured launches.
Deploy open-source LLMs 🤖
Stand up your own model-serving endpoint — pAiCoder sizes it, generates the infrastructure, and gates the launch with a deterministic audit.
llm-design → llm-build → llm-deploy
llm-design first asks how you want to deploy — a GPU VM (Terraform) or Kubernetes — then how many concurrent users you expect and your use case (chat, RAG, coding, batch). From that it recommends an open-weight model (e.g. Qwen, Mistral, Llama), the right GPU, and a monthly cost estimate, and writes a reviewable SPEC.md you can tweak.
llm-build generates everything needed to serve it: for VM targets, Terraform plus a startup script that installs the NVIDIA driver and serving engine (vLLM / SGLang / Ollama); for Kubernetes, plain manifests (a GPU Deployment, a LoadBalancer Service, and a Secret) tailored to your provider's GPU classes and node pools — each with ready-to-run deploy/destroy scripts.
llm-deploy runs the audit, confirms the cost, and provisions it; llm-status shows the live endpoint; llm-destroy tears it all down.
Twelve targets, one OpenAI-compatible endpoint:
- GPU VM (Terraform): AWS · Azure · Google Cloud · Oracle Cloud · DigitalOcean · Nebius · Vultr · Scaleway · Lambda Cloud · Crusoe · Hyperstack · CoreWeave
- Managed Kubernetes: AWS EKS · Google GKE · Azure AKS · Oracle OKE · DigitalOcean DOKS · CoreWeave CKS
Pick Kubernetes on any of those six and you get plain manifests for that provider — the right GPU node
selector, the right cluster CLI, the right node-pool commands — not a generic template you have to
translate.
Every deployment exposes an OpenAI-compatible /v1 endpoint you can point any client at — including pAiCoder itself.
Bring your model back into pAiCoder 🔗 (new)
The loop closes: once you've deployed an open-source LLM — or if you already run one — register it and build with it.
llm-assign # register a deployed / external OpenAI-compatible LLM + assign it to a role
llm-providers # list your registered custom providers and the roles they hold
llm-unassign # remove one and revert its role to the default
llm-assign auto-detects an endpoint you just deployed (or lets you enter any OpenAI-compatible URL + model), then assigns it to a role — PLANNER, CODER, AUDITOR, or AUTO_AUDITOR — saving it on your machine. Deploy Qwen or Llama on your own GPU, set it as your CODER, and you're coding with a model that's fully private, fully yours, and free of per-token cost.
Design hardware, too — idea → synthesizable SystemVerilog 🔧 (new)
Not just software. Describe a hardware block and pAiCoder turns it into a reviewable hardware SPEC.md, then into modern, synthesizable SystemVerilog with a self-checking testbench — ready for your own simulation and synthesis flow.
verilog-design → verilog-build
verilog-design runs a short wizard — target device (AMD, Intel, Lattice, or portable), clock + reset scheme, and one of 13 hardware block types:
- Memory — FIFO, RAM, direct-mapped cache, on-chip SRAM controller
- Compute — ALU, SIMD engine, systolic MAC / GEMM tile, DSP datapath
- Control & glue — FSM controller, arbiter, AXI4-Lite / AXI4-Stream / APB / Wishbone SoC peripheral
- Reference blocks — a SHA-256-style hash core and an educational RV32I CPU subset
From your answers it writes a deterministic SPEC.md that pins every module's ports, parameters, clocking, and interface contracts up front — plus a rough resource + timing estimate so you catch an over-budget design before you build it.
verilog-build generates the RTL to that spec: IEEE-1800 SystemVerilog, synthesizable subset — always_ff / always_comb, logic-typed, `default_nettype none, no inferred latches, clean reset / CDC discipline — plus a self-checking testbench, a README, and an exact, device-aware DEPLOYMENT.md with the precise lint / simulate / synthesize commands for your part. A fast, read-only static audit flags anti-patterns before you ever open a tool.
You verify — on your toolchain, your way. pAiCoder writes clean, review-ready RTL and hands you the exact commands; it never runs a simulator or synthesizer itself, so nothing surprising happens to your environment. Lint with Verilator or Verible, simulate with Verilator / Icarus, synthesize with Vivado, Quartus, or Yosys + nextpnr — the generated DEPLOYMENT.md spells out each command for your device.
Honestly scoped. Each block is bounded to what a generator can produce correctly. The two reference blocks say so up front, right at the top of their spec: the hash core is a learning implementation to check against the standard test vectors (not production crypto, not side-channel hardened), and the RISC-V core is an educational RV32I subset (not a conformant CPU — no CSRs, traps, or pipeline). No block oversells what it is.
verilog-design writes the spec, then offers to build ([y/N]) — nothing is generated until you say so.
Your choice, your cost
Most AI coding tools lock you into one model. pAiCoder lets you assign a model to each ROLE — in
pAiCoder: Setup — Configure API Keys & Roles:
- PLANNER — deep reasoning: design, spec, orchestration
- CODER — implementation and inline completion
- AUDITOR — an independent second opinion on audits
- AUTO_AUDITOR — a hallucination guard
Recommended: PLANNER = Anthropic (claude-opus-5-5) and CODER = OpenAI (gpt-5.6-luna) — planning
quality matters most, and this pairing has been the most reliable and cost-effective in practice. Meta (muse-spark) is a
strong alternative and reads architecture diagrams. Want fully local and free? Point a role at
Ollama, or at your own deployed open-source LLM (llm-assign).
More in that CHAT panel
A full coding-agent Project Chat, parallel implementation across a whole spec, code and security audits with one-shot fixes, safe refactors, and resource checks — all from pAiCoder: Open Panel. Type help to explore, doctor to check your setup.
🧭 Command reference
Type these in the CHAT panel. help lists everything available in your build; doctor shows which features are enabled.
Build from an idea
design <description> or load-design <filename> — generate a SPEC.md · implement — build it · feature — add a sub-feature
audit · security · refactor — quality passes with one-shot fixes
Deploy app infrastructure — AWS · Azure · Google · Oracle
aws-deploy · azure-deploy · google-deploy · oracle-deploy
- each pairs with
…-status and …-destroy
Serve open-source LLMs
llm-design → llm-build → llm-deploy — size, generate, and launch a serving endpoint
- twelve clouds as a GPU VM, six of them as managed Kubernetes (EKS · GKE · AKS · OKE · DOKS · CKS)
llm-status · llm-destroy — inspect or tear down a deployment
Use your own models
llm-assign · llm-providers · llm-unassign — register a self-hosted / external LLM and assign it to a role
Design hardware (SystemVerilog)
verilog-design → verilog-build — idea → reviewable hardware SPEC.md → modern synthesizable SystemVerilog + a self-checking testbench, with device-aware lint/sim/synth commands you run yourself
Evaluation License
pAiCoder is free to use for 30 days from first download. See LICENSE for details.
Links