ados

ados

OtherClaude Codeby Juliusz Ćwiąkalski

Summary

Agentic Delivery OS - spec-driven software delivery

Install to Claude Code

/plugin install ados@ados

Run in Claude Code. Add the marketplace first with /plugin marketplace add juliusz-cwiakalski/agentic-delivery-os if you haven't already.

README.md

---

Copyright (c) 2025-2026 Juliusz Ćwiąkalski (https://www.cwiakalski.com | https://www.linkedin.com/in/juliusz-cwiakalski/ | https://x.com/cwiakalski)

MIT License - see LICENSE file for full terms

source: https://github.com/juliusz-cwiakalski/agentic-delivery-os/blob/main/README.md

--- <p align="center"> <a href="./assets/hero.png"> <picture> <source srcset="assets/hero.webp" type="image/webp" /> <img src="./assets/hero.png" alt="Agentic Delivery OS - Ship faster. Break less. AI-Native SDLC" width="880" /> </picture> </a> </p>

Agentic Delivery OS (ADOS)

Turn AI from "chat assistance" into a repeatable, auditable delivery system:

ticket -> spec -> plan -> test plan -> code -> /review -> /sync-docs -> /check -> /pr -> release

This repo is a practical reference implementation of a spec-driven workflow using OpenCode (and supporting Claude Code):

  • Artifacts are first-class (versioned in Git), not trapped in chats.
  • Deterministic quality gates define "done".
  • The workflow is tracker-agnostic: the tracker owns status, Git stores the delivery artifacts.
  • The repo maintains a continuously updated "current system spec" under doc/spec/** (created if missing; reconciled after each accepted change).

> Note: doc/spec/** may not exist in a fresh repo; it's created/updated by the workflow (see /sync-docs).

<!-- TOC -->

<!-- TOC -->

Why this exists

AI can generate code quickly, but most teams struggle to use it reliably at scale:

  • Prompts live in DMs and chat logs (not versioned, not repeatable)
  • Output quality varies day-to-day ("prompt roulette")
  • Delivery still needs specs, acceptance criteria, test strategy, reviews, docs, release discipline
  • Tooling glue work persists between Jira/Git/CI/docs

Agentic Delivery OS codifies a predictable pipeline where quality and traceability are non-negotiable.

What this gives you

  • A team of 19 repo-local agents aligned to SDLC roles (PM, spec writer, planner, coder, reviewer, bootstrapper, and more).
  • A standard artifact set (spec, implementation plan, test plan) stored under doc/changes/ using stable, tracker-linked names.
  • A versioned, human-readable system spec under doc/spec/** that acts as the baseline input for planning the next change (kept up to date via /sync-docs).
  • Commands that compose those agents into repeatable workflows (manual or autopilot).

Installation

Quick Start

For OpenCode users:

# Global (all projects)
curl -fsSL https://raw.githubusercontent.com/juliusz-cwiakalski/agentic-delivery-os/main/scripts/install.sh | bash -s -- --global

# Local (current project)
~/.ados/repo/scripts/install.sh --local

Then in your AI coding agent:

/bootstrap                                  # AI-guided configuration

For Claude Code users

Recommended: Install from GitHub marketplace

# Step 1: Add ADOS marketplace (one-time setup)
/plugin marketplace add juliusz-cwiakalski/agentic-delivery-os

# Step 2: Install ADOS plugin
/plugin install ados@ados

This uses the git-subdir source to load ADOS directly from the GitHub repository.

For local development (contributors):

claude --plugin-dir .ados-claude

This loads ADOS directly from the local repo — useful for contributors testing changes.

Installation Modes

| Mode | OpenCode Target | Claude Code Target | |------|-----------------|-------------------| | --global | ~/.config/opencode/ | Use /plugin marketplace add | | --local | ./.opencode/ | claude --plugin-dir .ados-claude |

Tool Selection (OpenCode only)

--tool opencode    # OpenCode only (default)
--tool claude      # Not needed - use /plugin commands instead
--tool all         # Not needed - install separately per tool

Uninstall: ~/.ados/repo/scripts/uninstall.sh --global or ~/.ados/repo/scripts/uninstall.sh --local

> Update: Re-run the same install commands to update to the latest version.

> Full guide: doc/guides/onboarding-existing-project.md

Benefits

  • Less ambiguity: specs and test plans are explicit before code is written.
  • Predictable planning: next changes can start from the current system spec (doc/spec/**) instead of rebuilding context from chat history.
  • Higher trust: /review and /check run against artifacts, not vibes.
  • Quality is non-negotiable: /review iterates until PASS and /check is green before you get a PR/MR (via /pr) to look at.
  • Faster iteration: agents can find the right context deterministically (stable paths, no global indexes).
  • Better auditability: tickets link to change folders, branches, PR descriptions, and logs.
  • Less noise: in autopilot mode, the tracker is the interface; the @pm agent pings you only when decisions/clarifications/reviews are needed.

Intention

This project exists to evolve and validate an AI-native delivery operating model on real work: reduce "prompt roulette", keep humans accountable, and make shipping faster without lowering quality.

Docs at a glance

What is implemented here

OpenCode tooling (see .opencode/README.md for the authoritative list):

Multi-tool support

ADOS supports multiple AI coding tools while maintaining a single source of truth for agent and command definitions:

  • .opencode/ — Canonical source for all agent/command definitions
  • .ados-claude/ — Generated Claude Code plugin (committed to repo, ready to use)

The build script scripts/build-claude-plugin.sh transforms .opencode/ definitions to Claude Code format. This ensures:

1. No duplicate definitions to maintain 2. All tools get the same prompts 3. Model assignments are tool-specific (via claude.model frontmatter)

For Claude Code users:

The .ados-claude/ directory is pre-generated and committed to the repo. No build step required.

Install options:

  • Marketplace (recommended):
  /plugin marketplace add juliusz-cwiakalski/agentic-delivery-os
  /plugin install ados@ados
  • Local development: claude --plugin-dir .ados-claude

Point Claude Code at the plugin root (.ados-claude/), not at the agents/ or skills/ subdirectories — Claude Code reads .claude-plugin/plugin.json from the directory you pass.

Marketplace structure:

  • .claude-plugin/marketplace.json (repo root) - Tells Claude Code where to find the ADOS plugin
  • .ados-claude/.claude-plugin/plugin.json - The actual plugin manifest (inside the plugin directory)

For OpenCode users:

No changes — continue using .opencode/ as before. The claude: frontmatter key is ignored by OpenCode.

Adding new tools:

See doc/guides/adding-tool-support.md for the extensibility pattern.

Autopilot (PM-driven)

Autopilot mode is a high-level handoff: you provide a ticket reference (or URL) and the @pm agent orchestrates the full delivery loop (including /review, /sync-docs, and /check), then creates/updates a PR/MR via /pr only when it's ready for human review.

Example prompt:

@pm deliver change GH-456

(You can also use a GitHub issue URL or a workItemRef like GH-456.)

Typical workflow (manual)

For the detailed walkthrough, see doc/guides/opencode-agents-and-commands-guide.md. The common flow is:

/plan-change <workItemRef?>
/write-spec <workItemRef>
/write-test-plan <workItemRef>
/write-plan <workItemRef>
/run-plan <workItemRef>
/sync-docs <workItemRef>
/review <workItemRef>
/check
/pr

Tool definitions: /plan-change, /write-spec, /write-plan, /write-test-plan, /run-plan, /review, /sync-docs, /check, /pr

Change artifacts (tracker-agnostic)

Changes are identified by workItemRef (for example PDEV-123 for Jira or GH-456 for GitHub). Artifacts live under:

  • doc/changes/YYYY-MM/YYYY-MM-DD--<workItemRef>--<slug>/
  • Stable filenames inside the folder:
  • chg-<workItemRef>-spec.md
  • chg-<workItemRef>-plan.md
  • chg-<workItemRef>-test-plan.md
  • chg-<workItemRef>-pm-notes.yaml (progress tracking, decisions, open questions)

After the change is implemented and accepted, the workflow reconciles the "current truth" docs (via /sync-docs):

  • doc/spec/** (system specification)
  • doc/contracts/** (interfaces/contracts, when used)

Branches follow conventional-commit-aligned types:

  • <type>/<workItemRef>/<slug> (for example feat/PDEV-123/responsive-product-images)

Repo structure

.
├── AGENTS.md             # delivery system bootstrap (start here)
├── .opencode/            # agent and command definitions (THE product)
│   ├── agent/            # 19 agents (one .md each)
│   └── command/          # 16 commands (one .md each)
├── .ai/
│   ├── agent/            # PM tracker config (pm-instructions.md)
│   ├── local/            # git-ignored ephemeral state
│   └── rules/            # language/tool rules (bash.md)
├── scripts/              # repo-internal automation (.sh extension)
│   └── .tests/           # test files for scripts (test-*.sh)
├── tools/                # PATH-able CLI utilities (no .sh extension)
│   └── .tests/           # test files for tools (test-*.sh)
└── doc/
    ├── 00-index.md           # documentation landing page
    ├── changes/              # change artifacts (spec, plan, test-plan per workItemRef)
    ├── decisions/            # decision records (ADR/PDR/TDR/BDR/ODR)
    ├── guides/               # how-to guides
    ├── overview/             # north star, architecture, glossary
    ├── planning/             # internal planning notes
    ├── spec/                 # current system spec (reconciled after each change)
    ├── templates/            # core + optional profile-aware document templates
    ├── tools/                # CLI tool user guides
    └── documentation-handbook.md

License

Open-source. See LICENSE.

Author

Maintained by Juliusz Ćwiąkalski. If you find this useful, follow me or drop by my homepage (blog + newsletter):

Related plugins

Browse all →