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
6
templates — from REST API to worker
28
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

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

AI where it counts

Spec from a description, business logic from an LLM. The skeleton comes from deterministic templates, not model mood.

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.

Templates

Six 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.

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 28 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 — an HTTP server with a web interface: project dashboard, spec editor, plan viewer, generation and deploy. With Postgres — auth, teams and roles.

Web UI

Dashboard, spec editor, plan viewer, generation and deploy — 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.

Roadmap

Where we’re going

Now
  • Full lifecycle: spec → code → build → CI → deploy
  • Web UI: FS and Postgres modes
  • 6 templates · 28 modules · 5 deploy targets
Next
  • Template plugins & marketplace
  • More deploy targets
  • More AI providers
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.

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: 6 templates, 28 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.