prjct-cli 0.28.4 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/CHANGELOG.md +26 -161
  2. package/CLAUDE.md +170 -0
  3. package/README.md +14 -1
  4. package/core/agentic/agent-router.ts +0 -15
  5. package/core/agentic/command-executor.ts +5 -53
  6. package/core/agentic/index.ts +1 -11
  7. package/core/agentic/memory-system.ts +5 -44
  8. package/core/agentic/prompt-builder.ts +2 -83
  9. package/core/agentic/smart-context.ts +64 -36
  10. package/core/agentic/template-loader.ts +32 -107
  11. package/core/commands/command-data.ts +33 -0
  12. package/core/commands/commands.ts +12 -4
  13. package/core/commands/registry.ts +37 -0
  14. package/core/domain/agent-loader.ts +9 -7
  15. package/core/domain/context-estimator.ts +15 -15
  16. package/core/index.ts +2 -0
  17. package/core/infrastructure/config-manager.ts +4 -25
  18. package/core/infrastructure/path-manager.ts +7 -7
  19. package/core/infrastructure/setup.ts +182 -86
  20. package/core/integrations/issue-tracker/enricher.ts +281 -0
  21. package/core/integrations/issue-tracker/index.ts +8 -0
  22. package/core/integrations/issue-tracker/manager.ts +284 -0
  23. package/core/integrations/issue-tracker/types.ts +321 -0
  24. package/core/integrations/linear/client.ts +375 -0
  25. package/core/integrations/linear/index.ts +6 -0
  26. package/core/integrations/notion/client.ts +413 -0
  27. package/core/integrations/notion/index.ts +46 -0
  28. package/core/integrations/notion/setup.ts +235 -0
  29. package/core/integrations/notion/sync.ts +818 -0
  30. package/core/integrations/notion/templates.ts +246 -0
  31. package/core/plugin/builtin/notion.ts +178 -0
  32. package/core/schemas/enriched-task.ts +278 -0
  33. package/core/schemas/outcomes.ts +471 -14
  34. package/core/schemas/prd.ts +437 -0
  35. package/core/schemas/roadmap.ts +188 -4
  36. package/core/server/index.ts +1 -0
  37. package/core/server/routes-extended.ts +544 -0
  38. package/core/server/server.ts +10 -0
  39. package/core/session/session-log-manager.ts +0 -17
  40. package/core/types/config.ts +1 -1
  41. package/core/types/index.ts +2 -0
  42. package/core/types/integrations.ts +56 -20
  43. package/core/types/storage.ts +8 -0
  44. package/core/types/task.ts +4 -0
  45. package/dist/bin/prjct.mjs +1457 -765
  46. package/package.json +2 -1
  47. package/packages/shared/node_modules/@types/bun/LICENSE +21 -0
  48. package/packages/shared/node_modules/@types/bun/README.md +20 -0
  49. package/packages/shared/node_modules/@types/bun/index.d.ts +1 -0
  50. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/CLAUDE.md +105 -0
  51. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/README.md +33 -0
  52. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/bun.d.ts +7032 -0
  53. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/bun.ns.d.ts +5 -0
  54. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/bundle.d.ts +74 -0
  55. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/deprecated.d.ts +184 -0
  56. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/devserver.d.ts +187 -0
  57. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/README.md +28 -0
  58. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/bytecode.mdx +465 -0
  59. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/css.mdx +1024 -0
  60. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/esbuild.mdx +298 -0
  61. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/executables.mdx +1277 -0
  62. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/fullstack.mdx +1086 -0
  63. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/hot-reloading.mdx +229 -0
  64. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/html-static.mdx +488 -0
  65. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/index.mdx +1604 -0
  66. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/loaders.mdx +451 -0
  67. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/macros.mdx +328 -0
  68. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/minifier.mdx +1286 -0
  69. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/plugins.mdx +425 -0
  70. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/feedback.mdx +75 -0
  71. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-array.mdx +29 -0
  72. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-blob.mdx +26 -0
  73. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-buffer.mdx +27 -0
  74. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-string.mdx +17 -0
  75. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-typedarray.mdx +41 -0
  76. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-arraybuffer.mdx +16 -0
  77. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-dataview.mdx +16 -0
  78. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-stream.mdx +16 -0
  79. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-string.mdx +17 -0
  80. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-typedarray.mdx +16 -0
  81. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-arraybuffer.mdx +16 -0
  82. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-blob.mdx +16 -0
  83. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-readablestream.mdx +43 -0
  84. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-string.mdx +27 -0
  85. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-typedarray.mdx +16 -0
  86. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/dataview-to-string.mdx +17 -0
  87. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-arraybuffer.mdx +27 -0
  88. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-blob.mdx +18 -0
  89. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-buffer.mdx +16 -0
  90. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-dataview.mdx +16 -0
  91. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-readablestream.mdx +43 -0
  92. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-string.mdx +18 -0
  93. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/aws-lambda.mdx +204 -0
  94. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/digital-ocean.mdx +161 -0
  95. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/google-cloud-run.mdx +194 -0
  96. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/railway.mdx +145 -0
  97. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/render.mdx +82 -0
  98. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/vercel.mdx +97 -0
  99. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/astro.mdx +82 -0
  100. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/discordjs.mdx +80 -0
  101. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/docker.mdx +151 -0
  102. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/drizzle.mdx +195 -0
  103. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/elysia.mdx +31 -0
  104. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/express.mdx +43 -0
  105. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/gel.mdx +261 -0
  106. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/hono.mdx +47 -0
  107. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/mongoose.mdx +92 -0
  108. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/neon-drizzle.mdx +234 -0
  109. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/neon-serverless-postgres.mdx +60 -0
  110. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/nextjs.mdx +103 -0
  111. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/nuxt.mdx +96 -0
  112. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/pm2.mdx +55 -0
  113. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/prisma-postgres.mdx +169 -0
  114. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/prisma.mdx +164 -0
  115. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/qwik.mdx +114 -0
  116. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/react.mdx +52 -0
  117. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/remix.mdx +97 -0
  118. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/sentry.mdx +54 -0
  119. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/solidstart.mdx +62 -0
  120. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/ssr-react.mdx +49 -0
  121. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/stric.mdx +54 -0
  122. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/sveltekit.mdx +138 -0
  123. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/systemd.mdx +114 -0
  124. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/tanstack-start.mdx +791 -0
  125. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/upstash.mdx +87 -0
  126. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/vite.mdx +77 -0
  127. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/html-rewriter/extract-links.mdx +71 -0
  128. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/html-rewriter/extract-social-meta.mdx +97 -0
  129. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/cluster.mdx +69 -0
  130. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/fetch-unix.mdx +35 -0
  131. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/fetch.mdx +26 -0
  132. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/file-uploads.mdx +97 -0
  133. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/hot.mdx +28 -0
  134. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/proxy.mdx +50 -0
  135. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/server.mdx +48 -0
  136. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/simple.mdx +20 -0
  137. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/stream-file.mdx +50 -0
  138. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/stream-iterator.mdx +49 -0
  139. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/stream-node-streams-in-bun.mdx +22 -0
  140. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/tls.mdx +32 -0
  141. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/index.mdx +10 -0
  142. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-dev.mdx +28 -0
  143. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-git.mdx +40 -0
  144. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-optional.mdx +27 -0
  145. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-peer.mdx +45 -0
  146. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-tarball.mdx +35 -0
  147. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add.mdx +44 -0
  148. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/azure-artifacts.mdx +76 -0
  149. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/cicd.mdx +43 -0
  150. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/custom-registry.mdx +32 -0
  151. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/from-npm-install-to-bun-install.mdx +230 -0
  152. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/git-diff-bun-lockfile.mdx +48 -0
  153. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/jfrog-artifactory.mdx +28 -0
  154. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/npm-alias.mdx +25 -0
  155. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/registry-scope.mdx +40 -0
  156. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/trusted.mdx +52 -0
  157. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/workspaces.mdx +70 -0
  158. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/yarnlock.mdx +51 -0
  159. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/argv.mdx +66 -0
  160. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/ctrl-c.mdx +18 -0
  161. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/ipc.mdx +69 -0
  162. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/nanoseconds.mdx +15 -0
  163. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/os-signals.mdx +31 -0
  164. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/spawn-stderr.mdx +34 -0
  165. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/spawn-stdout.mdx +28 -0
  166. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/spawn.mdx +43 -0
  167. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/stdin.mdx +62 -0
  168. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/arraybuffer.mdx +30 -0
  169. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/buffer.mdx +21 -0
  170. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/exists.mdx +18 -0
  171. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/json.mdx +19 -0
  172. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/mime.mdx +22 -0
  173. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/stream.mdx +28 -0
  174. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/string.mdx +24 -0
  175. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/uint8array.mdx +23 -0
  176. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/watch.mdx +66 -0
  177. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/build-time-constants.mdx +295 -0
  178. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/cicd.mdx +45 -0
  179. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/codesign-macos-executable.mdx +61 -0
  180. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/define-constant.mdx +149 -0
  181. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/delete-directory.mdx +39 -0
  182. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/delete-file.mdx +21 -0
  183. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/heap-snapshot.mdx +28 -0
  184. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/import-html.mdx +15 -0
  185. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/import-json.mdx +46 -0
  186. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/import-toml.mdx +32 -0
  187. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/import-yaml.mdx +104 -0
  188. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/read-env.mdx +37 -0
  189. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/set-env.mdx +51 -0
  190. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/shell.mdx +42 -0
  191. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/timezone.mdx +38 -0
  192. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/tsconfig-paths.mdx +31 -0
  193. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/typescript.mdx +51 -0
  194. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/vscode-debugger.mdx +47 -0
  195. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/web-debugger.mdx +103 -0
  196. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-arraybuffer.mdx +13 -0
  197. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-blob.mdx +13 -0
  198. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-json.mdx +14 -0
  199. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-string.mdx +14 -0
  200. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-uint8array.mdx +13 -0
  201. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-array.mdx +16 -0
  202. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-arraybuffer.mdx +16 -0
  203. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-blob.mdx +16 -0
  204. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-buffer.mdx +17 -0
  205. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-json.mdx +16 -0
  206. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-string.mdx +16 -0
  207. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-typedarray.mdx +24 -0
  208. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/bail.mdx +24 -0
  209. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/concurrent-test-glob.mdx +146 -0
  210. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/coverage-threshold.mdx +67 -0
  211. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/coverage.mdx +49 -0
  212. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/happy-dom.mdx +73 -0
  213. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/migrate-from-jest.mdx +125 -0
  214. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/mock-clock.mdx +50 -0
  215. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/mock-functions.mdx +70 -0
  216. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/rerun-each.mdx +16 -0
  217. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/run-tests.mdx +116 -0
  218. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/skip-tests.mdx +43 -0
  219. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/snapshot.mdx +102 -0
  220. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/spy-on.mdx +49 -0
  221. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/svelte-test.mdx +113 -0
  222. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/testing-library.mdx +93 -0
  223. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/timeout.mdx +17 -0
  224. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/todo-tests.mdx +74 -0
  225. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/update-snapshots.mdx +49 -0
  226. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/watch-mode.mdx +24 -0
  227. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/base64.mdx +17 -0
  228. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/deep-equals.mdx +41 -0
  229. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/deflate.mdx +20 -0
  230. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/detect-bun.mdx +28 -0
  231. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/entrypoint.mdx +19 -0
  232. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/escape-html.mdx +24 -0
  233. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/file-url-to-path.mdx +16 -0
  234. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/gzip.mdx +20 -0
  235. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/hash-a-password.mdx +56 -0
  236. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/import-meta-dir.mdx +15 -0
  237. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/import-meta-file.mdx +15 -0
  238. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/import-meta-path.mdx +15 -0
  239. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/javascript-uuid.mdx +25 -0
  240. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/main.mdx +43 -0
  241. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/path-to-file-url.mdx +16 -0
  242. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/sleep.mdx +24 -0
  243. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/upgrade.mdx +93 -0
  244. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/version.mdx +23 -0
  245. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/which-path-to-executable-bin.mdx +17 -0
  246. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/websocket/compression.mdx +33 -0
  247. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/websocket/context.mdx +79 -0
  248. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/websocket/pubsub.mdx +43 -0
  249. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/websocket/simple.mdx +38 -0
  250. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/append.mdx +54 -0
  251. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/basic.mdx +46 -0
  252. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/blob.mdx +30 -0
  253. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/cat.mdx +19 -0
  254. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/file-cp.mdx +18 -0
  255. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/filesink.mdx +54 -0
  256. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/response.mdx +19 -0
  257. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/stdout.mdx +23 -0
  258. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/stream.mdx +19 -0
  259. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/unlink.mdx +18 -0
  260. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/index.mdx +133 -0
  261. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/installation.mdx +365 -0
  262. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/bunx.mdx +91 -0
  263. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/catalogs.mdx +292 -0
  264. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/add.mdx +179 -0
  265. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/audit.mdx +60 -0
  266. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/info.mdx +70 -0
  267. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/install.mdx +606 -0
  268. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/link.mdx +61 -0
  269. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/outdated.mdx +197 -0
  270. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/patch.mdx +69 -0
  271. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/pm.mdx +323 -0
  272. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/publish.mdx +131 -0
  273. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/remove.mdx +16 -0
  274. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/update.mdx +140 -0
  275. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/why.mdx +84 -0
  276. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/filter.mdx +102 -0
  277. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/global-cache.mdx +72 -0
  278. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/isolated-installs.mdx +220 -0
  279. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/lifecycle.mdx +64 -0
  280. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/lockfile.mdx +64 -0
  281. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/npmrc.mdx +111 -0
  282. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/overrides.mdx +83 -0
  283. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/scopes-registries.mdx +35 -0
  284. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/security-scanner-api.mdx +95 -0
  285. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/workspaces.mdx +115 -0
  286. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/benchmarking.mdx +241 -0
  287. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/bindgen.mdx +223 -0
  288. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/building-windows.mdx +133 -0
  289. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/contributing.mdx +388 -0
  290. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/feedback.mdx +20 -0
  291. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/license.mdx +78 -0
  292. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/roadmap.mdx +8 -0
  293. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/quickstart.mdx +251 -0
  294. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/auto-install.mdx +97 -0
  295. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/binary-data.mdx +846 -0
  296. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/bun-apis.mdx +59 -0
  297. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/bunfig.mdx +723 -0
  298. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/c-compiler.mdx +204 -0
  299. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/child-process.mdx +659 -0
  300. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/color.mdx +267 -0
  301. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/console.mdx +67 -0
  302. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/cookies.mdx +454 -0
  303. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/debugger.mdx +335 -0
  304. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/environment-variables.mdx +231 -0
  305. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/ffi.mdx +565 -0
  306. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/file-io.mdx +306 -0
  307. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/file-system-router.mdx +118 -0
  308. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/file-types.mdx +435 -0
  309. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/glob.mdx +181 -0
  310. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/globals.mdx +72 -0
  311. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/hashing.mdx +315 -0
  312. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/html-rewriter.mdx +333 -0
  313. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/cookies.mdx +79 -0
  314. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/error-handling.mdx +40 -0
  315. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/metrics.mdx +36 -0
  316. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/routing.mdx +289 -0
  317. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/server.mdx +645 -0
  318. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/tls.mdx +101 -0
  319. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/websockets.mdx +414 -0
  320. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/index.mdx +223 -0
  321. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/jsx.mdx +115 -0
  322. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/module-resolution.mdx +374 -0
  323. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/networking/dns.mdx +111 -0
  324. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/networking/fetch.mdx +484 -0
  325. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/networking/tcp.mdx +239 -0
  326. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/networking/udp.mdx +129 -0
  327. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/node-api.mdx +19 -0
  328. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/nodejs-compat.mdx +468 -0
  329. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/plugins.mdx +419 -0
  330. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/redis.mdx +583 -0
  331. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/s3.mdx +863 -0
  332. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/secrets.mdx +340 -0
  333. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/semver.mdx +57 -0
  334. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/shell.mdx +637 -0
  335. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/sql.mdx +1404 -0
  336. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/sqlite.mdx +721 -0
  337. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/streams.mdx +232 -0
  338. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/templating/create.mdx +269 -0
  339. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/templating/init.mdx +58 -0
  340. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/transpiler.mdx +288 -0
  341. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/typescript.mdx +58 -0
  342. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/utils.mdx +922 -0
  343. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/watch-mode.mdx +161 -0
  344. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/web-apis.mdx +29 -0
  345. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/workers.mdx +314 -0
  346. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/yaml.mdx +469 -0
  347. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/add.mdx +166 -0
  348. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/build.mdx +196 -0
  349. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/bunx.mdx +49 -0
  350. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/feedback.mdx +17 -0
  351. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/init.mdx +84 -0
  352. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/install.mdx +173 -0
  353. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/link.mdx +163 -0
  354. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/outdated.mdx +140 -0
  355. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/patch.mdx +171 -0
  356. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/publish.mdx +198 -0
  357. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/remove.mdx +146 -0
  358. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/run.mdx +293 -0
  359. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/test.mdx +100 -0
  360. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/update.mdx +144 -0
  361. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/code-coverage.mdx +409 -0
  362. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/configuration.mdx +514 -0
  363. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/dates-times.mdx +129 -0
  364. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/discovery.mdx +90 -0
  365. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/dom.mdx +226 -0
  366. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/index.mdx +380 -0
  367. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/lifecycle.mdx +366 -0
  368. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/mocks.mdx +637 -0
  369. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/reporters.mdx +126 -0
  370. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/runtime-behavior.mdx +342 -0
  371. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/snapshots.mdx +434 -0
  372. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/writing-tests.mdx +672 -0
  373. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/typescript.mdx +54 -0
  374. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/extensions.d.ts +35 -0
  375. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/fetch.d.ts +79 -0
  376. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/ffi.d.ts +1154 -0
  377. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/globals.d.ts +2067 -0
  378. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/html-rewriter.d.ts +186 -0
  379. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/index.d.ts +32 -0
  380. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/jsc.d.ts +233 -0
  381. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/overrides.d.ts +376 -0
  382. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/package.json +37 -0
  383. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/redis.d.ts +3352 -0
  384. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/s3.d.ts +1299 -0
  385. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/security.d.ts +101 -0
  386. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/serve.d.ts +1296 -0
  387. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/shell.d.ts +380 -0
  388. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/sql.d.ts +887 -0
  389. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/sqlite.d.ts +1321 -0
  390. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/test-globals.d.ts +22 -0
  391. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/test.d.ts +2391 -0
  392. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/branding.d.ts +283 -0
  393. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/index.d.ts +1207 -0
  394. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/messages.d.ts +395 -0
  395. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/overloads.d.ts +669 -0
  396. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/utils.d.ts +431 -0
  397. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/wasm.d.ts +193 -0
  398. package/packages/shared/node_modules/@types/bun/package.json +53 -0
  399. package/scripts/postinstall.js +69 -0
  400. package/templates/agentic/agents/uxui.md +218 -0
  401. package/templates/agentic/subagent-generation.md +81 -241
  402. package/templates/commands/bug.md +392 -51
  403. package/templates/commands/cleanup.md +0 -5
  404. package/templates/commands/dashboard.md +686 -0
  405. package/templates/commands/done.md +232 -53
  406. package/templates/commands/enrich.md +345 -0
  407. package/templates/commands/feature.md +46 -0
  408. package/templates/commands/impact.md +864 -0
  409. package/templates/commands/init.md +44 -1
  410. package/templates/commands/linear.md +287 -0
  411. package/templates/commands/now.md +53 -0
  412. package/templates/commands/plan.md +696 -0
  413. package/templates/commands/prd.md +356 -0
  414. package/templates/commands/ship.md +589 -87
  415. package/templates/commands/sync.md +766 -180
  416. package/templates/commands/task.md +333 -51
  417. package/templates/context/dashboard.md +256 -0
  418. package/templates/context/roadmap.md +221 -0
  419. package/templates/global/CLAUDE.md +161 -101
  420. package/templates/mcp-config.json +46 -23
  421. package/templates/skills/notion-push.md +116 -0
  422. package/templates/skills/notion-setup.md +199 -0
  423. package/templates/skills/notion-sync.md +290 -0
  424. package/templates/subagents/domain/backend.md +106 -0
  425. package/templates/subagents/domain/database.md +118 -0
  426. package/templates/subagents/domain/devops.md +149 -0
  427. package/templates/subagents/domain/frontend.md +100 -0
  428. package/templates/subagents/domain/testing.md +166 -0
  429. package/templates/subagents/pm-expert.md +366 -0
  430. package/templates/subagents/workflow/chief-architect.md +657 -0
  431. package/core/agentic/token-estimator.ts +0 -264
  432. package/core/infrastructure/slash-command-registry.ts +0 -176
  433. package/templates/commands/setup-statusline.md +0 -138
  434. package/templates/guides/agent-generation.md +0 -164
  435. package/templates/guides/claude-code-ux.md +0 -232
  436. package/templates/guides/integrations.md +0 -149
  437. package/templates/shared/git-operations.md +0 -68
  438. package/templates/shared/io-patterns.md +0 -72
  439. package/templates/shared/standard.md +0 -70
  440. package/templates/shared/validation.md +0 -75
@@ -0,0 +1,544 @@
1
+ /**
2
+ * Extended REST API Routes for prjct-cli Status Bar
3
+ *
4
+ * New endpoints for multi-project management and quick actions.
5
+ * These complement the existing routes in routes.ts
6
+ *
7
+ * @version 2.0.0
8
+ */
9
+
10
+ import { Hono } from 'hono'
11
+ import fs from 'fs/promises'
12
+ import path from 'path'
13
+ import os from 'os'
14
+ import * as jsonc from 'jsonc-parser'
15
+
16
+ // =============================================================================
17
+ // HELPERS
18
+ // =============================================================================
19
+
20
+ const GLOBAL_BASE = path.join(os.homedir(), '.prjct-cli')
21
+ const PROJECTS_DIR = path.join(GLOBAL_BASE, 'projects')
22
+
23
+ async function readJsonFile<T>(filePath: string): Promise<T | null> {
24
+ try {
25
+ const content = await fs.readFile(filePath, 'utf-8')
26
+ const errors: jsonc.ParseError[] = []
27
+ const result = jsonc.parse(content, errors)
28
+ return errors.length > 0 ? null : result
29
+ } catch {
30
+ return null
31
+ }
32
+ }
33
+
34
+ async function writeJsonFile(filePath: string, data: unknown): Promise<boolean> {
35
+ try {
36
+ await fs.mkdir(path.dirname(filePath), { recursive: true })
37
+ await fs.writeFile(filePath, JSON.stringify(data, null, 2) + '\n', 'utf-8')
38
+ return true
39
+ } catch {
40
+ return false
41
+ }
42
+ }
43
+
44
+ function getProjectPath(projectId: string): string {
45
+ return path.join(PROJECTS_DIR, projectId)
46
+ }
47
+
48
+ async function getProjectConfig(projectId: string): Promise<any> {
49
+ const configPath = path.join(getProjectPath(projectId), 'project.json')
50
+ return await readJsonFile(configPath)
51
+ }
52
+
53
+ async function calculateDuration(startedAt: string | undefined): Promise<string> {
54
+ if (!startedAt) return ''
55
+
56
+ const start = new Date(startedAt)
57
+ const now = new Date()
58
+ const elapsed = now.getTime() - start.getTime()
59
+
60
+ const hours = Math.floor(elapsed / (1000 * 60 * 60))
61
+ const minutes = Math.floor((elapsed % (1000 * 60 * 60)) / (1000 * 60))
62
+
63
+ if (hours > 0) {
64
+ return `${hours}h ${minutes}m`
65
+ }
66
+ return `${minutes}m`
67
+ }
68
+
69
+ // =============================================================================
70
+ // ROUTES
71
+ // =============================================================================
72
+
73
+ export function createExtendedRoutes(): Hono {
74
+ const api = new Hono()
75
+
76
+ // -------------------------------------------------------------------------
77
+ // GET /projects - List all projects with summary
78
+ // -------------------------------------------------------------------------
79
+ api.get('/projects', async (c) => {
80
+ try {
81
+ await fs.mkdir(PROJECTS_DIR, { recursive: true })
82
+ const entries = await fs.readdir(PROJECTS_DIR, { withFileTypes: true })
83
+ const projectIds = entries.filter(e => e.isDirectory()).map(e => e.name)
84
+
85
+ const projects = await Promise.all(
86
+ projectIds.map(async (id) => {
87
+ const projectPath = getProjectPath(id)
88
+
89
+ // Read config
90
+ const config = await getProjectConfig(id)
91
+
92
+ // Read state
93
+ const state = await readJsonFile<any>(
94
+ path.join(projectPath, 'storage/state.json')
95
+ )
96
+
97
+ // Read queue for count
98
+ const queue = await readJsonFile<any>(
99
+ path.join(projectPath, 'storage/queue.json')
100
+ )
101
+
102
+ // Read ideas for count
103
+ const ideas = await readJsonFile<any>(
104
+ path.join(projectPath, 'storage/ideas.json')
105
+ )
106
+
107
+ // Read shipped for count
108
+ const shipped = await readJsonFile<any>(
109
+ path.join(projectPath, 'storage/shipped.json')
110
+ )
111
+
112
+ const currentTask = state?.currentTask
113
+ const duration = await calculateDuration(currentTask?.startedAt)
114
+
115
+ return {
116
+ id,
117
+ name: config?.name || id.slice(0, 8),
118
+ path: config?.path || null,
119
+ currentTask: currentTask ? {
120
+ ...currentTask,
121
+ duration
122
+ } : null,
123
+ pausedTask: state?.previousTask || null,
124
+ stats: {
125
+ queueCount: queue?.tasks?.filter((t: any) => !t.completed)?.length || 0,
126
+ ideasCount: ideas?.ideas?.filter((i: any) => i.status === 'pending')?.length || 0,
127
+ shippedCount: shipped?.shipped?.length || 0,
128
+ }
129
+ }
130
+ })
131
+ )
132
+
133
+ // Sort: active projects first, then by name
134
+ projects.sort((a, b) => {
135
+ if (a.currentTask && !b.currentTask) return -1
136
+ if (!a.currentTask && b.currentTask) return 1
137
+ return (a.name || '').localeCompare(b.name || '')
138
+ })
139
+
140
+ return c.json({ projects })
141
+ } catch (error) {
142
+ return c.json({ projects: [], error: String(error) }, 500)
143
+ }
144
+ })
145
+
146
+ // -------------------------------------------------------------------------
147
+ // GET /projects/:id/full - Complete project dashboard
148
+ // -------------------------------------------------------------------------
149
+ api.get('/projects/:id/full', async (c) => {
150
+ const projectId = c.req.param('id')
151
+ const projectPath = getProjectPath(projectId)
152
+
153
+ try {
154
+ const [config, state, queue, ideas, shipped, roadmap] = await Promise.all([
155
+ getProjectConfig(projectId),
156
+ readJsonFile<any>(path.join(projectPath, 'storage/state.json')),
157
+ readJsonFile<any>(path.join(projectPath, 'storage/queue.json')),
158
+ readJsonFile<any>(path.join(projectPath, 'storage/ideas.json')),
159
+ readJsonFile<any>(path.join(projectPath, 'storage/shipped.json')),
160
+ readJsonFile<any>(path.join(projectPath, 'planning/roadmap.json')),
161
+ ])
162
+
163
+ // Calculate current task duration
164
+ if (state?.currentTask?.startedAt) {
165
+ state.currentTask.duration = await calculateDuration(state.currentTask.startedAt)
166
+ }
167
+
168
+ // Calculate stats
169
+ const now = new Date()
170
+ const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate())
171
+ const weekStart = new Date(todayStart)
172
+ weekStart.setDate(weekStart.getDate() - weekStart.getDay())
173
+
174
+ const completedToday = queue?.tasks?.filter((t: any) => {
175
+ if (!t.completed || !t.completedAt) return false
176
+ return new Date(t.completedAt) >= todayStart
177
+ })?.length || 0
178
+
179
+ const completedThisWeek = queue?.tasks?.filter((t: any) => {
180
+ if (!t.completed || !t.completedAt) return false
181
+ return new Date(t.completedAt) >= weekStart
182
+ })?.length || 0
183
+
184
+ return c.json({
185
+ id: projectId,
186
+ name: config?.name || projectId,
187
+ path: config?.path,
188
+ state: state || { currentTask: null, previousTask: null, lastUpdated: '' },
189
+ queue: queue || { tasks: [], lastUpdated: '' },
190
+ ideas: ideas || { ideas: [], lastUpdated: '' },
191
+ shipped: shipped || { shipped: [], lastUpdated: '' },
192
+ roadmap: roadmap || { features: [], backlog: [], lastUpdated: '' },
193
+ stats: {
194
+ tasksToday: completedToday,
195
+ tasksThisWeek: completedThisWeek,
196
+ queueCount: queue?.tasks?.filter((t: any) => !t.completed)?.length || 0,
197
+ ideasCount: ideas?.ideas?.filter((i: any) => i.status === 'pending')?.length || 0,
198
+ shippedCount: shipped?.shipped?.length || 0,
199
+ },
200
+ timestamp: new Date().toISOString()
201
+ })
202
+ } catch (error) {
203
+ return c.json({ error: String(error) }, 500)
204
+ }
205
+ })
206
+
207
+ // -------------------------------------------------------------------------
208
+ // POST /projects/:id/task/complete - Complete current task
209
+ // -------------------------------------------------------------------------
210
+ api.post('/projects/:id/task/complete', async (c) => {
211
+ const projectId = c.req.param('id')
212
+ const projectPath = getProjectPath(projectId)
213
+ const statePath = path.join(projectPath, 'storage/state.json')
214
+
215
+ try {
216
+ const state = await readJsonFile<any>(statePath)
217
+
218
+ if (!state?.currentTask) {
219
+ return c.json({ success: false, error: 'No active task' }, 400)
220
+ }
221
+
222
+ const completedTask = state.currentTask
223
+
224
+ // Update state
225
+ const newState = {
226
+ currentTask: null,
227
+ previousTask: null,
228
+ lastUpdated: new Date().toISOString()
229
+ }
230
+
231
+ await writeJsonFile(statePath, newState)
232
+
233
+ return c.json({
234
+ success: true,
235
+ completedTask,
236
+ message: `Completed: ${completedTask.description}`
237
+ })
238
+ } catch (error) {
239
+ return c.json({ success: false, error: String(error) }, 500)
240
+ }
241
+ })
242
+
243
+ // -------------------------------------------------------------------------
244
+ // POST /projects/:id/task/pause - Pause current task
245
+ // -------------------------------------------------------------------------
246
+ api.post('/projects/:id/task/pause', async (c) => {
247
+ const projectId = c.req.param('id')
248
+ const projectPath = getProjectPath(projectId)
249
+ const statePath = path.join(projectPath, 'storage/state.json')
250
+
251
+ try {
252
+ const body = await c.req.json().catch(() => ({}))
253
+ const reason = body.reason
254
+
255
+ const state = await readJsonFile<any>(statePath)
256
+
257
+ if (!state?.currentTask) {
258
+ return c.json({ success: false, error: 'No active task' }, 400)
259
+ }
260
+
261
+ const pausedTask = {
262
+ id: state.currentTask.id,
263
+ description: state.currentTask.description,
264
+ status: 'paused',
265
+ startedAt: state.currentTask.startedAt,
266
+ pausedAt: new Date().toISOString(),
267
+ pauseReason: reason
268
+ }
269
+
270
+ const newState = {
271
+ currentTask: null,
272
+ previousTask: pausedTask,
273
+ lastUpdated: new Date().toISOString()
274
+ }
275
+
276
+ await writeJsonFile(statePath, newState)
277
+
278
+ return c.json({
279
+ success: true,
280
+ pausedTask,
281
+ message: `Paused: ${pausedTask.description}`
282
+ })
283
+ } catch (error) {
284
+ return c.json({ success: false, error: String(error) }, 500)
285
+ }
286
+ })
287
+
288
+ // -------------------------------------------------------------------------
289
+ // POST /projects/:id/task/resume - Resume paused task
290
+ // -------------------------------------------------------------------------
291
+ api.post('/projects/:id/task/resume', async (c) => {
292
+ const projectId = c.req.param('id')
293
+ const projectPath = getProjectPath(projectId)
294
+ const statePath = path.join(projectPath, 'storage/state.json')
295
+
296
+ try {
297
+ const state = await readJsonFile<any>(statePath)
298
+
299
+ if (!state?.previousTask) {
300
+ return c.json({ success: false, error: 'No paused task' }, 400)
301
+ }
302
+
303
+ const resumedTask = {
304
+ id: state.previousTask.id,
305
+ description: state.previousTask.description,
306
+ startedAt: new Date().toISOString(),
307
+ sessionId: `sess_${Date.now().toString(36)}`
308
+ }
309
+
310
+ const newState = {
311
+ currentTask: resumedTask,
312
+ previousTask: null,
313
+ lastUpdated: new Date().toISOString()
314
+ }
315
+
316
+ await writeJsonFile(statePath, newState)
317
+
318
+ return c.json({
319
+ success: true,
320
+ resumedTask,
321
+ message: `Resumed: ${resumedTask.description}`
322
+ })
323
+ } catch (error) {
324
+ return c.json({ success: false, error: String(error) }, 500)
325
+ }
326
+ })
327
+
328
+ // -------------------------------------------------------------------------
329
+ // POST /projects/:id/queue/start - Start a task from queue
330
+ // -------------------------------------------------------------------------
331
+ api.post('/projects/:id/queue/start', async (c) => {
332
+ const projectId = c.req.param('id')
333
+ const projectPath = getProjectPath(projectId)
334
+ const statePath = path.join(projectPath, 'storage/state.json')
335
+ const queuePath = path.join(projectPath, 'storage/queue.json')
336
+
337
+ try {
338
+ const body = await c.req.json()
339
+ const { taskId } = body
340
+
341
+ if (!taskId) {
342
+ return c.json({ success: false, error: 'taskId required' }, 400)
343
+ }
344
+
345
+ const state = await readJsonFile<any>(statePath)
346
+ const queue = await readJsonFile<any>(queuePath)
347
+
348
+ // Check if there's already an active task
349
+ if (state?.currentTask) {
350
+ return c.json({ success: false, error: 'Complete or pause current task first' }, 400)
351
+ }
352
+
353
+ // Find task in queue
354
+ const task = queue?.tasks?.find((t: any) => t.id === taskId)
355
+ if (!task) {
356
+ return c.json({ success: false, error: 'Task not found in queue' }, 404)
357
+ }
358
+
359
+ // Create new current task
360
+ const newTask = {
361
+ id: task.id,
362
+ description: task.description,
363
+ startedAt: new Date().toISOString(),
364
+ sessionId: `sess_${Date.now().toString(36)}`,
365
+ featureId: task.featureId
366
+ }
367
+
368
+ // Update state
369
+ const newState = {
370
+ currentTask: newTask,
371
+ previousTask: null,
372
+ lastUpdated: new Date().toISOString()
373
+ }
374
+
375
+ await writeJsonFile(statePath, newState)
376
+
377
+ return c.json({
378
+ success: true,
379
+ task: newTask,
380
+ message: `Started: ${newTask.description}`
381
+ })
382
+ } catch (error) {
383
+ return c.json({ success: false, error: String(error) }, 500)
384
+ }
385
+ })
386
+
387
+ // -------------------------------------------------------------------------
388
+ // POST /projects/:id/ideas - Capture a new idea
389
+ // -------------------------------------------------------------------------
390
+ api.post('/projects/:id/ideas', async (c) => {
391
+ const projectId = c.req.param('id')
392
+ const projectPath = getProjectPath(projectId)
393
+ const ideasPath = path.join(projectPath, 'storage/ideas.json')
394
+
395
+ try {
396
+ const body = await c.req.json()
397
+ const { text, priority = 'medium', tags = [] } = body
398
+
399
+ if (!text) {
400
+ return c.json({ success: false, error: 'text required' }, 400)
401
+ }
402
+
403
+ const ideas = await readJsonFile<any>(ideasPath) || { ideas: [], lastUpdated: '' }
404
+
405
+ const newIdea = {
406
+ id: `idea_${Date.now().toString(36)}`,
407
+ text,
408
+ status: 'pending',
409
+ priority,
410
+ tags,
411
+ addedAt: new Date().toISOString()
412
+ }
413
+
414
+ ideas.ideas.unshift(newIdea) // Prepend
415
+ ideas.lastUpdated = new Date().toISOString()
416
+
417
+ await writeJsonFile(ideasPath, ideas)
418
+
419
+ return c.json({
420
+ success: true,
421
+ idea: newIdea,
422
+ message: `Captured: ${text.slice(0, 50)}...`
423
+ })
424
+ } catch (error) {
425
+ return c.json({ success: false, error: String(error) }, 500)
426
+ }
427
+ })
428
+
429
+ // -------------------------------------------------------------------------
430
+ // GET /stats/global - Global stats across all projects
431
+ // -------------------------------------------------------------------------
432
+ api.get('/stats/global', async (c) => {
433
+ try {
434
+ await fs.mkdir(PROJECTS_DIR, { recursive: true })
435
+ const entries = await fs.readdir(PROJECTS_DIR, { withFileTypes: true })
436
+ const projectIds = entries.filter(e => e.isDirectory()).map(e => e.name)
437
+
438
+ let totalTasks = 0
439
+ let totalIdeas = 0
440
+ let totalShipped = 0
441
+ let activeProjects = 0
442
+
443
+ for (const id of projectIds) {
444
+ const projectPath = getProjectPath(id)
445
+
446
+ const state = await readJsonFile<any>(path.join(projectPath, 'storage/state.json'))
447
+ const queue = await readJsonFile<any>(path.join(projectPath, 'storage/queue.json'))
448
+ const ideas = await readJsonFile<any>(path.join(projectPath, 'storage/ideas.json'))
449
+ const shipped = await readJsonFile<any>(path.join(projectPath, 'storage/shipped.json'))
450
+
451
+ if (state?.currentTask) activeProjects++
452
+
453
+ totalTasks += queue?.tasks?.filter((t: any) => !t.completed)?.length || 0
454
+ totalIdeas += ideas?.ideas?.filter((i: any) => i.status === 'pending')?.length || 0
455
+ totalShipped += shipped?.shipped?.length || 0
456
+ }
457
+
458
+ return c.json({
459
+ totalProjects: projectIds.length,
460
+ activeProjects,
461
+ totalTasks,
462
+ totalIdeas,
463
+ totalShipped,
464
+ timestamp: new Date().toISOString()
465
+ })
466
+ } catch (error) {
467
+ return c.json({ error: String(error) }, 500)
468
+ }
469
+ })
470
+
471
+ // -------------------------------------------------------------------------
472
+ // GET /status-bar/compact - Optimized endpoint for status bar
473
+ // Accepts optional ?cwd= param to show project-specific task
474
+ // -------------------------------------------------------------------------
475
+ api.get('/status-bar/compact', async (c) => {
476
+ try {
477
+ const cwd = c.req.query('cwd')
478
+
479
+ await fs.mkdir(PROJECTS_DIR, { recursive: true })
480
+ const entries = await fs.readdir(PROJECTS_DIR, { withFileTypes: true })
481
+ const projectIds = entries.filter(e => e.isDirectory()).map(e => e.name)
482
+
483
+ // If cwd provided, find matching project by path
484
+ let targetProjectId: string | null = null
485
+ if (cwd) {
486
+ for (const id of projectIds) {
487
+ const config = await getProjectConfig(id)
488
+ // Check both 'path' and 'repoPath' fields
489
+ const projectPath = config?.repoPath || config?.path
490
+ // Match if cwd starts with project path (handles subdirectories)
491
+ if (projectPath && cwd.startsWith(projectPath)) {
492
+ targetProjectId = id
493
+ break
494
+ }
495
+ }
496
+ }
497
+
498
+ // Find active/paused task
499
+ let activeProject: any = null
500
+ let activeTask: any = null
501
+ let pausedTask: any = null
502
+
503
+ // If we have a target project, only check that one
504
+ const idsToCheck = targetProjectId ? [targetProjectId] : projectIds
505
+
506
+ for (const id of idsToCheck) {
507
+ const projectPath = getProjectPath(id)
508
+ const state = await readJsonFile<any>(path.join(projectPath, 'storage/state.json'))
509
+ const config = await getProjectConfig(id)
510
+
511
+ if (state?.currentTask) {
512
+ activeProject = { id, name: config?.name || id, path: config?.repoPath || config?.path }
513
+ activeTask = {
514
+ ...state.currentTask,
515
+ duration: await calculateDuration(state.currentTask.startedAt)
516
+ }
517
+ break
518
+ }
519
+
520
+ if (state?.previousTask && !pausedTask) {
521
+ activeProject = { id, name: config?.name || id, path: config?.repoPath || config?.path }
522
+ pausedTask = state.previousTask
523
+ }
524
+ }
525
+
526
+ return c.json({
527
+ hasActiveTask: !!activeTask,
528
+ hasPausedTask: !!pausedTask,
529
+ activeProject,
530
+ activeTask,
531
+ pausedTask,
532
+ totalProjects: projectIds.length,
533
+ // Include whether we filtered by cwd
534
+ filtered: !!targetProjectId,
535
+ cwd: cwd || null,
536
+ timestamp: new Date().toISOString()
537
+ })
538
+ } catch (error) {
539
+ return c.json({ error: String(error) }, 500)
540
+ }
541
+ })
542
+
543
+ return api
544
+ }
@@ -12,6 +12,7 @@ import { Hono } from 'hono'
12
12
  import { cors } from 'hono/cors'
13
13
  import { logger } from 'hono/logger'
14
14
  import { createRoutes } from './routes'
15
+ import { createExtendedRoutes } from './routes-extended'
15
16
  import { createSSEManager } from './sse'
16
17
  import { isBun } from '../utils/runtime'
17
18
  import type { ServerConfig, ServerInstance } from '../types'
@@ -55,6 +56,11 @@ export function createServer(config: ServerConfig): ServerInstance {
55
56
  roadmap: '/api/roadmap',
56
57
  shipped: '/api/shipped',
57
58
  events: '/api/events',
59
+ // Extended endpoints for status-bar
60
+ projects: '/api/projects',
61
+ projectFull: '/api/projects/:id/full',
62
+ statusBarCompact: '/api/status-bar/compact',
63
+ globalStats: '/api/stats/global',
58
64
  }
59
65
  }))
60
66
 
@@ -62,6 +68,10 @@ export function createServer(config: ServerConfig): ServerInstance {
62
68
  const routes = createRoutes(config.projectId, config.projectPath)
63
69
  app.route('/api', routes)
64
70
 
71
+ // Mount extended routes for status-bar
72
+ const extendedRoutes = createExtendedRoutes()
73
+ app.route('/api', extendedRoutes)
74
+
65
75
  // SSE endpoint for real-time updates
66
76
  app.get('/api/events', (c) => {
67
77
  return sseManager.handleConnection(c)
@@ -17,24 +17,11 @@ export class SessionLogManager {
17
17
  private currentSessionCache: Map<string, string>
18
18
  private sessionMetadataCache: Map<string, SessionLogMetadata>
19
19
 
20
- // Max cache size to prevent unbounded memory growth
21
- private static readonly MAX_CACHE_SIZE = 100
22
-
23
20
  constructor() {
24
21
  this.currentSessionCache = new Map()
25
22
  this.sessionMetadataCache = new Map()
26
23
  }
27
24
 
28
- /**
29
- * Limit cache size with LRU eviction (oldest first)
30
- */
31
- private limitCacheSize<K, V>(cache: Map<K, V>): void {
32
- while (cache.size > SessionLogManager.MAX_CACHE_SIZE) {
33
- const oldest = cache.keys().next().value
34
- if (oldest) cache.delete(oldest)
35
- }
36
- }
37
-
38
25
  /**
39
26
  * Get or create current session directory for a project
40
27
  */
@@ -47,7 +34,6 @@ export class SessionLogManager {
47
34
 
48
35
  const sessionPath = await pathManager.ensureSessionPath(projectId)
49
36
  this.currentSessionCache.set(cacheKey, sessionPath)
50
- this.limitCacheSize(this.currentSessionCache)
51
37
 
52
38
  await this._ensureSessionLogMetadata(sessionPath)
53
39
 
@@ -261,7 +247,6 @@ export class SessionLogManager {
261
247
  const metadata = await fileHelper.readJson<SessionLogMetadata>(metadataPath, null)
262
248
  if (metadata) {
263
249
  this.sessionMetadataCache.set(sessionPath, metadata)
264
- this.limitCacheSize(this.sessionMetadataCache)
265
250
  }
266
251
  return metadata
267
252
  }
@@ -283,7 +268,6 @@ export class SessionLogManager {
283
268
  }
284
269
  await fileHelper.writeJson(metadataPath, metadata)
285
270
  this.sessionMetadataCache.set(sessionPath, metadata)
286
- this.limitCacheSize(this.sessionMetadataCache)
287
271
  }
288
272
  }
289
273
 
@@ -301,7 +285,6 @@ export class SessionLogManager {
301
285
  await fileHelper.writeJson(metadataPath, metadata)
302
286
 
303
287
  this.sessionMetadataCache.set(sessionPath, metadata)
304
- this.limitCacheSize(this.sessionMetadataCache)
305
288
  }
306
289
 
307
290
  /**
@@ -25,7 +25,7 @@ export interface GlobalConfig {
25
25
  version: string
26
26
  created?: string
27
27
  lastSync: string
28
- // Optional external integrations
28
+ // Optional external integrations (Notion, etc.)
29
29
  integrations?: IntegrationsConfig
30
30
  }
31
31
 
@@ -225,8 +225,10 @@ export type {
225
225
  // Integration Types
226
226
  // =============================================================================
227
227
  export type {
228
+ NotionIntegrationConfig,
228
229
  IntegrationsConfig,
229
230
  } from './integrations'
231
+ export { DEFAULT_NOTION_CONFIG } from './integrations'
230
232
 
231
233
  // =============================================================================
232
234
  // Template Types