Contributing
Thank you for helping improve Twilic. The project spans a specification, eighteen language SDKs, web integrations, tools, and this documentation site.
Repository map
| Repository | Role |
|---|---|
twilic/twilic | Normative v2 specification and examples |
twilic/twilic-rust | Reference implementation and conformance fixtures |
twilic/twilic-* | Language SDKs (Go, Python, Java, …) |
twilic/twilic-js | JavaScript / TypeScript SDK (N-API + WASM) |
twilic/cli | @twilic/cli command-line tool |
twilic/axios, express, fastify, fetch, hono | Web framework integrations |
twilic/benchmark | Benchmark harness |
twilic/playground | Browser size comparison app |
twilic/website | This documentation site |
twilic/workspace | Dev Container and multi-repo setup script |
Development workspace
The twilic/workspace repository provides a Dev Container and setup-twilic-workspace.sh script that clones all organization repositories and generates a VS Code multi-root workspace file.
Quick start:
- Authenticate GitHub CLI on the host:
gh auth login - Clone
twilic/workspaceand open it in a Dev Container (VS Code or Cursor). - Inside the container, run
./scripts/setup-twilic-workspace.sh. - Open the generated
twilic.code-workspace.
The container includes Node.js 24, pnpm, Python, Rust, Go, Java, and other toolchains used across Twilic repositories.
Interoperability and conformance
SDKs are tested against shared binary fixtures generated by the Rust reference implementation. An implementation is v2-interoperable when it:
- Decodes all official fixtures correctly.
- Produces output that the reference decoder accepts.
- Honors per-message intern table boundaries and
RESET_STATEin stateful mode.
See FAQ — Interoperability and the v2 Reference Profile.
Contributing to this website
Website source lives in twilic/website.
pnpm install
pnpm dev # http://localhost:5173
pnpm format # format markdown, TypeScript, and CSS
pnpm lint # markdownlintBefore opening a pull request:
- Run
pnpm devand verify affected pages. - Run
pnpm formatandpnpm lint. - Fill in all sections of the PR template.
General contribution guidelines (commit messages, issue templates) are described in each repository's CONTRIBUTING.md. Website content is released under CC-BY-4.0.
Where to start
| Goal | Start here |
|---|---|
| Fix a spec ambiguity | twilic/twilic |
| Fix an SDK bug | The language repository (twilic-go, twilic-python, …) |
| Add a cookbook pattern | This site — docs/guide/cookbook.md |
| Add CLI or web integration docs | This site — docs/guide/ |
| Run all repos locally | twilic/workspace |