lambda-forge-cli-aws 1.0.0__tar.gz → 1.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/PKG-INFO +4 -5
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/README.md +3 -4
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/pyproject.toml +1 -1
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/src/lambdaforge/__init__.py +1 -1
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/tests/test_cli.py +3 -3
- lambda_forge_cli_aws-1.0.0/VIDEO_PITCH.md +0 -259
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.github/workflows/ci.yml +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.github/workflows/release.yml +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.gitignore +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/hooks/lint-on-save.kiro.hook +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/hooks/run-tests-after-task.kiro.hook +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/hooks/security-check-infra.kiro.hook +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/hooks/template-standards-check.kiro.hook +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/hooks/validate-cookiecutter-vars.kiro.hook +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/specs/00-overview.md +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/specs/01-architecture.md +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/specs/02-acceptance-criteria.md +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/specs/03-implementation-plan.md +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/steering/aws-best-practices.md +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/steering/code-standards.md +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/steering/security.md +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/steering/templates.md +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/steering/testing.md +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/CHANGELOG.md +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/CONTRIBUTING.md +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/LICENSE +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/infrastructure/.gitignore +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/infrastructure/app.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/infrastructure/cdk.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/infrastructure/lib/lambdaforge_stack.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/infrastructure/requirements.txt +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/scripts/release.sh +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/src/lambdaforge/bedrock_client.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/src/lambdaforge/cli.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/src/lambdaforge/deploy.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/src/lambdaforge/logs.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/src/lambdaforge/renderer.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/src/lambdaforge/spec_generator.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/src/lambdaforge/status.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/src/lambdaforge/templates.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/src/lambdaforge/upgrade.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/cookiecutter.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/.github/workflows/dependabot.yml +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/.github/workflows/deploy.yml +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/.gitignore +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/Dockerfile +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/README.md +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/infrastructure/app.js +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/infrastructure/cdk.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/infrastructure/lib/stack.js +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/infrastructure/package.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/pyproject.toml +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/requirements-dev.txt +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/requirements.txt +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/src/handler.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/src/utils/logger.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/tests/conftest.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/{{cookiecutter.project_slug}}/tests/test_handler.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/cookiecutter.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/{{cookiecutter.project_slug}}/.gitignore +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/{{cookiecutter.project_slug}}/Dockerfile +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/{{cookiecutter.project_slug}}/infrastructure/app.js +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/{{cookiecutter.project_slug}}/infrastructure/cdk.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/{{cookiecutter.project_slug}}/infrastructure/lib/stack.js +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/{{cookiecutter.project_slug}}/infrastructure/package.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/{{cookiecutter.project_slug}}/pyproject.toml +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/{{cookiecutter.project_slug}}/requirements.txt +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/{{cookiecutter.project_slug}}/src/handler.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/{{cookiecutter.project_slug}}/tests/conftest.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/{{cookiecutter.project_slug}}/tests/test_handler.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/cookiecutter.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/{{cookiecutter.project_slug}}/.gitignore +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/{{cookiecutter.project_slug}}/Dockerfile +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/{{cookiecutter.project_slug}}/infrastructure/app.js +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/{{cookiecutter.project_slug}}/infrastructure/cdk.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/{{cookiecutter.project_slug}}/infrastructure/lib/stack.js +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/{{cookiecutter.project_slug}}/infrastructure/package.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/{{cookiecutter.project_slug}}/pyproject.toml +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/{{cookiecutter.project_slug}}/requirements.txt +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/{{cookiecutter.project_slug}}/src/handler.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/{{cookiecutter.project_slug}}/tests/conftest.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/{{cookiecutter.project_slug}}/tests/test_handler.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/cookiecutter.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/{{cookiecutter.project_slug}}/.gitignore +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/{{cookiecutter.project_slug}}/Dockerfile +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/{{cookiecutter.project_slug}}/infrastructure/app.js +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/{{cookiecutter.project_slug}}/infrastructure/cdk.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/{{cookiecutter.project_slug}}/infrastructure/lib/stack.js +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/{{cookiecutter.project_slug}}/infrastructure/package.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/{{cookiecutter.project_slug}}/pyproject.toml +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/{{cookiecutter.project_slug}}/requirements.txt +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/{{cookiecutter.project_slug}}/src/handler.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/{{cookiecutter.project_slug}}/tests/conftest.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/{{cookiecutter.project_slug}}/tests/test_handler.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/cookiecutter.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/{{cookiecutter.project_slug}}/.gitignore +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/{{cookiecutter.project_slug}}/Dockerfile +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/{{cookiecutter.project_slug}}/infrastructure/app.js +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/{{cookiecutter.project_slug}}/infrastructure/cdk.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/{{cookiecutter.project_slug}}/infrastructure/lib/stack.js +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/{{cookiecutter.project_slug}}/infrastructure/package.json +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/{{cookiecutter.project_slug}}/pyproject.toml +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/{{cookiecutter.project_slug}}/requirements.txt +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/{{cookiecutter.project_slug}}/src/handler.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/{{cookiecutter.project_slug}}/tests/conftest.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/{{cookiecutter.project_slug}}/tests/test_handler.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/tests/__init__.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/tests/conftest.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/tests/test_bedrock_client.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/tests/test_deploy.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/tests/test_logs.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/tests/test_renderer.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/tests/test_spec_generator.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/tests/test_status.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/tests/test_templates.py +0 -0
- {lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/tests/test_upgrade.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lambda-forge-cli-aws
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.1
|
|
4
4
|
Summary: Zero to Lambda production-ready in 60 seconds, with Kiro specs included. Powered by Amazon Bedrock + AWS CDK.
|
|
5
5
|
Project-URL: Homepage, https://github.com/lambdaforge/lambdaforge
|
|
6
6
|
Project-URL: Documentation, https://lambdaforge.dev/docs
|
|
@@ -44,7 +44,7 @@ Description-Content-Type: text/markdown
|
|
|
44
44
|
[](https://www.python.org/)
|
|
45
45
|
[](https://kiro.dev)
|
|
46
46
|
[](LICENSE)
|
|
47
|
-
[](https://pypi.org/project/lambda-forge-cli-aws/)
|
|
48
48
|
|
|
49
49
|
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.
|
|
50
50
|
|
|
@@ -109,8 +109,8 @@ Cada vez que inicias un nuevo proyecto Lambda debes:
|
|
|
109
109
|
### Instalación
|
|
110
110
|
|
|
111
111
|
```bash
|
|
112
|
-
# Desde PyPI
|
|
113
|
-
pip install
|
|
112
|
+
# Desde PyPI
|
|
113
|
+
pip install lambda-forge-cli-aws
|
|
114
114
|
|
|
115
115
|
# Desde código fuente
|
|
116
116
|
git clone https://github.com/lambdaforge/lambdaforge
|
|
@@ -349,4 +349,3 @@ Este proyecto fue construido usando [Kiro](https://kiro.dev) — el IDE potencia
|
|
|
349
349
|
- **Equipo de Kiro** por el flujo de desarrollo dirigido por specs
|
|
350
350
|
- **Equipo de AWS Lambda** por la plataforma serverless
|
|
351
351
|
- **Anthropic** por Claude (via Amazon Bedrock)
|
|
352
|
-
- **Jeff Barr, Darko Mesaroš, Ana Cunha** — los jueces de HACKATHONKIRO cuya experiencia en serverless y experiencia de desarrollador inspiraron esta herramienta
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
[](https://www.python.org/)
|
|
7
7
|
[](https://kiro.dev)
|
|
8
8
|
[](LICENSE)
|
|
9
|
-
[](https://pypi.org/project/lambda-forge-cli-aws/)
|
|
10
10
|
|
|
11
11
|
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.
|
|
12
12
|
|
|
@@ -71,8 +71,8 @@ Cada vez que inicias un nuevo proyecto Lambda debes:
|
|
|
71
71
|
### Instalación
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
|
-
# Desde PyPI
|
|
75
|
-
pip install
|
|
74
|
+
# Desde PyPI
|
|
75
|
+
pip install lambda-forge-cli-aws
|
|
76
76
|
|
|
77
77
|
# Desde código fuente
|
|
78
78
|
git clone https://github.com/lambdaforge/lambdaforge
|
|
@@ -311,4 +311,3 @@ Este proyecto fue construido usando [Kiro](https://kiro.dev) — el IDE potencia
|
|
|
311
311
|
- **Equipo de Kiro** por el flujo de desarrollo dirigido por specs
|
|
312
312
|
- **Equipo de AWS Lambda** por la plataforma serverless
|
|
313
313
|
- **Anthropic** por Claude (via Amazon Bedrock)
|
|
314
|
-
- **Jeff Barr, Darko Mesaroš, Ana Cunha** — los jueces de HACKATHONKIRO cuya experiencia en serverless y experiencia de desarrollador inspiraron esta herramienta
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "lambda-forge-cli-aws"
|
|
3
|
-
version = "1.0.
|
|
3
|
+
version = "1.0.1"
|
|
4
4
|
description = "Zero to Lambda production-ready in 60 seconds, with Kiro specs included. Powered by Amazon Bedrock + AWS CDK."
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "LambdaForge Team", email = "team@lambdaforge.dev" }
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Tests for LambdaForge CLI commands."""
|
|
1
|
+
"""Tests for LambdaForge CLI commands."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
@@ -16,7 +16,7 @@ def test_version_command():
|
|
|
16
16
|
result = runner.invoke(cli, ["version"])
|
|
17
17
|
assert result.exit_code == 0
|
|
18
18
|
assert "lambdaforge" in result.output
|
|
19
|
-
assert "1.0
|
|
19
|
+
assert "1.0" in result.output
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
def test_templates_command():
|
|
@@ -56,7 +56,7 @@ def test_version_option():
|
|
|
56
56
|
"""Test --version flag on the CLI group."""
|
|
57
57
|
result = runner.invoke(cli, ["--version"])
|
|
58
58
|
assert result.exit_code == 0
|
|
59
|
-
assert "1.0
|
|
59
|
+
assert "1.0" in result.output
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
def test_deploy_command_help():
|
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
# LambdaForge — Guión del Video Pitch
|
|
2
|
-
|
|
3
|
-
**Duración:** 6:00 (objetivo 5:30 - 6:30)
|
|
4
|
-
**Formato:** Grabación de pantalla con voz en off, código mostrado en IDE
|
|
5
|
-
**Relación de aspecto:** 16:9
|
|
6
|
-
**Resolución:** 1080p
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Notas de Pre-Producción
|
|
11
|
-
|
|
12
|
-
- **Presentador**: Presentador solo (o 2 si el equipo es de 2: narrador + operador de demo)
|
|
13
|
-
- **Estilo visual**: IDE en modo oscuro (Kiro), terminal con tema monokai, consola AWS
|
|
14
|
-
- **Música de fondo**: Electrónica sutil, 30% de volumen
|
|
15
|
-
- **Ritmo**: Conversacional pero enérgico
|
|
16
|
-
- **Sin emojis, sin relleno**: Solo código, resultados y propuesta de valor clara
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Guión
|
|
21
|
-
|
|
22
|
-
### [0:00 - 0:30] Gancho — El Problema
|
|
23
|
-
|
|
24
|
-
**[Visual: Tarjeta de título "LambdaForge"]**
|
|
25
|
-
|
|
26
|
-
**Narrador:**
|
|
27
|
-
> "Todo desarrollador serverless conoce la rutina. Empiezas un nuevo proyecto Lambda. Escribes el mismo `pyproject.toml`. Copias el mismo stack CDK de tu último proyecto. Conectas el mismo logger de `aws-lambda-powertools`. Escribes el mismo workflow de GitHub Actions. Añades el mismo setup de `pytest + moto`.
|
|
28
|
-
>
|
|
29
|
-
> Y antes de escribir una sola línea de *lógica de negocio real*, **dos horas se han ido**.
|
|
30
|
-
>
|
|
31
|
-
> Multiplica eso por cada nuevo proyecto en tu equipo. Multiplica eso por el 30% de cada sprint que es solo fontanería. Eso es **un tercio de tu tiempo de desarrollo**, gastado en código repetitivo que es igual para cada proyecto.
|
|
32
|
-
>
|
|
33
|
-
> Construimos **LambdaForge** para resolver eso."
|
|
34
|
-
|
|
35
|
-
**[Visual: Montaje rápido del boilerplate — pyproject, CDK stack, GitHub Actions, sentencias de log]**
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
### [0:30 - 1:30] La Solución — LambdaForge en 60 Segundos
|
|
40
|
-
|
|
41
|
-
**[Visual: Terminal con `$ lambdaforge new` escrito pero sin ejecutar]**
|
|
42
|
-
|
|
43
|
-
**Narrador:**
|
|
44
|
-
> "LambdaForge es un CLI que genera un proyecto completo de AWS Lambda listo para producción en **60 segundos** — con specs generadas por IA, ARM64 por defecto, y mejores prácticas AWS Well-Architected integradas.
|
|
45
|
-
>
|
|
46
|
-
> Observa esto."
|
|
47
|
-
|
|
48
|
-
**[Visual: Demo en vivo — grabación de terminal]**
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
$ pip install lambdaforge
|
|
52
|
-
$ lambdaforge new
|
|
53
|
-
|
|
54
|
-
? Project name: taskmaster-api
|
|
55
|
-
? Template: python-api
|
|
56
|
-
? Description: Task management REST API
|
|
57
|
-
? Author: Ada Lovelace
|
|
58
|
-
? Email: ada@example.com
|
|
59
|
-
? AWS region: us-east-1
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**Narrador (sobre los prompts):**
|
|
63
|
-
> "Seis preguntas. Nombre del proyecto, plantilla, descripción, autor, email, región. Eso es todo."
|
|
64
|
-
|
|
65
|
-
**[Visual: Salida fluyendo]**
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
✓ Rendering template (3.2s)
|
|
69
|
-
✓ Generating Kiro specs via Amazon Bedrock (8.4s)
|
|
70
|
-
✓ 00-overview.md
|
|
71
|
-
✓ 01-architecture.md
|
|
72
|
-
✓ 02-acceptance-criteria.md
|
|
73
|
-
✓ 03-implementation-plan.md
|
|
74
|
-
✓ Initializing git
|
|
75
|
-
✓ Project ready at ./taskmaster-api
|
|
76
|
-
Total time: 47 seconds
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
**Narrador:**
|
|
80
|
-
> "Cuarenta y siete segundos. Nombre del proyecto, specs generadas por IA, código funcional, infraestructura, pipeline CI/CD — listo."
|
|
81
|
-
|
|
82
|
-
**[Visual: Árbol de archivos aparece]**
|
|
83
|
-
|
|
84
|
-
```
|
|
85
|
-
taskmaster-api/
|
|
86
|
-
├── .kiro/specs/ ← 4 specs generadas por IA
|
|
87
|
-
├── src/handler.py
|
|
88
|
-
├── tests/test_handler.py
|
|
89
|
-
├── infrastructure/lib/taskmaster-api-stack.ts
|
|
90
|
-
├── .github/workflows/deploy.yml
|
|
91
|
-
├── Dockerfile
|
|
92
|
-
└── pyproject.toml
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
### [1:30 - 2:45] Inmersión — Lo Que Obtienes
|
|
98
|
-
|
|
99
|
-
**[Visual: Abrir cada archivo en Kiro IDE, desplazarse rápidamente]**
|
|
100
|
-
|
|
101
|
-
**Narrador:**
|
|
102
|
-
> "Veamos lo que realmente obtuvimos."
|
|
103
|
-
|
|
104
|
-
**[Visual: src/handler.py]**
|
|
105
|
-
|
|
106
|
-
> "Handler con aws-lambda-powertools preconfigurado. Logger, tracer, metrics. Pydantic para validación de entrada. Arquitectura ARM64 — 20% más barato que x86_64. Optimización de arranque en frío integrada."
|
|
107
|
-
|
|
108
|
-
**[Visual: infrastructure/lib/stack.js]**
|
|
109
|
-
|
|
110
|
-
> "Stack CDK en JavaScript — sin necesidad de compilar TypeScript. Tabla DynamoDB con precio bajo demanda. API Gateway con throttling. CloudWatch Dashboard — creado automáticamente. **Todos los recursos etiquetados con tags Well-Architected**: Project, Environment, CostCenter, ManagedBy."
|
|
111
|
-
|
|
112
|
-
**[Visual: .github/workflows/deploy.yml]**
|
|
113
|
-
|
|
114
|
-
> "CI/CD usando **OIDC**. Sin claves AWS de larga duración en GitHub secrets. El workflow asume un rol IAM usando `aws-actions/configure-aws-credentials`. Pruebas en cada PR, despliegue al hacer merge a main."
|
|
115
|
-
|
|
116
|
-
**[Visual: .kiro/specs/00-overview.md]**
|
|
117
|
-
|
|
118
|
-
> "Y las Kiro specs — generadas por **Amazon Bedrock usando Claude Sonnet 4.5**. Describen el proyecto, la arquitectura, los criterios de aceptación y el plan de implementación. Kiro IDE usa estas specs para potenciar sus agentes de IA cuando sigues construyendo."
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
### [2:45 - 4:00] Demo en Vivo — De Cero a Desplegado
|
|
123
|
-
|
|
124
|
-
**[Visual: Terminal, ventana nueva]**
|
|
125
|
-
|
|
126
|
-
**Narrador:**
|
|
127
|
-
> "Ahora ejecutémoslo de verdad. Vamos a crear un proyecto, probarlo localmente con moto, y desplegarlo en AWS — todo sin salir de la terminal."
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
$ lambdaforge new
|
|
131
|
-
# ... prompts ...
|
|
132
|
-
|
|
133
|
-
$ cd taskmaster-api
|
|
134
|
-
$ pytest
|
|
135
|
-
# Output: 12 passed, coverage 87%
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
**Narrador:**
|
|
139
|
-
> "Doce pruebas pasan, 87% de cobertura. moto simula todos los servicios AWS — sin llamadas reales a AWS durante las pruebas, así que es rápido y gratuito."
|
|
140
|
-
|
|
141
|
-
```bash
|
|
142
|
-
$ npx cdk bootstrap
|
|
143
|
-
# solo la primera vez
|
|
144
|
-
|
|
145
|
-
$ npx cdk deploy
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
**[Visual: Consola de AWS CloudFormation abriéndose en el navegador]**
|
|
149
|
-
|
|
150
|
-
> "CDK despliega en 90 segundos. El stack crea una tabla DynamoDB, una función Lambda, un API Gateway, y un CloudWatch Dashboard."
|
|
151
|
-
|
|
152
|
-
**[Visual: URL de API Gateway aparece en la salida del terminal]**
|
|
153
|
-
|
|
154
|
-
```
|
|
155
|
-
✅ TaskMasterApi-dev
|
|
156
|
-
|
|
157
|
-
Outputs:
|
|
158
|
-
TaskMasterApiDevApiUrl = https://abc123.execute-api.us-east-1.amazonaws.com/prod
|
|
159
|
-
TaskMasterApiDevTableName = TaskMasterApi-dev-items
|
|
160
|
-
TaskMasterApiDevFunctionName = TaskMasterApi-dev-handler
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
**Narrador:**
|
|
164
|
-
> "Tres salidas: la URL de la API, el nombre de la tabla DynamoDB, y el nombre de la función Lambda. Podemos llamar a la API ahora mismo."
|
|
165
|
-
|
|
166
|
-
```bash
|
|
167
|
-
$ curl -X POST https://abc123.execute-api.us-east-1.amazonaws.com/prod/items \
|
|
168
|
-
-H "Content-Type: application/json" \
|
|
169
|
-
-d '{"key":"task-1","data":{"title":"Buy milk","done":false}}'
|
|
170
|
-
|
|
171
|
-
# {"key":"task-1","data":{"title":"Buy milk","done":false},"createdAt":"2026-07-23T10:12:43.123Z"}
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
**Narrador:**
|
|
175
|
-
> "Doscientos uno creado, item persistido en DynamoDB. Tiempo total desde `$ lambdaforge new` hasta una API funcional y desplegada en producción: **cuatro minutos**."
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
### [4:00 - 4:45] El Diferenciador — Kiro Specs + Bedrock
|
|
180
|
-
|
|
181
|
-
**[Visual: Lado a lado — Kiro IDE a la izquierda, spec generada a la derecha]**
|
|
182
|
-
|
|
183
|
-
**Narrador:**
|
|
184
|
-
> "Lo que hace especial a LambdaForge no es el boilerplate — cualquiera puede escribir una plantilla Cookiecutter. Lo especial es la **integración con Kiro y Amazon Bedrock**.
|
|
185
|
-
>
|
|
186
|
-
> Cuando creas un proyecto, LambdaForge llama a Bedrock con la descripción del proyecto y el tipo de plantilla. Bedrock genera cuatro archivos de Kiro spec en el formato correcto. Cuando abres el proyecto en Kiro, el agente de IA ya comprende la arquitectura, los criterios de aceptación y el plan de implementación. No empiezas desde un archivo en blanco — empiezas con un **contexto dirigido por specs** que potencia cada funcionalidad de Kiro."
|
|
187
|
-
|
|
188
|
-
**[Visual: Panel de chat de Kiro con una pregunta sobre añadir autenticación]**
|
|
189
|
-
|
|
190
|
-
> "Cuando le preguntas a Kiro 'añade autenticación Cognito a esta API', ya conoce la arquitectura. Propone cambios que coinciden con los patrones existentes. No reinventa tu proyecto — lo extiende."
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
### [4:45 - 5:30] Construido sobre Mejores Prácticas de AWS
|
|
195
|
-
|
|
196
|
-
**[Visual: Diagrama de arquitectura del spec 01]**
|
|
197
|
-
|
|
198
|
-
**Narrador:**
|
|
199
|
-
> "LambdaForge no es solo un generador de proyectos — es un framework con opinión que aplica las mejores prácticas de AWS.
|
|
200
|
-
>
|
|
201
|
-
> Cada proyecto generado:
|
|
202
|
-
> - Usa **ARM64** para 20% de reducción de costos
|
|
203
|
-
> - Usa **aws-lambda-powertools** para logging estructurado, trazas y métricas
|
|
204
|
-
> - Usa **Pydantic** para validación de entrada
|
|
205
|
-
> - Usa **DynamoDB bajo demanda** para pagar solo por lo que usas
|
|
206
|
-
> - Usa **OIDC** para CI/CD, sin secretos de larga duración
|
|
207
|
-
> - Está etiquetado con la taxonomía de tags **AWS Well-Architected**
|
|
208
|
-
> - Incluye un **CloudWatch Dashboard** para observabilidad
|
|
209
|
-
> - Incluye **GitHub Dependabot** para actualizaciones automáticas de dependencias
|
|
210
|
-
>
|
|
211
|
-
> Estas no son decisiones que tengas que tomar. Están **integradas**."
|
|
212
|
-
|
|
213
|
-
---
|
|
214
|
-
|
|
215
|
-
### [5:30 - 6:00] Llamada a la Acción
|
|
216
|
-
|
|
217
|
-
**[Visual: Repositorio en GitHub]**
|
|
218
|
-
|
|
219
|
-
**Narrador:**
|
|
220
|
-
> "LambdaForge es open source bajo licencia Apache 2.0. Funciona con Python 3.12, usa Amazon Bedrock para la generación de specs, y viene con cinco plantillas hoy — REST API, Cron, SQS, Kinesis, y eventos S3. Todas completamente implementadas. Plantillas en TypeScript y Go están en el roadmap.
|
|
221
|
-
>
|
|
222
|
-
> Si eres un desarrollador serverless cansado de escribir el mismo boilerplate, prueba LambdaForge. Sesenta segundos hasta un Lambda desplegado y bien arquitectado.
|
|
223
|
-
>
|
|
224
|
-
> GitHub: `github.com/lambdaforge/lambdaforge`.
|
|
225
|
-
>
|
|
226
|
-
> Gracias por ver."
|
|
227
|
-
|
|
228
|
-
**[Visual: Tarjeta de título con logo, URL de GitHub, y una sola línea: "Despliega Lambdas en 60 segundos."]**
|
|
229
|
-
|
|
230
|
-
**[Música se desvanece]**
|
|
231
|
-
|
|
232
|
-
---
|
|
233
|
-
|
|
234
|
-
## B-Roll / Tomas de Apoyo a Capturar
|
|
235
|
-
|
|
236
|
-
- [ ] Terminal con `$ lambdaforge new --help`
|
|
237
|
-
- [ ] Directorio de plantillas Cookiecutter
|
|
238
|
-
- [ ] Consola de AWS Bedrock (mostrando modelo: Claude Sonnet 4.5)
|
|
239
|
-
- [ ] Kiro IDE con spec generada abierta
|
|
240
|
-
- [ ] Stack de AWS CDK en la consola de CloudFormation (explorando recursos)
|
|
241
|
-
- [ ] Endpoint de API Gateway siendo consultado con `curl`
|
|
242
|
-
- [ ] CloudWatch Dashboard con métricas
|
|
243
|
-
- [ ] Tabla DynamoDB con items
|
|
244
|
-
- [ ] Workflow de GitHub Actions ejecutándose
|
|
245
|
-
|
|
246
|
-
## Post-Producción
|
|
247
|
-
|
|
248
|
-
- [ ] Añadir subtítulos en español e inglés
|
|
249
|
-
- [ ] Añadir marcadores de capítulos:
|
|
250
|
-
- 0:00 — El Problema
|
|
251
|
-
- 0:30 — LambdaForge en 60 Segundos
|
|
252
|
-
- 1:30 — Lo Que Obtienes
|
|
253
|
-
- 2:45 — Demo en Vivo
|
|
254
|
-
- 4:00 — Kiro + Bedrock
|
|
255
|
-
- 4:45 — Mejores Prácticas AWS
|
|
256
|
-
- 5:30 — Llamada a la Acción
|
|
257
|
-
- [ ] Exportar como MP4 H.264, 1080p, 30fps
|
|
258
|
-
- [ ] Subir a YouTube (no listado) y adjuntar a la postulación
|
|
259
|
-
- [ ] Verificación final de duración: 5:30 - 6:30
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/hooks/lint-on-save.kiro.hook
RENAMED
|
File without changes
|
{lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/hooks/run-tests-after-task.kiro.hook
RENAMED
|
File without changes
|
{lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/hooks/security-check-infra.kiro.hook
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/specs/02-acceptance-criteria.md
RENAMED
|
File without changes
|
{lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/specs/03-implementation-plan.md
RENAMED
|
File without changes
|
{lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/.kiro/steering/aws-best-practices.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/infrastructure/lib/lambdaforge_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-api/cookiecutter.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-cron/cookiecutter.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-queue/cookiecutter.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-s3/cookiecutter.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lambda_forge_cli_aws-1.0.0 → lambda_forge_cli_aws-1.0.1}/templates/python-stream/cookiecutter.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|