Skip to content

fix: separate inputs for more framework and agent adapter options#479

Open
zimeg wants to merge 1 commit intomainfrom
zimeg-fix-create-inputs
Open

fix: separate inputs for more framework and agent adapter options#479
zimeg wants to merge 1 commit intomainfrom
zimeg-fix-create-inputs

Conversation

@zimeg
Copy link
Copy Markdown
Member

@zimeg zimeg commented Apr 9, 2026

Changelog

We prompt for the agent adapter after asking which Bolt framework you'd like to use when slack create agent is used. More templates become available with this change.

Summary

This PR fixes the slack create agent command prompts with separate inputs for more framework and agent adapter options. This includes the following templates now:

Getting started

  • slack-samples/bolt-js-starter-template
  • slack-samples/bolt-python-starter-template

Support agent

  • slack-samples/bolt-js-support-agent --subdir claude-agent-sdk
  • slack-samples/bolt-js-support-agent --subdir openai-agents-sdk
  • slack-samples/bolt-python-support-agent --subdir claude-agent-sdk
  • slack-samples/bolt-python-support-agent --subdir openai-agents-sdk
  • slack-samples/bolt-python-support-agent --subdir pydantic-ai

Starter agent

  • slack-samples/bolt-js-starter-agent --subdir claude-agent-sdk
  • slack-samples/bolt-js-starter-agent --subdir openai-agents-sdk
  • slack-samples/bolt-python-starter-agent --subdir claude-agent-sdk
  • slack-samples/bolt-python-starter-agent --subdir openai-agents-sdk
  • slack-samples/bolt-python-starter-agent --subdir pydantic-ai

Automation apps

  • slack-samples/bolt-js-custom-function-template
  • slack-samples/bolt-python-custom-function-template
  • slack-samples/deno-starter-template

Preview

create.mov

Reviewers

Confirm the expected options appear with the following commands:

$ slack create
$ slack create agent

Requirements

@zimeg zimeg added this to the Next Release milestone Apr 9, 2026
@zimeg zimeg requested a review from mwbrooks April 9, 2026 02:05
@zimeg zimeg self-assigned this Apr 9, 2026
@zimeg zimeg requested a review from a team as a code owner April 9, 2026 02:05
@zimeg zimeg added bug M-T: confirmed bug report. Issues are confirmed when the reproduction steps are documented changelog Use on updates to be included in the release notes semver:patch Use on pull requests to describe the release version increment area:bolt-js Related to github.com/slackapi/bolt-js labels Apr 9, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 9, 2026

Codecov Report

❌ Patch coverage is 82.60870% with 16 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.23%. Comparing base (b503ded) to head (a523c56).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
cmd/project/create_template.go 82.60% 11 Missing and 5 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #479      +/-   ##
==========================================
+ Coverage   71.19%   71.23%   +0.04%     
==========================================
  Files         222      222              
  Lines       18595    18664      +69     
==========================================
+ Hits        13238    13295      +57     
- Misses       4178     4189      +11     
- Partials     1179     1180       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Member

@mwbrooks mwbrooks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙌🏻 Thanks so much for putting this pull request together @zimeg! 🙇🏻

📝 I've left some early feedback and questions that we'll want to work through. Let me know what you think!

Comment on lines 46 to 55
"slack-cli#ai-apps": {
{
Title: fmt.Sprintf("Support Agent %s", style.Secondary("Resolve IT support cases")),
Repository: "slack-cli#ai-apps/support-agent",
},
{
Title: fmt.Sprintf("Starter Agent %s", style.Secondary("Start from scratch")),
Repository: "slack-cli#ai-apps/starter-agent",
},
},
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: I think we should re-order this so that the Starter Agent is first, similar to the slack create experience:

┃ Select a template:
┃ ❱ Starter Agent Start from scratch
┃   Support Agent Resolve IT support cases

"slack-cli#ai-apps/support-agent": {
{
Title: fmt.Sprintf("Claude Agent SDK %s", style.Secondary("Bolt for Python")),
Title: fmt.Sprintf("Bolt for JavaScript %s", style.Secondary("Node.js")),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: We originally brainstormed having the Secondary display the breadcrumb of the previous selection. I'm just curious why you decided to not include that?

adapterPromptObjects := map[string][]promptObject{
"slack-cli#ai-apps/support-agent/bolt-js": {
{
Title: "Claude Agent SDK",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: Why don't these have any Secondary text? To me, it feels a little off that these offer no hints or additional descriptions.

for i, opt := range adapters {
adapterChoices[i] = opt.Title
}
adapterSelection, err := clients.IO.SelectPrompt(ctx, "Select an adapter:", adapterChoices, iostreams.SelectPromptConfig{
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: Why did you choose the term "adapter"? My concern is that "receiver" and "adapter" in Bolt Slack App development and these are not receivers or adapters.

I'd prefer a term such as "Select an agent framework:" or if we must keep it general then "Select a third-party framework:"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:bolt-js Related to github.com/slackapi/bolt-js bug M-T: confirmed bug report. Issues are confirmed when the reproduction steps are documented changelog Use on updates to be included in the release notes semver:patch Use on pull requests to describe the release version increment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants