@duffcloudservices/kit

DcsKit Vue runtime — editable primitives over editorBridge markers + the canonical @layer cascade contract for first-party DCS sites
1,699
Install
npm install @duffcloudservices/kit
Latest Version:0.2.10
Vue:3
License:MIT
Last Updated:Oct 18, 2026
Links: npm

@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/archive/plans/first-party-site-framework/ (archived).

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-vite is 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 public

Then 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 verify

No 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).

Related Packages

@duffcloudservices/site-forms

Shared runtime for DCS customer sites — renders managed form definitions from .d...

4,646
@duffcloudservices/cms

Vue 3 composables and Vite plugins for DCS CMS integration

10,104
@duffcloudservices/telemetry

Shared Azure Application Insights telemetry for DCS Vue sites — one App Insights...

2,031
@nuxtjs/design-tokens-edge

'Vue-native zero-runtime CSS-in-JS solution.

2,128 51
@nuxt-themes/config-edge

Toolkit for authoring Nuxt Themes

1,406 30

Version History

Version Released Vue License
0.2.10 ^3.5.0 MIT
0.2.9 ^3.5.0 MIT
0.2.8 ^3.5.0 MIT
0.2.7 ^3.5.0 MIT
0.2.6 ^3.5.0 MIT