outputease updateStart projects your AI agents already understand.
One command writes the AGENTS.md instructions, .specify/ workflows, MCP wiring, and engineering docs your agents read first, in each one's native format.
The context your AI agents need, written once.
One neutral source, generated into every agent's native config. Tuned to your stack, ready for any agent.
Your agents inherit your conventions on day one.
Skip a week of telling your agent where the linter lives, what the test runner is, or how migrations work. Write it once, ship it with every project.
Scaffolding is day one. This is every day after.
The same commands ship with every project. Open a session, spec the work, build in tight cycles, and ship behind a review gate. Then do it again.
- Open
/quickstartLoads your priorities, branch, and the feature in flight, so every session starts oriented.
- Spec
/speckit-specify…/speckit-implementTurn an idea into a spec, a plan, and tracked tasks before any code gets written.
- Build
/dev-check+/checkpointValidate the build, lint, and tests, then commit a checkpoint. Repeat until the feature lands.
- Ship
/session-end→/security-reviewClose the session with a push and handoff notes, then open a PR behind a security review.
/quickstart again.Spec-kit is an external prerequisite (Python + uv). The loop assumes one developer per branch.
Any preset, one flag.
Skip the wizard with --preset. Runtime, linter, test runner, and agent context tuned for what you're building.
Web App
Full-stack web app, Next.js + Tailwind.
Every tool the toolkit knows, queryable.
235 vetted tools across 5 sections, typed and validated. The CLI resolves dependencies, writes configs, and seeds your docs from it. Import it yourself for the same.
Refresh your tooling without breaking your code.
Atomic refresh of .agents/, .specify/, and the generated agent configs. Your edits stay put. Conflicts get an interactive prompt.
- 1Reads .outputease markerknows what was scaffolded, what version, when
- 2Fetches @latest from npm registrytwo-step: metadata then tarball
- 3Diffs with your projectbyte-level compare, ignores generated noise
- 4Asks before overwritingoverwrite / skip / view-diff / apply-all / skip-all
- 5Atomic commitall-or-nothing, rolls back on signal
import { loadDevStacks, loadAgentStacks, validateDevStacks,} from "@outputease/toolkit"; const stacks = await loadDevStacks(); const webStacks = stacks.filter( (s) => s.platforms.webApp && s.priority !== "optional"); await validateDevStacks(stacks); // throws on driftUse the same data the CLI uses.
Validating a dev-stack mapping? Generating docs from the dataset? Import the loaders. Fully typed, MIT.
loadDevStacks()the full development-stack registryloadAgentStacks()AI-agent tooling per platformvalidateDevStacks()schema-checked, throws on driftvalidateAgentStacks()parity tests includedOpen source, end to end.
MIT-licensed. Zero telemetry. Read the source, file an issue, send a PR.