{"_id":"@tdwhere/do-it","_rev":"4-b5177a3bf2872295caf3c806ca2089a2","name":"@tdwhere/do-it","dist-tags":{"latest":"0.16.0"},"versions":{"0.14.1":{"name":"@tdwhere/do-it","version":"0.14.1","keywords":["agentic-workflow","ai-agents","codex-cli","codex","do-it","kimi-code","pi-coding-agent","workflow","skills","agents","subagents","developer-tools"],"author":{"name":"tdwhere123"},"license":"MIT","_id":"@tdwhere/do-it@0.14.1","maintainers":[{"name":"tdwhere","email":"tdwhere123@gmail.com"}],"homepage":"https://github.com/tdwhere123/do-it#readme","bugs":{"url":"https://github.com/tdwhere123/do-it/issues"},"bin":{"do-it":"bin/do-it.mjs"},"dist":{"shasum":"1afffe6bb39f6b0464ca05319e50b4e31bed37f3","tarball":"https://registry.npmjs.org/@tdwhere/do-it/-/do-it-0.14.1.tgz","fileCount":344,"integrity":"sha512-RuLKpWlnMJks41Bq2VoEMFxsD5LUjtm7xLyzf7fmvib2TUqP0YjLi+RTkH3wPA+7L1E+5UIcIW/PG3PUrqeRUQ==","signatures":[{"sig":"MEQCIFVXv0IzmGURS/p3wU5xiXpiHjJ94rbXVyM07PnuIdNtAiADADwOu6rYK1toFrIdkpcSCixfm4jub6kVWj632HRtCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543224},"type":"module","_from":"file:tdwhere-do-it-0.14.1.tgz","engines":{"node":">=18"},"scripts":{"lint":"bash scripts/lint-hooks.sh","test":"npm run build:generated && node scripts/build-codex-plugin.mjs && npm run build:cursor-plugin && npm run validate:agents && npm run validate:cursor-plugin && npm run validate:kimi-plugin && npm run check:skill-links && npm run validate:quality-families && npm run validate:core-skill-boundaries && npm run validate:legacy-names && npm run lint-hooks && npm run test-hooks && npm run test-agent-bundle && npm run test-install && npm run test-release && npm run test-opencode","do-it":"node bin/do-it.mjs","setup":"node bin/do-it.mjs setup","doctor":"node install/manage.mjs doctor","prepack":"npm run build:generated && node scripts/build-codex-plugin.mjs && node scripts/build-cursor-plugin.mjs && node scripts/build-opencode-plugin.mjs && node scripts/validate-agent-bundle.mjs && node scripts/validate-cursor-plugin.mjs && node scripts/validate-harness-matrix.mjs && node scripts/validate-kimi-plugin.mjs && node scripts/validate-core-skill-boundaries.mjs","test-pi":"npm run build:pi-plugin && npm --prefix plugins/do-it-pi test","lint-hooks":"bash scripts/lint-hooks.sh","test-hooks":"bash scripts/test-hooks.sh && bash tests/hooks/behavior-feedback.test.sh && bash tests/hooks/strict-external-actions.test.sh && bash tests/hooks/router.test.sh && bash tests/hooks/routing-golden.test.sh && bash tests/hooks/write-quality-lint.test.sh && bash tests/hooks/comments-lint.test.sh && bash tests/hooks/anti-patterns-lint.test.sh && bash tests/hooks/verification-gate.test.sh && bash tests/hooks/grill-prompt.test.sh && bash tests/hooks/subagent-stance.test.sh && bash tests/hooks/common.test.sh","test-install":"node --test tests/install/*.test.mjs","test-release":"node --test tests/release/*.test.mjs","doctor:claude":"node install/manage.mjs doctor --target=claude","doctor:cursor":"node install/manage.mjs doctor --target=cursor","install:do-it":"node install/manage.mjs install","smoke:package":"node scripts/smoke-package.mjs","test-opencode":"npm run build:opencode-plugin && node --test tests/opencode/*.test.mjs","install:claude":"node install/manage.mjs install --target=claude","install:cursor":"node install/manage.mjs install --target=cursor","pack:pi-plugin":"npm run build:pi-plugin && npm --prefix plugins/do-it-pi run pack:check","build:generated":"node scripts/build-claude-agents.mjs && node scripts/build-skills-index.mjs && node scripts/build-index-json.mjs","build:pi-plugin":"npm run build:generated && node scripts/build-pi-plugin.mjs","validate:agents":"node scripts/validate-agent-bundle.mjs","smoke:pi-package":"npm run build:pi-plugin && node scripts/smoke-pi-package.mjs","validate:release":"node scripts/validate-release.mjs","check:skill-links":"node scripts/check-skill-links.mjs","install:pi-global":"npm run build:pi-plugin && node scripts/install-pi-global.mjs","test-agent-bundle":"node --test tests/agent-bundle.test.mjs","build:codex-plugin":"npm run build:generated && node scripts/build-codex-plugin.mjs && node scripts/validate-agent-bundle.mjs","build:claude-agents":"npm run build:generated && node scripts/validate-agent-bundle.mjs","build:cursor-plugin":"npm run build:generated && node scripts/build-cursor-plugin.mjs && node scripts/validate-cursor-plugin.mjs && node scripts/validate-harness-matrix.mjs","install:cursor-local":"npm run build:cursor-plugin && node scripts/install-cursor-local.mjs","validate:kimi-plugin":"node scripts/validate-kimi-plugin.mjs","build:opencode-plugin":"npm run build:generated && node scripts/build-opencode-plugin.mjs","validate:legacy-names":"node scripts/validate-legacy-names.mjs","validate:cursor-plugin":"node scripts/validate-cursor-plugin.mjs","install:opencode-global":"npm run build:opencode-plugin && node scripts/install-opencode-global.mjs","validate:harness-matrix":"node scripts/validate-harness-matrix.mjs","validate:quality-families":"node scripts/validate-quality-families.mjs","validate:core-skill-boundaries":"node scripts/validate-core-skill-boundaries.mjs"},"_npmUser":{"name":"tdwhere","email":"tdwhere123@gmail.com"},"_resolved":"/home/runner/work/do-it/do-it/tdwhere-do-it-0.14.1.tgz","_integrity":"sha512-RuLKpWlnMJks41Bq2VoEMFxsD5LUjtm7xLyzf7fmvib2TUqP0YjLi+RTkH3wPA+7L1E+5UIcIW/PG3PUrqeRUQ==","repository":{"url":"git+https://github.com/tdwhere123/do-it.git","type":"git"},"_npmVersion":"10.9.8","description":"Autonomy-first AI coding workflow for Codex, Claude Code, Cursor, OpenCode, Pi, and Kimi Code with task-fit skills, optional subagents, and evidence-backed completion.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/do-it_0.14.1_1784866676877_0.7486802536155075","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"@tdwhere/do-it","version":"0.14.2","keywords":["agentic-workflow","ai-agents","codex-cli","codex","do-it","kimi-code","pi-coding-agent","workflow","skills","agents","subagents","developer-tools"],"author":{"name":"tdwhere123"},"license":"MIT","_id":"@tdwhere/do-it@0.14.2","maintainers":[{"name":"tdwhere","email":"tdwhere123@gmail.com"}],"homepage":"https://github.com/tdwhere123/do-it#readme","bugs":{"url":"https://github.com/tdwhere123/do-it/issues"},"bin":{"do-it":"bin/do-it.mjs"},"dist":{"shasum":"d8dd1a81cdad1d7470663a32c6628151a45a5736","tarball":"https://registry.npmjs.org/@tdwhere/do-it/-/do-it-0.14.2.tgz","fileCount":344,"integrity":"sha512-dzHuzwTiIuyxdLeULYbsBXJXTgytPr1qHBqL/MTrVZyzydZGP+UK/Zd8GvCPMIEg5Tqei2rqOvXKJXRHsgDLtQ==","signatures":[{"sig":"MEUCIFHnUFzu+Qa6ISxhxFrNOThGcWlXLmzekU8GmpSV5XbsAiEA8ho6sBkEfsWp3FT64Q5GUv+3fmC2XaPFGPqMv9+yJpk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543244},"type":"module","_from":"file:tdwhere-do-it-0.14.2.tgz","engines":{"node":">=18"},"scripts":{"lint":"bash scripts/lint-hooks.sh","test":"npm run build:generated && node scripts/build-codex-plugin.mjs && npm run build:cursor-plugin && npm run validate:agents && npm run validate:cursor-plugin && npm run validate:kimi-plugin && npm run check:skill-links && npm run validate:quality-families && npm run validate:core-skill-boundaries && npm run validate:legacy-names && npm run lint-hooks && npm run test-hooks && npm run test-agent-bundle && npm run test-install && npm run test-release && npm run test-opencode","do-it":"node bin/do-it.mjs","setup":"node bin/do-it.mjs setup","doctor":"node install/manage.mjs doctor","prepack":"npm run build:generated && node scripts/build-codex-plugin.mjs && node scripts/build-cursor-plugin.mjs && node scripts/build-opencode-plugin.mjs && node scripts/validate-agent-bundle.mjs && node scripts/validate-cursor-plugin.mjs && node scripts/validate-harness-matrix.mjs && node scripts/validate-kimi-plugin.mjs && node scripts/validate-core-skill-boundaries.mjs","test-pi":"npm run build:pi-plugin && npm --prefix plugins/do-it-pi test","lint-hooks":"bash scripts/lint-hooks.sh","test-hooks":"bash scripts/test-hooks.sh && bash tests/hooks/behavior-feedback.test.sh && bash tests/hooks/strict-external-actions.test.sh && bash tests/hooks/router.test.sh && bash tests/hooks/routing-golden.test.sh && bash tests/hooks/write-quality-lint.test.sh && bash tests/hooks/comments-lint.test.sh && bash tests/hooks/anti-patterns-lint.test.sh && bash tests/hooks/verification-gate.test.sh && bash tests/hooks/grill-prompt.test.sh && bash tests/hooks/subagent-stance.test.sh && bash tests/hooks/common.test.sh","test-install":"node --test tests/install/*.test.mjs","test-release":"node --test tests/release/*.test.mjs","doctor:claude":"node install/manage.mjs doctor --target=claude","doctor:cursor":"node install/manage.mjs doctor --target=cursor","install:do-it":"node install/manage.mjs install","smoke:package":"node scripts/smoke-package.mjs","test-opencode":"npm run build:opencode-plugin && node --test tests/opencode/*.test.mjs","install:claude":"node install/manage.mjs install --target=claude","install:cursor":"node install/manage.mjs install --target=cursor","pack:pi-plugin":"npm run build:pi-plugin && npm --prefix plugins/do-it-pi run pack:check","build:generated":"node scripts/build-claude-agents.mjs && node scripts/build-skills-index.mjs && node scripts/build-index-json.mjs","build:pi-plugin":"npm run build:generated && node scripts/build-pi-plugin.mjs","validate:agents":"node scripts/validate-agent-bundle.mjs","smoke:pi-package":"npm run build:pi-plugin && node scripts/smoke-pi-package.mjs","validate:release":"node scripts/validate-release.mjs","check:skill-links":"node scripts/check-skill-links.mjs","install:pi-global":"npm run build:pi-plugin && node scripts/install-pi-global.mjs","test-agent-bundle":"node --test tests/agent-bundle.test.mjs","build:codex-plugin":"npm run build:generated && node scripts/build-codex-plugin.mjs && node scripts/validate-agent-bundle.mjs","build:claude-agents":"npm run build:generated && node scripts/validate-agent-bundle.mjs","build:cursor-plugin":"npm run build:generated && node scripts/build-cursor-plugin.mjs && node scripts/validate-cursor-plugin.mjs && node scripts/validate-harness-matrix.mjs","install:cursor-local":"npm run build:cursor-plugin && node scripts/install-cursor-local.mjs","validate:kimi-plugin":"node scripts/validate-kimi-plugin.mjs","build:opencode-plugin":"npm run build:generated && node scripts/build-opencode-plugin.mjs","validate:legacy-names":"node scripts/validate-legacy-names.mjs","validate:cursor-plugin":"node scripts/validate-cursor-plugin.mjs","install:opencode-global":"npm run build:opencode-plugin && node scripts/install-opencode-global.mjs","validate:harness-matrix":"node scripts/validate-harness-matrix.mjs","validate:quality-families":"node scripts/validate-quality-families.mjs","validate:core-skill-boundaries":"node scripts/validate-core-skill-boundaries.mjs"},"_npmUser":{"name":"tdwhere","email":"tdwhere123@gmail.com"},"_resolved":"/home/runner/work/do-it/do-it/tdwhere-do-it-0.14.2.tgz","_integrity":"sha512-dzHuzwTiIuyxdLeULYbsBXJXTgytPr1qHBqL/MTrVZyzydZGP+UK/Zd8GvCPMIEg5Tqei2rqOvXKJXRHsgDLtQ==","repository":{"url":"git+https://github.com/tdwhere123/do-it.git","type":"git"},"_npmVersion":"10.9.8","description":"Autonomy-first AI coding workflow for Codex, Claude Code, Cursor, OpenCode, Pi, and Kimi Code with task-fit skills, optional subagents, and evidence-backed completion.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/do-it_0.14.2_1784873020875_0.8220275151344201","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@tdwhere/do-it","version":"0.15.0","keywords":["agentic-workflow","ai-agents","codex-cli","codex","do-it","kimi-code","pi-coding-agent","workflow","skills","agents","subagents","developer-tools"],"author":{"name":"tdwhere123"},"license":"MIT","_id":"@tdwhere/do-it@0.15.0","maintainers":[{"name":"tdwhere","email":"tdwhere123@gmail.com"}],"homepage":"https://github.com/tdwhere123/do-it#readme","bugs":{"url":"https://github.com/tdwhere123/do-it/issues"},"bin":{"do-it":"bin/do-it.mjs"},"dist":{"shasum":"7bd0e671a485e173d01769827eb4fe495b0ec95c","tarball":"https://registry.npmjs.org/@tdwhere/do-it/-/do-it-0.15.0.tgz","fileCount":344,"integrity":"sha512-1he+0eCQmZQSm6KFP2Bv+5KX1Rwsxvo9bOL3/tVHa2w7nRo+nRdBuD4VQQnv2BCYh4Y6u4PCksfDEm05dPcM0A==","signatures":[{"sig":"MEYCIQDkXivSMp3oBI571Y9U2E+nLDX9YGBrCv1nDrnay4sCzAIhANacN87iGwTYidIzQnVTaQ331JrSFNZv/so6lgfBi1cB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1568838},"type":"module","_from":"file:tdwhere-do-it-0.15.0.tgz","engines":{"node":">=18"},"scripts":{"lint":"bash scripts/lint-hooks.sh","test":"npm run build:generated && node scripts/build-codex-plugin.mjs && npm run build:cursor-plugin && npm run validate:agents && npm run validate:cursor-plugin && npm run validate:kimi-plugin && npm run check:skill-links && npm run validate:quality-families && npm run validate:core-skill-boundaries && npm run validate:legacy-names && npm run lint-hooks && npm run test-hooks && npm run test-agent-bundle && npm run test-install && npm run test-release && npm run test-opencode","do-it":"node bin/do-it.mjs","setup":"node bin/do-it.mjs setup","doctor":"node install/manage.mjs doctor","prepack":"npm run build:generated && node scripts/build-codex-plugin.mjs && node scripts/build-cursor-plugin.mjs && node scripts/build-opencode-plugin.mjs && node scripts/validate-agent-bundle.mjs && node scripts/validate-cursor-plugin.mjs && node scripts/validate-harness-matrix.mjs && node scripts/validate-kimi-plugin.mjs && node scripts/validate-core-skill-boundaries.mjs","test-pi":"npm run build:pi-plugin && npm --prefix plugins/do-it-pi test","lint-hooks":"bash scripts/lint-hooks.sh","test-hooks":"bash scripts/test-hooks.sh && bash tests/hooks/behavior-feedback.test.sh && bash tests/hooks/strict-external-actions.test.sh && bash tests/hooks/router.test.sh && bash tests/hooks/routing-golden.test.sh && bash tests/hooks/write-quality-lint.test.sh && bash tests/hooks/comments-lint.test.sh && bash tests/hooks/anti-patterns-lint.test.sh && bash tests/hooks/verification-gate.test.sh && bash tests/hooks/grill-prompt.test.sh && bash tests/hooks/subagent-stance.test.sh && bash tests/hooks/common.test.sh","test-install":"node --test tests/install/*.test.mjs","test-release":"node --test tests/release/*.test.mjs","doctor:claude":"node install/manage.mjs doctor --target=claude","doctor:cursor":"node install/manage.mjs doctor --target=cursor","install:do-it":"node install/manage.mjs install","smoke:package":"node scripts/smoke-package.mjs","test-opencode":"npm run build:opencode-plugin && node --test tests/opencode/*.test.mjs","install:claude":"node install/manage.mjs install --target=claude","install:cursor":"node install/manage.mjs install --target=cursor","pack:pi-plugin":"npm run build:pi-plugin && npm --prefix plugins/do-it-pi run pack:check","build:generated":"node scripts/build-claude-agents.mjs && node scripts/build-skills-index.mjs && node scripts/build-index-json.mjs","build:pi-plugin":"npm run build:generated && node scripts/build-pi-plugin.mjs","validate:agents":"node scripts/validate-agent-bundle.mjs","smoke:pi-package":"npm run build:pi-plugin && node scripts/smoke-pi-package.mjs","validate:release":"node scripts/validate-release.mjs","check:skill-links":"node scripts/check-skill-links.mjs","install:pi-global":"npm run build:pi-plugin && node scripts/install-pi-global.mjs","test-agent-bundle":"node --test tests/agent-bundle.test.mjs","build:codex-plugin":"npm run build:generated && node scripts/build-codex-plugin.mjs && node scripts/validate-agent-bundle.mjs","build:claude-agents":"npm run build:generated && node scripts/validate-agent-bundle.mjs","build:cursor-plugin":"npm run build:generated && node scripts/build-cursor-plugin.mjs && node scripts/validate-cursor-plugin.mjs && node scripts/validate-harness-matrix.mjs","install:cursor-local":"npm run build:cursor-plugin && node scripts/install-cursor-local.mjs","validate:kimi-plugin":"node scripts/validate-kimi-plugin.mjs","build:opencode-plugin":"npm run build:generated && node scripts/build-opencode-plugin.mjs","validate:legacy-names":"node scripts/validate-legacy-names.mjs","validate:cursor-plugin":"node scripts/validate-cursor-plugin.mjs","install:opencode-global":"npm run build:opencode-plugin && node scripts/install-opencode-global.mjs","validate:harness-matrix":"node scripts/validate-harness-matrix.mjs","validate:quality-families":"node scripts/validate-quality-families.mjs","validate:core-skill-boundaries":"node scripts/validate-core-skill-boundaries.mjs"},"_npmUser":{"name":"tdwhere","email":"tdwhere123@gmail.com"},"_resolved":"/home/runner/work/do-it/do-it/tdwhere-do-it-0.15.0.tgz","_integrity":"sha512-1he+0eCQmZQSm6KFP2Bv+5KX1Rwsxvo9bOL3/tVHa2w7nRo+nRdBuD4VQQnv2BCYh4Y6u4PCksfDEm05dPcM0A==","repository":{"url":"git+https://github.com/tdwhere123/do-it.git","type":"git"},"_npmVersion":"10.9.8","description":"Autonomy-first AI coding workflow for Codex, Claude Code, Cursor, OpenCode, Pi, and Kimi Code with task-fit skills, optional subagents, and evidence-backed completion.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/do-it_0.15.0_1785970072406_0.841455171548402","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@tdwhere/do-it","version":"0.16.0","description":"Autonomy-first AI coding workflow for Codex, Claude Code, Cursor, OpenCode, Pi, and Kimi Code with task-fit skills, optional subagents, and evidence-backed completion.","type":"module","license":"MIT","author":{"name":"tdwhere123"},"repository":{"type":"git","url":"git+https://github.com/tdwhere123/do-it.git"},"bugs":{"url":"https://github.com/tdwhere123/do-it/issues"},"homepage":"https://github.com/tdwhere123/do-it#readme","keywords":["agentic-workflow","ai-agents","codex-cli","codex","do-it","kimi-code","pi-coding-agent","workflow","skills","agents","subagents","developer-tools"],"publishConfig":{"access":"public"},"bin":{"do-it":"bin/do-it.mjs"},"scripts":{"setup":"node bin/do-it.mjs setup","install:do-it":"node install/manage.mjs install","install:claude":"node install/manage.mjs install --target=claude","install:cursor":"node install/manage.mjs install --target=cursor","doctor":"node install/manage.mjs doctor","doctor:claude":"node install/manage.mjs doctor --target=claude","doctor:cursor":"node install/manage.mjs doctor --target=cursor","validate:agents":"node scripts/validate-agent-bundle.mjs","validate:cursor-plugin":"node scripts/validate-cursor-plugin.mjs","check:skill-links":"node scripts/check-skill-links.mjs","build:generated":"node scripts/build-claude-agents.mjs && node scripts/build-skills-index.mjs && node scripts/build-index-json.mjs","build:claude-agents":"npm run build:generated && node scripts/validate-agent-bundle.mjs","build:codex-plugin":"npm run build:generated && node scripts/build-codex-plugin.mjs && node scripts/validate-agent-bundle.mjs","build:opencode-plugin":"npm run build:generated && node scripts/build-opencode-plugin.mjs","build:pi-plugin":"npm run build:generated && node scripts/build-pi-plugin.mjs","build:cursor-plugin":"npm run build:generated && node scripts/build-cursor-plugin.mjs && node scripts/validate-cursor-plugin.mjs && node scripts/validate-harness-matrix.mjs","install:cursor-local":"npm run build:cursor-plugin && node scripts/install-cursor-local.mjs","install:opencode-global":"npm run build:opencode-plugin && node scripts/install-opencode-global.mjs","install:pi-global":"npm run build:pi-plugin && node scripts/install-pi-global.mjs","validate:harness-matrix":"node scripts/validate-harness-matrix.mjs","validate:kimi-plugin":"node scripts/validate-kimi-plugin.mjs","validate:quality-families":"node scripts/validate-quality-families.mjs","validate:core-consistency":"node scripts/validate-core-consistency.mjs","validate:core-skill-boundaries":"node scripts/validate-core-skill-boundaries.mjs","validate:legacy-names":"node scripts/validate-legacy-names.mjs","validate:release":"node scripts/validate-release.mjs","smoke:package":"node scripts/smoke-package.mjs","smoke:pi-package":"npm run build:pi-plugin && node scripts/smoke-pi-package.mjs","prepack":"npm run build:generated && node scripts/build-codex-plugin.mjs && node scripts/build-cursor-plugin.mjs && node scripts/build-opencode-plugin.mjs && node scripts/validate-agent-bundle.mjs && node scripts/validate-cursor-plugin.mjs && node scripts/validate-harness-matrix.mjs && node scripts/validate-kimi-plugin.mjs && node scripts/validate-core-consistency.mjs && node scripts/validate-core-skill-boundaries.mjs","do-it":"node bin/do-it.mjs","lint":"bash scripts/lint-hooks.sh","lint-hooks":"bash scripts/lint-hooks.sh","test-hooks":"bash scripts/test-hooks.sh && bash tests/hooks/behavior-feedback.test.sh && bash tests/hooks/strict-external-actions.test.sh && bash tests/hooks/router.test.sh && bash tests/hooks/routing-golden.test.sh && bash tests/hooks/write-quality-lint.test.sh && bash tests/hooks/comments-lint.test.sh && bash tests/hooks/anti-patterns-lint.test.sh && bash tests/hooks/verification-gate.test.sh && bash tests/hooks/grill-prompt.test.sh && bash tests/hooks/subagent-stance.test.sh && bash tests/hooks/common.test.sh","test-agent-bundle":"node --test tests/agent-bundle.test.mjs","test-core-consistency":"node --test tests/core-consistency.test.mjs","test-install":"node --test tests/install/*.test.mjs","test-release":"node --test tests/release/*.test.mjs","test-opencode":"npm run build:opencode-plugin && node --test tests/opencode/*.test.mjs","test-pi":"npm run build:pi-plugin && npm --prefix plugins/do-it-pi test","pack:pi-plugin":"npm run build:pi-plugin && npm --prefix plugins/do-it-pi run pack:check","test":"npm run build:generated && node scripts/build-codex-plugin.mjs && npm run build:cursor-plugin && npm run validate:agents && npm run validate:cursor-plugin && npm run validate:kimi-plugin && npm run check:skill-links && npm run validate:quality-families && npm run validate:core-consistency && npm run validate:core-skill-boundaries && npm run validate:legacy-names && npm run lint-hooks && npm run test-hooks && npm run test-agent-bundle && npm run test-core-consistency && npm run test-install && npm run test-release && npm run test-opencode"},"engines":{"node":">=18"},"_id":"@tdwhere/do-it@0.16.0","_integrity":"sha512-dCeXBrNUdnCCo/xUFPAoub68Tn8+A6KzKawBkAuJXZO5XxG+vkV7Ee6j9FGTDDIZ7pOdEtxtITXCRljMM/lKwA==","_resolved":"/home/runner/work/do-it/do-it/tdwhere-do-it-0.16.0.tgz","_from":"file:tdwhere-do-it-0.16.0.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-dCeXBrNUdnCCo/xUFPAoub68Tn8+A6KzKawBkAuJXZO5XxG+vkV7Ee6j9FGTDDIZ7pOdEtxtITXCRljMM/lKwA==","shasum":"e1d90a46d0a52bc3c7dd83623e169423c2c8ea83","tarball":"https://registry.npmjs.org/@tdwhere/do-it/-/do-it-0.16.0.tgz","fileCount":371,"unpackedSize":1795942,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFqqU7xCzpIcgjK0mILaiqOe4dupPk5g87gdCUNPC5H6AiEAqGVSc3lhrNoXTia+RPscPgNe+MYdNQ3qywqYS3RM0h8="}]},"_npmUser":{"name":"tdwhere","email":"tdwhere123@gmail.com"},"directories":{},"maintainers":[{"name":"tdwhere","email":"tdwhere123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/do-it_0.16.0_1786527426143_0.034611098796192064"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-24T04:17:56.760Z","modified":"2026-08-12T09:37:06.455Z","0.14.1":"2026-07-24T04:17:57.061Z","0.14.2":"2026-07-24T06:03:41.052Z","0.15.0":"2026-08-05T22:47:52.604Z","0.16.0":"2026-08-12T09:37:06.300Z"},"bugs":{"url":"https://github.com/tdwhere123/do-it/issues"},"author":{"name":"tdwhere123"},"license":"MIT","homepage":"https://github.com/tdwhere123/do-it#readme","keywords":["agentic-workflow","ai-agents","codex-cli","codex","do-it","kimi-code","pi-coding-agent","workflow","skills","agents","subagents","developer-tools"],"repository":{"type":"git","url":"git+https://github.com/tdwhere123/do-it.git"},"description":"Autonomy-first AI coding workflow for Codex, Claude Code, Cursor, OpenCode, Pi, and Kimi Code with task-fit skills, optional subagents, and evidence-backed completion.","maintainers":[{"name":"tdwhere","email":"tdwhere123@gmail.com"}],"readme":"# do-it\n\n[English](./README.md) | [中文](./README.zh-CN.md)\n\n[![CI](https://github.com/tdwhere123/do-it/actions/workflows/ci.yml/badge.svg)](https://github.com/tdwhere123/do-it/actions/workflows/ci.yml)\n[![CodeQL](https://github.com/tdwhere123/do-it/actions/workflows/codeql.yml/badge.svg)](https://github.com/tdwhere123/do-it/actions/workflows/codeql.yml)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n> 少即是多。最好的工作流，是你感觉不到它——直到它救了你。\n\n大多数 AI 编程工作流在给 agent 加规则。`do-it` 从相反方向出发：\n**什么可以不做？** 小事保持小。没有强制的 brainstorm → grill → plan → review\n链。每一个 skill、每一个子智能体、每一个 hook，都要靠\"此刻有用\"来赢得存在——\n而不是因为它是流水线的一环。\n\n留下的东西精简而有意：\n\n- **每一行代码，先是负债，后才是资产。** 共享的决策阶梯先问\"它需要存在吗\"，\n  再问\"怎么写\"。\n- **\"完成\"是证据声明，不是信心等级。** 从工作区拿证据，或者说 `NOT_VERIFIED`。\n- **只建议，从不阻塞。** Hook 提醒。Skill 建议。agent 的判断——和你的——赢。\n\n这是我自己每天在真实项目里用的工作流。适合你就用，觉得哪里不对就提 issue、\n发 PR，或者 fork 它。\n\n## 快速上手\n\n### 1. 安装\n\n| 宿主 | 命令 |\n| --- | --- |\n| Codex | `codex plugin marketplace add tdwhere123/do-it && codex plugin add do-it@tdwhere-do-it` |\n| Claude Code | `/plugin marketplace add tdwhere123/do-it` → `/plugin install do-it@do-it` |\n| Cursor | `npm run install:cursor-local` → Reload Window |\n| OpenCode | `opencode plugin @tdwhere/do-it-opencode -g` |\n| Pi | `pi install npm:@tdwhere/do-it-pi` |\n| Kimi Code | `/plugins install https://github.com/tdwhere123/do-it` |\n\n各宿主详细步骤与冒烟测试见 [docs/install.zh-CN.md](./docs/install.zh-CN.md)。\n\n### 2. 正常对话就行\n\ndo-it 在幕后工作，你不需要调用它——它在合适的生命周期点自动触发：\n\n- **Router** 给任务定级（Light / Standard / Heavy），建议可能有用的 skill。\n  Light 任务零仪式。\n- **写码时**，`write-quality-lint` 标出新代码中的反模式。每文件一条提醒；从不\n  阻塞。\n- **说\"完成\"之前**，verification gate 要求拿出新鲜证据。\n\n### 3. 建立 `.do-it/`（推荐）\n\n一个小目录，给 agent 跨会话的记忆——项目规则、词汇表、工作笔记。运行：\n\n```\n/do-it-handbook init\n```\n\n这会创建：\n\n```\n.do-it/\n  handbook/            稳定的项目真相\n    invariants.md        总是优先的规则\n    architecture.md      稳定的系统形状\n    glossary.md          长期稳定的词汇表\n  worklog/             日报或目标笔记\n  CONTEXT.md           精炼的术语和关系（自动更新）\n  brainstorm/ grill/ plans/   逐任务的材料\n```\n\n把 `invariants.md` 和 `glossary.md` 里的占位符换成你项目的真实规则。其余部分\n自行维护。\n\n### 4. 想跳就跳\n\n`yolo`、`just do it`、`直接做`、`skip do-it` 或 `/do-it-skip` — 整轮跳过。\n`skip grill`、`skip router`、`skip gate` — 部分跳过。\n\n## 它怎么工作\n\n### 合适的体量\n\nRouter 给每个任务一个建议性的风险标签——不是权限门。\n\n| 分级 | 发生什么 |\n| --- | --- |\n| **Light** | 检查 → 做 → 验证。没有额外仪式。 |\n| **Standard** | 按需加载 skill。没有强制链。 |\n| **Heavy** | 跨边界、发布、安全、不可逆。值得多看一眼。 |\n\nSkill 按需加载，不按分级：\n\n| Skill | 时机 |\n| --- | --- |\n| `do-it-core` | 常驻协议蓝本——先定分级，再证据 / 范围 / 验证 / 汇报 |\n| `do-it-code-quality` | 改代码——范围、TDD、调试、契约 |\n| `do-it-architecture` | 承重架构——权威、契约、边界、切换、防护 |\n| `do-it-decide` | 选项不清、承重前提 |\n| `do-it-review` | diff 需要审视和修复 |\n| `do-it-verify` | done / ready / merge 声明之前 |\n| `do-it-handbook`, `do-it-context` | 项目真相与词汇表 |\n| `do-it-skill-authoring` | 编写 do-it skill |\n| `do-it-retrospective` | 默认关闭的行为报告 |\n\n### 更少的代码，不是更多\n\n一条决策阶梯贯穿整个写代码过程：\n\n> 它需要存在吗？→ stdlib 能做？→ 平台原生？→ 已有依赖？→ 一行？→ 才轮到自建。\n\n这不是事后挂的 linter——它接在三个点上：\n\n- **写之前**：`do-it-decide` 问必要性。\n- **写之中**：`do-it-code-quality` + `write-quality-lint` 标出应该更简单的\n  东西。（[Family 目录](./skills/do-it/references/write-quality-families.md)。）\n- **写之后**：`do-it-review` 指出可删、可内联、可用 stdlib 替代的。\n\n被砍的永远不是安全。\n\n### 用证据说话\n\n`do-it` 把\"完成\"当成证据声明。`do-it-core` § Verify（`do-it-verify` 作为清单）\n要求从当前工作区取得新鲜、与声明相关的证明。拿不出证据，诚实的回答就是\n`NOT_VERIFIED` 加下一项检查。\n\n对于外部副作用（git push、npm publish …），do-it 要求 agent 先确认。\n真正的强制只有宿主的 sandbox 能做。\n详见[严格外部操作](./docs/strict-external-actions.md)。\n\n> 提示：描述目标、成功标准和相关约束，然后让 agent 自己规划步骤。\n\n### 需要时委派\n\n十个内置子智能体提供独立的代码地图、审查和专业视角——有用就用，没用就忽略。\n你自己的全局 agent 不受插件更新影响。\n\n## 整体流程\n\n```mermaid\nflowchart TD\n    P[UserPromptSubmit] --> R[do-it-router<br/>分类 Light / Standard / Heavy]\n    R --> C[do-it-core<br/>协议蓝本]\n    C --> B{意涵分桶}\n    B --> CQ[do-it-code-quality<br/>写码时]\n    B --> A[do-it-architecture<br/>承重架构]\n    B --> D[do-it-decide<br/>需要决策/计划时]\n    B --> RV[do-it-review<br/>需要审查时]\n    B --> VY[do-it-verify<br/>宣布完成前]\n    CQ --> E[执行]\n    D --> E\n    E --> WQ[PostToolUse: write-quality-lint]\n    E --> VG[verification-gate:<br/>建议性完成提醒]\n    VG --> VY\n    RV --> VY\n    VY --> Done[有证据的声明<br/>或 NOT_VERIFIED]\n```\n\n完整策略见 [`docs/routing-matrix.md`](./docs/routing-matrix.md)。\n\n## 项目级覆盖\n\n项目级覆盖放在 `.do-it/` 下，均为**纯数据**——hook 逐行读取，从不 source\n项目文件：\n\n- `keywords.local.tsv`（会话 cwd）扩展 router 关键词表。\n- `write-quality.local.tsv`（被编辑文件的 git 根目录）调整数值型限制，例如\n  `file-size` 的 warn/split 阈值；环境变量 `DO_IT_FILE_SIZE_WARN_LINES` /\n  `DO_IT_FILE_SIZE_SPLIT_LINES` 优先级高于该文件。\n\nFamily 目录与抑制语法见\n[`skills/do-it/references/write-quality-families.md`](./skills/do-it/references/write-quality-families.md)。\n\n## 发布说明\n\n当前主线 **0.16.x**。发布说明与 tag 策略：\n[`docs/release.md`](./docs/release.md)。更早的说明：\n[`CHANGELOG.md`](./CHANGELOG.md)。\n\n## 本地开发\n\n```bash\nnpm run setup            # 可选 CLI 安装\nnpm run doctor           # 验证安装\nnpm run lint             # shellcheck hooks\nnpm test                 # 完整门禁：构建 + 校验 + 全部测试\n```\n\nShell wrapper（`./install/install.sh`、`./install/doctor.sh`）委托给同一套\n受管安装逻辑。这个包不会通过 npm lifecycle scripts 自动修改 `~/.codex`。\n\n## 仓库结构\n\n```text\nskills/do-it/    会被安装的 skill 目录（权威来源）\nagents/          可移植的 agent TOML 定义\nhooks/           Host hook 脚本与数据表\ncommands/        斜杠命令（Claude / Kimi）\nplugins/         各宿主的生成式插件包（Codex、Cursor、OpenCode、Pi）\ninstall/         安装器、doctor、shell wrapper\nscripts/         构建、校验、冒烟脚本\ntests/           hook、安装、发布、适配器测试\ndocs/            路由、维护、发布、适配器\n```\n\n## 站在前人的肩膀上\n\n`do-it` 借用了\n[`mattpocock/skills`](https://github.com/mattpocock/skills)、\n[`addyosmani/agent-skills`](https://github.com/addyosmani/agent-skills) 和\n[`gsd-build/get-shit-done`](https://github.com/gsd-build/get-shit-done)\n验证过的 **plan / subworker / TDD / review** 范式。\n逐条对照见 [`docs/upstream-map.md`](./docs/upstream-map.md)。\n\n`do-it` 是我自己对同一类问题的解法，来自真实项目里的日常使用。这里吸收的是\n方法，并改写成 do-it 原生的 Router / Tier / Skill 语言；不会 vendor 上游\nskill 原文，也不会安装上游 skill 名称。\n\n感谢 [Linux.do](https://linux.do) 社区持续的实战反馈。\n\n## 维护\n\n[docs/maintenance.md](./docs/maintenance.md) 覆盖 skill、agent、安装器和包元数据\n的修改规则。\n\n## 贡献\n\n只接受来自真实使用的改动。详见 [CONTRIBUTING.md](./CONTRIBUTING.md)。\n","readmeFilename":"README.zh-CN.md"}