Skip to main content

Serverless infrastructure components organized by business use cases

Project description

AppMod Catalog Blueprints

Build customizable, well-architected applications on AWS in minutes, not months.

GitHub Construct Hub Documentation npm version npm downloads PyPI version PyPI downloads NuGet version NuGet downloads Maven version

Application Modernization (AppMod) Catalog Blueprints is a comprehensive library of use case-driven infrastructure blueprints and industry-aligned solutions built on AWS Well-Architected best practices. Designed as composable, multi-layered AWS CDK L3 constructs, these blueprints accelerate serverless development and modernization with multiple implementation pathways — from ready-to-deploy solutions to fully customizable building blocks.

Why This Library?

  • Use case-driven: Purpose-built for real business problems — AI workflows, document processing, event-driven architectures, web applications
  • Multi-layered approach: Infrastructure Foundation → General Use Cases → Industry Solutions — start with proven patterns, customize as needed
  • Composable architecture: Mix and match independent components with standardized interfaces
  • Enterprise-ready security: Built-in compliance, encryption, least-privilege IAM, and CDK Nag validation
  • Multi-language: TypeScript, Python, Java, .NET via JSII

MCP Server for AI-Assisted Development

Use the AppMod Catalog Blueprints directly from your AI coding assistant. The MCP Server exposes construct scaffolding, composition, and example discovery via the Model Context Protocol, so tools like Kiro, Claude Code, and Codex can generate CDK code with the right props, defaults, and dependency wiring.

See the MCP Server README for setup instructions.

Deploy in 3 Commands

How to Use This Library

Pick any solution from the catalog below and deploy:

git clone https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
cd cdk-appmod-catalog-blueprints/examples/chatbot/customer-service-chatbot  # or any other example
npm install && npm run deploy

That's it. In this example, you now have a well-architected AI chatbot with streaming, authentication, and a React frontend. Swap the path for any other solution — fraud detection, document processing, RAG support, and more.


Two Ways to Use This Library

Approach Best For Get Started
🚀 Deploy a Solution Quick evaluation, immediate value, proof-of-concepts Pick from ready-to-deploy solutions below — deploy in minutes with sensible defaults
🔧 Build Custom Specific requirements, enterprise integration, tailored applications Use individual constructs — import into your CDK project, override defaults, inject custom logic

What You Can Build

AI Chatbots & Assistants

Solution What It Does Constructs Used
Customer Service Chatbot Real-time chatbot with streaming and session management InteractiveAgent, Frontend
Retail Banking Chatbot Banking chatbot with RAG knowledge base and transaction lookup InteractiveAgent, BedrockKnowledgeBase, Frontend
Retail Banking Chatbot (AgentCore) High-availability banking bot on AgentCore Runtime InteractiveAgent, BedrockKnowledgeBase
RAG Customer Support Knowledge-powered Q&A for e-commerce support BatchAgent, BedrockKnowledgeBase

Intelligent Document Processing

Solution What It Does Constructs Used
Insurance Claims Portal End-to-end claims processing with web UI AgenticDocumentProcessing, Frontend
Fraud Detection AI-powered document fraud analysis with risk scoring AgenticDocumentProcessing
Document Summarization Multi-format summarization with semantic search BedrockDocumentProcessing
Agentic Document Processing Advanced document processing with AI reasoning AgenticDocumentProcessing
Bedrock Document Processing Document classification and extraction pipeline BedrockDocumentProcessing
Minimal Document Processing Zero-config document processing starter BedrockDocumentProcessing

Building Blocks

Use individual constructs to build custom applications:

npm install @cdklabs/cdk-appmod-catalog-blueprints
import { InteractiveAgent } from '@cdklabs/cdk-appmod-catalog-blueprints';
import { Asset } from 'aws-cdk-lib/aws-s3-assets';

new InteractiveAgent(this, 'MyChatbot', {
  agentName: 'support-bot',
  agentDefinition: {
    bedrockModel: { useCrossRegionInference: true },
    systemPrompt: new Asset(this, 'Prompt', { path: './prompt.txt' }),
  },
});

Available Constructs

Construct What It Does
InteractiveAgent Real-time chatbots with SSE streaming, sessions, and auth
BatchAgent Async AI processing for document analysis
BaseAgent Abstract base for custom agent implementations
AgenticDocumentProcessing Document workflows with AI agents and tools
BedrockDocumentProcessing Document classification and extraction
BaseDocumentProcessing Abstract base for custom document processing
BedrockKnowledgeBase RAG retrieval with access control
Frontend Static web hosting with CloudFront CDN

Foundation & Utilities

Component What It Does
Network VPC with subnets and endpoints
Observability Logging, tracing, monitoring with Lambda Powertools
DataMasking PII protection Lambda layer

Architecture

How It Works

┌─────────────────────────────────────────────────────────────────────┐
│                        Your Application                              │
├─────────────────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐ │
│  │ Interactive │  │   Batch     │  │  Document   │  │   Frontend  │ │
│  │   Agent     │  │   Agent     │  │ Processing  │  │   (React)   │ │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘ │
├─────────┼────────────────┼────────────────┼────────────────┼────────┤
│         │                │                │                │        │
│  ┌──────▼──────┐  ┌──────▼──────┐  ┌──────▼──────┐  ┌──────▼──────┐ │
│  │  Bedrock    │  │    Step     │  │   Lambda    │  │ CloudFront  │ │
│  │  + Cognito  │  │  Functions  │  │   + S3      │  │   + S3      │ │
│  └─────────────┘  └─────────────┘  └─────────────┘  └─────────────┘ │
├─────────────────────────────────────────────────────────────────────┤
│                    Foundation (Network, Observability)               │
└─────────────────────────────────────────────────────────────────────┘

Multi-Layered Design

The library uses a multi-layered architecture that bridges business requirements and technical implementation:

Layer What It Is Purpose
Infrastructure Foundation Abstract base classes (BaseAgent, BaseDocumentProcessing) Standardized interfaces and contracts — extend for custom implementations
General Use Case Implementation Concrete classes (InteractiveAgent, BedrockDocumentProcessing) Configurable implementations for common patterns — use directly or extend
Industry-Aligned Solutions Deployable examples (examples/) Pre-configured for specific domains (insurance, banking, e-commerce) — deploy as-is or use as reference

Composable Architecture

Build complex systems by combining independent, reusable components:

  • Independent components with clear interfaces and loose coupling
  • Mix and match constructs across different contexts and use cases
  • Pluggable strategies for networking, observability, and event handling
  • Scalable composition — incremental adoption and gradual modernization

Getting Started

Prerequisites

# Configure AWS credentials
aws configure
# OR: export AWS_PROFILE=your-profile-name

# Bootstrap CDK (one-time per account/region)
npx cdk bootstrap

Option 1: Deploy a Solution

git clone https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
cd cdk-appmod-catalog-blueprints/examples/chatbot/customer-service-chatbot
npm install && npm run deploy

Option 2: Use Constructs in Your Project

npm install @cdklabs/cdk-appmod-catalog-blueprints
import { InteractiveAgent } from '@cdklabs/cdk-appmod-catalog-blueprints';
import { Asset } from 'aws-cdk-lib/aws-s3-assets';

new InteractiveAgent(this, 'MyChatbot', {
  agentName: 'my-bot',
  agentDefinition: {
    bedrockModel: { useCrossRegionInference: true },
    systemPrompt: new Asset(this, 'Prompt', { path: './prompt.txt' }),
  },
});

Security & Compliance

All constructs include enterprise-grade security by default:

Feature What You Get
CDK Nag Integration Automated security compliance checking
AWS Well-Architected Security, reliability, and performance best practices
Encryption KMS at rest, TLS in transit — always on
IAM Least-privilege, resource-scoped permissions
Compliance Reports Generate with npm test -- --testPathPattern="nag.test.ts"

Documentation


Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Disclaimer

These solutions are examples to help you build applications, not supported products. Any applications you build should be thoroughly tested, secured, and optimized according to your security standards before production use.

License

Apache License 2.0 — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

appmod_catalog_blueprints-1.14.0.tar.gz (976.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

appmod_catalog_blueprints-1.14.0-py3-none-any.whl (975.7 kB view details)

Uploaded Python 3

File details

Details for the file appmod_catalog_blueprints-1.14.0.tar.gz.

File metadata

File hashes

Hashes for appmod_catalog_blueprints-1.14.0.tar.gz
Algorithm Hash digest
SHA256 10cd8f5eb36507e199fa5e52e4ee41cdfd48ef9e93b565c7d084f4853583b037
MD5 18cb16dedb26b88d0d1a5c16d92c39c3
BLAKE2b-256 cda693d90cbbeef76f0fa42c77abdbdc79e26106a0b7065ea777cb3d03a35a0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for appmod_catalog_blueprints-1.14.0.tar.gz:

Publisher: release.yml on cdklabs/cdk-appmod-catalog-blueprints

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file appmod_catalog_blueprints-1.14.0-py3-none-any.whl.

File metadata

File hashes

Hashes for appmod_catalog_blueprints-1.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fdd73853f60c27b0e01789e4467416445c40fbc16c191ee4269791eacabb566d
MD5 18192c6d56bf1ed4cc24d636f4232add
BLAKE2b-256 5493624dbcb96fd6d0c3e6211e1c68c05016530b93e3c3e8d9d1cbbb1b0e96b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for appmod_catalog_blueprints-1.14.0-py3-none-any.whl:

Publisher: release.yml on cdklabs/cdk-appmod-catalog-blueprints

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page