prjct-cli 1.21.0 → 1.23.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 (447) hide show
  1. package/CHANGELOG.md +244 -0
  2. package/README.md +41 -0
  3. package/bin/prjct +30 -13
  4. package/dist/bin/prjct.mjs +919 -35601
  5. package/dist/bin/prjct.mjs.map +7 -0
  6. package/dist/cli/linear.mjs +16 -0
  7. package/dist/cli/linear.mjs.map +7 -0
  8. package/dist/templates.json +1 -0
  9. package/package.json +4 -5
  10. package/bin/prjct.ts +0 -342
  11. package/core/__tests__/agentic/analysis-injection.test.ts +0 -377
  12. package/core/__tests__/agentic/cache-eviction.test.ts +0 -294
  13. package/core/__tests__/agentic/command-context.test.ts +0 -281
  14. package/core/__tests__/agentic/command-executor.test.ts +0 -659
  15. package/core/__tests__/agentic/domain-classifier.test.ts +0 -330
  16. package/core/__tests__/agentic/injection-validator.test.ts +0 -255
  17. package/core/__tests__/agentic/memory-system.test.ts +0 -281
  18. package/core/__tests__/agentic/plan-mode.test.ts +0 -386
  19. package/core/__tests__/agentic/prompt-assembly.test.ts +0 -298
  20. package/core/__tests__/agentic/prompt-builder.test.ts +0 -243
  21. package/core/__tests__/agentic/response-validator.test.ts +0 -263
  22. package/core/__tests__/agentic/semantic-matching.test.ts +0 -131
  23. package/core/__tests__/agentic/smart-context.test.ts +0 -372
  24. package/core/__tests__/agentic/tech-normalizer.test.ts +0 -136
  25. package/core/__tests__/agentic/token-budget.test.ts +0 -294
  26. package/core/__tests__/ai-tools/formatters.test.ts +0 -476
  27. package/core/__tests__/domain/bm25.test.ts +0 -225
  28. package/core/__tests__/domain/change-propagator.test.ts +0 -100
  29. package/core/__tests__/domain/fibonacci.test.ts +0 -113
  30. package/core/__tests__/domain/file-hasher.test.ts +0 -146
  31. package/core/__tests__/domain/file-ranker.test.ts +0 -169
  32. package/core/__tests__/domain/git-cochange.test.ts +0 -121
  33. package/core/__tests__/domain/import-graph.test.ts +0 -156
  34. package/core/__tests__/domain/velocity.test.ts +0 -623
  35. package/core/__tests__/infrastructure/performance-tracker.test.ts +0 -328
  36. package/core/__tests__/schemas/model.test.ts +0 -272
  37. package/core/__tests__/services/dependency-validator.test.ts +0 -175
  38. package/core/__tests__/services/hierarchical-agent-resolver.test.ts +0 -359
  39. package/core/__tests__/services/nested-context-resolver.test.ts +0 -443
  40. package/core/__tests__/services/project-index.test.ts +0 -355
  41. package/core/__tests__/services/staleness-checker.test.ts +0 -204
  42. package/core/__tests__/storage/analysis-storage.test.ts +0 -641
  43. package/core/__tests__/storage/archive-storage.test.ts +0 -455
  44. package/core/__tests__/storage/safe-reader.test.ts +0 -262
  45. package/core/__tests__/storage/sqlite-migration.test.ts +0 -1016
  46. package/core/__tests__/storage/storage-manager.test.ts +0 -383
  47. package/core/__tests__/storage/subtask-handoff.test.ts +0 -237
  48. package/core/__tests__/types/fs.test.ts +0 -125
  49. package/core/__tests__/utils/date-helper.test.ts +0 -449
  50. package/core/__tests__/utils/output.test.ts +0 -278
  51. package/core/__tests__/utils/preserve-sections.test.ts +0 -216
  52. package/core/__tests__/utils/project-commands.test.ts +0 -71
  53. package/core/__tests__/utils/retry.test.ts +0 -381
  54. package/core/__tests__/workflow/state-machine.test.ts +0 -216
  55. package/core/agentic/agent-router.ts +0 -150
  56. package/core/agentic/anti-hallucination.ts +0 -141
  57. package/core/agentic/chain-of-thought.ts +0 -234
  58. package/core/agentic/command-classifier.ts +0 -141
  59. package/core/agentic/command-context.ts +0 -168
  60. package/core/agentic/command-executor.ts +0 -471
  61. package/core/agentic/context-builder.ts +0 -285
  62. package/core/agentic/domain-classifier.ts +0 -525
  63. package/core/agentic/environment-block.ts +0 -102
  64. package/core/agentic/ground-truth.ts +0 -706
  65. package/core/agentic/index.ts +0 -193
  66. package/core/agentic/injection-validator.ts +0 -208
  67. package/core/agentic/loop-detector.ts +0 -451
  68. package/core/agentic/memory-system.ts +0 -1547
  69. package/core/agentic/orchestrator-executor.ts +0 -579
  70. package/core/agentic/plan-mode.ts +0 -525
  71. package/core/agentic/prompt-builder.ts +0 -1069
  72. package/core/agentic/response-validator.ts +0 -98
  73. package/core/agentic/services.ts +0 -167
  74. package/core/agentic/skill-loader.ts +0 -106
  75. package/core/agentic/smart-context.ts +0 -393
  76. package/core/agentic/tech-normalizer.ts +0 -167
  77. package/core/agentic/template-executor.ts +0 -272
  78. package/core/agentic/template-loader.ts +0 -109
  79. package/core/agentic/token-budget.ts +0 -226
  80. package/core/agentic/tool-registry.ts +0 -146
  81. package/core/agents/index.ts +0 -28
  82. package/core/agents/performance.ts +0 -429
  83. package/core/ai-tools/formatters.ts +0 -341
  84. package/core/ai-tools/generator.ts +0 -144
  85. package/core/ai-tools/index.ts +0 -15
  86. package/core/ai-tools/registry.ts +0 -201
  87. package/core/bus/bus.ts +0 -314
  88. package/core/bus/index.ts +0 -8
  89. package/core/cli/linear.ts +0 -500
  90. package/core/cli/lint-meta-commentary.ts +0 -177
  91. package/core/cli/start.ts +0 -386
  92. package/core/commands/analysis.ts +0 -1274
  93. package/core/commands/analytics.ts +0 -342
  94. package/core/commands/base.ts +0 -118
  95. package/core/commands/cleanup.ts +0 -157
  96. package/core/commands/command-data.ts +0 -463
  97. package/core/commands/commands.ts +0 -306
  98. package/core/commands/context.ts +0 -238
  99. package/core/commands/design.ts +0 -77
  100. package/core/commands/index.ts +0 -19
  101. package/core/commands/maintenance.ts +0 -77
  102. package/core/commands/performance.ts +0 -114
  103. package/core/commands/planning.ts +0 -662
  104. package/core/commands/register.ts +0 -127
  105. package/core/commands/registry.ts +0 -444
  106. package/core/commands/setup.ts +0 -280
  107. package/core/commands/shipping.ts +0 -267
  108. package/core/commands/snapshots.ts +0 -297
  109. package/core/commands/uninstall.ts +0 -542
  110. package/core/commands/velocity.ts +0 -149
  111. package/core/commands/workflow.ts +0 -502
  112. package/core/config/command-context.config.json +0 -66
  113. package/core/constants/index.ts +0 -379
  114. package/core/context/generator.ts +0 -368
  115. package/core/context-tools/files-tool.ts +0 -577
  116. package/core/context-tools/imports-tool.ts +0 -400
  117. package/core/context-tools/index.ts +0 -434
  118. package/core/context-tools/recent-tool.ts +0 -301
  119. package/core/context-tools/signatures-tool.ts +0 -495
  120. package/core/context-tools/summary-tool.ts +0 -301
  121. package/core/context-tools/token-counter.ts +0 -273
  122. package/core/context-tools/types.ts +0 -253
  123. package/core/domain/agent-generator.ts +0 -186
  124. package/core/domain/agent-loader.ts +0 -419
  125. package/core/domain/analyzer.ts +0 -387
  126. package/core/domain/architecture-generator.ts +0 -108
  127. package/core/domain/bm25.ts +0 -525
  128. package/core/domain/change-propagator.ts +0 -162
  129. package/core/domain/context-estimator.ts +0 -175
  130. package/core/domain/fibonacci.ts +0 -128
  131. package/core/domain/file-hasher.ts +0 -296
  132. package/core/domain/file-ranker.ts +0 -151
  133. package/core/domain/git-cochange.ts +0 -250
  134. package/core/domain/import-graph.ts +0 -315
  135. package/core/domain/snapshot-manager.ts +0 -415
  136. package/core/domain/task-stack.ts +0 -578
  137. package/core/domain/velocity.ts +0 -470
  138. package/core/errors.ts +0 -335
  139. package/core/events/events.ts +0 -85
  140. package/core/events/index.ts +0 -8
  141. package/core/index.ts +0 -481
  142. package/core/infrastructure/agent-detector.ts +0 -135
  143. package/core/infrastructure/ai-provider.ts +0 -578
  144. package/core/infrastructure/author-detector.ts +0 -133
  145. package/core/infrastructure/capability-installer.ts +0 -76
  146. package/core/infrastructure/claude-agent.ts +0 -297
  147. package/core/infrastructure/command-installer.ts +0 -752
  148. package/core/infrastructure/config-manager.ts +0 -364
  149. package/core/infrastructure/editors-config.ts +0 -172
  150. package/core/infrastructure/path-manager.ts +0 -571
  151. package/core/infrastructure/performance-tracker.ts +0 -326
  152. package/core/infrastructure/permission-manager.ts +0 -289
  153. package/core/infrastructure/setup.ts +0 -1061
  154. package/core/infrastructure/update-checker.ts +0 -246
  155. package/core/integrations/issue-tracker/enricher.ts +0 -271
  156. package/core/integrations/issue-tracker/index.ts +0 -8
  157. package/core/integrations/issue-tracker/manager.ts +0 -286
  158. package/core/integrations/issue-tracker/types.ts +0 -310
  159. package/core/integrations/jira/cache.ts +0 -57
  160. package/core/integrations/jira/client.ts +0 -688
  161. package/core/integrations/jira/index.ts +0 -23
  162. package/core/integrations/jira/service.ts +0 -244
  163. package/core/integrations/linear/cache.ts +0 -68
  164. package/core/integrations/linear/client.ts +0 -436
  165. package/core/integrations/linear/index.ts +0 -20
  166. package/core/integrations/linear/service.ts +0 -260
  167. package/core/integrations/linear/sync.ts +0 -314
  168. package/core/outcomes/analyzer.ts +0 -286
  169. package/core/outcomes/index.ts +0 -34
  170. package/core/outcomes/recorder.ts +0 -195
  171. package/core/plugin/builtin/webhook.ts +0 -148
  172. package/core/plugin/hooks.ts +0 -315
  173. package/core/plugin/index.ts +0 -50
  174. package/core/plugin/loader.ts +0 -354
  175. package/core/plugin/registry.ts +0 -326
  176. package/core/schemas/agents.ts +0 -27
  177. package/core/schemas/analysis.ts +0 -530
  178. package/core/schemas/classification.ts +0 -91
  179. package/core/schemas/command-context.ts +0 -29
  180. package/core/schemas/enriched-task.ts +0 -291
  181. package/core/schemas/ideas.ts +0 -114
  182. package/core/schemas/index.ts +0 -53
  183. package/core/schemas/issues.ts +0 -159
  184. package/core/schemas/llm-output.ts +0 -170
  185. package/core/schemas/metrics.ts +0 -143
  186. package/core/schemas/model.ts +0 -153
  187. package/core/schemas/outcomes.ts +0 -487
  188. package/core/schemas/performance.ts +0 -128
  189. package/core/schemas/permissions.ts +0 -180
  190. package/core/schemas/prd.ts +0 -450
  191. package/core/schemas/project.ts +0 -57
  192. package/core/schemas/roadmap.ts +0 -322
  193. package/core/schemas/schemas.ts +0 -38
  194. package/core/schemas/shipped.ts +0 -109
  195. package/core/schemas/state.ts +0 -241
  196. package/core/schemas/velocity.ts +0 -103
  197. package/core/server/index.ts +0 -21
  198. package/core/server/routes-extended.ts +0 -566
  199. package/core/server/routes.ts +0 -176
  200. package/core/server/server.ts +0 -149
  201. package/core/server/sse.ts +0 -192
  202. package/core/services/agent-generator.ts +0 -316
  203. package/core/services/agent-service.ts +0 -168
  204. package/core/services/breakdown-service.ts +0 -124
  205. package/core/services/context-generator.ts +0 -445
  206. package/core/services/context-selector.ts +0 -429
  207. package/core/services/dependency-validator.ts +0 -318
  208. package/core/services/diff-generator.ts +0 -313
  209. package/core/services/doctor-service.ts +0 -423
  210. package/core/services/file-categorizer.ts +0 -448
  211. package/core/services/file-scorer.ts +0 -270
  212. package/core/services/git-analyzer.ts +0 -293
  213. package/core/services/hierarchical-agent-resolver.ts +0 -236
  214. package/core/services/hooks-service.ts +0 -685
  215. package/core/services/index.ts +0 -46
  216. package/core/services/local-state-generator.ts +0 -158
  217. package/core/services/memory-service.ts +0 -181
  218. package/core/services/nested-context-resolver.ts +0 -842
  219. package/core/services/project-index.ts +0 -911
  220. package/core/services/project-service.ts +0 -155
  221. package/core/services/session-tracker.ts +0 -287
  222. package/core/services/skill-installer.ts +0 -447
  223. package/core/services/skill-lock.ts +0 -132
  224. package/core/services/skill-service.ts +0 -306
  225. package/core/services/stack-detector.ts +0 -229
  226. package/core/services/staleness-checker.ts +0 -327
  227. package/core/services/sync-service.ts +0 -1404
  228. package/core/services/sync-verifier.ts +0 -253
  229. package/core/services/watch-service.ts +0 -312
  230. package/core/session/compaction.ts +0 -248
  231. package/core/session/index.ts +0 -35
  232. package/core/session/log-migration.ts +0 -88
  233. package/core/session/metrics.ts +0 -323
  234. package/core/session/session-log-manager.ts +0 -307
  235. package/core/session/task-session-manager.ts +0 -404
  236. package/core/session/utils.ts +0 -51
  237. package/core/storage/analysis-storage.ts +0 -373
  238. package/core/storage/archive-storage.ts +0 -205
  239. package/core/storage/database.ts +0 -575
  240. package/core/storage/ideas-storage.ts +0 -298
  241. package/core/storage/index-storage.ts +0 -523
  242. package/core/storage/index.ts +0 -79
  243. package/core/storage/metrics-storage.ts +0 -321
  244. package/core/storage/migrate-json.ts +0 -720
  245. package/core/storage/queue-storage.ts +0 -336
  246. package/core/storage/safe-reader.ts +0 -105
  247. package/core/storage/shipped-storage.ts +0 -253
  248. package/core/storage/state-storage.ts +0 -848
  249. package/core/storage/storage-manager.ts +0 -205
  250. package/core/storage/storage.ts +0 -177
  251. package/core/storage/velocity-storage.ts +0 -149
  252. package/core/sync/auth-config.ts +0 -138
  253. package/core/sync/index.ts +0 -31
  254. package/core/sync/oauth-handler.ts +0 -143
  255. package/core/sync/sync-client.ts +0 -251
  256. package/core/sync/sync-manager.ts +0 -327
  257. package/core/tsconfig.json +0 -22
  258. package/core/types/agentic.ts +0 -760
  259. package/core/types/agents.ts +0 -150
  260. package/core/types/bus.ts +0 -193
  261. package/core/types/citations.ts +0 -22
  262. package/core/types/commands.ts +0 -399
  263. package/core/types/config.ts +0 -92
  264. package/core/types/core.ts +0 -96
  265. package/core/types/diff.ts +0 -41
  266. package/core/types/domain.ts +0 -71
  267. package/core/types/errors.ts +0 -111
  268. package/core/types/events.ts +0 -42
  269. package/core/types/fs.ts +0 -72
  270. package/core/types/index.ts +0 -510
  271. package/core/types/infrastructure.ts +0 -210
  272. package/core/types/integrations.ts +0 -31
  273. package/core/types/jira.ts +0 -51
  274. package/core/types/logger.ts +0 -17
  275. package/core/types/memory.ts +0 -313
  276. package/core/types/outcomes.ts +0 -190
  277. package/core/types/output.ts +0 -47
  278. package/core/types/plugin.ts +0 -25
  279. package/core/types/project-sync.ts +0 -129
  280. package/core/types/provider.ts +0 -163
  281. package/core/types/server.ts +0 -71
  282. package/core/types/services.ts +0 -84
  283. package/core/types/session.ts +0 -135
  284. package/core/types/stack.ts +0 -19
  285. package/core/types/storage.ts +0 -318
  286. package/core/types/sync-verifier.ts +0 -33
  287. package/core/types/sync.ts +0 -121
  288. package/core/types/task.ts +0 -72
  289. package/core/types/template.ts +0 -24
  290. package/core/types/utils.ts +0 -92
  291. package/core/types/workflow.ts +0 -23
  292. package/core/utils/agent-stream.ts +0 -140
  293. package/core/utils/animations.ts +0 -251
  294. package/core/utils/branding.ts +0 -88
  295. package/core/utils/cache.ts +0 -187
  296. package/core/utils/citations.ts +0 -39
  297. package/core/utils/collection-filters.ts +0 -209
  298. package/core/utils/date-helper.ts +0 -176
  299. package/core/utils/error-messages.ts +0 -38
  300. package/core/utils/file-helper.ts +0 -277
  301. package/core/utils/fs-helpers.ts +0 -14
  302. package/core/utils/help.ts +0 -314
  303. package/core/utils/jsonl-helper.ts +0 -290
  304. package/core/utils/keychain.ts +0 -127
  305. package/core/utils/logger.ts +0 -77
  306. package/core/utils/markdown-builder.ts +0 -280
  307. package/core/utils/next-steps.ts +0 -95
  308. package/core/utils/output.ts +0 -403
  309. package/core/utils/preserve-sections.ts +0 -218
  310. package/core/utils/project-commands.ts +0 -126
  311. package/core/utils/project-credentials.ts +0 -143
  312. package/core/utils/provider-cache.ts +0 -49
  313. package/core/utils/retry.ts +0 -318
  314. package/core/utils/runtime.ts +0 -108
  315. package/core/utils/session-helper.ts +0 -278
  316. package/core/utils/subtask-table.ts +0 -227
  317. package/core/utils/version.ts +0 -128
  318. package/core/wizard/index.ts +0 -13
  319. package/core/wizard/onboarding.ts +0 -633
  320. package/core/workflow/index.ts +0 -7
  321. package/core/workflow/state-machine.ts +0 -198
  322. package/core/workflow/workflow-preferences.ts +0 -294
  323. package/dist/core/infrastructure/command-installer.js +0 -1141
  324. package/dist/core/infrastructure/editors-config.js +0 -177
  325. package/dist/core/infrastructure/setup.js +0 -2244
  326. package/dist/core/utils/version.js +0 -141
  327. package/templates/agentic/agent-routing.md +0 -45
  328. package/templates/agentic/agents/uxui.md +0 -63
  329. package/templates/agentic/checklist-routing.md +0 -98
  330. package/templates/agentic/orchestrator.md +0 -68
  331. package/templates/agentic/task-fragmentation.md +0 -89
  332. package/templates/agents/AGENTS.md +0 -68
  333. package/templates/analysis/analyze.md +0 -84
  334. package/templates/analysis/patterns.md +0 -60
  335. package/templates/antigravity/SKILL.md +0 -39
  336. package/templates/architect/discovery.md +0 -67
  337. package/templates/architect/phases.md +0 -59
  338. package/templates/checklists/architecture.md +0 -28
  339. package/templates/checklists/code-quality.md +0 -28
  340. package/templates/checklists/data.md +0 -33
  341. package/templates/checklists/documentation.md +0 -33
  342. package/templates/checklists/infrastructure.md +0 -33
  343. package/templates/checklists/performance.md +0 -33
  344. package/templates/checklists/security.md +0 -33
  345. package/templates/checklists/testing.md +0 -33
  346. package/templates/checklists/ux-ui.md +0 -37
  347. package/templates/commands/analyze.md +0 -56
  348. package/templates/commands/auth.md +0 -234
  349. package/templates/commands/bug.md +0 -163
  350. package/templates/commands/cleanup.md +0 -19
  351. package/templates/commands/dash.md +0 -99
  352. package/templates/commands/design.md +0 -15
  353. package/templates/commands/done.md +0 -291
  354. package/templates/commands/enrich.md +0 -174
  355. package/templates/commands/git.md +0 -295
  356. package/templates/commands/history.md +0 -389
  357. package/templates/commands/idea.md +0 -88
  358. package/templates/commands/impact.md +0 -864
  359. package/templates/commands/init.md +0 -54
  360. package/templates/commands/jira.md +0 -278
  361. package/templates/commands/linear.md +0 -288
  362. package/templates/commands/merge.md +0 -206
  363. package/templates/commands/next.md +0 -80
  364. package/templates/commands/p.md +0 -67
  365. package/templates/commands/p.toml +0 -37
  366. package/templates/commands/pause.md +0 -136
  367. package/templates/commands/plan.md +0 -696
  368. package/templates/commands/prd.md +0 -356
  369. package/templates/commands/resume.md +0 -171
  370. package/templates/commands/review.md +0 -276
  371. package/templates/commands/serve.md +0 -118
  372. package/templates/commands/setup.md +0 -91
  373. package/templates/commands/ship.md +0 -475
  374. package/templates/commands/skill.md +0 -259
  375. package/templates/commands/spec.md +0 -218
  376. package/templates/commands/status.md +0 -207
  377. package/templates/commands/sync.md +0 -104
  378. package/templates/commands/task.md +0 -312
  379. package/templates/commands/test.md +0 -93
  380. package/templates/commands/update.md +0 -63
  381. package/templates/commands/verify.md +0 -204
  382. package/templates/commands/workflow.md +0 -150
  383. package/templates/config/skill-mappings.json +0 -82
  384. package/templates/context/dashboard.md +0 -256
  385. package/templates/context/roadmap.md +0 -221
  386. package/templates/cursor/commands/bug.md +0 -8
  387. package/templates/cursor/commands/done.md +0 -4
  388. package/templates/cursor/commands/pause.md +0 -6
  389. package/templates/cursor/commands/resume.md +0 -4
  390. package/templates/cursor/commands/ship.md +0 -8
  391. package/templates/cursor/commands/sync.md +0 -4
  392. package/templates/cursor/commands/task.md +0 -8
  393. package/templates/cursor/p.md +0 -29
  394. package/templates/cursor/router.mdc +0 -28
  395. package/templates/design/api.md +0 -95
  396. package/templates/design/architecture.md +0 -77
  397. package/templates/design/component.md +0 -89
  398. package/templates/design/database.md +0 -78
  399. package/templates/design/flow.md +0 -94
  400. package/templates/global/ANTIGRAVITY.md +0 -254
  401. package/templates/global/CLAUDE.md +0 -497
  402. package/templates/global/CURSOR.mdc +0 -266
  403. package/templates/global/GEMINI.md +0 -293
  404. package/templates/global/STORAGE-SPEC.md +0 -391
  405. package/templates/global/WINDSURF.md +0 -266
  406. package/templates/global/modules/CLAUDE-commands.md +0 -70
  407. package/templates/global/modules/CLAUDE-core.md +0 -105
  408. package/templates/global/modules/CLAUDE-git.md +0 -50
  409. package/templates/global/modules/CLAUDE-intelligence.md +0 -92
  410. package/templates/global/modules/CLAUDE-storage.md +0 -50
  411. package/templates/global/modules/module-config.json +0 -36
  412. package/templates/mcp-config.json +0 -19
  413. package/templates/permissions/default.jsonc +0 -60
  414. package/templates/permissions/permissive.jsonc +0 -49
  415. package/templates/permissions/strict.jsonc +0 -58
  416. package/templates/planning-methodology.md +0 -195
  417. package/templates/skills/code-review.md +0 -47
  418. package/templates/skills/debug.md +0 -61
  419. package/templates/skills/refactor.md +0 -47
  420. package/templates/subagents/agent-base.md +0 -20
  421. package/templates/subagents/domain/backend.md +0 -109
  422. package/templates/subagents/domain/database.md +0 -121
  423. package/templates/subagents/domain/devops.md +0 -152
  424. package/templates/subagents/domain/frontend.md +0 -103
  425. package/templates/subagents/domain/testing.md +0 -169
  426. package/templates/subagents/pm-expert.md +0 -366
  427. package/templates/subagents/workflow/chief-architect.md +0 -657
  428. package/templates/subagents/workflow/prjct-planner.md +0 -159
  429. package/templates/subagents/workflow/prjct-shipper.md +0 -188
  430. package/templates/subagents/workflow/prjct-workflow.md +0 -98
  431. package/templates/tools/bash.txt +0 -22
  432. package/templates/tools/edit.txt +0 -18
  433. package/templates/tools/glob.txt +0 -19
  434. package/templates/tools/grep.txt +0 -21
  435. package/templates/tools/read.txt +0 -14
  436. package/templates/tools/task.txt +0 -20
  437. package/templates/tools/webfetch.txt +0 -16
  438. package/templates/tools/websearch.txt +0 -18
  439. package/templates/tools/write.txt +0 -17
  440. package/templates/windsurf/router.md +0 -28
  441. package/templates/windsurf/workflows/bug.md +0 -8
  442. package/templates/windsurf/workflows/done.md +0 -4
  443. package/templates/windsurf/workflows/pause.md +0 -4
  444. package/templates/windsurf/workflows/resume.md +0 -4
  445. package/templates/windsurf/workflows/ship.md +0 -8
  446. package/templates/windsurf/workflows/sync.md +0 -4
  447. package/templates/windsurf/workflows/task.md +0 -8
package/CHANGELOG.md CHANGED
@@ -1,10 +1,254 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.23.0] - 2026-02-11
4
+
5
+ ### Features
6
+
7
+ - compile and ship dist/ instead of raw TypeScript source (PRJ-294) (#168)
8
+ - add outcome-to-memory auto-learning (PRJ-283) (#166)
9
+
10
+ ### Refactoring
11
+
12
+ - consolidate core modules from 27 to 20 directories (PRJ-292) (#167)
13
+
14
+
15
+ ## [1.25.0] - 2026-02-10
16
+
17
+ ### Infrastructure
18
+
19
+ - **Compile and ship dist/** (PRJ-294): Package no longer ships raw TypeScript source. Compiled, minified JavaScript with source maps instead.
20
+ - Rewrote `scripts/build.js` v3.0: produces minified ESM bundles via esbuild with source maps
21
+ - Bundled 127 template files into single `dist/templates.json` (408KB)
22
+ - Main CLI compiled to `dist/bin/prjct.mjs` (600KB minified), Linear CLI to `dist/cli/linear.mjs` (27KB)
23
+ - Package reduced from 1.1MB/480 files to 971KB/27 files
24
+ - All template consumers use bundle-first pattern via `getTemplateContent()` and `listTemplates()` helpers
25
+ - Dual-mode operation: dev mode (raw TS via bun) and production mode (compiled dist/) both work
26
+ - Updated `bin/prjct` shell script for dev vs production detection
27
+ - Updated 8 modules to use template bundle: command-installer, setup, setup-cursor, setup-windsurf, prompt-builder, sync-agent-gen, template-loader, bin/prjct.ts
28
+
29
+ ### Implementation Details
30
+
31
+ Rewrote the build system to produce compiled JavaScript output instead of shipping raw TypeScript. The key innovation is the bundle-first pattern: `getTemplateContent()` tries the bundled JSON first, falls back to filesystem for dev mode. This unified API replaced scattered `fs.readFile` calls across 8 modules. The shell script (`bin/prjct`) detects dev vs production by checking if `prjct.ts` exists.
32
+
33
+ ### Learnings
34
+
35
+ - Bundle-first pattern (try JSON bundle, fall back to filesystem) provides clean dev/prod abstraction
36
+ - ESM requires banner injection for `__dirname`/`__filename` since they don't exist in ESM scope
37
+ - npm auto-includes `main` field target in package even when not in `files` array
38
+ - `packages: 'external'` in esbuild avoids bundling node_modules into dist/
39
+ - `keepNames: true` preserves function names despite minification, helpful for debugging
40
+
41
+ ### Test Plan
42
+
43
+ #### For QA
44
+ 1. `npm pack` — verify tarball contains only dist/, bin/prjct, assets/, scripts, README, LICENSE, CHANGELOG
45
+ 2. `bun dist/bin/prjct.mjs version` — CLI runs from compiled output
46
+ 3. `bun dist/bin/prjct.mjs sync --json` — full sync works with bundled templates
47
+ 4. `prjct linear list` — linear CLI subprocess resolves correctly
48
+ 5. Verify `dist/templates.json` contains all 127 template files
49
+ 6. Dev mode: `bun bin/prjct.ts version` still runs raw TypeScript
50
+
51
+ #### For Users
52
+ **What changed:** Package is now smaller and ships compiled JavaScript instead of raw TypeScript source.
53
+ **How to use:** No changes — all `prjct` commands work identically.
54
+ **Breaking changes:** None
55
+
56
+ ## [1.24.0] - 2026-02-10
57
+
58
+ ### Refactor
59
+
60
+ - **Consolidate core modules** (PRJ-292): Reduced `core/` from 27 to 20 directories by merging overlapping modules, splitting large files, and eliminating legacy duplicates
61
+ - Merged `bus/` + `events/` into `events/` (pub-sub.ts, sync-events.ts)
62
+ - Merged `ai-tools/` + `context-tools/` into `tools/` (ai/, context/ subdirs)
63
+ - Merged `plugin/` + `agents/` into `agentic/` (hooks, plugin-loader, plugin-registry, performance)
64
+ - Merged `wizard/` + `outcomes/` into `workflows/` (onboarding, outcome-analyzer/recorder/learner/storage)
65
+ - Absorbed `context/` into `agentic/` and `constants/` into `utils/`
66
+ - Split 4 large files (5400+ lines total):
67
+ - `memory-system.ts` (1547 → 279) into memory-stores.ts, pattern-store.ts, semantic-memories.ts
68
+ - `sync-service.ts` (1562 → 837) into sync-analyzer.ts, sync-agent-gen.ts
69
+ - `setup.ts` (1061 → 775) into setup-cursor.ts, setup-windsurf.ts
70
+ - `analysis.ts` (1274 → 850) into analysis-helpers.ts
71
+ - Eliminated legacy `fs-helpers.ts` (16 importers migrated to `file-helper.ts`)
72
+ - Removed all type re-exports, duplicated code, and backward-compat shims
73
+ - 84 files changed, +2638/-3182, tsc clean, 1057 tests pass
74
+
75
+ ### Implementation Details
76
+
77
+ Large-scale module consolidation to reduce cognitive load and improve maintainability. Each merge followed the pattern: move files, update relative imports across all importers, clean barrel index.ts files, verify with tsc + tests. Used parallel background agents for independent file splits.
78
+
79
+ Key patterns: CachedStore<T> abstract base class for disk-backed stores, standalone helper function extraction for large command classes, editor-specific code isolation (Cursor/Windsurf).
80
+
81
+ ### Learnings
82
+
83
+ - Parallel agents work well for independent file splits (3 simultaneous splits completed successfully)
84
+ - Pre-existing circular deps in commands<->services chain (3 cycles) — not introduced by this refactor
85
+ - Known flaky test (intermittent timing issue) — passes on re-run
86
+
87
+ ### Test Plan
88
+
89
+ #### For QA
90
+ 1. `npx tsc -p core/tsconfig.json --noEmit` — zero errors
91
+ 2. `bun test` — 1057 tests pass
92
+ 3. `prjct sync` in any project — works identically
93
+ 4. Deleted dirs don't exist: bus/, ai-tools/, context-tools/, plugin/, agents/, wizard/, outcomes/, context/, constants/
94
+ 5. New dirs exist: tools/ai/, tools/context/, workflows/, events/
95
+
96
+ #### For Users
97
+ **What changed:** Internal module reorganization only
98
+ **Breaking changes:** None for CLI users. Internal import paths changed (affects contributors).
99
+
100
+ ## [1.23.0] - 2026-02-10
101
+
102
+ ### Features
103
+
104
+ - **Outcome-to-memory auto-learning** (PRJ-283): Completed tasks automatically extract patterns and inject high-confidence learnings into semantic memory
105
+ - `OutcomeStorage`: Unified storage for feature/task outcomes extending StorageManager, with migration from shipped.json, aggregation, and markdown generation
106
+ - `OutcomeMemoryLearner`: Extracts file co-change, tech stack, architecture, gotcha, and workflow patterns from task history and feature outcomes
107
+ - Confidence-gated injection: Only patterns with 3+ occurrences are auto-injected into memory
108
+ - Deduplication: Updates existing `[auto-learned]` memories instead of creating duplicates
109
+ - Non-blocking sync integration: Auto-learning runs during `p. sync` as step 9c (errors caught, don't block sync)
110
+ - `p. learnings` command template for viewing auto-learned patterns by confidence level
111
+ - 37 new tests (26 learner + 11 storage), 1057 total
112
+
113
+ ### Implementation Details
114
+
115
+ Bridges the outcomes system to semantic memory. Previously, patterns from completed tasks were only available in task history JSON. Now, recurring patterns are automatically extracted and injected into the memory system for cross-session knowledge transfer.
116
+
117
+ **Data flow:** `taskHistory[]` + `FeatureOutcome[]` → pattern extraction → confidence scoring → `SemanticMemories` injection
118
+
119
+ **Pattern categories:** file_cochange (files modified together), tech_stack (confirmed technologies), architecture (discovered patterns), estimation (variance tracking), workflow (what works/doesn't), gotcha (recurring issues)
120
+
121
+ **New modules:**
122
+ - `core/outcomes/outcome-storage.ts` — OutcomeStorage extending StorageManager with CRUD, migration, aggregation, markdown
123
+ - `core/outcomes/outcome-learner.ts` — OutcomeMemoryLearner with pattern extraction and memory injection
124
+ - `core/outcomes/index.ts` — Updated exports
125
+ - `core/services/sync-service.ts` — Added autoLearnFromHistory() in sync flow
126
+ - `templates/commands/learnings.md` — Template for `p. learnings` command
127
+ - `core/__tests__/outcomes/outcome-learner.test.ts` — 26 tests
128
+ - `core/__tests__/outcomes/outcome-storage.test.ts` — 11 tests
129
+
130
+ ### Learnings
131
+
132
+ - `StorageManager<T>` base class provides consistent pattern for all JSON storage with SQLite backing, cache, MD generation, and event publishing
133
+ - Non-critical sync steps should always wrap in try/catch to prevent blocking the main sync flow
134
+ - biome pre-commit hook checks ALL files, not just staged — run `biome check --write` on all new files before committing
135
+
136
+ ### Test Plan
137
+
138
+ #### For QA
139
+ 1. Run `p. sync` on a project with task history — verify auto-learning runs without errors
140
+ 2. Check memories.json for `[auto-learned]` entries after sync with 3+ recurring patterns
141
+ 3. Run `p. learnings` — verify patterns display grouped by confidence level
142
+ 4. Complete 3+ tasks with the same stackConfirmed values — verify auto-injection
143
+ 5. Verify sync works when no task history exists
144
+
145
+ #### For Users
146
+ **What changed:** Completed tasks now automatically extract patterns and inject high-confidence learnings into the memory system.
147
+ **How to use:** Patterns accumulate automatically. Run `p. learnings` to see what the system has learned.
148
+ **Breaking changes:** None
149
+
150
+ ## [1.22.0] - 2026-02-10
151
+
152
+ ### Features
153
+
154
+ - add task-to-analysis feedback loop (PRJ-272) (#165)
155
+ - add task history array with FIFO eviction (PRJ-281) (#164)
156
+
157
+
158
+ ## [1.22.0] - 2026-02-10
159
+
160
+ ### Features
161
+
162
+ - **Task-to-analysis feedback loop** (PRJ-272): Tasks report discoveries back into analysis and agent generation
163
+ - TaskFeedbackSchema: stackConfirmed, patternsDiscovered, agentAccuracy (with rating enum), issuesEncountered
164
+ - Optional `feedback` field on TaskHistoryEntry for backward compatibility
165
+ - `getAggregatedFeedback()` consolidates patterns, stack confirmations, and issues across task history
166
+ - Recurring issues (2+ occurrences) automatically promoted to "known gotchas"
167
+ - Sync incorporates feedback: patterns populate analysis draft, gotchas become anti-patterns
168
+ - Agent generator injects "Recent Learnings" section into domain agents with patterns, gotchas, and accuracy notes
169
+ - Workflow `done()` accepts and passes feedback through to storage
170
+ - 22 new tests covering schema validation, persistence, aggregation, gotcha promotion, and backward compatibility (1020 total)
171
+
172
+ ### Implementation Details
173
+
174
+ Closes the knowledge loop between task execution and project analysis. Previously, discoveries made during tasks were lost when sessions ended. Now, structured feedback persists in task history and feeds into the next sync cycle.
175
+
176
+ **Data flow:** `p. done` (feedback captured) → `taskHistory[].feedback` → `p. sync` → `analysis.patterns` + `agents/*.md` "Recent Learnings"
177
+
178
+ **Modified modules:**
179
+ - `core/schemas/state.ts` — Added TaskFeedbackSchema, extended TaskHistoryEntrySchema with optional feedback field
180
+ - `core/storage/state-storage.ts` — completeTask() accepts feedback, createTaskHistoryEntry() attaches it, getAggregatedFeedback() provides read-side API, toMarkdown() shows feedback in context
181
+ - `core/commands/workflow.ts` — done() passes feedback through options to completeTask()
182
+ - `core/services/sync-service.ts` — saveDraftAnalysis() loads aggregated feedback, injectFeedbackSection() adds learnings to agents
183
+ - `core/services/agent-generator.ts` — generate() accepts TaskFeedbackContext, injectFeedbackSection() appends learnings to domain agents
184
+ - `core/__tests__/storage/state-storage-feedback.test.ts` — 22 comprehensive tests
185
+
186
+ ### Learnings
187
+
188
+ - **SyncService duplicates AgentGenerator:** Both have their own `generateDomainAgent()` — feedback injection needed in both places
189
+ - **Write-Through pattern:** All state flows JSON → MD → Event; feedback follows the same pattern
190
+ - **Backward compatibility via optional fields:** Adding `feedback?: TaskFeedback` to existing schema requires zero migration
191
+
192
+ ### Test Plan
193
+
194
+ #### For QA
195
+ 1. Complete a task with `p. done` — verify feedback stored in `taskHistory[0].feedback`
196
+ 2. Complete multiple tasks with same issue — verify gotcha promotion (2+ occurrences)
197
+ 3. Run `p. sync` after tasks with feedback — verify analysis draft has patterns
198
+ 4. Run `p. sync` with agent regeneration — verify "Recent Learnings" in domain agents
199
+ 5. Complete task WITHOUT feedback — verify backward compatibility
200
+ 6. Run `bun test` — all 1020 tests pass
201
+
202
+ #### For Users
203
+ **What changed:** Task discoveries now persist and improve future agent context automatically.
204
+ **How to use:** Automatic via `p. done` template. No user action required.
205
+ **Breaking changes:** None.
206
+
3
207
  ## [1.21.0] - 2026-02-10
4
208
 
5
209
  ### Features
6
210
 
7
211
  - add semantic verification for analysis results (PRJ-270) (#163)
212
+ - **Task history array** (PRJ-281): Replace single previousTask with bounded task history for pattern learning
213
+ - TaskHistoryEntry schema captures completed task metadata: title, classification, timestamps, subtasks, outcome, branch, Linear IDs
214
+ - Automatic history push on task completion with FIFO eviction (max 20 entries)
215
+ - Context injection: shows 3 recent same-type tasks when active, 5 recent when idle
216
+ - Accessor methods: getTaskHistory(), getMostRecentTask(), getTaskHistoryByType()
217
+ - Backward compatible: undefined taskHistory initializes as empty array
218
+ - Comprehensive test suite with 20 test cases (998 tests total pass)
219
+
220
+ ### Implementation Details
221
+
222
+ Replaced single previousTask field with bounded task history array to enable pattern learning and cross-task context for AI agents. When tasks complete, metadata is automatically captured and stored with FIFO eviction.
223
+
224
+ **Modified modules:**
225
+ - `core/schemas/state.ts` — Added TaskHistoryEntrySchema with 12 fields, updated StateJsonSchema, exported TaskHistoryEntry type, updated DEFAULT_STATE
226
+ - `core/storage/state-storage.ts` — Updated completeTask() to push history entries, added createTaskHistoryEntry() helper, added 3 accessor methods, updated toMarkdown() for context injection, updated getDefault()
227
+ - `core/__tests__/storage/state-storage-history.test.ts` (468 lines) — 20 comprehensive tests covering push, eviction, backward compatibility, accessors, and context injection
228
+ - `README.md` — Added Task History section with usage documentation
229
+ - `CHANGELOG.md` — Documented task history feature
230
+
231
+ ### Learnings
232
+
233
+ - **Schema-first design:** Define Zod schemas before implementation ensures type safety and validation at runtime
234
+ - **Type assertions for extended properties:** Use `taskAny = task as any` to access properties not in CurrentTask schema (type, branch, parentDescription)
235
+ - **Context injection in toMarkdown():** The state-storage toMarkdown() method is where context is generated, not context-builder.ts
236
+ - **pathManager mocking for test isolation:** Mock getGlobalProjectPath, getStoragePath, getFilePath to use temp directories in tests
237
+ - **FIFO over LRU:** Simpler implementation with predictable behavior for bounded history
238
+
239
+ ### Test Plan
240
+
241
+ #### For QA
242
+ 1. Complete a task with `p. done` — verify taskHistory entry appears in state.json with all metadata fields
243
+ 2. Complete 25+ tasks — verify only 20 entries remain (oldest dropped)
244
+ 3. Start a bug task — verify context markdown shows recent bug tasks only (not features)
245
+ 4. Test with existing state.json missing taskHistory field — verify backward compatibility
246
+ 5. Verify accessor methods return correct data: getTaskHistory(), getMostRecentTask(), getTaskHistoryByType()
247
+
248
+ #### For Users
249
+ **What changed:** Completed tasks are now tracked in a history array (max 20) instead of only storing the last paused task
250
+ **How to use:** No action needed — task history is automatic on `p. done`
251
+ **Breaking changes:** None — fully backward compatible
8
252
 
9
253
 
10
254
  ## [1.20.0] - 2026-02-10
package/README.md CHANGED
@@ -123,6 +123,47 @@ All agents share the same project storage, so you can switch between them freely
123
123
  | `p. linear` | - | Linear integration |
124
124
  | `p. github` | - | GitHub Issues integration |
125
125
 
126
+ ## Task History
127
+
128
+ prjct automatically tracks your completed tasks to help AI agents learn from patterns and make better decisions across sessions.
129
+
130
+ ### How It Works
131
+
132
+ When you complete a task (`p. done` / `/done`), prjct stores:
133
+ - Task description and classification (feature, bug, improvement, chore)
134
+ - Start and completion timestamps
135
+ - Number of subtasks and their summaries
136
+ - Git branch name and Linear issue ID (if linked)
137
+ - PR URL (if shipped)
138
+
139
+ This history is:
140
+ - **Bounded**: Maximum 20 entries with FIFO (First-In-First-Out) eviction
141
+ - **Contextual**: Filtered by task type when starting similar work
142
+ - **Persistent**: Survives across sessions and agent types
143
+
144
+ ### Context Injection
145
+
146
+ Task history is automatically injected into the AI agent's context:
147
+ - When **starting a task**: Shows 3 most recent tasks of the same type (e.g., recent bug fixes when starting a new bug)
148
+ - When **idle**: Shows 5 most recent tasks across all types
149
+ - **Purpose**: Helps agents identify patterns, avoid repeating mistakes, and build on previous solutions
150
+
151
+ ### Accessor Methods (for developers)
152
+
153
+ ```typescript
154
+ import { stateStorage } from './storage/state-storage'
155
+
156
+ // Get full task history (max 20 entries, newest first)
157
+ const history = await stateStorage.getTaskHistory(projectId)
158
+
159
+ // Get most recent completed task
160
+ const recent = await stateStorage.getMostRecentTask(projectId)
161
+
162
+ // Get tasks by classification
163
+ const bugs = await stateStorage.getTaskHistoryByType(projectId, 'bug')
164
+ const features = await stateStorage.getTaskHistoryByType(projectId, 'feature')
165
+ ```
166
+
126
167
  ## CLI Commands
127
168
 
128
169
  ```bash
package/bin/prjct CHANGED
@@ -47,7 +47,6 @@ ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
47
47
  # This runs EVERY time prjct is called, ensuring setup even if postinstall failed
48
48
  ensure_setup() {
49
49
  CLAUDE_COMMANDS="$HOME/.claude/commands"
50
- PMD_SRC="$ROOT_DIR/templates/commands/p.md"
51
50
  PMD_DEST="$CLAUDE_COMMANDS/p.md"
52
51
 
53
52
  # Create dir if needed
@@ -55,14 +54,22 @@ ensure_setup() {
55
54
  mkdir -p "$CLAUDE_COMMANDS" 2>/dev/null
56
55
  fi
57
56
 
58
- # Copy p.md if source exists and dest doesn't OR dest is older
57
+ # Try source template first (dev mode), then extract from bundle (production)
58
+ PMD_SRC="$ROOT_DIR/templates/commands/p.md"
59
+ BUNDLE="$ROOT_DIR/dist/templates.json"
60
+
59
61
  if [ -f "$PMD_SRC" ]; then
60
- if [ ! -f "$PMD_DEST" ]; then
61
- cp "$PMD_SRC" "$PMD_DEST" 2>/dev/null
62
- elif [ "$PMD_SRC" -nt "$PMD_DEST" ]; then
63
- # Source is newer, update
62
+ # Dev mode: copy from source templates
63
+ if [ ! -f "$PMD_DEST" ] || [ "$PMD_SRC" -nt "$PMD_DEST" ]; then
64
64
  cp "$PMD_SRC" "$PMD_DEST" 2>/dev/null
65
65
  fi
66
+ elif [ -f "$BUNDLE" ] && [ ! -f "$PMD_DEST" ]; then
67
+ # Production: extract from bundle using node
68
+ node -e "
69
+ const b=JSON.parse(require('fs').readFileSync('$BUNDLE','utf8'));
70
+ const c=b['commands/p.md'];
71
+ if(c)require('fs').writeFileSync('$PMD_DEST',c);
72
+ " 2>/dev/null
66
73
  fi
67
74
 
68
75
  # Also ensure statusline (best effort)
@@ -110,22 +117,32 @@ check_node() {
110
117
  command -v node >/dev/null 2>&1
111
118
  }
112
119
 
113
- # Run with bun (native TypeScript)
120
+ # Run with bun (native TypeScript in dev, compiled in production)
114
121
  run_with_bun() {
115
- exec bun "$SCRIPT_DIR/prjct.ts" "$@"
122
+ # Dev mode: raw TypeScript is faster
123
+ if [ -f "$SCRIPT_DIR/prjct.ts" ]; then
124
+ exec bun "$SCRIPT_DIR/prjct.ts" "$@"
125
+ fi
126
+ # Production: use compiled dist
127
+ exec bun "$ROOT_DIR/dist/bin/prjct.mjs" "$@"
116
128
  }
117
129
 
118
130
  # Run with node (compiled JavaScript)
119
131
  run_with_node() {
120
132
  DIST_BIN="$ROOT_DIR/dist/bin/prjct.mjs"
121
133
 
122
- # Check if compiled version exists
123
134
  if [ ! -f "$DIST_BIN" ]; then
124
- echo "Building for Node.js (first run)..."
125
- node "$ROOT_DIR/scripts/build.js" || {
126
- echo "Error: Build failed. Please ensure you have write permissions."
135
+ # Dev mode: try to build
136
+ if [ -f "$ROOT_DIR/scripts/build.js" ] && [ -d "$ROOT_DIR/core" ]; then
137
+ echo "Building for Node.js (first run)..."
138
+ node "$ROOT_DIR/scripts/build.js" || {
139
+ echo "Error: Build failed. Run 'npm run build' manually."
140
+ exit 1
141
+ }
142
+ else
143
+ echo "Error: Compiled output not found. Run 'npm run build' first."
127
144
  exit 1
128
- }
145
+ fi
129
146
  fi
130
147
 
131
148
  exec node "$DIST_BIN" "$@"