xberg-typescript-toolchain

Work on Xberg TypeScript or JavaScript packages with the repository's actual poly, pnpm, npm, Vitest, napi-rs, wasm-pack, and integration-package boundaries. Load for TS/JS tooling or package changes,

SKILL.md

GitHub

Xberg TypeScript toolchain

These repository-specific facts override generic TypeScript conventions where they differ.

  • Lint and format with poly lint . and poly fmt .. Poly embeds oxlint and oxfmt; do not install or invoke oxlint, oxfmt, Prettier, ESLint, or Biome directly, and do not add per-package lint scripts.
  • Root tsconfig.json enables strict checking options and is a project-reference root for e2e/node and e2e/wasm. Confirm that the package being changed is included before treating a root typecheck as evidence.
  • Testing uses Vitest with @vitest/coverage-v8. No coverage threshold is enforced unless one is added to current configuration.
  • No runtime schema-validator dependency is guaranteed. Use existing boundary guards or propose a dependency explicitly rather than assuming Zod is available.
  • The pnpm workspace uses the root lockfile. Packages under integrations/node/ are outside that workspace and use their own npm lockfiles. Determine ownership before installing or updating dependencies.
  • integrations/node/{langchain,llamaindex}-xberg use tsup. The Node binding is built by napi-rs and the WASM binding by wasm-pack; do not add an application bundler to either binding.
  • Prefer workspace:* for new dependencies between packages that are actually in the pnpm workspace.
  • JavaScript dependency auditing is manual unless a current workflow says otherwise; do not claim an audit ran merely because Rust or poly checks passed.