{"_id":"@arex-skill/disco","_rev":"2-1ef6e61e45a74cf4056454ac17196a31","name":"@arex-skill/disco","dist-tags":{"latest":"0.2.1"},"versions":{"0.2.0":{"name":"@arex-skill/disco","version":"0.2.0","keywords":["research-agent","coding-agent","agent-skills","cli","tui","llm"],"author":{"name":"AREX-Skill contributors"},"license":"MIT","_id":"@arex-skill/disco@0.2.0","maintainers":[{"name":"hanhainebula","email":"2512674094@qq.com"}],"homepage":"https://github.com/VectorSpaceLab/AREX-Skill#readme","bugs":{"url":"https://github.com/VectorSpaceLab/AREX-Skill/issues"},"bin":{"disco":"dist/cli.js"},"dist":{"shasum":"5b8bc91c21090584c06de7e55e7faf4d6b264b38","tarball":"https://registry.npmjs.org/@arex-skill/disco/-/disco-0.2.0.tgz","fileCount":1144,"integrity":"sha512-13QSD3Q0jTrDsPks+wW6uBxcKBEiLugGszHJHR9xrmN5GkICIOdZStNjf/wZumf+UekbV6wG8cVi9iqg2FlVWg==","signatures":[{"sig":"MEYCIQCVZ632DdrwWI8Vm45Tge5jGfrMJsEk+N2N2Vqpl9FwEQIhAMe3ZKLEM48X7/UnU8ufCJOWpDfW3N0xzGNLu7HX3jN/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9973929},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"types":"./dist/rpc-entry.d.ts","import":"./dist/rpc-entry.js"}},"gitHead":"d50bf16c0eaee99fd564280df1e702efc79e1c5b","scripts":{"test":"vitest --run --config vitest.config.ts && node --test scripts/upstream-provenance.test.mjs","build":"npm run clean && tsc -p tsconfig.build.json && node scripts/copy-assets.mjs && shx chmod +x dist/cli.js dist/rpc-entry.js","clean":"shx rm -rf dist","typecheck":"tsc --noEmit -p tsconfig.build.json","test:examples":"tsc --noEmit -p tsconfig.examples.json","prepublishOnly":"npm run verify:provenance && npm run typecheck && npm test && npm run test:examples && npm run verify:rpiv-todo-contract && npm run build && npm run verify:package","verify:package":"node scripts/verify-package.mjs","verify:provenance":"node scripts/upstream-provenance.mjs --check","refresh:provenance":"node scripts/upstream-provenance.mjs --refresh-local","verify:rpiv-todo-contract":"node scripts/verify-rpiv-todo-contract.mjs"},"_npmUser":{"name":"hanhainebula","email":"2512674094@qq.com"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"nanoid":"3.3.18","rimraf":"6.1.2","protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/VectorSpaceLab/AREX-Skill.git","type":"git","directory":"cli"},"_npmVersion":"11.13.0","description":"Skill-powered research agent with Creator and Researcher modes","directories":{},"discoConfig":{"name":"disco","configDir":".disco"},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","acorn":"8.16.0","chalk":"5.6.2","ignore":"7.0.5","semver":"7.8.0","undici":"8.10.0","typebox":"1.3.7","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","@earendil-works/pi-ai":"0.83.0","@earendil-works/pi-tui":"0.83.0","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"0.83.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","marked":"^18.0.5","vitest":"4.1.9","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4","@earendil-works/gondolin":"^0.12.0","@anthropic-ai/sandbox-runtime":"^0.0.26"},"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/disco_0.2.0_1788328402894_0.48179086534600235","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@arex-skill/disco","version":"0.2.1","description":"Skill-powered research agent with Creator and Researcher modes","type":"module","discoConfig":{"name":"disco","configDir":".disco"},"bin":{"disco":"dist/cli.js"},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"types":"./dist/rpc-entry.d.ts","import":"./dist/rpc-entry.js"}},"scripts":{"clean":"shx rm -rf dist","build":"npm run clean && tsc -p tsconfig.build.json && node scripts/copy-assets.mjs && shx chmod +x dist/cli.js dist/rpc-entry.js","typecheck":"tsc --noEmit -p tsconfig.build.json","test":"vitest --run --config vitest.config.ts && node --test scripts/upstream-provenance.test.mjs","test:examples":"tsc --noEmit -p tsconfig.examples.json","verify:provenance":"node scripts/upstream-provenance.mjs --check","refresh:provenance":"node scripts/upstream-provenance.mjs --refresh-local","verify:rpiv-todo-contract":"node scripts/verify-rpiv-todo-contract.mjs","verify:package":"node scripts/verify-package.mjs","prepublishOnly":"npm run verify:provenance && npm run typecheck && npm test && npm run test:examples && npm run verify:rpiv-todo-contract && npm run build && npm run verify:package"},"dependencies":{"@earendil-works/pi-agent-core":"0.83.0","@earendil-works/pi-ai":"0.83.0","@earendil-works/pi-tui":"0.83.0","@silvia-odwyer/photon-node":"0.3.4","acorn":"8.16.0","chalk":"5.6.2","cross-spawn":"7.0.6","diff":"8.0.4","glob":"13.0.6","highlight.js":"10.7.3","hosted-git-info":"9.0.3","ignore":"7.0.5","jiti":"2.7.0","minimatch":"10.2.5","proper-lockfile":"4.1.2","semver":"7.8.0","typebox":"1.3.7","undici":"8.10.0","yaml":"2.9.0"},"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"devDependencies":{"@anthropic-ai/sandbox-runtime":"^0.0.26","@earendil-works/gondolin":"^0.12.0","@types/cross-spawn":"6.0.6","@types/diff":"7.0.2","@types/hosted-git-info":"3.0.5","@types/ms":"2.1.0","@types/node":"24.12.4","@types/proper-lockfile":"4.1.4","@types/semver":"7.7.1","marked":"^18.0.5","shx":"0.4.0","typescript":"5.9.3","vitest":"4.1.9"},"overrides":{"nanoid":"3.3.18","protobufjs":"7.6.5","rimraf":"6.1.2","gaxios":{"rimraf":"6.1.2"}},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/VectorSpaceLab/AREX-Skill.git","directory":"cli"},"keywords":["research-agent","coding-agent","agent-skills","cli","tui","llm"],"author":{"name":"AREX-Skill contributors"},"license":"MIT","engines":{"node":">=22.19.0"},"gitHead":"95d953b006e6241d4251af1bd8fca18bdf168fe3","_id":"@arex-skill/disco@0.2.1","bugs":{"url":"https://github.com/VectorSpaceLab/AREX-Skill/issues"},"homepage":"https://github.com/VectorSpaceLab/AREX-Skill#readme","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-1+PTv5fkIctUM8HPRPGc6byMHVh5hxXLIuz5sBVrwXQPNdPqwzhBU0SZYerby7lqgRGRc4muU4pODoQ+Tl8zxg==","shasum":"2a767e480f8ac565da6644f0a6a9240c02198e1f","tarball":"https://registry.npmjs.org/@arex-skill/disco/-/disco-0.2.1.tgz","fileCount":1148,"unpackedSize":9997666,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGFkEcRLKU8L4fPGO+XTM4is1Pt7knLD+uoj14W6+cq1AiEA5fFC6c0n0cj0wfxfOFw3sp6PBU+k44gUCYS59H2BafI="}]},"_npmUser":{"name":"hanhainebula","email":"2512674094@qq.com"},"directories":{},"maintainers":[{"name":"hanhainebula","email":"2512674094@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/disco_0.2.1_1788373458741_0.17619647319027965"},"_hasShrinkwrap":true}},"time":{"created":"2026-09-02T05:53:22.621Z","modified":"2026-09-02T18:24:19.221Z","0.2.0":"2026-09-02T05:53:23.170Z","0.2.1":"2026-09-02T18:24:19.043Z"},"bugs":{"url":"https://github.com/VectorSpaceLab/AREX-Skill/issues"},"author":{"name":"AREX-Skill contributors"},"license":"MIT","homepage":"https://github.com/VectorSpaceLab/AREX-Skill#readme","keywords":["research-agent","coding-agent","agent-skills","cli","tui","llm"],"repository":{"type":"git","url":"git+https://github.com/VectorSpaceLab/AREX-Skill.git","directory":"cli"},"description":"Skill-powered research agent with Creator and Researcher modes","maintainers":[{"name":"hanhainebula","email":"2512674094@qq.com"}],"readme":"# DisCo\n\nDisCo is a skill-powered research agent for the terminal. Its two explicit\nroles separate reusable skill authoring from research and implementation work:\n\n- **Creator** builds, imports, extends, and verifies skills.\n- **Researcher** uses operating skills and dynamic workflows to complete tasks.\n\nDisCo is published as `@arex-skill/disco` and installs one executable,\n`disco`. The package contains its own fork of Pi coding-agent v0.83.0; it does\nnot depend on `@earendil-works/pi-coding-agent`, and it does not discover\nresources from `.pi` or `~/.pi`.\n\n## Requirements\n\n- Node.js 22.19.0 or newer\n- Credentials for at least one supported model provider, or a configured local\n  provider\n\n## Install\n\n```bash\nnpm install -g --ignore-scripts @arex-skill/disco\ndisco\n```\n\nFor the managed curl and PowerShell installers, plus pnpm and Bun commands,\nsee the [installation guide](https://github.com/VectorSpaceLab/AREX-Skill/blob/main/docs/installation.md).\n\nUse `/login` to configure a subscription or API-key provider. API keys can also\nbe supplied through provider environment variables such as\n`ANTHROPIC_API_KEY` or `OPENAI_API_KEY`.\n\nUpdate a package-manager installation, or a managed installation created by the\ncurl/PowerShell installer, with:\n\n```bash\ndisco update\n```\n\nInstall and manage the published repository skill collection separately from\nthe CLI package:\n\n```bash\ndisco repo-skills install\ndisco repo-skills status\ndisco repo-skills update\n```\n\n`status` is offline and checks the recorded commit, managed digests, router\nstate, and coverage of the live repository skill IDs. `update` performs the\nremote check.\n\nUpdates preserve repo skills created or imported locally by Creator. Conflicting\nchanges to an official managed ID stop the update unless `--force` is supplied;\nforced replacement writes a backup first. Git is required for install/update.\n\nThe repository router participates in automatic Researcher skill selection by\ndefault. Disable or restore only that automatic entry point with:\n\n```bash\ndisco repo-skills router disable\ndisco repo-skills router enable\n```\n\nDisabling the router does not remove it: explicit\n`/skill:repo-skills-router` invocation remains available in a new Researcher\nsession.\n\n`disco update` updates `@arex-skill/disco`, not Pi. Use\n`disco update --models`, `disco update --extensions`, or `disco update --all`\nfor the other documented update targets.\n\n## Creator and Researcher\n\nResearcher is the default for a new session:\n\n```bash\ndisco --researcher\ndisco --researcher -p \"Reproduce this paper's primary result\"\n```\n\nUse Creator when the output is a reusable skill:\n\n```bash\ndisco --creator\ndisco --creator -p \"Inspect /path/to/repo and draft a skill creation plan\"\n```\n\nIn an interactive session, `/creator` and `/researcher` switch mode and rebuild\nthe mode-specific resource context. Sessions remember their mode when resumed.\n\nSkills can declare `metadata.disco-role` in their frontmatter:\n\n| Role | Loaded in Creator | Loaded in Researcher |\n| --- | --- | --- |\n| `meta` | yes | no |\n| `operating` | no | yes |\n| `shared` | yes | yes |\n\nA skill without `disco-role` keeps the compatibility default, `operating`.\nInvalid role values are rejected with a diagnostic.\n\n## Skills and project resources\n\nDisCo automatically discovers its own resources from:\n\n- `~/.disco/agent/` for user settings, credentials, sessions, extensions,\n  skills, prompts, and themes;\n- `.disco/` for trusted project settings and resources;\n- `~/.agents/skills/` and ancestor `.agents/skills/` for generic agent skills;\n- `AGENTS.md` and `CLAUDE.md` context files in the normal ancestor chain.\n\nPi-specific `.pi`, `~/.pi`, `PI_CODING_AGENT_DIR`, and `PI_PACKAGE_DIR`\nlocations do not participate in DisCo discovery. Explicit paths supplied by the\nuser remain supported and still pass through project trust and skill-role\nchecks.\n\nSee [Skills](docs/skills.md), [Settings](docs/settings.md), and\n[Security](docs/security.md) for the complete loading and trust rules.\n\n## Dynamic workflows\n\nThe interactive runtime includes a workflow tool and commands for concurrent,\nmulti-phase research:\n\n- `/deep-research <question>` performs web research with cross-checking.\n- `/adversarial-review <task>` investigates findings and challenges them with\n  independent reviewers.\n- `/workflows` opens saved and active workflow controls.\n- `/workflows-models` configures workflow model tiers.\n- `/effort high|ultra|off` and `/ultracode` control standing workflow effort.\n\nWorkflow runs support structured results, model routing, bounded concurrency,\ncancellation, saved workflows, persisted run state, and optional git\nworktrees.\n\nRuns are backgrounded by default: the tool returns a run ID, the current turn\nends normally, and the completed or incomplete result is delivered back into\nthe conversation. A configured agent timeout gets one retry by default unless\nthe run overrides it; DisCo aborts and drains the timed-out attempt before the\nretry starts. Runs that return explicit missing IDs are marked as requiring\nrecovery instead of silently treating the successful subset as complete.\n\nPrepared package workflows pass an absolute executable plus the expected\npackage version to each dependent subagent, and DisCo asserts that environment\nbefore the subagent session starts. See [Dynamic workflows](docs/dynamic-workflows.md)\nfor the execution, environment, coverage, recovery, usage, and persistence\ncontracts.\n\n## CLI examples\n\n```bash\n# Interactive session\ndisco\n\n# One-shot print mode\ndisco -p \"Summarize this repository\"\n\n# Include files in the initial request\ndisco @README.md \"Review this documentation\"\n\n# Continue or browse sessions\ndisco --continue\ndisco --resume\n\n# JSONL or RPC integration\ndisco --mode json -p \"Inspect the current project\"\ndisco --mode rpc\n\n# Package-managed resources\ndisco install npm:@example/disco-skills\ndisco list\n```\n\nRun `disco --help` for all CLI flags. The documentation index is at\n[docs/index.md](docs/index.md).\n\n## Extensions and packages\n\nExtensions can add tools, commands, event handlers, providers, and terminal UI.\nA DisCo package can bundle extensions, skills, prompts, and themes with a\n`disco` manifest in `package.json`.\n\nSee [Extensions](docs/extensions.md), [DisCo packages](docs/packages.md), and\nthe bundled [examples](examples/README.md).\n\n## Programmatic use\n\nThe same package exposes a low-level, headless SDK for Node.js applications:\n\n```typescript\nimport { createAgentSession, SessionManager } from \"@arex-skill/disco\";\n\nconst { session } = await createAgentSession({\n  cwd: process.cwd(),\n  sessionManager: SessionManager.inMemory(process.cwd()),\n});\n\nawait session.prompt(\"Summarize this project\");\n```\n\nImporting the SDK does not start the TUI, splash, version check, or self-update\nlifecycle. The SDK uses DisCo defaults (`.disco` and `DISCO_*`) unless the\ncaller explicitly supplies paths or a custom resource loader. See\n[SDK](docs/sdk.md) for lifecycle, model, tool, and extension examples.\n\n## Documentation\n\n- [Quickstart](docs/quickstart.md)\n- [Usage and CLI](docs/usage.md)\n- [Providers](docs/providers.md)\n- [Models](docs/models.md)\n- [Environment variables](docs/environment-variables.md)\n- [Sessions](docs/sessions.md)\n- [RPC](docs/rpc.md)\n- [Development](docs/development.md)\n\n## License and upstream\n\nDisCo is licensed under the MIT License. Its internal coding-agent fork is\nbased on Pi v0.83.0 at commit\n`845d6ff1f6643aba440341cce877ce1c43ebbc39`; attribution and third-party\nnotices are recorded in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).\n","readmeFilename":"README.md"}