Skip to content
/

che-incubator demo-spec-driven-development-with-ai

ra-aid-che-incubator · che-incubator/demo-spec-driven-development-with-ai · ★ 2 · last commit 2025-08-08

Primitive shape
No installable primitives
00

Summary

ra-aid-che-incubator — Summary

A minimal demo template from Red Hat's Eclipse Che incubator project that demonstrates spec-driven development with AI in a pre-configured Eclipse Che / OpenShift Dev Spaces workspace. The repository contains only 5 files: a devfile.yaml (workspace definition), a spec.md template (the specification scaffold), a README.md, a LICENSE, and a .github/ directory. There are no code files, no agent framework, and no tools — the entire value is the workflow demonstration: write a spec in spec.md, then run ra-aid --use-aider --cowboy-mode --show-cost --track-cost --msg-file spec.md in the workspace terminal to have RA.Aid implement it autonomously.

This is a Tier C entry: it is not an independent framework but a demo template that delegates all agent logic to RA.Aid. Its value is as a pattern for coupling spec-file driven development with cloud-workspace tooling.

Compared to seeds: architecturally nearest to agent-os (Archetype 4 — markdown scaffold, zero primitives), but even simpler: it ships a single spec template rather than a full standards directory. It is the thinnest possible layer on top of RA.Aid.

01

Overview

ra-aid-che-incubator — Overview

Origin

Created by the Eclipse Che / Red Hat OpenShift Dev Spaces team as a demonstration of spec-driven development in cloud development environments. Repository: che-incubator/demo-spec-driven-development-with-ai. EPL-2.0 license. 2 stars.

Philosophy

"Define an application's requirements in the spec.md file and then use AI tools (RA.Aid and Aider) to autonomously generate the code."

This is the simplest possible workflow:

  1. Write a spec
  2. Launch a pre-configured cloud workspace
  3. Run one command

The Core Command

ra-aid --use-aider --cowboy-mode --show-cost --track-cost --msg-file spec.md

Target Users

Teams using Eclipse Che or Red Hat OpenShift Dev Spaces who want to experiment with spec-driven development without local tooling setup. The devfile handles all provisioning.

Demo Example

The demo-url-shortener branch shows a complete example: a spec.md describing a full-stack URL shortener, and the resulting code generated by RA.Aid + aider.

02

Architecture

ra-aid-che-incubator — Architecture

Distribution

  • GitHub template repository — clone or "Use this template"
  • 5 files total; no npm/pip install required

Repo Structure

che-incubator/demo-spec-driven-development-with-ai/
├── devfile.yaml    # Eclipse Che / OpenShift Dev Spaces workspace definition
├── spec.md         # Specification template (fill in and run ra-aid against)
├── README.md
├── LICENSE         # EPL-2.0
└── .github/

devfile.yaml Role

The devfile.yaml defines a cloud workspace that:

  • Pulls a pre-configured container image with RA.Aid, Aider, and their dependencies pre-installed
  • Configures Kubernetes secret mounting for API keys (e.g., GEMINI_API_KEY, ANTHROPIC_API_KEY)
  • Provides the workspace environment without requiring any local setup

spec.md Template

A heavily commented Markdown template guiding users to fill in:

  • Project Goal (1-2 sentences)
  • General Requirements & Setup (language, package manager, project structure, code quality tools)
  • Component sections (tech stack, core functionality, data requirements, testing)
  • Final Deliverable (definition of done)

Required Runtime

  • Eclipse Che or Red Hat OpenShift Dev Spaces (for the cloud workspace)
  • OR: any environment with RA.Aid + aider installed locally
  • LLM API key (Gemini, OpenAI, Anthropic, etc.)
03

Components

ra-aid-che-incubator — Components

Files (5 total)

File Purpose
devfile.yaml Eclipse Che / OpenShift Dev Spaces workspace definition; provisions pre-configured container with RA.Aid + aider
spec.md Specification template; the user fills this in and passes it to ra-aid via --msg-file
README.md Usage instructions: launch workspace → configure API key → write spec → run ra-aid
LICENSE EPL-2.0
.github/ GitHub configuration

spec.md Sections (template structure)

Section Content
Project Goal One or two sentence description of the final product
General Requirements & Setup Language, package manager, project structure, gitignore, README requirements
Component N (repeatable) Tech stack, core functionality, data requirements, testing strategy
Final Deliverable Explicit definition-of-done checklist

External Dependencies (not bundled)

  • ra-aid CLI — the actual agent framework
  • aider — code editor (invoked via --use-aider flag)
  • LLM provider API key (any RA.Aid-supported provider)
  • Eclipse Che / OpenShift Dev Spaces (for cloud workspace mode)
05

Prompts

ra-aid-che-incubator — Prompts

The spec.md Template (verbatim excerpt)

This IS the prompt artifact — the spec.md file is passed directly to RA.Aid as the task description.

## 🎯 Project Goal

_**Hint:** Describe the main goal of your project in one or two sentences._

**Example:**
Create a simple web application for managing a To-Do list, with the ability to save data to a local file.

---

## ⚙️ General Requirements & Setup

- **Programming Language & Environment:** [e.g., JavaScript and Node.js, Python 3.10]
- **Package Manager:** [e.g., yarn, npm, pip]
- **Project Structure:** [e.g., A monorepo with `yarn workspaces` for `frontend` and `backend`]
- **Code Quality Tools:** [e.g., Set up ESLint with the `airbnb` configuration.]
- **Version Control:**
    - Create a `.gitignore` file.
    - **Important:** Add AI assistant-specific files: `.ra-aid/` and `.aider.*`.

---

## 📦 Component 1: [Name, e.g., Backend]

- **Technology Stack:** [e.g., Express.js, FastAPI, Flask]
- **Core Functionality:**
    - [Describe the first feature]
- **Testing:**
    - **Frameworks:** [e.g., Jest, PyTest]
    - **What to test:** [e.g., "Write unit tests for the task creation logic."]

---

## 🏁 Final Deliverable

The project is considered complete when:
1.  Both parts run without errors.
2.  All described tests pass successfully.
3.  The `README.md` file is filled out.

Prompting technique: Structured requirements document with inline hints (italicized), concrete examples, and explicit definition-of-done. This is closest to user-story / acceptance-criteria formatting — a product spec rather than an agent system prompt. The spec IS the task; RA.Aid's own prompts handle the agent behavior.

No Additional Prompts

This template contains no agent system prompts, no skill files, and no command files. All prompting is delegated to RA.Aid.

09

Uniqueness

ra-aid-che-incubator — Uniqueness & Positioning

Differs from Seeds

This template is architecturally closest to agent-os (Archetype 4 — markdown scaffold, zero primitives), but even simpler: it contains a single spec template file rather than a standards directory. Unlike all seeds, this repo's sole purpose is to demonstrate the --msg-file spec.md pattern: the spec IS the task. The devfile.yaml is the only infrastructure contribution; it pre-provisions a cloud workspace so the barrier to experimenting with RA.Aid is near zero. No seed framework ships a cloud workspace definition (devfile.yaml) as a component.

Positioning

A minimal entry point for teams evaluating spec-driven development in cloud development environments. The repo itself is not a framework — it is a demonstration template that shows the simplest possible bridge between a human-written specification and autonomous code generation.

Key Differentiators

  1. devfile.yaml for cloud workspace provisioning — the only framework in the corpus to include a Kubernetes-native workspace definition
  2. Demonstrates --msg-file pattern — the purest spec-to-code workflow: write spec, run one command
  3. Zero friction for Eclipse Che / OpenShift Dev Spaces users — workspace pre-configured; no local install needed

Observable Failure Modes

  • Total dependency on RA.Aid: any RA.Aid bug directly affects this template's output quality
  • --cowboy-mode risk: fully autonomous + no approval gates means destructive commands run unreviewed
  • Minimal documentation: spec.md template hints are guides, not constraints — underspecified inputs yield poor results
04

Workflow

ra-aid-che-incubator — Workflow

Complete Workflow (4 steps)

Step Action Artifact
1. Launch workspace Open devfile.yaml in Eclipse Che or click "Open in Dev Spaces" button Pre-configured cloud workspace
2. Configure API key Create a Kubernetes secret with LLM API key (e.g., GEMINI_API_KEY) Mounted env var in workspace
3. Write specification Edit spec.md with project goal, requirements, components, and done criteria Filled spec.md
4. Run agent ra-aid --use-aider --cowboy-mode --show-cost --track-cost --msg-file spec.md Generated application code

Approval Gates

None — --cowboy-mode skips all approval prompts. This is the intentional design: the workflow is fully autonomous once the spec is written.

The Spec-File Pattern

This is the purest implementation of spec-file-driven development:

  • The spec IS the task input (not a conversation prompt)
  • The spec is structured Markdown, not YAML or EARS notation
  • RA.Aid reads the spec holistically and plans from it
  • No human interaction during execution (cowboy mode)
06

Memory Context

ra-aid-che-incubator — Memory & Context

This template has no memory system of its own. All memory and context management is handled by RA.Aid.

The spec.md file serves as the initial context — RA.Aid reads it via --msg-file and uses it as the base task description throughout its Research → Planning → Implementation pipeline.

See ra-aid entry for full memory architecture details.

07

Orchestration

ra-aid-che-incubator — Orchestration

This template has no orchestration of its own. It delegates entirely to RA.Aid.

Execution mode: one-shot (single ra-aid invocation).

The template's contribution to orchestration is the --cowboy-mode flag in the recommended command, which makes the execution fully autonomous (no approval gates).

See ra-aid entry for full orchestration architecture.

08

Ui Cli Surface

ra-aid-che-incubator — UI & CLI Surface

No dedicated CLI binary. No local UI.

The workspace is provided by Eclipse Che / OpenShift Dev Spaces (browser-based cloud IDE). The user interacts via the cloud workspace terminal.

The only "surface" is the spec.md file (edited in the cloud IDE) and the terminal command ra-aid ... --msg-file spec.md.

Related frameworks

same archetype · same primary tool · same memory type

claude-mem (thedotmack) ★ 78k

Background worker service captures every tool call as an observation, AI-compresses sessions, and auto-injects relevant past…

pi (badlogic/earendil) ★ 55k

A minimal, hackable, multi-provider terminal coding agent that adapts to your workflows via npm-installable TypeScript Extensions…

Agent Skills (Addy Osmani) ★ 46k

Encodes senior-engineer software development lifecycle as 23 auto-routed skills and 7 slash commands for any AI coding agent.

wshobson/agents Plugin Marketplace ★ 36k

Single Markdown source for 83 domain-specialized plugins that auto-generates idiomatic artifacts for five AI coding harnesses.

TabbyML/Tabby ★ 34k

Self-hosted AI coding assistant server (alternative to GitHub Copilot) with admin dashboard, RAG-based completions, and multi-IDE…

Compound Engineering ★ 17k

Make each unit of engineering work compound into easier future work via brainstorm→plan→execute→review→learn cycles.