slack-app-scaffold

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Slack App Scaffold

Slack应用快速搭建模板

Bolt for JavaScript + Slack CLI is the 2026 default. Optimize for fast local runs, clear handlers, and safe deploys.
Bolt for JavaScript + Slack CLI是2026年的默认方案。针对本地快速运行、清晰的处理器逻辑和安全部署进行了优化。

Stack (Default)

技术栈(默认)

  • Runtime: Node.js (LTS)
  • Framework:
    @slack/bolt
  • Tooling: Slack CLI (
    slack
    )
  • Config: Slack manifest via CLI-generated project
  • 运行时:Node.js(LTS版本)
  • 框架:
    @slack/bolt
  • 工具:Slack CLI(
    slack
    命令)
  • 配置:通过CLI生成项目自动创建的Slack清单

Core CLI Commands

核心CLI命令

bash
undefined
bash
undefined

Create new Slack app project

创建新的Slack应用项目

slack create my-slack-app
slack create my-slack-app

Run locally (socket mode / dev env)

本地运行(Socket模式 / 开发环境)

cd my-slack-app slack run
cd my-slack-app slack run

Deploy to Slack-hosted runtime / target env

部署到Slack托管运行时 / 目标环境

slack deploy
undefined
slack deploy
undefined

Workflow (CLI-First)

工作流(CLI优先)

  1. Identify integration points in existing functionality.
  2. Scaffold app with
    slack create
    .
  3. Model capabilities in the manifest (scopes, events, commands, interactivity).
  4. Implement handlers in Bolt (events, commands, actions, views/modals).
  5. Run locally with
    slack run
    and validate in a dev workspace.
  6. Deploy with
    slack deploy
    .
  1. 识别现有功能中的集成点。
  2. 使用
    slack create
    命令搭建应用模板。
  3. 在清单中定义应用能力(权限范围、事件、命令、交互性)。
  4. 在Bolt中实现处理器(事件、命令、动作、视图/模态框)。
  5. 使用
    slack run
    本地运行,并在开发工作区中验证功能。
  6. 使用
    slack deploy
    部署应用。

Project Structure (Typical)

典型项目结构

text
my-slack-app/
├── app/
│   ├── app.js              # Bolt app bootstrap
│   ├── listeners/          # Events, commands, actions, views
│   ├── services/           # Integration layer to existing functionality
│   └── middleware/         # Auth, validation, shared guards
├── manifest.json           # Slack app manifest (CLI-managed)
├── package.json
└── README.md
Design rule: keep Slack handlers thin; push real work into
services/
.
text
my-slack-app/
├── app/
│   ├── app.js              # Bolt应用启动文件
│   ├── listeners/          # 事件、命令、动作、视图处理器
│   ├── services/           # 与现有功能的集成层
│   └── middleware/         # 认证、验证、共享守卫逻辑
├── manifest.json           # Slack应用清单(由CLI管理)
├── package.json
└── README.md
设计原则:保持Slack处理器逻辑简洁;将实际业务逻辑放在
services/
目录中。

Common Use Cases

常见使用场景

  • Notifications: post messages from existing jobs or webhooks.
  • Slash commands: wrap existing scripts or APIs behind
    /commands
    .
  • Workflows: compose multi-step flows with Slack-native triggers.
  • Modals: collect structured input, then call existing systems.
  • 通知功能:从现有任务或Webhook发送消息。
  • 斜杠命令:将现有脚本或API封装在
    /命令
    之后。
  • 工作流:使用Slack原生触发器组合多步骤流程。
  • 模态框:收集结构化输入后调用现有系统。

Implementation Notes

实现注意事项

  • Map each Slack surface to one listener module.
  • Normalize inputs at the edge; pass clean DTOs inward.
  • Acknowledge fast (
    ack()
    ), then do work.
  • Centralize Slack Web API calls behind a small service.
See
references/bolt-patterns.md
for concrete patterns.
  • 每个Slack交互界面对应一个处理器模块。
  • 在入口处标准化输入;向内传递干净的DTO(数据传输对象)。
  • 快速调用
    ack()
    确认请求,再执行后续工作。
  • 将Slack Web API调用集中封装在一个小型服务中。
具体实现模式请参考
references/bolt-patterns.md

Verification Steps

验证步骤

bash
undefined
bash
undefined

1) Install deps

1) 安装依赖

npm install
npm install

2) Run locally

2) 本地运行

slack run
slack run

3) Lint/test if present

3) 若存在则执行代码检查/测试

npm test
npm test

4) Deploy

4) 部署应用

slack deploy

Manual checks in Slack workspace:
- Trigger each command or event once.
- Validate permissions/scopes match what handlers need.
- Confirm errors surface as user-visible messages, not silent failures.
slack deploy

在Slack工作区中进行手动检查:
- 触发每个命令或事件至少一次。
- 验证权限/范围是否与处理器需求匹配。
- 确认错误会以用户可见的消息形式展示,而非静默失败。