Capsules & Packages

Capsules are Sailfin’s package format. Each capsule has a capsule.toml manifest.

Creating a Capsule

sfn init my-capsule

This generates:

my-capsule/
├── capsule.toml
├── src/
│   └── main.sfn
└── tests/

capsule.toml

[capsule]
name = "my-capsule"
version = "0.1.0"
edition = "2025"

[dependencies]
http-client = "^1.2.0"

[capabilities]
required = ["io", "net"]

Dependencies

sfn add http-client         # Add a dependency
sfn remove http-client      # Remove it
sfn update                  # Update all dependencies

Dependencies are resolved from registry.sailfin.dev.

Publishing

sfn publish

Capability Auditing

sfn capabilities audit

Lists all capabilities required by your capsule and its dependency tree.

Model Dependencies

Capsules can declare model dependencies:

[models]
gpt4o = { provider = "openai", model = "gpt-4o", version = "2025-01-01" }
sfn add-model openai:gpt-4o
sfn models sync

Package management CLI integration is planned for post-1.0. The registry at registry.sailfin.dev is live.