Skip to content
 
 

Repository files navigation

Channel App SDK

Monorepo for Channel App SDKs.

Start Here: Documentation Order

If this is your first Channel app, 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. Design, secure, deploy, and operate the app: Korean, English, or Japanese
  4. Define typed app Functions: Korean, English, or Japanese
  5. Choose an Extension family and follow its recipe: Korean, English, or Japanese
  6. Use the language-specific API reference: TypeScript architecture and TypeScript references, or Go reference
  7. Keep a complete implementation open while coding: TypeScript tutorial or Go tutorial

The Quickstart ends with this same reading map, so it remains the primary entry point. The guides and public SDK exports define the current contract; the tutorials show it as complete server-and-WAM apps.

Layout

  • proto/: shared SDK contracts.
  • go/: Go SDK module.
  • ts/: existing TypeScript SDK workspace and npm packages.
  • docs/guides: app developer guides in Korean, English, and Japanese.
  • docs/reference: protocol and SDK reference documents.
  • skills/build-channel-app: reusable Codex workflow for creating and reviewing apps.

TypeScript

Existing npm packages keep their public package names and entrypoints.

cd ts
pnpm install
pnpm build
pnpm test

Go

The Go SDK is a separate module under go/ and is released with module tags such as go/v0.1.0.

cd go
go test ./...

Make Targets

make install
make lint
make build
make test
make verify

Language-specific targets are also available, such as make build-ts, make test-go, make lint-go, and make proto-lint.

Pull Requests

Before opening a pull request, run the relevant checks locally:

make lint
make build
make test

When changing protocol definitions or generated schemas, also commit the generated files and run:

make proto-check

TypeScript package releases are managed with Changesets. Add a changeset for any 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 packages are published to npm when that pull request is merged.

The Go SDK is released separately from npm packages. Keep the Go module path as github.com/channel-io/app-sdk/go, and use Go module tags such as go/v0.1.0 for Go releases.

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.

CI enforces this policy with scripts/check-public-content.sh and a secret scan. Report suspected vulnerabilities privately as described in SECURITY.md.

Guides

Use the guides and references in this repository as the contract, then use these repositories as runnable server-and-WAM examples:

Documentation

License

MIT

About

Official SDKs for building Channel.io apps

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages