Files
workdsh/AGENTS.md
T

2.3 KiB

DSH Desktop repository rules

This repository owns the desktop product around an unmodified DeepSeek Harness checkout.

Prerequisites and setup

  • Use Node.js ^22.19.0 or >=24.0.0 and the root Yarn 4.18.0 release through Corepack.
  • Initialize the pinned upstream checkout with git submodule update --init --recursive.
  • Install root dependencies with corepack yarn install --immutable.

Build, run, and verify

  • Start the desktop development workflow with corepack yarn dev.

  • Build the desktop package with corepack yarn build.

  • Run unit tests with corepack yarn test.

  • Run type checking with corepack yarn typecheck.

  • Run the complete headless gate with corepack yarn check.

  • Run upstream operations through the root scripts, such as corepack yarn upstream:build.

  • deepseek-harness/ is a pinned upstream Git submodule. Never edit files inside it from a desktop feature branch.

  • dsh-plugin-desktop/ owns the Cordis Host and Client faces, Electron bootstrap, packaging, and release tests.

  • dsh-community-fabric/ owns the community interoperability RFC. Until schemas and a reviewed reference adapter exist, it remains a private documentation scaffold and must not declare loadable DSH or package entry points.

  • dsh-community-market/ owns the community-market shell. Until its runtime is implemented, it remains a private documentation scaffold and must not declare loadable DSH or package entry points.

  • The outer repository and all owned packages use the root Yarn release with nodeLinker: node-modules.

  • The upstream submodule keeps its own pnpm workspace. Run upstream commands through the root upstream:* scripts, whose Yarn portable-shell commands enter the submodule before invoking Corepack.

  • Compatibility mode must run the upstream default client without overrides. Advanced presentation belongs to desktop-owned client plugins and may replace documented slots or services through profile composition.

  • Keep graphical application launch explicit. Builds, typechecks, unit tests, and Loader smokes must remain headless-safe.

  • Commit before major changes of direction and keep the submodule pin update separate from desktop behavior changes.

  • Keep the repository topology and package-manager split consistent with the owning Agent Note.