Development and testing
Run the Pocketto test suite on the Node built-in test runner, rebuild skill archives, and stage a release role locally. Requires Node.js 18 or newer.
Requirements
Node.js ≥ 18. No external dependencies are installed for the test suite: Pocketto's tests run on the Node built-in test runner.
Running the tests
The test script in package.json runs the full suite:
npm testIt executes (verify against package.json at your checkout: the list grows with the code):
node --test test/cli.test.js test/package.test.js test/lifecycle-contract.test.js \
test/lifecycle-store.test.js test/lifecycle-cli.test.js test/lifecycle-dispatch.test.js \
test/surfaces.test.js test/skill-surfaces.test.js test/enterprise-protocol.test.js \
test/enterprise-issue.test.js test/enterprise-phase.test.js test/enterprise-closeout.test.js \
test/enterprise-dispatch.test.js test/enterprise-issue-dispatch.test.js \
test/enterprise-meta.test.js test/enterprise-ownership.test.js test/compatibility.test.js \
test/integration/lifecycle-enterprise.test.js test/release-regression.test.js \
test/documentation.test.js test/bug-hunting-64.test.js test/git-worktree.test.js \
test/enterprise-stack-body.test.js test/plan-notices.test.js test/phase-branches.test.js \
test/enterprise-phase-closed.test.js test/phase-handoff.test.js \
test/enterprise-phase-stack.test.js test/enterprise-lifecycle-proof-phase-closed.test.jsThe suites map to the boundaries they guard:
- CLI behavior (
cli,package): the envelope, parsing, packaging. - Lifecycle (
lifecycle-contract,lifecycle-store,lifecycle-cli,lifecycle-dispatch): the event journal, store, commands, and adapter dispatch. - Surfaces (
surfaces,skill-surfaces): the manifest contract and per-role skill content. - Enterprise (
enterprise-*): protocol, issue/phase/closure handlers, ownership, stack bodies, phase branches. - Compatibility & regression (
compatibility,release-regression): the cross-version rules and release invariants. - Documentation (
documentation): checks that documentation claims match the implementation. - Integration (
integration/lifecycle-enterprise): the Core ↔ adapter path end to end.
Rebuilding skill archives
Skills ship with bundled .skill archives derived from the SKILL.md sources. After editing a skill, rebuild them:
./rebuild-skills.shStaging a release role
node scripts/build-surfaces.js --role <role> --output <artifact-dir><role> is one of pi/core, pi/enterprise, claude/core, claude/enterprise. The output directory contains only that role, the way to verify what a role ships before publishing. See Release surfaces.
Dogfooding note
The repository develops itself through its own pipeline: docs/pocket/ contains real specs, execution plans, log.json files, review artifacts, and closeout journals produced by Pocketto's own stages. Reading them is the fastest way to see what healthy artifacts look like.
Related documentation
Contributing
How the Pocketto repository is organized, the source-of-truth rules, and where to contribute to this MIT-licensed project on GitHub.
Contribution guidance
The rules for changing Pocketto skills, the CLI, and release surfaces without breaking a release role, plus versioning, tests, and release notes.