› /system:new taskboard.yaml
✓gitops repo · taskboard-api · system PR› /component:spec "tasks with due dates"
✓8 questions answered · spec 001 approved› /component:ship 001
plan → red tests → code → review✓merged on green CI · running in dev
From a new repo to Kubernetes, declared once.
An agentic SDLC platform. Claude Code agents, slash commands and templates that scaffold your services, render every Kubernetes manifest from one file, and promote releases through reviewed pull requests, with secure defaults you do not have to remember.
One system, recorded as it happened, in two parts. Part 1 goes from an empty folder to a new endpoint in dev: /system:new creates the repos, /component:spec asks its questions, and /component:ship plans, writes failing tests, builds, merges on green CI and deploys. Part 2 adds a Postgres database and a web UI with one system spec shipped across three repos. Click a chapter to jump.
≈ 85 minof work for both parts, every wait cut
8 + 10questions Claude asked before writing the two specs
3 reposAPI, web UI and gitops, changed by one system spec
1 resourcePostgres, declared once in system.yaml; tasks survive a restart
Every service needs CI, a hardened Dockerfile, Kubernetes manifests, secrets, observability, policy and a promotion path. Small teams rebuild it per repo, and LLM agents that improvise it make it inconsistent faster. Read the problem statement.
The approach
Opinionated templates and a tested CLI do the deterministic work; Claude Code agents orchestrate it and ask before anything outward-facing. The GitOps repo owns every manifest, rendered from one declarative file. Read the vision.
The value
One slash command creates a repo that already builds, scans and publishes images. Adding Postgres, secrets or observability is one declaration. Promotion is a pull request you can review. See the client value.
A platform team for a small team: agents build the feature, the platform runs it, and you decide only what matters.
The tools we compared do one half. Spec-driven frameworks and coding agents stop at the code or the pull request; developer platforms and DevOps agents do not build features. sdlc-foundry is both, and that shows in ten things none of them does, ranked by value:
An approved spec ends as a feature running in dev, unattended.Plan, failing tests, code, review, PR, merge on green CI, GitOps deploy and smoke tests; your one decision is the spec.
Acceptance tests are written first and locked.Agents cannot weaken them to get a green build; only you can approve a change.
Every criterion traces to production.From the issue through tests, review and PR to the version running in each environment.
Every step that can be code is tested code.Gates, merges, pins and promotions are a CLI with more than 7,500 tests; agents only judge.
Running systems file their own issues.Red smoke tests, firing alerts, platform failures and a weekly retro end as deduplicated issues.
Prod runs the exact image staging tested.Promotion compares image digests and is a reviewed pull request with its evidence.
One spec ships across several repos.A validated, dependency-ordered plan with the contract between them.
Every generated repo stays current.One command updates every repo built from the templates, one reviewed PR each.
Runs have a budget and stop on repeated failure.Time, agent calls, CI reruns and money per run, and the cost of every feature.
Autonomy is declared per environment, in git.How far an engine may fix a running system, its limits, an undo and a pause; it never promotes forward.
A system is made of components (services, websites, libraries), the APIs between them and the resources they use. Each part runs once per environment as an instance, and promoting moves a version one cell to the right. Every command is named after the noun it acts on: /system:new, /component:add, /resource:add, /instance:promote.
You decide at three points: route an issue, approve its spec, promote to prod. /component:ship runs everything in the green band, and every run, failure and alert comes back as an issue for the next round.
Everything runs from Claude Code. If you want an overview, /platform:ui opens a local console in your browser. The Inbox shows the few decisions that need you, the Board every change by stage, and System where each part runs at which version. Each decision shows what it changes, the exact command, and the way back; the console stores nothing and every change ends in a pull request. Help, the process and every command are built in: press ? or g.
# abbreviated: /component:add fills in port, probes, user and resources from the component type's defaults
system: shop
owner: team-shop
components:
shop-api:
type: service
lang: java
repo: acme/shop-api
uses: [postgres]
secrets:
- name: shop-api-auth
generate: [JWT_KEY]
instances: {dev: {}, staging: {}}
shop-web:
type: website
lang: typescript
repo: acme/shop-web
env: { API_URL: "http://shop-api" }
expose: true
resources:
postgres: {type: database}
From that file the platform renders, per environment: Deployments with numeric non-root users and read-only filesystems, Services, Gateway API routes, an ExternalSecret that creates the JWT key in the cluster, a CloudNativePG database whose connection string reaches shop-api as DATABASE_URL, an OpenTelemetry collector, and Kyverno policies that check all of it. ArgoCD syncs the result. Nothing is applied by hand, and no secret value touches git.
/component:new creates Python, Java, Go and Next.js services, libraries and the GitOps repo from tested templates, with CI, Dockerfile, devbox recipes and agent instructions. Shapes
Agent pipeline
/component:spec, /component:plan and /component:build go from an approved spec to failing acceptance tests, code that passes them, a check against every criterion and a pull request, with the right agents for each shape. Agents model
GitOps that is generated
/component:add edits one system.yaml; render.py writes every manifest. /instance:promote pins verified image tags per environment. Concepts
Secrets without git
External Secrets Operator creates and reads secrets in the cluster; generated passwords never leave it. Secrets
Resources and observability
Postgres via CloudNativePG; OpenTelemetry collector with optional Grafana dev stack. Resources
Guard rails
Kyverno policies for the platform’s own conventions, checked before merge; pinned Actions, scanned images and SBOMs. Guard rails
−28 %always-on prompt tokens after tightening agent descriptions
≈ 1m40sfrom no cluster at all to a local one with ArgoCD and every app healthy
The numbers come from the platform’s own test application and are listed with their method on the baselines page. Limits are stated plainly on the client value page.