Documentation
Start with the workflow. Dive into the machinery only when you want to.
New to Denju? Begin with Start, then use the task-focused guides as you need them. Running your own registry has a separate path. Merkle objects, reconciliation, storage, and performance live under Architecture so normal users never have to learn the implementation to get value from it.
Start
Install Denju, understand the mental model, and get your first subscribed skill working.
What is Denju?
The simplest mental model for Denju, the problems it solves, and how skills, subscriptions, packs, and teams fit together.
Open guideInstall and set up
Install the native Denju client, initialize this machine, and verify that Codex and Claude Code can see managed skills.
Open guideQuickstart
A short end-to-end tour from anonymous discovery to private multi-device skill sync, optional publishing, and reusable packs.
Open guideIdentity, devices, and recovery
When you need a Denju identity, how claim and login work, and how to manage recovery, devices, and automation tokens.
Open guideUse Denju
The everyday workflows: discover, publish, synchronize, collaborate, build packs, and run teams.
Discover and subscribe
Search the catalog, inspect skills and packs, follow latest or pin a release, and understand what a subscription does locally.
Open guidePrivate skills and publishing
Import an existing skill, keep it private across your devices, inspect history, optionally publish releases, and move skills into teams.
Open guideSync, offline work, and conflicts
Understand automatic sync, one-shot sync, offline edits, multi-device merges, team-policy disagreements, and conflict resolution.
Open guideForks, private sharing, and proposals
Edit subscribed skills safely, synchronize a fork explicitly, share private work, and propose changes back upstream.
Open guidePacks
Group skills into one reusable set and let Denju keep that set current when skills are added, removed, or updated.
Open guideTeams and assigned packs
Give an organization shared ownership and keep an approved set of skills synchronized across every team member's computers.
Open guideDiscovery, profiles, follows, and stars
Use Denju's metadata catalog and social signals without confusing discovery relationships with installed skill state.
Open guideManage skills and packs
Rename, unpublish, deprecate, delete, transfer, export, and clean up private history without surprising existing subscribers.
Open guideTrust and safety
What Denju verifies, what it deliberately does not sandbox or scan, and how reports, quarantine, and private access boundaries work.
Open guideSelf-host
Run an organization-owned registry with the same Denju server, PostgreSQL, and S3-compatible storage.
Self-hosting quickstart
Run a private Denju registry from the published server image, using either bundled or existing PostgreSQL and S3-compatible storage.
Open guideSelf-host configuration
Configure the Denju server for its public origin, PostgreSQL roles, S3-compatible storage, client-facing presigned URLs, limits, and recovery.
Open guideSelf-host operations
Run migrations and upgrades safely, check health and object storage, recover durable work, and use the server-side operator quarantine surface.
Open guideArchitecture
Optional internals: Merkle content, desired-state reconciliation, local projections, registry authority, and performance.
Architecture overview
A high-level map of the Denju client, local state, registry, PostgreSQL, object storage, and synchronization boundaries.
Open guideMerkle content and revisions
How Denju gives skill bytes deterministic identities, reuses unchanged content, builds immutable revisions, and derives efficient snapshots.
Open guideSynchronization and desired state
How Denju resolves subscriptions, packs, team policy, wake hints, compare-and-swap updates, offline reconciliation, and concurrent edits.
Open guideLocal storage and projections
How SQLite, canonical managed skills, verified generations, native links, watchers, and collision aliases turn registry state into ordinary Agent Skill directories.
Open guideRegistry architecture
Why PostgreSQL owns control-plane authority, S3-compatible storage owns immutable bytes, and the server process can remain stateless and replaceable.
Open guidePerformance and resilience
The design choices that keep Denju's local and registry hot paths small, plus the repository harness used to measure stateless failure recovery.
Open guideReference
CLI, automation output, troubleshooting, and exact behavioral contracts worth keeping nearby.
CLI reference
A compact map of Denju's command surface, global options, resource locators, and the command groups used by people and agents.
Open guideAutomation and JSON output
Use Denju predictably from coding agents, scripts, and CI with one versioned stdout envelope and stable machine error codes.
Open guideTroubleshooting
Diagnose setup, registry, synchronization, validation, quota, conflict, projection, and upgrade problems with the smallest useful Denju commands.
Open guideChangelog
User-facing Denju release history.
Open guideContributing
Repository orientation and safe development workflows for people and coding agents changing Denju itself.
Development workflow
Build, test, run the local registry, and exercise Denju safely without touching real user Codex, Claude Code, Agent Skills, or Denju state.
Open guideRepository architecture
A task-oriented map of Denju's Rust workspace, deployment surfaces, specifications, tests, and the ownership boundary each directory is expected to keep.
Open guide