{"_id":"@aphotic/pi-flow","_rev":"6-0ff28f3b3b15cd4d606ff244130cb008","name":"@aphotic/pi-flow","dist-tags":{"latest":"0.10.0"},"versions":{"0.5.0":{"name":"@aphotic/pi-flow","version":"0.5.0","keywords":["pi-package"],"author":"David Lee","license":"MIT","_id":"@aphotic/pi-flow@0.5.0","maintainers":[{"name":"pangolinparty","email":"pangolinparty@gmail.com"}],"homepage":"https://github.com/davidsunglee/pi-flow/tree/main/packages/pi-flow#readme","bugs":{"url":"https://github.com/davidsunglee/pi-flow/issues"},"pi":{"skills":["node_modules/@aphotic/pi-flow-core/skills/*/SKILL.md"],"themes":["node_modules/@aphotic/pi-flow-ux/themes/nord.json"],"extensions":["node_modules/@aphotic/pi-flow-core/extensions/commands.ts","node_modules/@aphotic/pi-flow-ux/extensions/footer.ts","node_modules/@aphotic/pi-flow-ux/extensions/working/index.ts"]},"bin":{"pi-flow":"./bin/pi-flow.mjs"},"dist":{"shasum":"da57eee646603fca4e1f1d27de66732bc4e04b7a","tarball":"https://registry.npmjs.org/@aphotic/pi-flow/-/pi-flow-0.5.0.tgz","fileCount":4,"integrity":"sha512-TO/9aXmZxySaO38Za1ejDPseg2JdmdUw+2pJSBzOCqk5C/yS1Yp25aesczSV6knzgc7aT5O7t1OmwvdJvpZe2Q==","signatures":[{"sig":"MEQCICUODqkM4w4L99JVsgiYgyCoE2/YWzzEUhMOrC2sXYawAiA4ViNOufX+9y/+fN4mPl8fEWu3UNMTMMb6KSjgEkY0SA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5668},"type":"module","engines":{"node":">=20"},"scripts":{"test":"pnpm run test:node","check":"pnpm run test","test:node":"find __tests__ -name '*.test.mjs' -print0 | xargs -0 node --test"},"_npmUser":{"name":"pangolinparty","email":"pangolinparty@gmail.com"},"repository":{"url":"git+https://github.com/davidsunglee/pi-flow.git","type":"git","directory":"packages/pi-flow"},"description":"Aggregate install package for pi-flow workflow resources.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@aphotic/pi-flow-ux":"0.5.0","@aphotic/pi-flow-core":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@aphotic/pi-mux-subagents":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-flow_0.5.0_1779584909183_0.021879717448557434","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@aphotic/pi-flow","version":"0.6.0","keywords":["pi-package"],"author":{"name":"David Lee"},"license":"MIT","_id":"@aphotic/pi-flow@0.6.0","maintainers":[{"name":"pangolinparty","email":"pangolinparty@gmail.com"}],"homepage":"https://github.com/davidsunglee/pi-flow/tree/main/packages/pi-flow#readme","bugs":{"url":"https://github.com/davidsunglee/pi-flow/issues"},"pi":{"skills":["node_modules/@aphotic/pi-flow-core/skills/*/SKILL.md"],"themes":["node_modules/@aphotic/pi-flow-ux/themes/nord.json"],"extensions":["node_modules/@aphotic/pi-flow-core/extensions/commands.ts","node_modules/@aphotic/pi-flow-ux/extensions/footer.ts","node_modules/@aphotic/pi-flow-ux/extensions/working/index.ts"]},"bin":{"pi-flow":"bin/pi-flow.mjs"},"dist":{"shasum":"4e30abb8eab403ca11c0753a456af9ae1c1f9bab","tarball":"https://registry.npmjs.org/@aphotic/pi-flow/-/pi-flow-0.6.0.tgz","fileCount":1500,"integrity":"sha512-fQ7fvadOUdvGG70xRH9KwOzh3PDWYnMMBTnfmWJGFvflszLuBWKDFFZdY16SaramRT0wgRo8NcxoMcRkVLMkkQ==","signatures":[{"sig":"MEUCIDeYGN7d/PIQsAU9UN4bC9+OTcUVa5JrcQVp6/TEk7RTAiEA15pUlJNto48eQNEmo0wi/adw5tcqs753dbcZrItzbJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2328444},"type":"module","_from":"file:/var/folders/32/33v_wbcd6rv1sqvqs6v7qcvw0000gp/T/pi-flow-tgz-Vr4T6N/aphotic-pi-flow-0.6.0.tgz","engines":{"node":">=20"},"scripts":{"test":"pnpm run test:node","check":"pnpm run test","test:node":"find __tests__ -name '*.test.mjs' -print0 | xargs -0 node --test --test-reporter tap","pack:aggregate":"node scripts/pack-aggregate.mjs","publish:aggregate":"node scripts/pack-aggregate.mjs --publish"},"_npmUser":{"name":"pangolinparty","email":"pangolinparty@gmail.com"},"_resolved":"/var/folders/32/33v_wbcd6rv1sqvqs6v7qcvw0000gp/T/pi-flow-tgz-Vr4T6N/aphotic-pi-flow-0.6.0.tgz","_integrity":"sha512-fQ7fvadOUdvGG70xRH9KwOzh3PDWYnMMBTnfmWJGFvflszLuBWKDFFZdY16SaramRT0wgRo8NcxoMcRkVLMkkQ==","repository":{"url":"git+https://github.com/davidsunglee/pi-flow.git","type":"git","directory":"packages/pi-flow"},"_npmVersion":"11.12.1","description":"Aggregate install package for pi-flow workflow resources.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@aphotic/pi-ideas":"0.6.0","@aphotic/pi-flow-ux":"0.6.0","@aphotic/pi-flow-core":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@aphotic/pi-mux-subagents":"^0.1.0"},"bundleDependencies":["@aphotic/pi-flow-core","@aphotic/pi-flow-ux","@aphotic/pi-ideas"],"_npmOperationalInternal":{"tmp":"tmp/pi-flow_0.6.0_1779986154816_0.24974855426190157","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@aphotic/pi-flow","version":"0.7.0","keywords":["pi-package"],"author":{"name":"David Lee"},"license":"MIT","_id":"@aphotic/pi-flow@0.7.0","maintainers":[{"name":"pangolinparty","email":"pangolinparty@gmail.com"}],"homepage":"https://github.com/davidsunglee/pi-flow/tree/main/packages/pi-flow#readme","bugs":{"url":"https://github.com/davidsunglee/pi-flow/issues"},"pi":{"skills":["node_modules/@aphotic/pi-flow-core/skills/*/SKILL.md"],"themes":["node_modules/@aphotic/pi-flow-ux/themes/nord.json"],"extensions":["node_modules/@aphotic/pi-flow-core/extensions/commands.ts","node_modules/@aphotic/pi-flow-ux/extensions/status/index.ts","node_modules/@aphotic/pi-flow-ux/extensions/working/index.ts"]},"bin":{"pi-flow":"bin/pi-flow.mjs"},"dist":{"shasum":"af55590d48484a42430506f80cf65da88099cea7","tarball":"https://registry.npmjs.org/@aphotic/pi-flow/-/pi-flow-0.7.0.tgz","fileCount":1505,"integrity":"sha512-t6SRXzxc5J3qLDRi7DK6L6RmiRdipbscnqsWJiRfWKb4JGpUqmp3ejVnv2p71X6U7vQ9JjBqpLLIRHL54EwFbw==","signatures":[{"sig":"MEQCIB4glUBaSvauBrjjRD9mmVCLx8gtIXV8h1aPN9YwPW+YAiB9lfJkOhB7tUnl9fokTdUYtCiCO1y0f0iMOuGlG/VT2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2379153},"type":"module","_from":"file:/var/folders/32/33v_wbcd6rv1sqvqs6v7qcvw0000gp/T/pi-flow-tgz-Kn4lQl/aphotic-pi-flow-0.7.0.tgz","engines":{"node":">=20"},"scripts":{"test":"pnpm run test:node","check":"pnpm run test","test:node":"find __tests__ -name '*.test.mjs' -print0 | xargs -0 node --test --test-reporter tap","pack:aggregate":"node scripts/pack-aggregate.mjs","publish:aggregate":"node scripts/pack-aggregate.mjs --publish"},"_npmUser":{"name":"pangolinparty","email":"pangolinparty@gmail.com"},"_resolved":"/var/folders/32/33v_wbcd6rv1sqvqs6v7qcvw0000gp/T/pi-flow-tgz-Kn4lQl/aphotic-pi-flow-0.7.0.tgz","_integrity":"sha512-t6SRXzxc5J3qLDRi7DK6L6RmiRdipbscnqsWJiRfWKb4JGpUqmp3ejVnv2p71X6U7vQ9JjBqpLLIRHL54EwFbw==","repository":{"url":"git+https://github.com/davidsunglee/pi-flow.git","type":"git","directory":"packages/pi-flow"},"_npmVersion":"11.12.1","description":"Aggregate install package for pi-flow workflow resources.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@aphotic/pi-ideas":"0.7.0","@aphotic/pi-flow-ux":"0.7.0","@aphotic/pi-flow-core":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@aphotic/pi-mux-subagents":"^0.1.0"},"bundleDependencies":["@aphotic/pi-flow-core","@aphotic/pi-flow-ux","@aphotic/pi-ideas"],"_npmOperationalInternal":{"tmp":"tmp/pi-flow_0.7.0_1780104834847_0.10812826538957188","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@aphotic/pi-flow","version":"0.8.0","keywords":["pi-package"],"author":{"name":"David Lee"},"license":"MIT","_id":"@aphotic/pi-flow@0.8.0","maintainers":[{"name":"pangolinparty","email":"pangolinparty@gmail.com"}],"homepage":"https://github.com/davidsunglee/pi-flow/tree/main/packages/pi-flow#readme","bugs":{"url":"https://github.com/davidsunglee/pi-flow/issues"},"pi":{"skills":["node_modules/@aphotic/pi-flow-core/skills/*/SKILL.md"],"themes":["node_modules/@aphotic/pi-flow-ux/themes/nord.json"],"extensions":["node_modules/@aphotic/pi-flow-core/extensions/commands.ts","node_modules/@aphotic/pi-flow-ux/extensions/index.ts"]},"bin":{"pi-flow":"bin/pi-flow.mjs"},"dist":{"shasum":"680e892ed7218bf529dd8961cecc4dbc4ea73af5","tarball":"https://registry.npmjs.org/@aphotic/pi-flow/-/pi-flow-0.8.0.tgz","fileCount":1501,"integrity":"sha512-M9PP+VmUnGU+arzX5RksYw+1v7JdNCOE6vyua9puk0NDLbCvZt82ro5jcQVvph4icp74r2WB+IUpUpJx8RijHw==","signatures":[{"sig":"MEUCIQC/WS3xBPlidmitt1E0/t2/DA9IXZC49OfKnSQZGLhOdgIgbnG/wrHaRoBu68bOjUbYDC31cHxIdgfQnulaEl8Wal4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2331030},"type":"module","_from":"file:/var/folders/32/33v_wbcd6rv1sqvqs6v7qcvw0000gp/T/pi-flow-tgz-ZQyBLF/aphotic-pi-flow-0.8.0.tgz","engines":{"node":">=20"},"scripts":{"test":"pnpm run test:node","check":"pnpm run test","test:node":"find __tests__ -name '*.test.mjs' -print0 | xargs -0 node --test --test-reporter tap","pack:aggregate":"node scripts/pack-aggregate.mjs","publish:aggregate":"node scripts/pack-aggregate.mjs --publish"},"_npmUser":{"name":"pangolinparty","email":"pangolinparty@gmail.com"},"_resolved":"/var/folders/32/33v_wbcd6rv1sqvqs6v7qcvw0000gp/T/pi-flow-tgz-ZQyBLF/aphotic-pi-flow-0.8.0.tgz","_integrity":"sha512-M9PP+VmUnGU+arzX5RksYw+1v7JdNCOE6vyua9puk0NDLbCvZt82ro5jcQVvph4icp74r2WB+IUpUpJx8RijHw==","repository":{"url":"git+https://github.com/davidsunglee/pi-flow.git","type":"git","directory":"packages/pi-flow"},"_npmVersion":"11.12.1","description":"Aggregate install package for pi-flow workflow resources.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@aphotic/pi-ideas":"0.8.0","@aphotic/pi-flow-ux":"0.8.0","@aphotic/pi-flow-core":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@aphotic/pi-mux-subagents":"^0.1.0"},"bundleDependencies":["@aphotic/pi-flow-core","@aphotic/pi-flow-ux","@aphotic/pi-ideas"],"_npmOperationalInternal":{"tmp":"tmp/pi-flow_0.8.0_1780458599329_0.99834534016382","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@aphotic/pi-flow","version":"0.9.0","keywords":["pi-package"],"author":{"name":"David Lee"},"license":"MIT","_id":"@aphotic/pi-flow@0.9.0","maintainers":[{"name":"pangolinparty","email":"pangolinparty@gmail.com"}],"homepage":"https://github.com/davidsunglee/pi-flow/tree/main/packages/pi-flow#readme","bugs":{"url":"https://github.com/davidsunglee/pi-flow/issues"},"pi":{"skills":["node_modules/@aphotic/pi-flow-core/skills/*/SKILL.md"],"themes":["node_modules/@aphotic/pi-flow-ux/themes/nord.json"],"extensions":["node_modules/@aphotic/pi-flow-core/extensions/commands.ts","node_modules/@aphotic/pi-flow-ux/extensions/index.ts"]},"bin":{"pi-flow":"bin/pi-flow.mjs"},"dist":{"shasum":"9b66d0ea8335531fdb1834232fcd8d51023b42ac","tarball":"https://registry.npmjs.org/@aphotic/pi-flow/-/pi-flow-0.9.0.tgz","fileCount":1508,"integrity":"sha512-qyNIq1Knb8xWn6KLFJ0AWFynkGmAXzfADVd5JLHVfeXOrT9sxq0gygr2MvKrpfuEKPWU0GoCTiPrvJi7o2sDmQ==","signatures":[{"sig":"MEYCIQD6reIE3BrixzY8wpqFrIUPihKnlJfdNSyrShPKEja41wIhALJT3lotmcgD8enJ66tuDjK3Xn+JXpAPU8yYE9m68flj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2450817},"type":"module","_from":"file:/var/folders/32/33v_wbcd6rv1sqvqs6v7qcvw0000gp/T/pi-flow-tgz-diviFn/aphotic-pi-flow-0.9.0.tgz","engines":{"node":">=20"},"scripts":{"test":"pnpm run test:node","check":"pnpm run test","test:node":"find __tests__ -name '*.test.mjs' -print0 | xargs -0 node --test --test-reporter tap","pack:aggregate":"node scripts/pack-aggregate.mjs","publish:aggregate":"node scripts/pack-aggregate.mjs --publish"},"_npmUser":{"name":"pangolinparty","email":"pangolinparty@gmail.com"},"_resolved":"/var/folders/32/33v_wbcd6rv1sqvqs6v7qcvw0000gp/T/pi-flow-tgz-diviFn/aphotic-pi-flow-0.9.0.tgz","_integrity":"sha512-qyNIq1Knb8xWn6KLFJ0AWFynkGmAXzfADVd5JLHVfeXOrT9sxq0gygr2MvKrpfuEKPWU0GoCTiPrvJi7o2sDmQ==","repository":{"url":"git+https://github.com/davidsunglee/pi-flow.git","type":"git","directory":"packages/pi-flow"},"_npmVersion":"11.16.0","description":"Aggregate install package for pi-flow workflow resources.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@aphotic/pi-ideas":"0.9.0","@aphotic/pi-flow-ux":"0.9.0","@aphotic/pi-flow-core":"0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@aphotic/pi-mux-subagents":">=0.3.0"},"bundleDependencies":["@aphotic/pi-flow-core","@aphotic/pi-flow-ux","@aphotic/pi-ideas"],"_npmOperationalInternal":{"tmp":"tmp/pi-flow_0.9.0_1781098222531_0.6848504278695362","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@aphotic/pi-flow","version":"0.10.0","type":"module","description":"Aggregate install package for pi-flow workflow resources.","keywords":["pi-package"],"bin":{"pi-flow":"bin/pi-flow.mjs"},"dependencies":{"@aphotic/pi-flow-core":"0.10.0","@aphotic/pi-flow-ux":"0.10.0","@aphotic/pi-ideas":"0.10.0","@aphotic/pi-release":"0.10.0"},"peerDependencies":{"@aphotic/pi-mux-subagents":">=0.3.0"},"scripts":{"test:node":"find __tests__ -name '*.test.mjs' -print0 | xargs -0 node --test --test-reporter tap","test":"pnpm run test:node","check":"pnpm run test","pack:aggregate":"node scripts/pack-aggregate.mjs","publish:aggregate":"node scripts/pack-aggregate.mjs --publish"},"pi":{"skills":["node_modules/@aphotic/pi-flow-core/skills/*/SKILL.md","node_modules/@aphotic/pi-release/skills/*/SKILL.md"],"extensions":["node_modules/@aphotic/pi-flow-core/extensions/commands.ts","node_modules/@aphotic/pi-flow-ux/extensions/index.ts"],"themes":["node_modules/@aphotic/pi-flow-ux/themes/nord.json"]},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/davidsunglee/pi-flow.git","directory":"packages/pi-flow"},"bugs":{"url":"https://github.com/davidsunglee/pi-flow/issues"},"homepage":"https://github.com/davidsunglee/pi-flow/tree/main/packages/pi-flow#readme","author":{"name":"David Lee"},"engines":{"node":">=20"},"publishConfig":{"access":"public"},"_id":"@aphotic/pi-flow@0.10.0","bundleDependencies":["@aphotic/pi-flow-core","@aphotic/pi-flow-ux","@aphotic/pi-ideas","@aphotic/pi-release"],"_integrity":"sha512-lV2YlRBGm6hb9PGejYJHTeVeZUFFYttUL1oRmTtOgwcuQnqeYpBmLRA3/ArxH8eJamUSGmh7EwQzn/rNhcaJRQ==","_resolved":"/var/folders/32/33v_wbcd6rv1sqvqs6v7qcvw0000gp/T/pi-flow-tgz-X8teBN/aphotic-pi-flow-0.10.0.tgz","_from":"file:/var/folders/32/33v_wbcd6rv1sqvqs6v7qcvw0000gp/T/pi-flow-tgz-X8teBN/aphotic-pi-flow-0.10.0.tgz","_nodeVersion":"26.3.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-lV2YlRBGm6hb9PGejYJHTeVeZUFFYttUL1oRmTtOgwcuQnqeYpBmLRA3/ArxH8eJamUSGmh7EwQzn/rNhcaJRQ==","shasum":"6e5b1b520c6e18c864a5a708d27557dac99270af","tarball":"https://registry.npmjs.org/@aphotic/pi-flow/-/pi-flow-0.10.0.tgz","fileCount":1520,"unpackedSize":2541247,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDYLc7IMtoBejrggTOWCOENOu37FlBmTyhJKVcE3xzFIwIgXhpmPKeWQvY0drFa3mP/WMEY0FPQDJbEM+wu95xui+s="}]},"_npmUser":{"name":"pangolinparty","email":"pangolinparty@gmail.com"},"directories":{},"maintainers":[{"name":"pangolinparty","email":"pangolinparty@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-flow_0.10.0_1781293401475_0.07130192934106638"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-24T01:08:29.067Z","modified":"2026-06-12T19:43:21.950Z","0.5.0":"2026-05-24T01:08:29.335Z","0.6.0":"2026-05-28T16:35:55.156Z","0.7.0":"2026-05-30T01:33:55.033Z","0.8.0":"2026-06-03T03:49:59.630Z","0.9.0":"2026-06-10T13:30:22.791Z","0.10.0":"2026-06-12T19:43:21.825Z"},"bugs":{"url":"https://github.com/davidsunglee/pi-flow/issues"},"author":{"name":"David Lee"},"license":"MIT","homepage":"https://github.com/davidsunglee/pi-flow/tree/main/packages/pi-flow#readme","keywords":["pi-package"],"repository":{"type":"git","url":"git+https://github.com/davidsunglee/pi-flow.git","directory":"packages/pi-flow"},"description":"Aggregate install package for pi-flow workflow resources.","maintainers":[{"name":"pangolinparty","email":"pangolinparty@gmail.com"}],"readme":"# pi-flow\n\nThe aggregate package for pi-flow workflow resources — a single install point that forwards workflow skills, slash commands, bundled agents, and UX enhancements through `pi-flow-core` and `pi-flow-ux`.\n\n## What this is\n\n`pi-flow` is the primary install path for the pi-flow suite. Users install this single package (`npm:@aphotic/pi-flow` or a git-pinned equivalent) and get workflow resources from `@aphotic/pi-flow-core` plus the bundled UX layer from `@aphotic/pi-flow-ux`.\n\n## What it includes\n\n- **Workflow skills and bundled agents** via `@aphotic/pi-flow-core`\n- **Slash commands and the `idea` tool** via `@aphotic/pi-flow-core`\n- **Helper runner** (`pi-flow helper <id>`, `pi-flow template <id>`) via `@aphotic/pi-flow-core/bin`\n- **UX enhancements** — an always-on border-status editor, a custom startup header, the Nord theme, and a unified `/tui` configuration via `@aphotic/pi-flow-ux`\n\n## /flow:* commands and idea tool\n\nSee [`@aphotic/pi-flow-core`](https://github.com/davidsunglee/pi-flow/tree/main/packages/pi-flow-core#readme) for the full `/flow:*` and `idea` documentation.\n\nAfter installing with `pi install npm:@aphotic/pi-flow`, run `/flow:setup` so `@aphotic/pi-mux-subagents` can discover the bundled agent definitions used by subagent-backed workflows.\n\nThe aggregate install includes the UX layer (always-on border-status editor, custom header, and Nord theme). If you want a headless install without those UX extras, install `@aphotic/pi-flow-core` directly instead.\n\n## Required companion\n\nThis package declares `@aphotic/pi-mux-subagents` as a peer dependency (range `\"^0.1.0\"`). Install it alongside `pi-flow` if your Pi package source does not install peers automatically:\n\n```sh\npi install npm:@aphotic/pi-mux-subagents\n```\n\n## Install pointer\n\nPi package sources must be one of: `npm:<pkg>`, a git URL (with `git:` prefix or a protocol URL), or a local/absolute path — bare names like `\"@aphotic/pi-flow\"` are not valid sources.\n\nReference `@aphotic/pi-flow` in your Pi `settings.json` using a supported source form:\n\n```jsonc\n// settings.json\n{\n  \"packages\": [\"npm:@aphotic/pi-flow\"]\n}\n```\n\nOr install it explicitly via `pi install`:\n\n```sh\npi install npm:@aphotic/pi-flow\n```\n\n## Releasing (maintainers)\n\n`@aphotic/pi-flow` is a self-contained aggregate: it bundles `@aphotic/pi-flow-core`, `@aphotic/pi-flow-ux`, and `@aphotic/pi-ideas` (plus their runtime deps) under its own `node_modules/` so a single install exposes every resource the `pi` manifest forwards to.\n\n> **Do not run `pnpm pack` / `pnpm publish` directly on this package.** Under pnpm's isolated linker, `bundledDependencies` fail with `ERR_PNPM_BUNDLED_DEPENDENCIES_WITHOUT_HOISTED`. The aggregate has a dedicated release path instead.\n\nProduce the bundled tarball:\n\n```sh\npnpm --filter @aphotic/pi-flow run pack:aggregate            # prints {\"tarball\": \"...\", ...}\npnpm --filter @aphotic/pi-flow run pack:aggregate -- --out ./dist\n```\n\nPublish the (release-guarded) tarball:\n\n```sh\npnpm --filter @aphotic/pi-flow run publish:aggregate                 # npm publish\npnpm --filter @aphotic/pi-flow run publish:aggregate -- --dry-run    # rehearse\n```\n\n`scripts/pack-aggregate.mjs` builds a clean staging directory, materializes the real subpackage contents under `stage/node_modules/@aphotic/...`, rewrites `workspace:*` specs to exact versions, then runs `npm pack`/`npm publish` from the stage. It includes a **release guard** that fails before publishing if any required bundled resource (core commands/skills/`ideas.json`, the UX footer/working/theme/`working.json`, the `pi-ideas` `idea.ts`, or its bundled `typebox`) is missing from the produced tarball.\n","readmeFilename":"README.md"}