← Back to Projects

SEOS: Software Engineering OS

Active

An AI-native operating system for repositories that orchestrates planning, architecture, implementation, testing, documentation, deployment, and continuous learning through specialist engineering agents.

GitHub ActionsCursor SDKOpenAINode.jsPlaywrightTypeScriptYAML
SEOS: Software Engineering OS

Introduction

SEOS (Software Engineering OS) is an AI-native operating system for software repositories. Instead of treating an AI assistant as a chatbot that writes code, SEOS treats the repo itself as the coordination layer — composing specialist agents from shared rules, driving them through GitHub label state machines, and closing the loop with deploy health checks and accumulated lessons.

The first production deployment lives on Fasted (PR #93). The open-source template, CLI, and workflow recipes are maintained in the SEOS repository.

For the narrative — why I built this, what changed from v1, and lessons learned — read the companion blog post: From One Agent to an OS.

Status: Active — Running on real issues in production. Tier 1 scaffolding ships from the SEOS repo; the full specialist-agent stack is documented as recipes with Fasted as the reference implementation.

Problem & Solution

The Problem

A single coding agent pipeline solves implementation latency but hits a ceiling quickly:

  • Prompt sprawl — every new agent role means another monolithic ai-*-context.md file with duplicated stack info
  • No specialists — planning, architecture review, test advisory, docs, and deploy stay human-only afterthoughts
  • Manual label gates — clicking needs-spec and ready on every issue becomes a bottleneck
  • No learning loop — production failures don't feed back into agent context automatically
  • Context drift — editing one prompt file without updating the others produces inconsistent agent behavior

The Solution

SEOS addresses these with five architectural layers:

  1. Repository intelligence — one canonical rule set, composed per role via manifest
  2. Specialist agents — planning, architecture, coding, testing, docs, deploy, and fix as first-class workflow roles
  3. Automation graph — label-triggered GitHub Actions with intentional human gates
  4. Local CLI — invoke any agent role from the terminal with identical context to CI
  5. Knowledge loop — health-check failures append structured lessons for future runs

Architecture Overview

SEOS architecture: human gates, planning layer, coding agent, parallel review, ship and learn loop, repository intelligence foundation

The default hands-off flow:

Hands-off issue flow from open issue through planning, architecture gate, coding, review, auto-fix, human merge, and deploy

Repository Intelligence Layer

The core innovation is composed context — one source of truth, many role-specific views.

Context composition: AGENT.md and agent-rules feed manifest, compose-context.mjs generates role-specific prompts, CI blocks drift
AssetPurpose
.github/AGENT.mdCanonical entry point read by all agents
.github/agent-rules/Focused rule files: product, architecture, UI, testing, a11y, security, docs, commits
.github/agent-manifest.jsonDeclares which rules + tail overrides each role needs
scripts/lib/compose-context.mjsAssembles final prompts; --check mode for CI drift detection
.github/agent-overrides/*-tail.mdRole-specific completion checklists and constraints
Regenerated ai-*-context.mdBackward-compatible output paths for existing workflows

Example manifest entry for the coding agent:

".github/ai-implement-context.md": {
  "title": "# App — Implementation Agent Context",
  "includeAgentGuide": true,
  "rules": ["architecture-rules", "ui-rules", "testing-rules", "documentation-rules", "commit-rules"],
  "tail": "implement-tail.md"
}

Change testing-rules.md once, run npm run agent:compose, and every role that includes testing rules stays in sync. CI fails the PR if composed files are stale.

Specialist Agent Roster

Specialist agent trigger timeline: auto planning, architecture, coding, review agents; manual UI, A11y, Security
AgentTriggerModeRole
Planningneeds-spec (auto on issue open)AutoSpec + Task Breakdown
Architectureneeds-architectureAutoPre-impl review for migrations, routes, schema
CodingreadyAutoImplementation via Cursor cloud agent
TestingPR openedAutoAdvisory test-coverage comment
BugbotPR openedAutoCorrectness review
PonytailPR openedAutoBloat / over-engineering audit
PR Fixreview-findings (once)AutoAmends PR branch
Documentationreview-cleanAdvisoryDocs checklist comment
UI / A11y / Securityworkflow_dispatchManualDeep dives on high-risk PRs
Deploymerge to mainAutoVPS deploy + health-check

Manual specialists (UI, A11y, Security) are intentionally excluded from the automatic loop — each run is a full Cursor cloud agent invocation, and CI already covers axe a11y, e2e, and security scanning. Trigger them for auth changes, migrations, and large UI refactors.

Label State Machine

SEOS label state machine with issue path, PR review path, architecture skip, agent-failed retry, and no-agent opt-out

Key labels:

LabelMeaning
needs-specTriggers planning agent
spec-addedSpec posted; auto-ready eligible
needs-architectureComplex change — architecture review before ready
readyTriggers coding agent
agent-workingCloud agent dispatched
pr-openedDraft PR created
review-findingsBugbot/Ponytail found issues — triggers one auto-fix pass
review-cleanReview passed — triggers docs advisory
agent-failedAgent blocked or errored — human recovery
no-agentOpt out of entire pipeline

Opt-out markers: [no-agent] in issue title, agent-manual label (auto spec only), or AGENT_AUTO_*_ENABLED=false repo variables.

GitHub Actions Workflows

WorkflowTriggerAgent role
issue-auto-triage.ymlIssue openedAuto-add needs-spec
issue-spec.ymlneeds-spec labelPlanning agent (OpenAI)
issue-architecture.ymlneeds-architecture labelArchitecture agent
issue-auto-ready.ymlspec-added labelAuto-add ready (simple issues)
issue-implement.ymlready labelCoding agent (Cursor SDK)
issue-auto-fix.ymlreview-findings labelPR fix agent (once)
pr-test-agent.ymlPR openedTesting advisory
pr-specialist-review.ymlManual dispatchUI / A11y / Security
issue-docs.ymlreview-clean labelDocumentation advisory
ci.ymlPR / pushBuild, e2e, a11y, artifact checks
visual.ymlNightly cronVisual regression snapshots
deploy-vps.ymlMerge to mainProduction deploy
health-check.ymlPost-deployProbe + append agent lesson on failure

Dispatch scripts use @cursor/sdk for cloud agent invocation and read composed context files plus the full issue thread (title, body, comments).

Local CLI

The same manifest and compose pipeline powers local agent invocation:

npm run agent:compose          # Regenerate all ai-*-context.md files
npm run agent:compose -- --check  # CI drift check
npm run agent:issue -- 88      # Compose context for issue #88
npm run agent:review -- 42     # Review agent against PR #42
npm run agent:fix -- 42 "fix findings"
npm run agent:test             # Testing agent locally
npm run agent:docs -- 88       # Documentation checklist
npm run agent:deploy           # Deploy context

Local and cloud agents read identical composed context — no "works on my machine" for prompts.

Knowledge Loop

Knowledge loop: merge triggers deploy, health-check failure appends lesson, next agent run reads accumulated lessons

.github/agent-knowledge/ stores structured lesson templates. When health-check.yml fails post-deploy, append-agent-lesson.mjs records what broke, which guard missed it, and what rule should change. Future agent runs read accumulated lessons alongside the composed rules.

Quality Feedback Loop

Quality feedback: coding agent runs tests, CI gates, nightly visual regression, pass/fail paths to auto-fix and new tests

SEOS ships alongside test hardening — agents are only as good as their feedback loop:

  • overlay-scroll e2e — mobile modal/nav scroll regressions
  • Visual regression — nightly snapshots at desktop, tablet, mobile
  • axe a11y + security.yml — automated accessibility and security gates
  • Artifact compression — CI check keeps screenshot artifacts from bloating the repo

SEOS Repo Layout

The SEOS repository provides the consumer-facing template and tooling:

PathPurpose
template/Drop-in template: workflows, context files, scripts
packages/dispatch/@issue-bench/dispatch — Cursor SDK dispatch script
packages/cli/npx issue-bench init with stack presets
workflows/Canonical workflow YAML
context/Base context templates and stack presets
docs/Setup, label state machine, Tier 2 recipes

Quick start

npx issue-bench init --preset vite-react --yes --name "My App" --repo owner/repo
npm install

Add OPENAI_API_KEY and CURSOR_API_KEY to GitHub Actions secrets. Tier 2 recipes (CI gates, Bugbot/Ponytail, deploy health, SEOS specialist agents) are in docs/recipes/ with Fasted as the reference implementation.

v1 vs SEOS

Side-by-side v1 pipeline vs SEOS comparison
Capabilityissue-bench (v1)SEOS
Agents1 coding agent8+ specialist roles
ContextStandalone prompt filesComposed from manifest + rules
Label gatesManual needs-spec + readyAuto spec, auto ready, architecture gate
ReviewBugbot + Ponytail+ testing advisory, auto-fix, docs
DeploySeparateAuto deploy + health-check + lessons
Local devEdit markdown by handnpm run agent:* CLI

Secrets & Configuration

Secret / ConfigUsed by
OPENAI_API_KEYPlanning, architecture, testing, docs agents
CURSOR_API_KEYCoding, fix, manual specialist agents
.github/issue-bench.ymlModel selection, label config, auto-triage rules
AGENT_AUTO_SPEC_ENABLEDToggle auto needs-spec on issue open
AGENT_AUTO_READY_ENABLEDToggle auto ready after spec
AGENT_AUTO_FIX_ENABLEDToggle auto-fix on review-findings

Target Users

  • Solo developers shipping with AI agents who need structure, not chat history
  • Small teams wanting GitHub-native agent orchestration without a custom dashboard
  • Engineering managers curating agent rules as living repo documentation
  • DevOps engineers wiring deploy health checks into agent feedback loops

Conclusion

SEOS is the opinion that AI-assisted development scales when you build the operating system, not just the coding agent. Repository rules, composed prompts, label state machines, specialist workflows, and a knowledge loop turn "I asked Cursor to fix something" into "I opened an issue and the bench ran itself."

The SEOS repo ships the template and CLI. Fasted is the live reference. The blog post is the story of how we got here.

Who This Is For

  • Software Engineers
  • Solo Developers
  • DevOps Engineers
  • AI Engineers
  • Engineering Managers