{"_id":"@ai-outfitter/deepwork","_rev":"2-7e2751849b41e82cfdd1b55f5cfa4a1e","name":"@ai-outfitter/deepwork","dist-tags":{"latest":"0.3.0"},"versions":{"0.2.2":{"name":"@ai-outfitter/deepwork","version":"0.2.2","keywords":["pi-package","pi","deepwork","workflow","automation","quality-gates","reviews","deepschema"],"license":"BSL-1.1","_id":"@ai-outfitter/deepwork@0.2.2","maintainers":[{"name":"ncrmro","email":"ncrmro@gmail.com"}],"homepage":"https://github.com/ai-outfitter/deepwork#readme","bugs":{"url":"https://github.com/ai-outfitter/deepwork/issues"},"pi":{"skills":["./skills"],"prompts":["./prompts"],"extensions":["./src/index.ts"]},"bin":{"deepwork-mcp":"dist/mcp/server.mjs"},"dist":{"shasum":"ba5f5d69ce345c461d5c601e6b6297829f378850","tarball":"https://registry.npmjs.org/@ai-outfitter/deepwork/-/deepwork-0.2.2.tgz","fileCount":83,"integrity":"sha512-wSqWSiXQ6l8i5SnXVWODXaC/AHN9UcaZUuouiSi9ZgTowEMdkrwu3S7IDUJvlWNpTRsMlIx+dtre7sOnR8F1Xg==","signatures":[{"sig":"MEUCIA+ftEhqxsQKBHRhQG1DKyMlyTuwqp5+t/NnB/QxOajAAiEAo83w9FTX7EGGwQKCVtZVbBtDvUlTYh0vuNstbqqxspY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2040978},"type":"module","gitHead":"833b0b4a108488c4d17f89004c7594f5ddc1dce0","scripts":{"test":"vitest run","build":"node scripts/build-mcp.mjs","check":"npm run check:package && npm run typecheck && npm run build && npm run test","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","check:package":"node -e \"const fs=require('fs'); const pkg=JSON.parse(fs.readFileSync('package.json','utf8')); if (pkg.name !== '@ai-outfitter/deepwork') throw new Error('package name must be @ai-outfitter/deepwork'); const required=['extensions','skills','prompts']; for (const key of required) { if (!pkg.pi?.[key]?.length) throw new Error('pi.'+key+' is required'); for (const p of pkg.pi[key]) { if (!fs.existsSync(p)) throw new Error('missing '+key+' path: '+p); } } console.log('package manifest OK');\"","prepublishOnly":"npm run build","test:update-golden":"UPDATE_GOLDEN=1 vitest run test/get-workflows.golden.test.ts"},"_npmUser":{"name":"ncrmro","email":"ncrmro@gmail.com"},"repository":{"url":"git+https://github.com/ai-outfitter/deepwork.git","type":"git"},"_npmVersion":"11.16.0","description":"Native DeepWork extension and skills for Pi CLI","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.0","eslint":"^10.4.0","vitest":"^4.1.6","esbuild":"^0.25.12","globals":"^17.6.0","typebox":"^1.1.38","@eslint/js":"^10.0.1","typescript":"^5.8.0","@types/node":"^22.0.0","typescript-eslint":"^8.60.0","@vitest/coverage-v8":"^4.1.6","@earendil-works/pi-coding-agent":"^0.74.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/deepwork_0.2.2_1785875623542_0.7482151126952161","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@ai-outfitter/deepwork","version":"0.3.0","description":"Native DeepWork extension and skills for Pi CLI","keywords":["pi-package","pi","deepwork","workflow","automation","quality-gates","reviews","deepschema"],"license":"BSL-1.1","repository":{"type":"git","url":"git+https://github.com/ai-outfitter/deepwork.git"},"homepage":"https://github.com/ai-outfitter/deepwork#readme","bugs":{"url":"https://github.com/ai-outfitter/deepwork/issues"},"type":"module","scripts":{"check":"npm run check:package && npm run typecheck && npm run build && npm run test","check:package":"node -e \"const fs=require('fs'); const pkg=JSON.parse(fs.readFileSync('package.json','utf8')); if (pkg.name !== '@ai-outfitter/deepwork') throw new Error('package name must be @ai-outfitter/deepwork'); const required=['extensions','skills','prompts']; for (const key of required) { if (!pkg.pi?.[key]?.length) throw new Error('pi.'+key+' is required'); for (const p of pkg.pi[key]) { if (!fs.existsSync(p)) throw new Error('missing '+key+' path: '+p); } } console.log('package manifest OK');\"","typecheck":"tsc --noEmit","test":"vitest run","test:update-golden":"UPDATE_GOLDEN=1 vitest run test/get-workflows.golden.test.ts","coverage":"vitest run --coverage","build":"node scripts/build-mcp.mjs","prepublishOnly":"npm run build"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","typebox":"*"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","ajv":"^8.20.0","yaml":"^2.9.0"},"devDependencies":{"@earendil-works/pi-coding-agent":"^0.74.0","@eslint/js":"^10.0.1","@types/node":"^22.0.0","@vitest/coverage-v8":"^4.1.6","esbuild":"^0.25.12","eslint":"^10.4.0","globals":"^17.6.0","tsx":"^4.23.0","typebox":"^1.1.38","typescript":"^5.8.0","typescript-eslint":"^8.60.0","vitest":"^4.1.6"},"pi":{"extensions":["./src/index.ts"],"skills":["./skills"],"prompts":["./prompts"]},"bin":{"deepwork-mcp":"dist/mcp/server.mjs"},"publishConfig":{"access":"public"},"gitHead":"e4d3d51681737b553e8c2e778a3fa5cbf4e7e142","_id":"@ai-outfitter/deepwork@0.3.0","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-y9ZnJBt624Rm7kFDGjSoHeDiDaqjGXk/RdfDyKdnH2SNq1y0ZpAwfWw50SD+5+sCE8V9q1JVYi2V7QgyKHYNxA==","shasum":"bf7cc2f37f36657bb4da6a91882035259aadf7fa","tarball":"https://registry.npmjs.org/@ai-outfitter/deepwork/-/deepwork-0.3.0.tgz","fileCount":83,"unpackedSize":2040978,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-outfitter%2fdeepwork@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDaLYc7gXQpZGGDp+9kjUrn/6qAgahS2wG5Il92jQKuFQIhALAMI+UlsiXO3Z/+WxPCYBXtNX9/JCjdK/Lsr+2poZCj"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b09b3705-6ff7-40f9-8a1a-567dbbc7fbc0"}},"directories":{},"maintainers":[{"name":"ncrmro","email":"ncrmro@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deepwork_0.3.0_1785875898182_0.1262643588022232"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-04T20:33:43.372Z","modified":"2026-08-04T20:38:18.770Z","0.2.2":"2026-08-04T20:33:43.735Z","0.3.0":"2026-08-04T20:38:18.370Z"},"bugs":{"url":"https://github.com/ai-outfitter/deepwork/issues"},"license":"BSL-1.1","homepage":"https://github.com/ai-outfitter/deepwork#readme","keywords":["pi-package","pi","deepwork","workflow","automation","quality-gates","reviews","deepschema"],"repository":{"type":"git","url":"git+https://github.com/ai-outfitter/deepwork.git"},"description":"Native DeepWork extension and skills for Pi CLI","maintainers":[{"name":"ncrmro","email":"ncrmro@gmail.com"}],"readme":"# DeepWork\n\n`deepwork` is the native Pi package for DeepWork workflows, DeepWork Reviews, and DeepSchema.\n\nThe Pi extension is intentionally native: it does **not** require `.mcp.json`, does **not** start a DeepWork MCP server, and does **not** route Pi tools through MCP. That is a property of the Pi path (`PI-REQ-001`), not of the repository — Claude Code and Codex have no equivalent extension API, so they are served by a separate bundled MCP entry point that the Pi path never loads. Runtime implementation work reuses existing DeepWork behavior through native TypeScript implementations and a narrow compatibility bridge where behavior has not yet been ported.\n\n## Install from GitHub\n\nFrom a Pi project, install the package with:\n\n```bash\npi install git:github.com/ai-outfitter/deepwork\n```\n\nThen reload Pi resources if Pi is already running:\n\n```text\n/reload\n```\n\nThe published package is `@ai-outfitter/deepwork`; it provides the native DeepWork extension and packaged skills/prompts for Pi, and the plugin surfaces for Claude Code and Codex.\n\n## Use with Claude Code\n\n```bash\nclaude plugin marketplace add ai-outfitter/deepwork\nclaude plugin install deepwork@ai-outfitter\n```\n\nFor a checkout, `npm ci && npm run build`, then `claude --plugin-dir /path/to/deepwork`.\n\nSee [docs/claude-code.md](docs/claude-code.md) for setup options, the capability mapping, and known gaps.\n\n## Use with Codex\n\n```bash\nnpm install -g @ai-outfitter/deepwork\ncodex plugin marketplace add ai-outfitter/deepwork\ncodex plugin add deepwork@ai-outfitter\n```\n\nCodex passes a plugin MCP server almost no environment, so `DEEPWORK_*` settings\nmust be declared in the plugin's own config rather than exported in your shell.\nSee [docs/codex.md](docs/codex.md).\n\nPi usage is unchanged and remains MCP-free on both counts.\n\n## Local development\n\nClone this repository and install dependencies:\n\n```bash\ngit clone https://github.com/ai-outfitter/deepwork.git\ncd deepwork\nnpm ci\n```\n\nFrom a Pi project, install the local checkout with:\n\n```bash\npi install /path/to/deepwork -l\n```\n\nRun available checks from the package checkout:\n\n```bash\nnpm run check:package\nnpm run typecheck\nnpm test\n```\n\n## Releases\n\nDeepWork releases are managed with release-please. Use Conventional Commit messages\n(`feat:`, `fix:`, `docs:`, `chore:`) on merged PRs. After changes land on\n`main`, the Release Please workflow opens or updates a release PR. Merging that\nrelease PR updates `package.json`, `package-lock.json`, `CHANGELOG.md`, creates\nthe GitHub release, and tags the version.\n\nPi users who install from GitHub should reference the canonical repository:\n\n```bash\npi install git:github.com/ai-outfitter/deepwork\n```\n\nIf Pi is already running, restart Pi or reload resources after the profile or\ninstalled package source changes so the new native tools are available in the\ncurrent session.\n\n## Native Pi resources\n\nThe package manifest declares:\n\n```json\n{\n  \"pi\": {\n    \"extensions\": [\"./src/index.ts\"],\n    \"skills\": [\"./skills\"],\n    \"prompts\": [\"./prompts\"]\n  }\n}\n```\n\nThe extension entry point registers `/review`, `/deepwork_review`, `/configure-reviews`, `/record`, the native `deepwork_*` tools listed below, session context restoration, commit review reminders, and DeepSchema write feedback hooks. `/deepwork` itself is provided as a prompt/skill-style resource at `prompts/deepwork.md`; it tells the agent to call `deepwork_get_workflows`, infer the appropriate workflow, and start it with native tools.\n\n## Required native tool surface\n\nThe implementation requirements define these Pi-native tools:\n\n- `deepwork_get_workflows`\n- `deepwork_register_session_job`\n- `deepwork_get_session_job`\n- `deepwork_start_workflow`\n- `deepwork_finished_step`\n- `deepwork_abort_workflow`\n- `deepwork_go_to_step`\n- `deepwork_get_review_instructions`\n- `deepwork_get_configured_reviews`\n- `deepwork_mark_review_as_passed`\n- `deepwork_get_named_schemas`\n\nThese tools are registered with `pi.registerTool()` and do not call MCP tools or require an MCP server. Workflow discovery, workflow runtime, and session-job registration use native TypeScript implementation paths and include bundled standard jobs from `standard_jobs/` unless `DEEPWORK_STANDARD_JOBS_DIR` overrides the source.\n\n## Package resources\n\n- `src/` contains the native Pi extension entry point, bridge, tools, workflow runtime helpers, review helpers, and DeepSchema helpers.\n- `extensions/` contains Pi command/tool/lifecycle registration.\n- `skills/` contains packaged Pi skills for DeepWork, reviews, DeepSchema, DeepPlan, record, and onboarding flows.\n- `prompts/` contains the `/deepwork` prompt resource.\n- `standard_jobs/` and `standard_schemas/` contain bundled DeepWork jobs and DeepSchema definitions used by the extension.\n- `docs/` contains user-facing review and bridge documentation.\n- `doc/specs/deepwork-pi/` contains native Pi requirements retained from the implementation source.\n\n## Package status\n\nImplemented so far:\n\n- `package.json` with standalone Pi package metadata for `ai-outfitter/deepwork`\n- `src/index.ts` Pi extension entry point\n- `extensions/index.ts` native Pi tool, command, and lifecycle registration\n- `src/bridge.ts` centralized compatibility bridge for operations not yet ported to TypeScript\n- `src/workflows/discovery.ts` native TypeScript workflow discovery and parsing for `deepwork_get_workflows`\n- `src/workflows/session-jobs.ts` native TypeScript session-job registration and retrieval for DeepPlan-generated jobs\n- `tsconfig.json` TypeScript project config\n- `doc/specs/deepwork-pi/` native Pi requirements\n- `skills/` native Pi skill set\n- `standard_jobs/` bundled DeepWork standard jobs, including `deepwork_jobs/new_job`, `deepwork_jobs/learn`, `deepwork_jobs/repair`, `deepwork_jobs/shared_jobs`, `deepwork_reviews/*`, and `deepplan/create_deep_plan`\n- `docs/` native Pi review/bridge reference docs\n\n## Requirements\n\nPrimary requirements are in:\n\n- `doc/specs/deepwork-pi/PI-REQ-001-native-pi-extension.md`\n- `doc/specs/deepwork-pi/PI-REQ-002-native-pi-tools.md`\n- `doc/specs/deepwork-pi/PI-REQ-003-native-pi-reviews.md`\n\n## Reuse guidance\n\nThe native Pi package should preserve existing DeepWork workflow, review, DeepSchema, and state-management semantics instead of forking behavior.\n","readmeFilename":"README.md"}