Principles
Compose first. Replace cleanly. Keep only what differs. Built for agents.
Agent-first, the same for people
Built for coding agents first: structured results, typed recovery, a small context. People use the same CLI and files, with the same results.
Replaceable, not just extensible
Your application depends on capabilities, never on a particular implementation. Every default can be swapped out cleanly.
Customization is ordinary Go
A replacement is a Go package with a constructor. No plugin API, base class or registration to learn.
Zero lines to a working backend
The goal: a production backend composed entirely from dependencies, before you write any code.
Your repository holds only what differs
Generic capabilities stay in dependencies and composition. Nothing is copied into your repository by a scaffold.
How the design keeps those promises
01
Agent-first, developer-unified
Built first for Agents, with one interface for everyone. Behavior never depends on who calls.
02
Human-observable
Every decision can be recovered from Go, YAML, generated files and Git diffs.
03
Structured facts first
Machine-readable results come first; human output is a view of the same facts.
04
Authority comes from intent
Being an Agent grants nothing. Comments and logs are content, not instructions.
05
Minimal cognitive load
Start with Go, a
plystra.yamland one Interface. Learn the rest when it is needed.06
No complexity cliff
Small and large Projects use the same model, all the way up.
07
Ordinary Go first
Packages, constructors and method calls. An abstraction only where Go cannot do the job.
08
Static and deterministic assembly
One finite pipeline. After Freeze, nothing can change the graph.
09
Explicit control flow
Generated proxies govern calls but never hide what happens next.
10
Automate aggressively, explain everything
The CLI derives what it can, and every result has a stable explanation.
11
No abstraction without demonstrated pressure
Nothing speculative. New concepts must prove repeated, concrete need.
Intent by default. Mechanism when asked.
Default› intent
Projects and Interfaces, in the language of the task.
Advanced›› mechanism
Implementation selection, constructor dependencies, configuration provenance, transport mapping, compatibility.
Maintainer››› implementation
Kernel internals, generated schemas, release evidence, toolchain identity.
What Core leaves out
- a second runtime or remote dispatch fabric
- replacing an Implementation after startup
- a manifest-backed code container
- third-party generation hooks
- executing dependencies from declarative graphs
- implicit alternate names or login Interfaces
- different behavior for humans and Agents
- a per-field environment-variable override language
- several active environment profiles