Create your own package Last updated: 17. Oct 2026
Build a reusable package — schemas, templates, code and content bundled into a workspace folder that can be installed into other workspaces.
What a package is
A package is a workspace folder whose properties use the Docly Package schema. Its contents — schemas, templates, code, libs, services, content — are what other workspaces get when they add the package.
There is no separate manifest file. The package metadata lives in the folder's properties (its .docly file), and the rest of the folder is the payload.
Step 1: Create a package workspace
Create a new workspace for your package — keep packages separate from your application workspaces so the contents stay clean
Install the Developer Tools package so you can edit schemas and code
Open the workspace folder properties and switch its schema to Docly Package
The folder now exposes the package metadata fields described below.
Step 2: Fill in the metadata
Title — display name shown in package lists
Version — semantic version
x.y.z. Required and validated when releasing.Description — one-line summary of what the package provides
Homepage — optional URL for documentation or marketing site
License — optional
Dependencies — other packages this one needs. Docly shows the list but does not install them, so tell your users which packages to add.
Developers — flag the package as developer-only (hidden from non-developer package lists). Use for tooling like Docly Package Releaser.
Step 3: Add content
Anything you put in the package folder becomes part of the package. Use the standard Docly conventions:
Schemas/— schema definitions (Documents & Schemas)#/— server-side code, APIs and templates (API & Services, Templates & Rendering)Libs/— shared JavaScript libraries imported by your codeServices/— scheduled tasks and event handlersRoot/— static assets exposed under/Top-level
.hashfiles — display templates and master pages
Docly does not copy these files into the target workspace at the same paths:
Added from the package list, the package is a reference. Nothing is copied. When a schema or template name is not found in the workspace itself, Docly looks for it in the workspace's packages, in the order they are listed.
Installed from an address (see Publishing a package), the release ZIP is unpacked under
#/<encoded package address>/in the workspace. Files that already exist there are overwritten as new versions.
Design your code with that in mind — avoid paths that assume the package's own folder layout.
Step 4: Test it locally
Before releasing, verify the package works in a clean target workspace:
Create an empty test workspace
Install your package
Verify schemas, templates and code resolve as expected — pay attention to anything referencing absolute paths
Packages can only be added to a workspace root, and only by a user with admin access to that workspace.
Next: publish it
Once your package works end to end, publish a release so it can be installed elsewhere. See Publishing a package.