Facets
A facet is a versioned bundle of assets. Your project declares the facets it wants, and an install resolves each one to an exact version, verifies its content, and materializes its assets into every AI tool you have connected. The same bundle is authored locally, published to the registry, and installed into a project. Its own identity and contents are declared in a facet manifest (facet.json) that ships inside the facet.
Project state
Two files in your repository describe what the project depends on. Commit both.facets.json
What you declared: the facets you want, and how you want their assets named.
facets.lock
What that resolved to: exact versions, provenance, and integrity hashes.
facets.json, usually through the CLI. The lockfile is written only by an install, so a teammate who clones the repository and runs facet install gets the same versions and the same bytes you did.
Assets
An asset is one unit a facet ships. Every asset is versioned with the facet, integrity-checked, and materialized into your tools on install.Skills
Knowledge the assistant applies passively.
Commands
Workflows the user invokes.
Agents
Personas with a role and tool access.
MCP servers
Tools and data your assistant can reach.