Skip to content

[Community] GitHub Strands Extension Template #1537

@mkmeral

Description

@mkmeral

Part of Community Health & Ecosystem Strategy

Problem

Publishing a Strands extension (tool, model provider, hook provider, session manager) currently requires hours of setup:

  • Create a GitHub repository
  • Set up a PyPI account
  • Configure GitHub Actions for CI/CD
  • Set up package structure (pyproject.toml, src layout)
  • Write documentation
  • Configure secrets for publishing

Requirements

Naming Convention

  • Package: strands-{name} (e.g., strands-slack, strands-ollama, strands-redis-session)
  • Import: strands_{name}
  • GitHub topic: strands-extension (for catalog discovery)

Template Contents

  • Pre-configured pyproject.toml with proper package structure
  • src/ layout following Python best practices
  • GitHub Actions workflow for:
    • CI (linting, testing)
    • PyPI publishing on release
  • README template with usage instructions
  • Basic test structure
  • .gitignore for Python projects
  • License file (Apache 2.0)

User Flow

  1. Click "Use this template" on GitHub
  2. Clone repo, rename package, add code
  3. Configure PYPI_API_TOKEN secret
  4. Create GitHub release → auto-publishes to PyPI
  5. Add strands-extension topic for catalog visibility

Acceptance Criteria

  • Template repo created at strands-agents/strands-extension-template-python
  • CI/CD workflows tested and working
  • README with clear setup instructions
  • Example implementation included
  • Documentation on how to use the template

Metadata

Metadata

Assignees

Labels

area-communityRelated to community and contributor healthenhancementNew feature or request

Type

No type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions