Official TypeScript and Go SDKs, developer guides, and runnable examples for building Channel apps.
Building your first Channel app? Start with the first-app Quickstart in Korean, English, or Japanese. It takes you from creating a private app through running a Command, React WAM, and bot/manager message flows.
| Goal | Start here |
|---|---|
| Build and run a first app | First-app Quickstart |
| Understand Channel app concepts | Guide index and Concepts |
| Build a Command or WAM | Command guide and WAM guide |
| Build with TypeScript | TypeScript reference and TypeScript tutorial |
| Build with Go | Go SDK reference and Go tutorial |
| Use a coding agent | Build Channel App skill |
| Contribute to this SDK | SDK contributor workflow |
The localized guide indexes provide the same map in Korean, English, and Japanese.
Start with the Quickstart before reading package references. Continue in this order when you need to customize or ship the app:
- Build and run the first app: Korean, English, or Japanese
- Learn Function, Extension, WAM, and authentication boundaries: Korean, English, or Japanese
- Define typed app Functions and understand the wire contract: Korean, English, or Japanese
- Implement Command metadata, actions, and autocomplete: Korean, English, or Japanese
- Build the WAM React UI and host-authorized calls: Korean, English, or Japanese
- Choose an Extension family, implement it, and understand registration: Korean, English, or Japanese
- Prepare the working app for a safe production release: Korean, English, or Japanese
- Use the language-specific API reference: TypeScript reference, or Go reference
- Keep a complete implementation open while coding: TypeScript tutorial or Go tutorial
The Quickstart ends with this same reading map. The guides and public SDK exports define the current contract; the tutorials show it as complete server-and-WAM apps.
Use the TypeScript packages for a NestJS app server, typed Functions, Extension metadata, token and signature handling, React WAM hooks, and WAM UI components.
Use github.com/channel-io/app-sdk/go for a Go app server, typed Functions, Extension builders,
token and signature handling, and native calls. A Go app can use the same TypeScript/React WAM SDK
for its frontend.
The commands below are for developing this SDK repository. App projects should follow the Quickstart and their selected tutorial instead.
proto/: shared SDK contractsgo/: Go SDK modulets/: TypeScript SDK workspace and npm packagesdocs/guides/: app developer guides in Korean, English, and Japanesedocs/reference/: protocol and language-specific SDK referencesskills/build-channel-app/: reusable coding-agent workflow
make install
make lint
make build
make test
make verifyLanguage-specific targets include make build-ts, make test-go, make lint-go, and
make proto-lint.
Before opening a pull request, run the relevant checks above. When changing protocol definitions or generated schemas, commit the generated files and run:
make proto-checkTypeScript package releases are managed with Changesets. Add a changeset for a user-visible package change:
cd ts
pnpm changesetDo not edit package versions or changelog release sections by hand. The release workflow creates a release pull request and publishes npm packages when that pull request is merged.
The Go SDK is released separately with module tags such as go/v0.1.0. Keep the module path as
github.com/channel-io/app-sdk/go.
Because this repository is public, pull requests, commit messages, changelogs, fixtures,
screenshots, and generated files must not include private service URLs, credentials, tokens,
customer data, private repository names, internal task IDs, or organization-specific UUIDs.
Authors and reviewers are responsible for this full policy. CI detects known private identifiers
and internal task IDs with scripts/check-public-content.sh and scans secret patterns with
Gitleaks. Report suspected vulnerabilities privately as described in SECURITY.md.
- Guide indexes: Korean, English, Japanese
- Agent guide
- Build Channel App skill
- TypeScript: reference map and package overview
- Go: overview, Functions and schemas, server and routing, authentication and tokens, Extensions, native Functions, and WAM integration
- Shared wire contract: cross-language protocol
- Localized WAM guides: Korean, English, and Japanese
MIT