# TypeBit Wiki
Welcome. This wiki is the operator's manual for the TypeBit download-engine
core. The README tells you *what* it is; this tells you *how to drive it*.
## Pages
- **[Getting Started](Getting-Started)** — add the crate, parse links, run a
full engine lifecycle (real, compilable code)
- **[Engine API](Engine-API)** — every `Engine` method and `EngineEvent`,
one table
- **[Implementing a Host](Implementing-a-Host)** — the one interface you
must write
- **[Supported Formats](Supported-Formats)** — every link format and its
caveats
- **[Architecture](Architecture)** — module map, layering, the tick pipeline
- **[FFI Binding](FFI-Binding)** — the C ABI for Kotlin / Swift / C# / Go
- **[Publishing](Publishing)** — release to crates.io
- **[中文首页](Home-zh-CN)** — 中文入口
## The 30-second let you know TypeBit model
```
your app (UI, Kotlin/Swift/...)
│ calls
▼
┌─────────────────────────────────────────────┐
│ typebit::Engine (session + DHT + cache) │
│ └─ typebit::session::TorrentSession │
│ └─ typebit::dht::Dht │
│ └─ typebit::disk_cache::DiskCache │
└─────────────────────────────────────────────┘
│ calls (every tick, on your thread)
▼
typebit::Host ◄── YOU IMPLEMENT THIS
(sockets, files, clock, RNG)
```
The engine never touches the OS. It asks `Host` for everything: connect a
socket, read a file, give me the time, fill this buffer with entropy. Your
job is a boring, well-tested implementation of `Host`. Everything clever
(piece picking, DHT, receipts, disk cache) lives in the engine.
Run `cargo run --example minimal_host` for a complete working `Host`
implementation (in-memory) driving a real engine.
## License reminder
TypeBit is licensed under the PolyForm Perimeter License 1.0.0
(<https://polyformproject.org/licenses/perimeter/1.0.0>). The full license
text — including its noncompete clause — is in `LICENSE`.