Let anyone build production-grade software with AI agents — from an idea to operating software.
Sparkwright turns a repository — new or existing — into a project that ships real software through a guided, agent-driven lifecycle. You bring the idea and the decisions; the kit brings the process, the guardrails, and a working pipeline to build on.
In 60 seconds
Opinionated about how you build. Neutral about what you build with.
It is opinionated about how to build well with agents, and deliberately neutral on three axes — any stack, any harness, any model. Your stack, environment, deploy target, coding agent, and even which AI model powers each role are chosen as you engage the kit, never picked for you.
It is not a platform you buy, not a runtime you depend on, and not a service that holds your code or credentials. You copy it into your own repository, choose your stack, and its checks run on every push in your own CI. There is no lock-in — it sits alongside the tools you already use.
Agent-native & enforcement-native
Executable, CI-verified checks an agent or a human runs the same way — not portal templates or PDF norms. The guardrails run, on every push.
Honesty as a feature
It tells you exactly how strong each guarantee is, and labels every control accordingly. Candor as the differentiator.Complements, doesn’t replace
No UI, no catalog, no token broker. It layers assurance onto whatever platform you already run, sitting beside your CI and IDP rather than instead of them.
Who it’s for. Any team — humans, agents, or both — that wants production-grade discipline without inventing a process from scratch, whether they’re starting a new project or bringing the kit to an existing codebase. Adopt it as-is, or hand it to a team and tailor it.
Why now
Agents amplify whatever discipline they’re dropped into.
You know this part already. AI is in the workflow; the open question is whether it is in there safely. Every figure below carries its source — these are industry findings about the problem, not Sparkwright’s results.
Google’s DORA 2025 report names the tension exactly: AI finally lifted delivery throughput, and delivery instability rose anyway — leaving AI tools “likely to remain isolated boosts in an otherwise unchanged system” without deliberate change to workflows, roles, governance and culture. Which is the case for Sparkwright in a sentence: agents move fast inside enforced boundaries, so the speed is real and the instability isn’t.
Sources: DORA, State of AI-assisted Software Development 2025 (Google, Sept 2025, ~5,000 respondents) · Veracode 2025 GenAI Code Security Report (Jul 2025, 100+ models) · CodeScene, “Code for Machines, Not Just Humans” (peer-reviewed, 2026).
How it works
One loop, from idea to operating software.
A project is stood up once through Inception. After that every item runs the same loop — pulled, not pushed, with no timebox. Humans are the pacing metronome.
- Inception · once
- Discover
- Plan
- Build
- Review
- Release
- Done
- Operate
- Discover
- Intake, validation, triage. Production signals land here too.
- Plan
- Slice into vertical increments, write testable criteria, threat-model anything sensitive.
- Build
- Test-first, in an isolated worktree, against the spec.
- Review
- Did we build it right? Code, security and quality lenses, by a seat that didn't write it.
- Release
- Deploy behind flags, staged rollout, smoke test, rollback ready.
- Done
- Acceptance — did we build the right thing? — then the retro.
- Operate
- Monitor, triage, resolve. What you learn feeds Discover.
Humans hold three gates. The spec, before anything is built. The merge, as a recorded go/no-go. And acceptance, which asks whether it was the right thing at all — a different question from review, failed differently, so it stays a separate gate. Agents run at machine speed in between, and a gate is also an autonomy boundary: it is exactly how far an agent proceeds alone.
And the loop closes. Release is not the end — Operate feeds what production teaches back into Discover. Retrospectives nest at four levels, from a note on one increment up to a periodic review that edits the governing documents themselves. Every one has to exit into an artifact: a PR, a backlog item, a doc. A learning that lands nowhere does not count.
What it changes about how you work
Agent effort is cheap. Human attention is not.
That single shift decides which of your rituals still earn their place. Ceremonies that forecast human effort stop making sense. Practices that clarify intent or catch defects get more valuable, because agents can run them far more often than a team of people ever could.
What goes away
Story points & planning poker
Forecasts scarce human effort. Replaced by slice-size discipline and a risk tag.
Time-boxed sprint planning
Replaced by continuous refinement and pull-based WIP.
Daily standup, as a meeting
The board is the status. Replaced by an on-demand digest.
Burndown & velocity charts
Replaced by flow and DORA metrics.
What gets stronger
Definition of Ready
An enumerated entry gate. Nothing enters Build without testable criteria, an INVEST slice, known dependencies, and a success metric.
Acceptance, separate from review
Review asks whether you built it right. Acceptance asks whether you built the right thing. They fail differently, so they stay distinct.
Adversarial, multi-lens review
A spec reviewed in parallel by product, architecture, test, and security lenses. Nearly free agentically — so use it.
Spikes
Time-boxed research before committing a plan, used heavily when choosing a stack.
And you still get numbers — better ones. Velocity is replaced by the DORA four, mapped so they stay portable: cycle time, release cadence, change-failure rate, and time to resolve. Two more have no DORA equivalent and are the ones that actually bite in agentic delivery — review latency, because human review is now the real constraint, and retro-action closure, because a learning loop that never closes is theatre.
The bar, enforced
If it isn’t automated, it isn’t enforced.
Work enters through a Definition of Ready and leaves through a Definition of Done — both enumerated gates, not aspirations. Between them, every pull request clears the same seven checks.
Definition of Readyentry
Testable acceptance criteria, an INVEST-sliced increment, known dependencies, and a success metric. Anything sensitive, regulated, user-facing or AI-shaped raises its flag here — so no downstream gate is ever a surprise.
Definition of Doneexit
Tests and coverage, green CI, docs and RUNBOOK current, independent review, accessibility, deployed and smoke-tested with a rollback path ready. The project must be resumable cold by another engineer — or another agent.
Seven required gates, on every pull request — lint, type-check, test and coverage, build, secret-scan across your full commit history, dependency scan, and supply-chain integrity (an SBOM, plus signed build provenance). They are declared by gate ID, so the contract is the gate, never the vendor: the same seven run on GitHub Actions or GitLab CI.
And the rest arrive when they are earned. Five further CI gates are first-class but conditional — accessibility, load and soak, evals, SAST, and license policy — binding only when their trigger appears and marked not-applicable with a reason when it doesn’t. The same logic runs across the lifecycle, so the kit reads your change and decides what it owes:
- Touch a path containing pii, phi, cardholder, or anything under migrations/ a threat model is required
- Touch a user-facing UI surface an accessibility sign-off
- Touch a Dockerfile container supply-chain scanning
- Touch a database or durable store a proven DR drill, with RTO and RPO
- Touch an AI feature evals that gate like tests
- Touch a deployable service resilience, observability and rollback checks
Nobody has to remember. And a11y is never forced onto a batch job that has no UI — false universality is how a bar loses its authority.
Guardrails & governance
Built in, not bolted on — the reason to adopt the kit.
A guard that holds on any harness — a CLI, a git pre-push hook, and a CI gate, verified to block destructive and control-plane actions whichever agent you run. Where your harness supports it, the same rules also intercept in-editor, before a bad write ever lands.
- Every gate can explain itself — ask it why it exists and it tells you, from the CLI:
sparkwright explain <topic>. A guardrail nobody can justify becomes bureaucracy. Separation of duties, enforced — the merge is bound to the commit that was actually reviewed (
shipped == approved), and branch protection carries it to the merge button: the last hand on the code is never the hand that approves it.Autonomy tiers (L1/L2/L3) — how much an agent may do without sign-off, from suggest-only to act-then-report, keyed on risk × reversibility — reversibility being the master variable. Irreversible work (deploying, deleting data, rotating secrets, spending money) stays human-gated at every tier, and a team raises a tier only when its own metrics earn it.
Ratification — an agent never silently changes the standards, process, or control-plane files that govern it.
The team you get
Four seats, and a governor on the whole run.
A small standing team does the building between the gates — four seats, each with a job another seat cannot quietly absorb, and as many engineers running at once as the work splits into.
Orchestrator
Lead / EM
Slices an epic into disjoint, independently testable increments, composes the team for the job, fans the engineers out, then integrates what comes back. It assigns the work — it never reviews or ratifies its own output.
Engineers
Build, in parallel
One per slice, each test-first in its own isolated worktree, none able to touch another slice's files. Each returns a diff and a self-verify report.
Reviewer
Independent
Correctness and standards review of the diff, by a seat that did not write it. This is where builder ≠ reviewer stops being a policy and becomes structure.
Security
The security lens
Threat model, injection, authorization, secret handling, prompt injection — brought in on any trust, data, or AI boundary.
One team, more than one model. Seats bind to abstract tiers, not model names, so the orchestrator composes a build team rather than picking a single model for everything — judgment and review seats on your strongest model, engineers on whatever the slice actually warrants, sometimes a mix within the same run. High-stakes work is floored back to the top regardless. You own the tier-to-model map, so this is a config change when the model landscape moves, not a rewrite.
Parallel, because nothing escapes the rails. Engineers fan out into isolated worktrees so two slices cannot collide, and integration is a serial merge queue rather than a free-for-all. The whole run is metered by a kill-switch with token, step and agent ceilings — and raising one is itself a ratified act, so an agent cannot vote itself more rope. The guardrails are precisely what let you floor it.
Fits your environment
Any stack. Any agent. Any model.
The contract does not know what language you are in. Ten worked stack references ship so you are not starting from a blank file — every one is yours to rewrite, and new-profile.sh generates one for a stack that isn’t here. The only thing that has to pass is conformance.
| Shipped reference | Wired into CI for you |
|---|---|
| TypeScript / Node | tsc · ESLint · Vitest · npm audit |
| Python | ruff · mypy · pytest · uv · pip-audit |
| Go | golangci-lint · gosec · govulncheck |
| Rust | cargo · clippy |
| Java / Spring | Maven · SpotBugs · Semgrep |
| Kotlin | Gradle · detekt |
| .NET | dotnet · Trivy · Syft |
| ML | ruff · mypy · pytest · uv |
| Data engineering | ruff · mypy · pytest · uv |
| Terraform | tflint · Checkov |
Cutting across all of them, whatever the language: gitleaks, CycloneDX SBOMs, and signed build provenance. Every reference is held to the same Definition of Done — there is no tiering here, and no second-class stack.
Your agent, and your model. Any harness that reads AGENTS.md works, with curated adapters shipped and new-adapter.sh for the rest — each certified to the level it has actually reached, measured or declared, rather than claimed at blanket parity. Models bind by abstract tier rather than by name, so judgment seats run on your best model and builders run cheaper; changing provider is a mapping change, not a migration.
And it won’t let you choose out of habit. Every one of these decisions is recorded, and a check reads the rationale. “It’s the proven default” and “everyone uses it” are rejected — the record has to name a real fit reason. Familiarity is the most expensive architecture decision a team makes, and the one nobody writes down.
Foundations
The engineering substance, already wired.
None of this is the interesting part of an agentic SDLC. All of it is the part teams skip, and the part an auditor asks for. It ships standard.
- Test-driven by default
- Tests written with the code, never after — 80% floor, 100% on critical paths.
- The whole test pyramid
- Unit, property-based, integration, API contract, end-to-end, smoke, load and stress, and security tests against every auth and data boundary — each with a defined point in the lifecycle where it starts being owed.
- Evals as tests for AI
- Model and prompt quality, regression, and red-team sets — written alongside the feature, run in CI, and gating exactly like tests.
- 15-factor architecture
- Config, backing services, disposability, telemetry — checked for anything deployable.
- Ephemeral environments
- A throwaway environment per pull request, so reviewers exercise the change running rather than reading a diff. Synthetic data only, never production credentials.
- Proportional promotion
- Ceremony scales with risk. A change's class is derived at promotion, never self-asserted, and defaults higher when uncertain.
- Drift guards
- What the docs promise cannot quietly diverge from what the pipeline enforces.
- Observability & SLOs
- Declared SLOs, wired telemetry, alerts on breach, a tracked error budget.
- Disaster recovery, proven
- Tiered RTO and RPO, and a restore drill that actually ran.
- Progressive delivery
- Feature flags, staged rollout, smoke tests, and a rollback path verified before you need it.
- Incident response
- Severity ladder, on-call ownership, postmortems that exit into tracked work.
- Supply-chain integrity
- Full-history secret scanning, dependency scanning, an SBOM per build, signed provenance on releases.
- AI governance
- An AI system card per feature — risk classified, human oversight named — plus prompt-injection defense and schema-validated output.
- Methodology as skills
- Planning, design, TDD, review, verification, evals and operating ship as executable skills an agent invokes — not prose it might ignore.
How the kit is built
Contract → Reference → Conformance.
Every capability ships as a three-part vertical — the architectural idea that makes Sparkwright opinionated and neutral at once.
01Contract
The binding, stack-neutral requirement, stated in the standards and process docs. This is what must hold.
02Reference
A working artifact you copy and adapt — a profile, a script, a template. You own it, and you may rewrite it freely.
03Conformance
An executable script that proves the implementation still satisfies the contract, rather than asserting it in prose.
The kit dictates the contract and offers the implementation: rewrite the reference however you like, as long as conformance still passes. That is why nothing here is a catalogue — and why the kit can be built with the very loop it prescribes.
It tests its own tests. Every check in the kit’s control set is mutation-tested — a green that cannot be made to go red is caught and fixed. Most tooling never proves its own gates are capable of failing, and that is the difference between a gate and a decoration. And its headline claims are a registry — every row carrying an executable verifier, pinned so a claim cannot quietly disappear.
Get notified on releases
An occasional email when a new Sparkwright release ships.
Honesty as a feature
Every control labelled: enforced, advisory, or declared.
Most tools let you assume a green check means more than it does. This one tells you exactly how strong each guarantee is — and draws the safety story as a layered defense rather than a disclaimer.
Defense in layers. The inline guard catches honest mistakes — it intercepts destructive actions before they land. The real boundary is the git and CI chokepoints, which hold on any harness: nothing merges unsafely, and what shipped is proven equal to what was approved (shipped == approved). Containment — egress allowlist, sandboxed filesystem, scoped tokens — is the platform’s job, and the kit verifies it is wired.
Green ≠ verified. A passing check proves only what it actually tests, never more. So every capability carries its label, and you always know what blocks and what merely nudges.
Hardened, and red-teamed in the open. The guard has closed real bypass classes — symlink- and hardlink-alias routes, branch-protection overrides — under adversarial review, and it enforces a deny-by-default MCP capability gate in-process (real enforcement, by tool name). The kit publishes its own threat model — its real posture, not a template — naming the guard’s deny set and the residual risks it has not closed. One check was built and then withdrawn, on the grounds that shipping a check whose claims were demonstrably false is worse than shipping none. The claims on this page are checkable in the repository — run them.
For engineering leaders & compliance
A portable, executable assurance layer you own and run in your own CI.
Relative assurance against irreversible damage
A committed agent guard, branch protection with separation of duties, and destructive-action denials — reused across runtimes via a git pre-push hook and a kit-guard CLI. Risk reduction, stated as such, not a guarantee.
Audit-ready evidence
Controls map to SOC 2, ISO 27001:2022, and NIST SSDF, with a per-control evidence list, a ratification RBAC model, and a tested guard.
No lock-in
Vendor-neutral, stack-neutral, model-neutral, POSIX-clean. It sits alongside your internal developer platform and CI, not instead of them. GitHub Actions throughout, plus a verified GitLab pipeline for TypeScript/Node.
Runs on your toolchain
Drives Jira, GitHub Issues & Projects, Azure DevOps, Linear, GitLab, or a file in the repo. On Jira it goes furthest — a server-side condition makes double-claiming a work item impossible.
A staged rollout
A Stage 1–4 maturity model tightens conformance as you scale. Solo and lite tracks are first-class; non-negotiables (secret-scan, branch-protection) always hold.
Compliance crosswalk — framework by framework
Each row is honestly labelled Kit-enforced / Kit-assisted / Org-owned, and a drift-guard holds the assurance tiers in place so the labels can’t quietly shift.
| Framework | What the kit assures | Org-owned |
|---|---|---|
| SOC 2 Security + Privacy | CI quality gates, secret-scan, SBOM + provenance, branch protection, agent guard, audit-logging primitives (CC6–CC9, CC1) | Personnel/HR, physical security, vendor risk, the platform safety boundary, the privacy program |
| ISO 27001:2022 Annex A | Secure development life cycle, change management, supply-chain integrity, access control in CI, logging (A.8.25/.28/.32, A.5.21) | Screening, physical controls, supplier relationships, network egress/segregation |
| NIST SSDF SP 800-218 + SLSA | Secure-build practices mapped per control; SLSA Build L2 provenance on artifacts from the reference pipeline | Broader SSDF program adoption; SLSA L3 (hermetic build) if required |
A parallel AI-governance crosswalk maps to NIST AI RMF, ISO 42001, US state law, and OWASP, with templates for AI system cards, AI policy, transparency sign-off, and artifact lineage.
What you actually do with it
A new repo, or the one you already have.
Sparkwright is the execution engine that takes you from a Ready backlog to operating, monitored software, with the guardrails built in.
Create your project from the kit
One script turns a throwaway clone into a clean, CI-ready project of your own — with every stack profile still on the table, so your stack stays a decision, not a default.
Let it guide you through Inception (Phase 0)
Open it in your AI tool and say
“Walk me through START-HERE.”A charter, your stack decision recorded as an ADR, CI stood up — and a green pipeline before any feature work, so you build on working software, not an empty repo.Enter the loop
Every backlog item runs the loop, and your team holds the three gates.
# A throwaway clone — used only to create your project
git clone --depth 1 https://github.com/SeaBrad72/sparkwright /tmp/sparkwright
# Your new project
sh /tmp/sparkwright/scripts/adopter-export.sh ./my-app
cd my-app
# then open it in your AI coding tool and say:
# "Walk me through START-HERE."An existing codebase won’t pass on day one — and doesn’t have to. Brownfield adoption merges the kit into the repo you already have and lets a failing gate run on a time-boxed waiver: tracked, owned, ratified, and capped at 90 days. Never a silently disabled check. Secret-scan and branch protection can never be waived at all.
And every function has a door. Product, design, QA, DevOps, security and engineering each start at their own row, with their own artifact — but routing by role changes which document you open, never which gate applies. Non-builders get the rigor carried, not waived.
Maturity
Built and hardened with its own loop.
Maturity is tracked as a stage, separate from the version. Sparkwright is at release-candidate — hardened, red-teamed, and dogfooded, and ready to adopt.
- pre-adoption
- release-candidate · now
- adopted
The discipline is proven, not asserted: the kit is built with its own loop, holding itself to the same Definition of Done and mutation-tested gates it gives you — on every change, run end-to-end to build and deploy real software. Where it cannot hold itself to a standard, it says so. On its own repository agent ≠ ratifier is enforced. Two-person human review is not — the kit is maintained solo, and that gap is declared rather than hidden.
What its own review layer caught. Run end to end, the kit’s builder ≠ reviewer layer found real, high-severity fail-open bugs an agent had shipped as passing tests: a production path that failed open, and a gate that was green only because it had been skipped. Both are the exact failure this page argues against — a green that never could have gone red — caught by the process on itself.
The next stage — adopted — is earned when an external team ships real software through the loop; the kit is being put in front of its first teams now.
Get started
Bring the idea. The kit brings the guardrails.
Create a project from the kit, let it walk you through Inception, and enter the loop. Engineers start at START-HERE.md; new adopters at ONBOARDING.md; leaders at the Executive Brief.