AI-DLC (AI-Driven Development Life Cycle) Workflows
repository·main·Indexed 25 days ago
https://github.com/awslabs/aidlc-workflowsA framework of rules and workflows designed to transform AI agents into verifiable, self-correcting engineering workflows for autonomous software development. It features a three-phase adaptive workflow (Inception, Construction, and Operations) and provides setup guides for various IDEs and tools including Kiro, Amazon Q Developer, Cursor, Cline, Claude Code, GitHub Copilot, and OpenAI Codex. Includes the aidlc-evaluation-framework (v0.1.0) for validating workflow changes.
What's inside AI-DLC Workflows
- AI-DLC is an intelligent software development workflow designed to turn AI agents into verifiable, self-correcting engineering workflows. It adapts to user needs, maintains quality standards, and provides control over the development process. Version 2.0 (GA) focuses on making autonomous software development practical through a structured methodology.
Understand the AI-DLC Repository Structure
mainThe
awslabs/aidlc-workflowsrepository publishes the AI-DLC (AI-Driven Development Life Cycle) methodology as markdown rule files located inaidlc-rules/.Key directories include:
.github/workflows/: Contains the CI/CD automation (CodeBuild, Release, Security, and PR validation).aidlc-rules/: The core distributable product containingaws-aidlc-rules/andaws-aidlc-rule-details/.docs/: Documentation for developers and administrators.scripts/aidlc-evaluator/: The evaluation framework (currently in development).
Scientific Calculator API Overview
mainThe Scientific Calculator is a stateless HTTP API providing scientific mathematical operations including arithmetic, trigonometry, logarithms, powers, statistics, and unit conversions. It is designed for correctness and precision, serving as a golden test-case application for code-generation tooling. All endpoints communicate usingapplication/json.Understand the `aidlc-docs/` directory structure
mainWhen running an AI-DLC workflow, all documentation artifacts are generated in the
aidlc-docs/directory at your workspace root. The contents of this directory depend on your project type (greenfield vs. brownfield), complexity, and which workflow stages are executed.Key Directories:
inception/: Contains plans, requirements, and design documents (the "WHAT" and "WHY").construction/: Contains per-unit design plans, unit-specific implementation details, and build/test instructions (the "HOW").operations/: Placeholder for future expansion.
Important Notes:
{unit-name}in file paths is a placeholder for your actual unit name (e.g.,api-service).- Application code is NOT stored in
aidlc-docs/; it is placed in your workspace root. Only markdown documentation resides in this directory. - Plans in
inception/plans/andconstruction/plans/use[Answer]:tags for user input and[ ]/[x]checkboxes to track progress.
Understand the AI-DLC Three-Phase Adaptive Workflow
mainAI-DLC uses a three-phase approach that adapts to project complexity:
🔵 INCEPTION PHASE
Focuses on WHAT to build and WHY.
- Requirements analysis and validation.
- User story creation.
- Application Design and creating units of work.
- Risk assessment and complexity evaluation.
🟢 CONSTRUCTION PHASE
Focuses on HOW to build it.
- Detailed component design.
- Code generation and implementation.
- Build configuration and testing strategies.
- Quality assurance and validation.
🟡 OPERATIONS PHASE
Focuses on deployment and monitoring (future).
- Deployment automation and infrastructure.
- Monitoring and observability setup.
- Production readiness validation.
Understand the AI-DLC Workflow Phases
mainThe AI-DLC (AI-Driven Development Life Cycle) workflow is structured into two primary phases: Inception and Construction.
1. Inception Phase
This phase focuses on discovery, planning, and design:
- Workspace Detection: Scanning the target directory (e.g.,
workspace/) to determine project state. - Requirements Analysis: Generating clarifying questions and producing
requirements.md. - User Stories: Defining epics, personas, and user stories.
- Workflow Planning: Creating an execution plan with specific stages to be executed.
- Application Design: Defining services, components, and dependencies (producing files like
components.md,services.md,component-methods.md, andcomponent-dependency.md). - Units Generation: Decomposing the application into buildable units (e.g., specific services) and determining build order.
2. Construction Phase
This phase focuses on implementation and verification:
- Functional Design: Defining domain entities and business rules.
- NFR (Non-Functional Requirements) Requirements: Defining technical constraints like authentication (e.g., JWT+bcrypt), logging, and storage.
- Code Generation: Executing a step-by-step plan to generate application code.
- Build and Test: Verifying the generated code through builds and automated tests, resulting in a
build-and-test-summary.mdand coverage reports.
- Workspace Detection: Scanning the target directory (e.g.,
Understand the Qualitative Evaluation Report structure
mainThe AIDLC Evaluation Report provides a qualitative assessment of AI-generated development artifacts using semantic similarity. The report is divided into two primary phases:
- Inception Phase: Evaluates early-stage documents like requirements, design plans, and component specifications.
- Construction Phase: Evaluates implementation-related documents such as build instructions, test plans, and code generation strategies.
Each document is scored across three dimensions:
- Intent: How well the document captures the required goal.
- Design: How well the document outlines the architectural approach.
- Completeness: How much of the necessary information is present.
An Overall Score (ranging from 0.0 to 1.0) is provided for each phase and the entire evaluation.
Product Vision for Todo List Application
mainThe Todo List Application is a full-stack MVP designed for task management. It features a single-page application (SPA) interface for CRUD operations on tasks, including title and description management, status toggling, and filtering. Tasks are persisted via a REST API using an in-memory server-side store.BookShelf Community Library API Requirements Overview
mainThe BookShelf Community Library is a cloud-deployed platform consisting of two independently deployable microservices: the Catalog Service and the Lending Service. The system manages community library operations including book inventory, member management, checkouts, holds, and fee tracking using a Role-Based Access Control (RBAC) model.
Core Services
- Catalog Service: Manages book CRUD operations, full-text search, and real-time availability tracking (
total_copiesandavailable_copies). - Lending Service: Manages member registration, authentication (JWT), checkouts, returns, renewals, holds, and fee management.
User Roles
- Admin: Full access to all endpoints in both services.
- Librarian: Catalog management (CRUD, search), lending operations (returns, holds), and viewing reports.
- Member: Self-service access (own checkouts, holds, fees, profile, and catalog search).
- Public: Access to registration, login, and health checks only.
- Catalog Service: Manages book CRUD operations, full-text search, and real-time availability tracking (
Understand the AI-DLC Evaluation Framework file structure
mainThe AI-DLC Evaluation Framework is organized as a monorepo using a
uvworkspace. The architecture separates the execution engine from the evaluation logic.Core Components
aidlc-runner/: The execution framework. It is a standalone engine that runs the AIDLC workflow (using a two-agent system) and produces output inruns/folders.packages/: A collection of specialized evaluation modules:qualitative/: Handles semantic evaluation (scoring, comparison, and document mapping).quantitative/: Handles code evaluation (linting, security, and code organization).nonfunctional/: Handles NFR (Non-Functional Requirement) evaluation (token tracking, timing, and consistency).reporting/: Aggregates results from all evaluation packages to generate comprehensive reports.shared/: Common utilities used across all packages.
test_cases/: Contains 'Golden test cases' which serve as versioned, reproducible inputs for the AIDLC workflow.runs/: The destination for evaluation outputs. Each run is stored in a{timestamp}-{uuid}/directory containing metadata, metrics, test results, and the generated workspace/documentation.
Understand the Service Layer architecture
mainThe application implements a thin service layer pattern usingapp.pyas the central orchestrator. There are no separate service classes; instead, route handlers call engine functions (e.g.,math_engine) directly. This architecture is designed for stateless computation without persistence or user sessions.Core Principles of AI-DLC Workflows
mainThe AI-DLC workflow operates according to several key principles to ensure efficiency and quality:
- Fully Adaptive: Each stage is independently evaluated based on the specific needs of the current task.
- Efficient: Simple changes only execute essential stages to save time.
- Comprehensive: Complex changes receive full treatment with all necessary safeguards.
- Transparent: Users see and approve the execution plan before any work begins.
- Documented: Every decision and change is recorded in a complete audit trail.
- User Control: Users can explicitly request that specific stages be included or excluded from the workflow.