Skip to main content

LambdaForge

Despliega proyectos AWS Lambda listos para producción en 60 segundos — con specs generadas por IA, ARM64 por defecto, y mejores prácticas Well-Architected integradas.

AWS Python 3.12 Kiro License: Apache-2.0 PyPI

LambdaForge es una herramienta CLI que genera un proyecto completo de AWS Lambda con un solo comando, genera Kiro specs automáticamente usando Amazon Bedrock, y despliega mediante AWS CDK. Elimina las 2-3 horas de código repetitivo que todo desarrollador serverless repite en cada nuevo proyecto.

¿Por qué LambdaForge?

Cada vez que inicias un nuevo proyecto Lambda debes:

  1. ✍️ Configurar pyproject.toml, requirements.txt, .gitignore
  2. 🏗️ Escribir el handler, logger, tracer, métricas
  3. 📐 Configurar DynamoDB, IAM, API Gateway en CDK
  4. 🧪 Conectar pytest + moto para pruebas
  5. 🚀 Construir un pipeline CI/CD con GitHub Actions
  6. 📝 Escribir specs en .kiro/specs/

LambdaForge hace todo esto en 60 segundos, y usa Amazon Bedrock (Claude Sonnet 4.5) para auto-generar tus .kiro/specs/ basándose en lo que tu proyecto debe hacer.

Arquitectura

┌─────────────────┐
│   Desarrollador │
│   $ lambdaforge │
│     new         │
└────────┬────────┘
         │
         ▼
┌─────────────────┐      ┌──────────────────┐
│   CLI (Click)   │─────▶│ Amazon Bedrock   │
│   - new         │      │ Claude Sonnet 4.5│
│   - upgrade     │      └─────────┬────────┘
│   - templates   │                │
│   - deploy      │                ▼
└────────┬────────┘      ┌──────────────────┐
         │               │ Kiro Specs (.md) │
         │               └──────────────────┘
         ▼
┌─────────────────┐
│  Cookiecutter   │  (5 plantillas: api, cron, queue, stream, s3)
│  + CDK + Tests  │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  Proyecto listo │  -> git init -> git push -> cdk deploy
└─────────────────┘

Características

  • 🏗️ 5 Plantillas Listas para Producción: REST API, Cron Programado, Cola SQS, Stream Kinesis, Evento S3
  • 🤖 Specs Generadas por IA: Kiro specs auto-generadas por Amazon Bedrock (Claude Sonnet 4.5)
  • 🏎️ ARM64 por Defecto: 20% más barato, 19% más rápido que Lambda x86_64
  • 🔒 Tags Well-Architected: Todos los recursos etiquetados con Project, Environment, CostCenter, ManagedBy
  • 📊 Observabilidad Integrada: aws-lambda-powertools (logger, tracer, metrics) preconfigurado
  • 🧪 Pruebas con moto: Mocking de AWS para CI local sin llamadas reales a AWS
  • 🚀 CI/CD con OIDC: Workflow de GitHub Actions usando OIDC (sin claves AWS de larga duración)
  • 💰 Optimizado para Free Tier: Diseñado para caber en el AWS Free Tier
  • 🌐 Roadmap Multi-Lenguaje: Python (ahora), TypeScript, Go, Rust (próximamente)

Inicio Rápido

Instalación

# Desde PyPI
pip install lambda-forge-cli-aws

# Desde código fuente
git clone https://github.com/lambdaforge/lambdaforge
cd lambdaforge
pip install -e ".[dev]"

Crear un nuevo proyecto Lambda

lambdaforge new

# Prompts interactivos:
# ? Project name: my-awesome-api
# ? Template: python-api
# ? Description: REST API for user management
# ? Author: Ada Lovelace
# ? Email: ada@example.com
# ? AWS region: us-east-1

# Genera el proyecto completo + Kiro specs en 60 segundos:
#  ✓ Rendering template
#  ✓ Generating Kiro specs via Bedrock
#  ✓ Initializing git
#  ✓ Project ready at ./my-awesome-api

cd my-awesome-api
ls -la
# .kiro/
#   specs/
#     00-overview.md              (generado por IA)
#     01-architecture.md          (generado por IA)
#     02-acceptance-criteria.md   (generado por IA)
#     03-implementation-plan.md   (generado por IA)
# src/
#   handler.py
#   utils/logger.py
# tests/
#   conftest.py
#   test_handler.py
# infrastructure/
#   app.js
#   cdk.json
#   lib/my-awesome-api-stack.js
# .github/workflows/
#   deploy.yml
# Dockerfile
# pyproject.toml
# README.md

Desplegar en AWS

cd my-awesome-api
npx cdk bootstrap  # solo la primera vez
npx cdk deploy
# o mediante LambdaForge (incluye empaquetado de dependencias + barra de progreso)
lambdaforge deploy
lambdaforge deploy --env staging
lambdaforge deploy --env prod

Actualizar un proyecto existente

¿Ya tienes una Lambda pero quieres aplicar las mejores prácticas de LambdaForge?

cd my-existing-lambda
lambdaforge upgrade

# Detecta: Python 3.11, sin observabilidad, sin pruebas
# Añade: aws-lambda-powertools, pytest+moto, CI/CD
# Actualiza: Python 3.12, ARM64, tags Well-Architected
# Preserva: Tu lógica de negocio

Plantillas

Plantilla Trigger Caso de Uso Estado
python-api API Gateway APIs REST/HTTP ✅ Estable
python-cron EventBridge Schedule Tareas programadas ✅ Estable
python-queue SQS Workers asíncronos ✅ Estable
python-stream Kinesis Analítica en tiempo real ✅ Estable
python-s3 S3 Events Procesamiento de archivos ✅ Estable
typescript-api API Gateway Lambdas Node.js 🔜 Roadmap
go-stream Kinesis Alto rendimiento 🔜 Roadmap

Estructura del Proyecto

lambdaforge/
├── src/lambdaforge/
│   ├── __init__.py         # Versión, metadatos
│   ├── cli.py              # CLI basada en Click (modo interactivo + directo)
│   ├── templates.py        # 5 definiciones de plantillas
│   ├── renderer.py         # Wrapper de Cookiecutter
│   ├── bedrock_client.py   # Wrapper de la API de Amazon Bedrock
│   ├── spec_generator.py   # Generador de Kiro specs con IA
│   ├── upgrade.py          # Modo actualización para Lambdas existentes
│   ├── status.py           # Estado del proyecto y recursos
│   ├── logs.py             # Visor de logs de CloudWatch
│   └── deploy.py           # Wrapper de despliegue CDK (bootstrap/destroy)
├── templates/
│   ├── python-api/         # Plantilla REST API (Cookiecutter)
│   ├── python-cron/        # Plantilla tareas programadas
│   ├── python-queue/       # Plantilla cola SQS
│   ├── python-stream/      # Plantilla stream Kinesis
│   └── python-s3/          # Plantilla eventos S3
│       └── {{cookiecutter.project_slug}}/
│           ├── src/        # Código Lambda + powertools
│           ├── tests/      # pytest + moto
│           ├── infrastructure/  # CDK JavaScript
│           ├── .github/workflows/  # CI/CD + Dependabot
│           └── ...
├── infrastructure/         # CDK para la propia API de LambdaForge
│   ├── app.py
│   ├── cdk.json
│   └── lib/lambdaforge_stack.py
├── tests/                  # Pruebas unitarias de LambdaForge
│   ├── conftest.py
│   ├── test_cli.py
│   ├── test_templates.py
│   ├── test_renderer.py
│   ├── test_bedrock_client.py
│   └── test_spec_generator.py
├── .kiro/
│   ├── specs/              # Specs propias de LambdaForge
│   │   ├── 00-overview.md
│   │   ├── 01-architecture.md
│   │   ├── 02-acceptance-criteria.md
│   │   └── 03-implementation-plan.md
│   └── steering/           # Estándares de desarrollo
│       ├── code-standards.md
│       ├── testing.md
│       ├── security.md
│       ├── templates.md
│       └── aws-best-practices.md
├── .github/workflows/      # CI/CD para LambdaForge
│   ├── ci.yml
│   └── release.yml
├── pyproject.toml
├── LICENSE                  # Apache-2.0
├── CONTRIBUTING.md
├── CHANGELOG.md
└── README.md

Cómo Funciona

1. Selección de Plantilla

LambdaForge incluye plantillas Cookiecutter preconfiguradas para cada patrón Lambda. Las plantillas se almacenan en templates/ y se renderizan con los valores específicos del proyecto.

2. Kiro Specs Generadas por IA

Después de renderizar la plantilla, LambdaForge llama a Amazon Bedrock con el nombre del proyecto, descripción y plantilla elegida. Bedrock (usando Claude Sonnet 4.5) genera 4 archivos de specs en el formato de Kiro:

  • 00-overview.md: Descripción general del proyecto
  • 01-architecture.md: Arquitectura del sistema con servicios AWS
  • 02-acceptance-criteria.md: Criterios de aceptación verificables
  • 03-implementation-plan.md: Plan de implementación por fases

3. Mejores Prácticas Integradas

Cada proyecto generado incluye:

  • aws-lambda-powertools: logging estructurado, trazas X-Ray, métricas CloudWatch
  • Pydantic: validación de entrada
  • Arquitectura ARM64: 20% de reducción de costos vs x86_64
  • Tags Well-Architected: Project, Environment, CostCenter, ManagedBy
  • CloudWatch Dashboard: Dashboard preconfigurado para cada stack
  • OIDC para CI/CD: Sin claves AWS de larga duración en GitHub

4. Despliegue con un Solo Comando

lambdaforge deploy ejecuta npx cdk deploy con manejo de errores adecuado, reporte de progreso y rollback en caso de fallo.

Estimación de Costos

LambdaForge en sí tiene costos mínimos:

Recurso Costo
Amazon Bedrock (Claude Sonnet 4.5) ~$0.003 por generación de specs
Lambda (comando upgrade) <$0.0001 por invocación
Total por nuevo proyecto ~$0.003

Los proyectos que LambdaForge genera están diseñados para caber en el AWS Free Tier.

Seguridad

  • ✅ Sin claves AWS de larga duración: Usa OIDC para CI/CD
  • ✅ IAM de mínimo privilegio: Cada Lambda obtiene un rol limitado
  • ✅ Validación con Pydantic: Todas las entradas validadas
  • ✅ Logging estructurado con Powertools: Sin PII en los logs
  • ✅ Secretos via AWS Secrets Manager: Nunca en variables de entorno

Pruebas

# Pruebas unitarias + integración (usa moto - sin llamadas reales a AWS)
pytest

# Con cobertura
pytest --cov=src --cov-report=html

# Verificación de tipos
mypy src/

# Linting
ruff check .

Roadmap

  • Publicar en PyPI
  • Plantilla typescript-api
  • Plantilla go-stream
  • UI web interactiva para usuarios sin CLI
  • Detección de desviación de specs (regenerar cuando el código cambia)
  • Despliegue multi-región
  • Estimación de costos antes del despliegue

Contribuir

¡Las contribuciones son bienvenidas! Consulta CONTRIBUTING.md para las guías de contribución.

Licencia

Apache-2.0 © 2026 LambdaForge Contributors

Construido con Kiro

Este proyecto fue construido usando Kiro — el IDE potenciado por IA que convierte specs en código desplegable. Todos los archivos .kiro/specs/ de LambdaForge y de cada proyecto que genera están escritos en el formato estructurado de Kiro.

Agradecimientos

  • Equipo de Kiro por el flujo de desarrollo dirigido por specs
  • Equipo de AWS Lambda por la plataforma serverless
  • Anthropic por Claude (via Amazon Bedrock)

Metadata

Release files for lambda-forge-cli-aws 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lambda-forge-cli-aws 1.0.1
File Size Uploaded Provenance
lambda_forge_cli_aws-1.0.1.tar.gz 73.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for lambda-forge-cli-aws 1.0.1
File Interpreter ABI Platform
lambda_forge_cli_aws-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 147.5 kB

Release files / lambda_forge_cli_aws-1.0.1.tar.gz

Download URL lambda_forge_cli_aws-1.0.1.tar.gz
Size 73.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9f5d07adc918524c00775f6548bd118ade913bedceee0261afcd0301b579f9ef
BLAKE2b-256 checksum
How to use checksums
89706f508536d7e2aeae67e5e079cff4422b4967e9da8b353741a239075b539a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / lambda_forge_cli_aws-1.0.1-py3-none-any.whl

Download URL lambda_forge_cli_aws-1.0.1-py3-none-any.whl
Size 74.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
808fa67bb0de3272fcdb8b01653655abb191df8ee0f607810073f664e7bedabc
BLAKE2b-256 checksum
How to use checksums
0bde2849cfc0dd92685371ae9494bcf379a25b5f444abba87280ee4242e42299
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Security for lambda-forge-cli-aws 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page