Contributing
git clone https://github.com/nandha-kumar-hajari/dxai.gitcd dxainpm installnpm test && npm run lintTests use node:test (no extra framework) via a portable runner; the full suite takes a few seconds. CI runs on every push and PR across Ubuntu, macOS, Windows × Node 18, 20, 22, plus lint and docs-drift jobs on Node 22.
Before you open a PR
Section titled “Before you open a PR”- Read the Maintainer Notes — dev loop, invariants (idempotent writes, backups, manifest recording, untrusted-registry validation, honest exit codes), and the data-vs-code release tracks.
- Match existing patterns: read 2–3 similar files before writing new code.
AGENTS.mdat the repo root is the canonical rule set. - One logical change per commit, conventional commit messages (
feat:,fix:,docs:, …), tests in the same commit as the change. - When you change anything in
src/registry/data/,bin/cli.jsflags,PROFILE_KEYS, or the manifest schema, also runnpm run docs:generateand commit the regenerated docs — thedocs-checkCI job fails otherwise.
Catalog contributions
Section titled “Catalog contributions”Adding or updating an MCP server, skill, or automation tool only touches src/registry/data/*.json — no version bump, no release. Prefer the transport field over hand-written per-agent configs (derivation covers every agent automatically), and let test/registry-schema.test.js tell you if the entry is malformed. See Maintainer Notes → Catalog maintenance.