Skip to content

Repository files navigation

Channel App SDK

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.

Choose Your Path

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.

Recommended Documentation Order

Start with the Quickstart before reading package references. Continue in this order when you need to customize or ship the app:

  1. Build and run the first app: Korean, English, or Japanese
  2. Learn Function, Extension, WAM, and authentication boundaries: Korean, English, or Japanese
  3. Define typed app Functions and understand the wire contract: Korean, English, or Japanese
  4. Implement Command metadata, actions, and autocomplete: Korean, English, or Japanese
  5. Build the WAM React UI and host-authorized calls: Korean, English, or Japanese
  6. Choose an Extension family, implement it, and understand registration: Korean, English, or Japanese
  7. Prepare the working app for a safe production release: Korean, English, or Japanese
  8. Use the language-specific API reference: TypeScript reference, or Go reference
  9. 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.

SDKs and Runnable Examples

TypeScript

Use the TypeScript packages for a NestJS app server, typed Functions, Extension metadata, token and signature handling, React WAM hooks, and WAM UI components.

Go

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.

Contributing to the SDK

The commands below are for developing this SDK repository. App projects should follow the Quickstart and their selected tutorial instead.

Repository layout

  • proto/: shared SDK contracts
  • go/: Go SDK module
  • ts/: TypeScript SDK workspace and npm packages
  • docs/guides/: app developer guides in Korean, English, and Japanese
  • docs/reference/: protocol and language-specific SDK references
  • skills/build-channel-app/: reusable coding-agent workflow

Install, build, and test

make install
make lint
make build
make test
make verify

Language-specific targets include make build-ts, make test-go, make lint-go, and make proto-lint.

Pull requests and releases

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-check

TypeScript package releases are managed with Changesets. Add a changeset for a user-visible package change:

cd ts
pnpm changeset

Do 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.

Reference Index

License

MIT

About

Official SDKs for building Channel.io apps

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages