This document describes the standalone @auto-ml-skills/disco package. The
runtime source lives in packages/coding-agent/src; there is no second wrapper
implementation and no runtime dependency on @earendil-works/pi-coding-agent.
From the package root, which contains this file's parent docs/ directory:
npm ci
npm run typecheck
npm test
npm run test:examples
npm run verify:provenance
npm run buildRun the built CLI without installing it globally:
node dist/cli.js --help
node dist/cli.jsThe caller's current working directory remains the DisCo project directory.
Use DISCO_CODING_AGENT_DIR to point development runs at a temporary config
directory when they must not use your normal ~/.disco/agent state.
packages/coding-agent/src/ runtime, CLI, SDK, modes, workflows, and TUI glue
packages/coding-agent/test/ upstream-derived and DisCo regression tests
docs/ documentation shipped in the npm package
examples/ extension, SDK, and RPC examples shipped in npm
scripts/ build asset copying and package verification
dist/ generated build output
packages/coding-agent/upstream-package.json, UPSTREAM_SOURCE.md,
UPSTREAM_CHANGELOG.md, and UPSTREAM_MANIFEST.json record the Pi v0.83.0
baseline. They are provenance inputs, not package roots and are not published.
The manifest records SHA-256 hashes and a disposition for every upstream file
and every local runtime, test, documentation, and example file.
npm run build
npm run verify:provenance
npm run verify:package
npm pack --dry-run --json
npm publish --dry-runverify:provenance checks the local source inventory against the recorded
manifest. verify:package audits source, build output, documentation, and the
packed file contract. Release testing also installs the generated tarball into
a temporary npm prefix; it must not use a globally installed Pi package or a
source-tree symlink.
Vitest paths are relative to the package root:
npx vitest --run --config vitest.config.ts packages/coding-agent/test/config.test.ts
npx vitest --run --config vitest.config.ts packages/coding-agent/test/resource-loader.test.tsTests that need real providers or a local proxy are separate from the default deterministic suite. Proxy addresses belong in the test process environment or a temporary settings fixture and must never become package defaults.
Runtime asset paths must be resolved through src/config.ts, not by assuming a
Pi monorepo layout. scripts/copy-assets.mjs copies bundled skills, themes, and
HTML export assets into dist/; npm's package file list includes README, docs,
examples, and notices directly from the package root.
Source-mode, built, packed, and globally installed runs must all resolve the
same DisCo package root and .disco configuration semantics.
The hidden /debug command writes ~/.disco/agent/disco-debug.log. It can
contain rendered terminal output and recent model messages; inspect and share
it as potentially sensitive data.
When importing a later Pi coding-agent version:
- Record the exact tag and commit in
packages/coding-agent/UPSTREAM_SOURCE.md. - Regenerate
UPSTREAM_MANIFEST.jsonwithnode scripts/upstream-provenance.mjs --write --upstream-root /path/to/piand review every disposition change across source, tests, docs, examples, package assets, and the narrow OAuth exception. - Reapply DisCo ownership boundaries for
.disco,DISCO_*, self-update, package discovery, Creator/Researcher filtering, SDK exports, and branding. - Run the complete deterministic, packed-install, coexistence, proxy, splash, and real-model regression gates before release.
Do not copy upstream node_modules, dist, install locks, monorepo links, or
the Pi executable into the DisCo package.