Open source · MIT

Go projects —
from idea to production.

pcr is a full-lifecycle tool for Go projects: spec, deterministic architecture plan, code from templates and modules, build, CI/CD and deploy — all in one CLI. AI helps where it counts. Everything else is deterministic and under your control.

pcr
20
CLI commands — from spec to deploy
8
templates — from REST API to worker
34
modules — DB, queues, auth, observability
5
deploy targets — from compose to Terraform
How it works

Full lifecycle — four steps

01

Spec

pcr new: a TUI wizard, spec from a description via AI — or a ready example from examples/

02

Plan

pcr plan: deterministic architecture — Plan = f(Spec, Template, Modules). Inspectable, diffable.

03

Code

pcr generate: code from templates and modules; AI fills in business logic. --dry and --diff before writing.

04

Deploy

pcr deploy: compose, registry, SSH/VPS, Kubernetes, Terraform. Plus pcr build and pcr ci.

Features

Everything a project needs — in one tool

Deterministic plans

Same spec → same plan → same code. No randomness in generation.

Composable modules

34 modules: logging, config, Postgres, Redis, NATS, JWT, OTel, Prometheus — mix them for your project.

14 AI providers

OpenAI, Anthropic, Groq, Gemini, DeepSeek, Azure — plus 6 local: Ollama, LM Studio, vLLM. Local runs without an API key.

Autonomous agent

pcr ai agent fixes build errors on its own: build → errors → fix → verify. A ReAct loop with 7 tools.

MCP server

pcr mcp: 15 tools for AI clients. Claude, Cursor and others drive spec, plan, generation and deploy.

Your files, protected

pcr lock protects your code from regeneration. --dry and --diff show what will change.

Deploy anywhere

docker-compose, registry, SSH/VPS (systemd), Kubernetes (Helm), Terraform (AWS ECS Fargate).

Team mode

Web UI, RBAC, audit log, webhooks — pcr serve with Postgres. Your CLI connects to the team server: --server + API token.

Templates

Eight templates — one generator

web-api

REST API: chi, echo, gin — CRUD, validation, docs.

grpc-service

gRPC with buf + protovalidate, interceptors, reflection.

cli-tool

Cobra: subcommands, flags, auto-completion.

library

Go package with API, examples and tests — ready to publish.

monorepo

Multi-module workspace: go.work, shared dependencies.

worker

Background service: queue, retries, cron.

gateway

API gateway: reverse proxy, rate limiting, auth.

plugin

Base for pcr plugins: your own templates and modules, shareable via the registry.

Examples

What you can get

web-api → k8s

Orders API

REST for orders: Postgres, JWT, CRUD. Spec from a description, deployed to Kubernetes via Helm.

description → prod
worker + nats

Invoicing worker

Background worker: NATS queue, retries, Prometheus metrics, OTel traces.

6 of 34 modules
cli

Release CLI

Cobra: versioning, checksums, release publishing. From pcr new to binary and Docker image.

bin + docker
Determinism

No magic — there is a plan.

Plan = f(Spec, Template, Modules) — a pure function. Every generation is reproducible: same inputs, same code. Anything you don’t want touched — you lock.

  • pcr plan show / diff — architecture visible before code
  • pcr generate --dry / --diff — preview before writing to disk
  • pcr lock — your files excluded from regeneration
  • AI fills in business logic only; the skeleton comes from templates
internal/alerts/sender.go
@@ -8,4 +8,10 @@
-func (s *Sender) send(a Alert) {
- log.Println(a)
-}
+func (s *Sender) send(a Alert) error {
+ if s.closed {
+ return ErrClosed
+ }
+ s.ch <- a
+ return nil
+}
✓ approved by human
For teams

Web UI: pcr serve

pcr serve — a web interface: project dashboard, spec editor with validation, plan in Markdown, diff preview for generation, live deploy logs and AI chat. With Postgres — auth, teams and roles.

Web UI

Dashboard, spec editor with validation, plan in Markdown, diff preview, live logs, AI chat, dark mode — in the browser.

RBAC

admin / member / viewer roles, enforced in middleware.

Audit log

Every create, update, generate and deploy is recorded.

Webhooks & API

Slack and Discord notifications, API tokens for your CI.

Remote CLI

pcr --server <url> — team projects straight from your terminal, via an API token.

Self-hosted

pcr serve runs on your infrastructure: projects and data stay inside your perimeter.

Roadmap

Where we’re going

Now
  • • Full lifecycle: spec → code → build → CI → deploy
  • • 8 templates · 34 modules · 5 deploy targets
  • • Plugin system & template marketplace
  • • 14 AI providers: 8 cloud + 6 local
  • • AI: chat, agent, test & doc generation
  • • MCP server: pcr driven by your AI clients
  • • Web UI: diff preview, live logs, AI chat, dark mode
Next
  • • More deploy targets
  • • Native tool-calling in the agent
  • • Plugin security: checksums & GPG
Later
  • • Community templates
  • • Other languages & stacks
FAQ

Frequently asked questions

Does this replace developers? +

No. pcr handles the skeleton, configuration, CI/CD and deploy. You write the business logic — the AI drafts it for you to review.

How is the code generated? +

From templates and modules — deterministically. AI fills in business logic. The same spec always produces the same result.

How solid is the tool itself? +

Go 1.25, 25 test packages, integration tests against real Postgres (testcontainers). Generation is deterministic — the diff is always predictable.

Do I need an API key for AI? +

No: 6 local providers — Ollama, LM Studio, LocalAI, vLLM, GPT4All, llama.cpp — are auto-detected. Keys are only needed for cloud providers.

Can AI assistants drive pcr? +

Yes: pcr mcp runs an MCP server with 15 tools — Claude, Cursor and other clients drive spec, plan, generation and deploy.

What if I edit a generated file by hand? +

pcr lock <path> excludes a file from regeneration; pcr unlock returns it to the pipeline.

Which stacks are supported? +

Go: 8 templates, 34 modules, 5 deploy targets. Other stacks are on the roadmap.

How do I try it? +

brew install aElenvarenko/tap/pcr — or Scoop, go install, Docker. Ready spec.yaml files live in examples/.

How much does it cost? +

Open source, MIT. The team Web UI with RBAC is self-hosted on your infrastructure.

Try pcr

One command — and your Go project is in the pipeline: from spec to production.

$ brew install aElenvarenko/tap/pcr

Ready spec.yaml files in examples/. See the README for details.