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.
No Bun installed? The npm and npx paths bootstrap the Bun runtime on first run. Set OE_NO_BUN_BOOTSTRAP=1 to opt out.
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. Capture an idea, open a session, spec the work, build in tight cycles, and ship behind a review gate. Then do it again.
- Ideate
/capture→/develop-ideaCapture a raw idea in TODO.md, then develop it into something you can build now or promote to a spec.
- 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→/commitRun typecheck, lint, tests, and any verify script, then commit. /checkpoint saves work in progress the same way. 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.
Your agent's workspace, already furnished.
The build loop covers the commands you type. This is the rest of what lands: all 15 skills in the payload, 12 hooks wired to the session itself, and 4 reviewers you can hand work to.
- Start a session4
/first-runWalks a fresh scaffold through environment variables, MCP auth, and first boot./quickstartOpens a session with a health check, status, and context load./continueRecovers your bearings after a crash or interrupted session./load-contextLoads project documentation by topic when you need it.
- Shape the work2
/captureRecords a raw idea in the TODO backlog fast./develop-ideaTurns a backlog idea into an approved design and plan.
- Build it3
/new-componentScaffolds a React component matching your project conventions./gen-testGenerates bun:test files for a module you just wrote./a11y-reviewAudits UI against WCAG 2.1 AA before you ship.
- Verify and save4
/dev-checkRuns typecheck, lint, tests, and any verify script, then scans for secrets./security-reviewScans code for security issues before a production deploy./checkpointSaves work in progress mid task, without pushing./commitWrites a Conventional Commits message and commits the work.
- Close it out2
/session-endCommits, pushes, updates status, and writes handoff notes./speckit-archiveMoves a shipped spec into the archive and rewrites its links.
Starts with 8 pre-approved commands for your package manager, so install, test, lint, and build stop asking. It is your file from there: widen it, or lock it down. The same file wires the hooks below.
12 hooks, wired to the session itself.
Skills wait to be called. These run on the session's own events: before a tool call, after it, and when the agent hands the turn back. Nothing to remember, nothing to invoke.
- SessionStarta session opens
reset-editsClears the edit ledger at the start of every turn.
reset-readsClears the source fingerprint ledger once per session.
- UserPromptSubmityou send a prompt
reset-editsClears the edit ledger at the start of every turn.
- PreToolUsea tool call is about to run
protect-generatedcan denyBlocks edits to generated files and points at the real source.
protect-sensitivecan denyKeeps agents out of secret files, lock files, keys, and cloud credentials.
protect-sensitive-bashcan denyStops shell commands that would read your secrets, keys, or credential files.
prevent-barrel-bypassWarns when an import reaches into package internals instead of the barrel.
- PostToolUsea tool call just finished
auto-formatFormats each edited file with Biome the instant an agent saves it.
record-editsRecords every edited file so the end-of-turn checks stay narrow.
record-readsFingerprints every file read, so later drift gets caught.
- Stopthe agent hands the turn back
batch-testRuns the co-located tests for every file touched, then reports failures.
batch-typecheckTypechecks the packages you changed, once the turn ends.
verify-sourcesFlags any file that changed after the agent read it this session.
Every hook file ships with every project. On bun they are all wired; on another package manager the four PreToolUse guards are, and the rest sit unwired until you want them. Hooks are Claude Code specific, so this is the one part of the scaffold that does not translate to the other agent targets.
Work you can hand off whole.
Each one runs in its own context with its own tool list, so a review never eats the session you are working in.
- accessibility-reviewer
Audits components and pages against WCAG 2.1 AA, flagging contrast, keyboard, and ARIA failures.
- dependency-auditor
Checks every workspace package for version conflicts, orphans, and broken workspace protocols.
- i18n-reviewer
Compares your language files and reports missing keys, placeholders, and untranslated strings.
- test-writer
Writes unit, end-to-end, and accessibility tests that follow your existing conventions.
Proven tools, wired together.
The loop runs on proven open source, plus the session glue OutputEase ships. Here is how the pieces fit, and where each one comes from.
Added by OutputEaseour in-house workflow
Integratedproven open source
- github/spec-kitthe planning track
Runs when a feature spans sessions: spec, clarify, plan, tasks, then implement. Turns intent into tracked work before any code.
spec-kitneeds Python + uv - obra/superpowersthe workflow backbone
Underneath every session: brainstorm an idea into a design, write the plan, build test-first, debug by root cause, and verify before done.
superpowers - JuliusBrussee/cavemanthe token saver
Optional caveman-speak mode: same technical content, with caveman claiming about 65% fewer output tokens. Pick it at init, toggle with
/caveman.cavemanoptional at init
The rest of the toolbox, wired at init.
Those four are the workflow. Around them the installer resolves a 21 entry catalogue of Claude plugins and MCP servers against your project shape. On a web app with Supabase, everything in it that is not a layer above lands like this, and it writes .mcp.json with context7, playwright, and supabase.
Wired for youNo prompt. These land because the project shape calls for them.
Git commit workflow with conventional format, PR creation, and branch cleanup
User-configurable rule engine for enforcing workflow patterns via behavioral hooks
Audit, improve, and update CLAUDE.md project configuration files
Code review pull requests with detailed analysis
Simplifies and refines code for clarity, consistency, and maintainability
Create distinctive, production-grade frontend interfaces with high design quality
when the project has a frontend
- context7MCP
Library documentation retrieval via MCP; query up-to-date docs and code examples
- playwrightMCP
Browser automation via MCP; click, navigate, fill forms, take screenshots, handle dialogs
when the project has a frontend
- supabaseMCP
Supabase backend services via MCP: execute SQL, manage projects/branches, deploy edge functions, generate types
when you pick Supabase
Offered at initA multiselect at the end of the run, the same one that offers superpowers and caveman. Skip it and none of these install.
Comprehensive PR review with 6 specialized agents: code-reviewer, code-simplifier, comment-analyzer, test-analyzer, silent-failure-hunter, type-design-analyzer
CodeRabbit AI code review with thorough analysis of code changes
Plugin development guidance: create plugins, develop agents/commands/hooks/skills, MCP integration
Creates interactive HTML single-file playgrounds for visual configuration, exploration, and prototyping with live controls
when the project has a frontend
Message-level output shaping: action first, numbered steps, restated progress, concrete time estimates, no preamble or closers
Notion workspace integration: search, create pages/tasks/database rows, query databases
Figma design integration: implement designs to code, code-connect components, create design system rules
when the project has a frontend
Sentry error tracking: fetch issues, natural language queries, setup AI monitoring/logging/metrics/tracing
PostHog analytics: query insights, manage feature flags, experiments, dashboards, surveys, error tracking, LLM analytics
Analyze codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers)
Any preset, one flag.
Skip the wizard with --preset. Runtime, linter, test runner, and agent context tuned for what you're building. Adding to an existing monorepo instead? --scope workspace-app and --scope workspace-package scaffold into it.
Web App
Next.js and Tailwind, with the backend and runtime you pick at init.
Bun runtime with Drizzle, no hosted backend wired in.
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.
Nothing here updates on its own. Run the command that matches what changed.
Updates the toolkit itself.
Refreshes your project's config.
Installs, refreshes, or verifies spec-kit.
Generates, checks, applies, or migrates agent configs.
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, validateDevStacks, getDevStacksPath,} from "@outputease/toolkit"; const stacks = loadDevStacks(); const webStacks = stacks.filter( (s) => s.platforms.webApp && s.priority !== "optional"); const result = validateDevStacks(getDevStacksPath());if (result.hasErrors) { console.error(result.crossFieldIssues);}Use the same data the CLI uses.
Validating a dev-stack mapping? Generating docs from the dataset? Import the loaders, or the same @outputease/toolkit/factsexport that bakes this page's own numbers. Fully typed, MIT.
loadDevStacks()the full development-stack registryloadAgentStacks()AI-agent tooling per platformloadAgentTargets()the agent targets the CLI can scaffold forvalidateDevStacks()schema + cross-field checks, returns a result (no throw)validateAgentStacks()parity tests includedlistShippedSkills()every skill, hook, and subagent in the payloadresolveInitStack()the plugins and MCP servers a given project shape wiresNot writing TypeScript? The same inventory is published as JSON at /facts.json, the dataset at /dev-stacks.json, and an orientation file for agents at /llms.txt. The validators also ship as bins: outputease-validate, outputease-validate-agents, outputease-validate-targets.
Open source, end to end.
MIT-licensed. Zero telemetry. Read the source, file an issue, send a PR.