README.md

July 16, 2026 · View on GitHub

Strands Agents Extension Template

Build and publish custom components for Strands Agents.

DocumentationPython SDKTypeScript SDKToolsCommunity Packages

This monorepo contains starter templates for building custom Strands Agents extensions in two languages. Each template gives you skeletons for the major extension points, an interactive setup script that customizes the project for your package, and CI/publish workflows wired up to PyPI or npm.

LanguageDirectoryPackage registrySDK
Pythonpython/PyPIstrands-agents
TypeScripttypescript/npm@strands-agents/sdk

Getting started

  1. Click Use this template on GitHub to create your own repository.
  2. Clone it locally and decide which language you're targeting.
  3. Open the corresponding subdirectory and follow its README:

You can keep both subprojects in the same repo if your package ships SDKs in both languages, or delete the directory you don't need.

What's in each template

Both templates expose the same seven Strands extension points so you can pick whichever fits your use case:

ComponentPurpose
ToolAdd capabilities to agents using the tool primitive
Model providerIntegrate custom LLM APIs
PluginBundle hooks and tools into a composable package
InterventionAdd composable control handlers for authorization, guardrails, and steering
Session managerPersist conversations across restarts
Conversation managerControl context window and message history
Memory storeGive agents cross-session knowledge via a search backend

The interactive setup script in each subdirectory removes the components you don't select, renames everything to your package name, and wires up pyproject.toml / package.json accordingly.

Releases and tags

Releases are scoped per language so the two halves of this monorepo can ship independently:

Tag prefixWorkflowPublishes to
python-v*publish-python.ymlPyPI
typescript-v*publish-typescript.ymlnpm

Once you've run the setup script for your language of choice, you can drop the dual-prefix scheme and use the standard v* form if you'd rather not carry the monorepo conventions into your own repo.

License

Apache 2.0 — see LICENSE for details.