Run Your SDLC in Co-Pilot Mode: A Developer's Getting-Started Guide

A hands-on walkthrough for enterprise developers: wire Hyperstruck into your software development lifecycle in co-pilot mode, so reasoning sharpens every plan and learnings compound across discovery, design, build, and validation.

Tony Truong·June 19, 2026

You already know which mistakes your team keeps making. The migration that needs a backfill before the cutover. The endpoint that has to paginate or it times out in prod. The service that looks fine in review and falls over the first time real traffic hits it.

Your agents don't know any of it. So you catch the same class of bug in review every week, paste the same context into every chat, and watch a confident-looking diff quietly skip the constraint that only lives in your head. If you've shipped agents on LangGraph or the OpenAI Agents SDK, you've felt this: the model is strong, the output is fluent, and none of it gets smarter from one task to the next.

We showed what the alternative looks like in Your Agents Start From Zero Every Morning: a real run where the agent retrieved a hard-won lesson from a prior task and produced visibly safer code without being prompted. This post is the other half. It's how you wire that into your own software development lifecycle, today, in co-pilot mode, from the tools you already use.

This is co-pilot mode, not the ceiling

Everything below is a deliberately low-friction way to feel the value: you stay in the loop, agents assist, and learnings start compounding. The full Hyperstruck workflow scales this far higher with more autonomy. Treat this as a starting point you can have running in minutes, not the ceiling.

Map the workflow before you wire anything

The mistake is to bolt an agent onto one step, see a marginal speedup, and conclude that's all there is. The value isn't in any single step. It's in the loop.

Treat your SDLC as a cycle, and put learning at the center of it. Every stage produces signal: a discovery call surfaces a constraint, a spec exposes a gap, a build reuses an approach that worked, a failed test points at a recurring weak spot. When that signal is captured as a learning, the next pass through the loop starts smarter, and the gains compound across the whole cycle instead of dying inside one task.

The software development lifecycle drawn as a seven-stage loop (Discover, Define, Design, Architect, Build, Validate, Learn and Repeat) circling a central Learning core, with dashed lines showing learning feeding every stage. Reasoning and planning lead Define, Architect, and Build; learning is the multiplier at Discover, Design, Validate, and Learn and Repeat.

Before you create a single agent, decide where each mode earns its place:

  • Reasoning and planning lead the open-ended stages. Defining acceptance criteria, writing a technical design, sequencing an implementation: these need structured analysis and trade-off thinking. Send them to hosted reasoning so you get a plan with milestones, risks, and edge cases instead of a wall of code.
  • Learning is the multiplier everywhere else. Discovery, design choices, and validation lean hardest on what already happened: prior decisions, patterns that worked, the failure modes you keep hitting. This is where retrieved learnings change the output most.

Drawing this map first is what turns a one-off speedup into a system. Once learnings flow into every stage, four things change for you directly:

Fewer bugs reach reviewThe constraint that bit you last time surfaces before code is written, not in review comments.
Higher-quality outputEvery task starts from proven approaches instead of a blank page, so the first draft lands closer to shippable.
Your reputation holdsAgents stop handing you work that looks clean in review and falls over under real load.
Speed without the quality taxThe review cycles you spend re-teaching the same lessons collapse into the work itself.

The walkthrough

You'll install once, point Hyperstruck at your account, choose the agent it learns into, and then watch the recall-reason-capture loop run on a real task without driving it by hand. A single install wires the learning hooks into your editor, so recall happens before the assistant acts and capture happens after, with no skill calls in the common case.

Install once

One package carries the skills, the learning hooks, and the loop. With the Hyperstruck SDK installed (it ships with your API key), the copilot connects like this:

python -m hyperstruck.ide.install

That copies the hyper-* skills into Claude Code and Cursor, deep-merges the learning hooks into each editor's config without touching any hooks you already have, and writes the Cursor recall nudge. It's idempotent, so re-running upgrades in place, and it only wires the editors you actually have. Restart your editor afterwards.

From here, recall and capture are automatic. hyper-reasoning is still there for open-ended planning when you want a structured plan on demand, and hyper-learning handles recall (it's also how recall reaches you on Cursor, where hooks can't inject context).

Configure access

The loop authenticates with a bearer token against https://api.hyperstruck.com. Grab an API key from your dashboard and hand it to the installer, which records it (and validates it) in ~/.hyperstruck/.env so the hooks can authenticate:

export HYPER_API_KEY="sk_live_..."        # never commit this
python -m hyperstruck.ide.install         # picks the key up and validates it

The install prints whether the key resolved. That's the one thing worth checking; everything else fails open, so a missing key or a network blip degrades to a silent no-op and never blocks your editing.

Choose your agents

One agent is enough to start: point the loop at it and every lesson lands in one place. The upgrade, once the loop has proved itself, is a small roster of agents scoped to the stages of your SDLC, each with its own instructions, model, and accumulated learnings. Learnings are stored per agent, so a focused roster keeps each one's experience clean and relevant, while a single agent keeps things simple. Both patterns work, and you're not locked into either, or into one repo: these are your agents, used across everything you do in the editor.

Create an agent with a single call. Match its reasoning_profile to how open-ended the stage is (fast for narrow answers, balanced for most work, full for deep design).

curl -s -X POST "$HYPER_BASE_URL/agents" \
  -H "Authorization: Bearer $HYPER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Technical Design Author",
    "description": "Produces implementation-ready technical designs for sizable changes.",
    "reasoning_profile": "full",
    "core_config": {
      "instructions": "You are a technical design author. Given a feature, produce current state and call sites, files to change, risks and trade-offs, edge cases, acceptance criteria, and a test plan. Cite evidence. Flag anything unverified.",
      "hitl_enabled": true
    }
  }'

You don't need to track the returned id. The skills list your agents and pick the one whose description fits the task at hand, so you reason and recall by intent, not by wiring IDs into prompts. That one agent is a complete setup on its own. When you're ready to grow into a roster, add an agent per stage with the same call. The fuller roster mirrors the loop:

#AgentStageLeads withWhat it does
1Discovery AnalystDiscoverLearningReads prior decisions and recurring asks, dedupes them into a prioritized backlog.
2Spec AuthorDefineReasoningTurns a feature into acceptance criteria, edge cases, and explicit non-goals.
3Design ReviewerDesignLearningChecks flows against interaction patterns that reduced friction before.
4Technical Design AuthorArchitectReasoningProduces the implementation-ready design: call sites, risks, test plan.
5Implementer + Rule EnforcerBuildReasoningImplements against the spec, then verifies project rules and conventions held.
6Test + Security ReviewerValidateLearningWrites tests aimed at prior failure modes and runs a security pass before the PR.
7Documentation + CaptureLearn & RepeatLearningRecords key decisions and stores learnings so the next cycle starts smarter.

Most people never need all seven. A single agent is the honest default; if you do split into a roster, start with Technical Design Author and Test + Security Reviewer, the two stages where a missed constraint costs you the most, and grow it as the loop proves itself.

The explicit skills pick the right agent for each task. The silent per-turn loop needs one default to learn into: if you have a single agent the installer wires it for you, and if you have several you point it at one with python -m hyperstruck.ide.install --agent-id <id>.

Coming soon: organize the roster by team

Today the roster is a flat list. Fine-grained authorization and Spaces are on the way, so you'll be able to group agents and their learnings logically, by department, team, or product area, and control who can read and reinforce what. The roster you build now carries straight into that structure.

Watch it recall, automatically

Now the payoff, and you do nothing to trigger it. Because the hooks are wired, every prompt you send first pulls the lessons relevant to it and folds them in before the assistant acts. You write the same plain prompt you always would; the difference is what comes back.

Without Hyperstruck

Implement the backend to delete a folder and all of its files from the mobile app.

With Hyperstruck installed
Auto-injected by the hook, before the model sees your promptRecall: unbounded bulk deletes lock large tables, estimate row count first and batch above a threshold.Implement the backend to delete a folder and all of its files from the mobile app.

Same feature, the exact same prompt. The cold run gives you what any agent gives you: delete the folder, delete the files, return success. With Hyperstruck installed, the hook has already pulled the lesson from a prior task ("unbounded bulk deletes lock large tables, estimate row count first and batch above a threshold") and folded it in before the model ran, so the implementation arrives with a preflight row count, bounded batches, a background job for large folders, and an audit log. Nobody typed those requirements, and nobody ran a recall command.

Here's the part that matters for a team, not just an individual. The engineer running this prompt isn't necessarily the one who learned the lesson. That batching rule could have come from a senior who spent a 2am shift untangling a production incident months ago. A junior implementing folder deletes today inherits it automatically, applied to their code before review, without ever having heard the war story. The institutional memory does the mentoring.

And because the learning is actually used in this implementation, it gets reinforced right here. Its standing climbs every time it proves useful on real work, so the lessons that keep paying off rise to the top on their own. You don't manage that.

For an open-ended stage, reach for hosted reasoning the same way. It assembles context from your session, runs the plan, and walks any review checkpoints:

/hyper-reasoning Design the backend for deleting a folder and its files. We're on Postgres, folders can hold 100k+ files, and compliance needs an audit trail on destructive ops. I need acceptance criteria and a test plan.

Recall and capture rode the hooks automatically; reaching for /hyper-reasoning is the one explicit call you still make, for when you want a structured plan on demand.

Capture happens on its own

This is the step that makes tomorrow's run better than today's, and now you don't run it. As you work, each material turn is captured at its end and shipped for extraction, so the lessons land in the corpus with no command. The richest source is still code review: when you implement review fixes, the durable rules buried in those comments ("this query needs a tenant filter or it leaks across accounts") are captured the same way, so next time anyone touches a similar query the rule is already in the plan instead of scrolling off the thread.

What does not leave your machine is your code. The hook ships the shape of a turn, the tool, the path, the status, a clipped result, never raw file contents or diffs, and scrubs secrets before anything is sent. Learnings are about patterns, not literal source.

For durable manual curation, adding a high-signal rule verbatim, fixing one, pruning another, point at the curation API directly for now; a dashboard for exactly this is on the way. Keep manual learnings small and specific: "always add a date-range filter to analytics queries or responses exceed 30 seconds" beats "be careful with the API". From there, reinforcement does the curation for you, as a learning's standing climbs every time it proves useful on real work.

What you'll feel within a week

The first thing you notice is quieter reviews. The constraint you'd normally flag is already handled, because the agent retrieved it before writing the code. Then the designs get sharper, because reasoning runs start from your real prior decisions instead of generic best practice. By the second week the loop is visible: tasks that resemble past work go faster and land cleaner, and the gap between a first draft and something you'd actually ship keeps shrinking.

That's the trade you're after: the experience that used to live only in your senior engineers' heads is now in the loop, working on every task, whether they're online or not.

Where this goes next

Running the loop by hand, searching before and capturing after, was the honest way to feel the value. It's also the part we've now made disappear: native integration into the tools you already live in, Claude Code and Cursor, so recall and capture happen inside the harness without explicit skill calls. That's what you just installed. What comes next is governance and scale, fine-grained authorization and Spaces to group agents and their learnings by team and product area, and a dashboard for curating the corpus directly. Same loop, minus the manual steps.

Your agents have been starting from zero every morning. This is how you give them a memory of yours.