Developer-kit aws-sam-bootstrap
Provides AWS SAM bootstrap patterns: generates `template.yaml` and `samconfig.toml` for new projects via `sam init`, creates SAM templates for existing Lambda/CloudFormation code migration, validates build/package/deploy workflows, and configures local testing with `sam local invoke`. Use when the user asks about SAM projects, `sam init`, `sam deploy`, serverless deployments, or needs to bootstrap/migrate Lambda functions with SAM templates.
git clone https://github.com/giuseppe-trisciuoglio/developer-kit
T=$(mktemp -d) && git clone --depth=1 https://github.com/giuseppe-trisciuoglio/developer-kit "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/developer-kit-aws/skills/aws/aws-sam-bootstrap" ~/.claude/skills/giuseppe-trisciuoglio-developer-kit-aws-sam-bootstrap && rm -rf "$T"
plugins/developer-kit-aws/skills/aws/aws-sam-bootstrap/SKILL.mdAWS SAM Bootstrap
Overview
Generates SAM project artifacts for greenfield and migration scenarios. Creates the minimum required files (
template.yaml, samconfig.toml, events/), validates with sam build, and configures sam deploy workflows following AWS SAM conventions.
When to Use
- User needs to start a new AWS SAM project (
,sam init
)sam deploy - User wants to migrate existing Lambda functions or CloudFormation resources to SAM templates
- User asks about SAM CLI commands (
,sam init
,sam build
,sam local invoke
)sam deploy - User needs to create or update
ortemplate.yaml
for serverless deploymentssamconfig.toml - User wants to configure local testing with
for Lambda functionssam local invoke
Instructions
1) Classify Scenario
- New project: no Lambda structure exists. Run
to scaffold.sam init - Existing project migration: Lambda/CloudFormation resources exist. Create
manually.template.yaml
2) Select Runtime and Package Type
Use current non-deprecated runtimes. Package type: Zip (default) or Image (container/native deps).
3) Bootstrap New Projects
sam init sam build sam local invoke <LogicalFunctionId> -e events/event.json sam deploy --guided
4) Bootstrap Existing Projects
- Inspect current Lambda handlers, runtime, and dependency layout
- Create
withtemplate.yamlTransform: AWS::Serverless-2016-10-31 - Map existing resources to
and related SAM resourcesAWS::Serverless::Function - Create
with deploy defaults and environment overridessamconfig.toml - Add
payload samples for local invocationevents/event.json - Validate with
andsam validate
before deploysam build
5) Required Artifacts
. ├── template.yaml ├── samconfig.toml └── events/ └── event.json
See reference templates: examples.md, migration-checklist.md
6) Validation Checklist
succeedssam validate
succeedssam build
has correct logical IDs and handlerstemplate.yaml
contains deploy parameters for target environmentssamconfig.toml
Examples
New SAM Project
sam init # Interactive scaffold sam build sam local invoke HelloFunction -e events/event.json sam deploy --guided
Migrate Existing Lambda
- Detect handler/runtime → create
with SAM transformtemplate.yaml - Add
withsamconfig.toml
,stack_name
,capabilitiesresolve_s3 - Add
→ validate withevents/event.jsonsam build
Full templates in references/examples.md.
Best Practices
- One deployable function first, then expand; keep migration-first PRs minimal
- Keep
committed for deterministic deploymentssamconfig.toml - Use environment-specific sections (
,[default]
) instead of CLI flags[prod] - Map existing handler paths to SAM conventions during migration
Constraints and Warnings
- SAM CLI must be installed locally for command execution
is required when IAM resources are createdCAPABILITY_IAM- Container image packaging requires Docker availability
- Existing projects may require refactoring handler paths to match SAM conventions
writes local configuration; review before committingsam deploy --guided