Claude Code, with a plan you approve and a record of what was checked
A Technical Lead plans each feature and waits for your approval. A Full-stack agent builds it, a QA agent verifies it with evidence, a guard stops risky commands, and a short retro turns every miss into a rule that fits your project. Every ten features, a prune deletes the rules that never fired.
Open source, MITAny language or frameworkBuilt and run for about 150 features on Twinpage
Test results are public, with the known limits listed.
- Plan
- Build
- QA
- Retro
- Prune
- Share
Same model, with a paper trail
Morphness doesn't change the model. It adds the process around it: an approved plan, a QA record, a guard on risky commands and a loop that keeps your CLAUDE.md rules short and true, packaged so you don't write it by hand.
Plan first, then build
The Technical Lead writes a plan with testable acceptance criteria and waits for your approval before any code is written.
QA is never skipped
A separate QA agent runs your checks and records evidence for every criterion, so "done" means verified, not claimed.
Learns from its mistakes
After every feature, a short retro turns what went wrong into rules. Every ten features, a prune audits them: the ones that caught problems stay, the ones that never fired go.
Works on any codebase
New or existing repos, monorepos with several apps, and folders that aren't a git repo or online yet. Any language or framework. It keeps your CLAUDE.md, shows a diff for settings and lands everything on a branch you review.
Safe by default
A guard hook blocks pushes to protected branches, force-pushes, reads of common secret files and a bare env, and asks you first before deploys, publishes, merges, cloud or database commands that aren’t plainly reading, and edits to its own files. If it can’t run, it blocks the call. It stops accidents, not a determined script, so host-side branch protection stays the real guard. Anything a connector would change runs only after your yes in chat, and every agent reads the rule: never write to a shared remote environment.
Yours to configure
Branches, environments, checks, modules, risk areas, models and effort live in one harness.config.yml. Every rule and checklist is a Markdown file in your repo.
What happens on each feature
You talk to the Technical Lead in the main chat. It plans, delegates and never writes code itself.
- PlanThe Technical Lead writes acceptance criteria. You approve.
- BuildFull-stack builds the approved plan and its tests on a draft PR.
- QAQA runs your checks. A pass marks the PR ready; a fail goes back to Full-stack.
- RetroOnly the action items its findings call for, plus the feature's cost.
- PruneEvery ten features: rules that never fired get cut.
- ShareRules that fired can become community lessons.
Technical Lead
Your session. Plans each feature, gets your approval, delegates and keeps the rules current.
Full-stack
Builds the approved plan and its tests. Sonnet at medium effort for pattern-copy work.
QA
Runs the checks and validates every acceptance criterion, with the evidence recorded.
Researcher
Answers a question about your code or the web with cited sources, read-only, when you want an answer and not a change.
Legal writer
Writes wording that makes a legal promise, when a feature needs it.
/morph-init installs and sets up the harness./morph-update reviews what changed upstream and brings in what you accept, merged with your edits./morph-doctor checks the wiring, flags a due prune and counts upstream updates waiting./morph-share turns rules that fired into a PR to the lessons catalog.Install
The setup scans your repo, then asks a short series of questions in plain words, each with a suggested answer. It suggests skills, connectors and lessons that fit your stack, and installs only the ones you accept. No git repo yet? It starts one, and can create the GitHub repository and its branch protection on your yes.
Ask your agent
Paste this in any Claude Code session inside your repo, new or existing:
Set up the Morphness agent harness in this repo by following https://github.com/antarsoft/morphness/blob/main/INSTALL.md step by step. Scan the repo first, then ask me the setup questions one at a time with your suggested answer. Keep my existing files, install skills or connectors only after I say yes, and put every change on a new branch for me to review. If Morphness is already installed here, follow its UPDATE.md instead and show me what changed upstream.
Or as a plugin
Add the marketplace, install, then run the setup:
/plugin marketplace add antarsoft/morphness /plugin install morphness@morphness /morph-init
Prefer to copy files yourself? scripts/install.sh copies and never overwrites. Needs: Claude Code with plugins, subagents and effort levels; the opus and sonnet models; bash, git, python3, awk and perl (gh helps, with a fallback). Each feature costs about three agent runs (plan, build, QA) plus a short retro, and every hand-off shows its estimated dollar cost.
Your first feature
- Ask the Technical Lead:
plan <feature>. - Read the plan and its acceptance criteria, then approve it.
- Full-stack builds it on a draft PR, then QA checks every criterion and the PR is marked ready.
- You merge, and get a short retro, the feature's cost, and a steps file for anything only you can do. When a connected service can do a step, the Technical Lead offers to, and acts only after your yes.
For a small change, ask for light mode. For something broken, bug mode has QA write a failing test before anyone touches the fix. When you want an answer rather than a change, ask a question and the Technical Lead uses research mode.
What lands in your repo
AGENTS.md,CLAUDE.md,.claude/rules/- The rules every session loads.
.claude/agents/- Full-stack, QA, researcher and legal-writer subagents at several effort levels.
.claude/settings.json- Deny rules for secrets and protected-branch pushes, ask rules on every merge command.
harness/- The process: lifecycle, handoffs, checks, modes (full, light, research), release and environments, the plan checklist, model prices, and how it morphs. Optional modules for Claude Projects, data access, browser e2e, legal wording, a roadmap and CI/CD pipelines.
project/- Your project's facts: stack, the commands behind each check and their scope, risk areas, effort per area, and the official connector for each service you use.
harness.config.yml- Branches, environments, apps, branch protection, who merges, release tags, modules, named checks, CI gate, risk areas, models and effort, cost tracking, loop limits.
scripts/and.github/- The prune counter and feature cost scripts, a PR template, and the branch-protection ruleset.
_harness/- Runtime: feature folders, learnings, research, prunes, releases.
From the community, for the community.
Rules that prove themselves can help the next team
When a prune shows a rule caught a real problem, /morph-share strips anything project-specific and drafts a PR to the shared catalog. A maintainer checks it is new, portable and backed by evidence. /morph-update then offers it to every project it matches.
The catalog starts with lessons from Twinpage, the product Morphness was built and run on for about 150 features. Lessons are amended, never replaced: your report strengthens an existing lesson when one matches.