@duffcloudservices/kit
v0.1.0
Published
DcsKit Vue runtime — editable primitives over editorBridge markers + the canonical @layer cascade contract for first-party DCS sites
Maintainers
Readme
@duffcloudservices/kit
DcsKit Vue runtime — the editable primitives (DcsText / DcsImage / DcsSection,
authoring sugar over the [data-dcs-*] editor-bridge markers) plus the canonical
cascade-layer contract (@layer theme, base, components, utilities). The Vue-side
companion to @duffcloudservices/kit-vite (the Vite plugin bundle / defineDcsSite()).
Part of the first-party site-framework initiative — see
.docs/plans/first-party-site-framework/.
Status (milestone M9)
Publish-ready, first publish is maintainer-gated. The package builds (dist/index.js
dist/style.css+ d.ts), exports the three primitives, and passes 8 Vitest marker assertions.@duffcloudservices/kit-viteis likewise scaffolded and publish-ready.
Publishing
The package has never been published, so the first publish must be done manually by a maintainer with npm credentials (trusted/CI publishing can't be configured on npmjs.com until the package exists):
cd packages/kit
npm login # maintainer npm account
npm publish --access publicThen configure trusted publishing on npmjs.com (Owner=NateDuff, Repository=dcs,
Workflow=npm-publish.yml) so future releases publish automatically by pushing an
npm-v<version> tag — see .github/workflows/npm-publish.yml.
Consuming it in a pilot site (after the first publish)
The pilot sites currently consume @duffcloudservices/cms from npm and prove the kit
patterns in-repo. Once @duffcloudservices/kit is on npm, swapping a site to consume it
is a normal semver bump — e.g. Iron Oak's site/src/kit/index.ts barrel re-exports from
@duffcloudservices/kit instead of @duffcloudservices/cms:
cd <site>/site # e.g. E:/source/repos/handyman-bryan/site
pnpm add @duffcloudservices/kit@^0.1.0
# then point site/src/kit/index.ts at @duffcloudservices/kit and `pnpm build` to verifyNo file: / pnpm link gymnastics — the same registry path the sites already use for cms.
Ensure kit and cms declare overlapping @duffcloudservices/cms-core ranges so a site
gets a single deduped cms-core (pnpm why @duffcloudservices/cms-core).
