Skip to main content

Contributing

Report an issue in the repository that owns the affected behavior:

For a proposed change, describe the behavior, the smallest reproducible case, and the tests that demonstrate the intended result. Keep changes scoped to the affected repository and update its documentation or tests when behavior changes.

Core package​

From the repository root:

python -m pip install . pytest
python -m pytest -q

The CI workflow also verifies the public import surface with an inline Python command.

CDK integration​

From the repository root:

python -m pip install --upgrade pip
python -m pip install --editable . pytest tomli
pytest -q

The package import is checked separately with:

python -c "import lambda_api_decorators_cdk"

Examples​

Run these commands from either quickstart-rest or http-api in the examples repository:

python -m pip install -r requirements-dev.txt
pytest -q
cdk synth --quiet

The example workflow also requires the AWS CDK CLI and Docker. Deployment commands require AWS credentials; synthesis and tests are the contribution checks described here.

The documentation site can be checked from this repository with:

corepack enable
yarn install --immutable
yarn typecheck
yarn build

AI-assisted development​

The agent-skills catalog publishes two independently installable skills, versioned together (latest verified release: v0.1.1):

  • build-with-lambda-api-decorators for applications consuming the released Python packages;
  • maintain-lambda-api-decorators for contributors changing source, tests, contracts, examples, or documentation.

Install only the skill you need using GitHub CLI with gh skill (GitHub CLI 2.90.0 or newer):

gh skill install infrastructure-as-decorator/agent-skills build-with-lambda-api-decorators@v0.1.1
gh skill install infrastructure-as-decorator/agent-skills maintain-lambda-api-decorators@v0.1.1

The skills are distributed only through GitHub. See the agent-skills README for installation and updates. The former lambda-api-decorators-development skill is obsolete.

Packaged API contracts​

Both released Python distributions contain _agent/api-contract.json (machine-readable API declarations) and _agent/behavior.md (behavioral guidance). The contract uses schema_version: "1.0"; the package version is read from distribution metadata rather than embedded in the JSON.

Consumers should use the contracts shipped with their installed package versions instead of copying snapshots from a repository or assuming a newer API exists. The consumer skill provides guidance for that workflow without requiring source checkouts or maintainer audits.

When changing a library, the current source and tests take precedence over packaged contracts until the change is released. Contract auditing and release coordination belong to the maintainer skill.