macOS
brew install typesharelocal Homebrew formula metadata
brew
Synchronize type definitions between Rust and other languages for seamless FFI. Version 1.13.4 via Homebrew; verified from local package data.
install
brew install typesharelocal Homebrew formula metadata
nix profile install nixpkgs#typesharenixpkgs package indexes · pkgs/by-name/ty/typeshare/package.nix · source: api.github.com
overview
Synchronize type definitions between Rust and other languages for seamless FFI
history
Typeshare is a Rust-based developer tool from 1Password for generating matching type definitions in other languages from Rust source types. In package-manager catalogs it occupies the code-generation and FFI niche: a small command-line utility installed as `typeshare` for teams that want Rust-owned schemas to drive Swift, Kotlin, Scala, TypeScript, Go, or Python bindings.
The public GitHub repository was created in September 2022 under the 1Password organization. Its README describes the project as a way to remove the manual work of keeping FFI-facing Rust types synchronized with equivalent forms in other languages, using serde-oriented Rust definitions and a `#[typeshare]` annotation model.
By the 1.x series the project was organized as several Rust crates, including `typeshare`, `typeshare-core`, `typeshare-annotation`, and `typeshare-cli`. The README points users to a dedicated Typeshare book and documents command-line generation into Kotlin, Swift, Scala, and TypeScript files, with Go and Python marked as experimental in the official README.
Official public adoption evidence is mostly packaging and registry based rather than a broad ecosystem narrative. The input package facts list Homebrew and Nix packaging, while the upstream README advertises crates.io crates and the `cargo install typeshare-cli` path.
The project remained active after its initial publication: GitHub release metadata shows 2024 and 2025 1.x releases, including v1.13.4 published in December 2025.
A typical use is to mark Rust structs and enums with `#[typeshare]`, then run `typeshare ./my_rust_project --lang=typescript --output-file=...` or an equivalent target-language command. The generated files become the foreign-language side of a Rust-centered serialization or FFI boundary.
Typeshare matters to package nerds because it turns a cross-language type-sync problem into an installable CLI workflow. It is especially relevant in Rust-heavy shops where package recipes, CI jobs, and generated artifacts need to keep mobile, web, and backend type definitions aligned without maintaining separate schema sources.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
typeshare | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/1Password/typeshare
install metadata
| Package key | brew:typeshare |
|---|---|
| Version | 1.13.4 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/typeshare |
| Homepage | https://github.com/1Password/typeshare |
| Repository | https://github.com/1Password/typeshare |
| Upstream docs | https://1password.github.io/typeshare |
| License | Apache-2.0 OR MIT |
| Source archive | https://github.com/1Password/typeshare/archive/refs/tags/v1.13.4.tar.gz |
| Build dependencies | rust |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | typeshare |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
typeshare
nix profile install nixpkgs#typesharesource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.