@stackmemoryai/stackmemory 0.2.4 → 0.2.7

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 (331) hide show
  1. package/README.md +353 -83
  2. package/dist/index.js +382 -0
  3. package/dist/scripts/cancel-duplicate-tasks.d.ts +7 -0
  4. package/dist/scripts/cancel-duplicate-tasks.d.ts.map +1 -0
  5. package/dist/scripts/cancel-duplicate-tasks.js +171 -0
  6. package/dist/scripts/cancel-duplicate-tasks.js.map +1 -0
  7. package/dist/scripts/list-linear-tasks.d.ts +6 -0
  8. package/dist/scripts/list-linear-tasks.d.ts.map +1 -0
  9. package/dist/scripts/list-linear-tasks.js +122 -0
  10. package/dist/scripts/list-linear-tasks.js.map +1 -0
  11. package/dist/scripts/merge-linear-duplicates-safe.d.ts +7 -0
  12. package/dist/scripts/merge-linear-duplicates-safe.d.ts.map +1 -0
  13. package/dist/scripts/merge-linear-duplicates-safe.js +265 -0
  14. package/dist/scripts/merge-linear-duplicates-safe.js.map +1 -0
  15. package/dist/scripts/merge-linear-duplicates.d.ts +7 -0
  16. package/dist/scripts/merge-linear-duplicates.d.ts.map +1 -0
  17. package/dist/scripts/merge-linear-duplicates.js +126 -0
  18. package/dist/scripts/merge-linear-duplicates.js.map +1 -0
  19. package/dist/scripts/show-linear-summary.d.ts +6 -0
  20. package/dist/scripts/show-linear-summary.d.ts.map +1 -0
  21. package/dist/scripts/show-linear-summary.js +117 -0
  22. package/dist/scripts/show-linear-summary.js.map +1 -0
  23. package/dist/src/analytics/api/analytics-api.d.ts +24 -0
  24. package/dist/src/analytics/api/analytics-api.d.ts.map +1 -0
  25. package/dist/src/analytics/api/analytics-api.js +279 -0
  26. package/dist/src/analytics/api/analytics-api.js.map +1 -0
  27. package/dist/src/analytics/core/analytics-service.d.ts +23 -0
  28. package/dist/src/analytics/core/analytics-service.d.ts.map +1 -0
  29. package/dist/src/analytics/core/analytics-service.js +160 -0
  30. package/dist/src/analytics/core/analytics-service.js.map +1 -0
  31. package/dist/src/analytics/index.d.ts +12 -0
  32. package/dist/src/analytics/index.d.ts.map +1 -0
  33. package/dist/src/analytics/index.js +11 -0
  34. package/dist/src/analytics/index.js.map +1 -0
  35. package/dist/src/analytics/queries/metrics-queries.d.ts +11 -0
  36. package/dist/src/analytics/queries/metrics-queries.d.ts.map +1 -0
  37. package/dist/src/analytics/queries/metrics-queries.js +179 -0
  38. package/dist/src/analytics/queries/metrics-queries.js.map +1 -0
  39. package/dist/src/analytics/types/metrics.d.ts +60 -0
  40. package/dist/src/analytics/types/metrics.d.ts.map +1 -0
  41. package/dist/src/analytics/types/metrics.js +2 -0
  42. package/dist/src/analytics/types/metrics.js.map +1 -0
  43. package/dist/src/cli/__tests__/index.test.d.ts +5 -0
  44. package/dist/src/cli/__tests__/index.test.d.ts.map +1 -0
  45. package/dist/src/cli/__tests__/index.test.js +726 -0
  46. package/dist/src/cli/__tests__/index.test.js.map +1 -0
  47. package/dist/src/cli/analytics-viewer.d.ts +3 -0
  48. package/dist/src/cli/analytics-viewer.d.ts.map +1 -0
  49. package/dist/src/cli/analytics-viewer.js +89 -0
  50. package/dist/src/cli/analytics-viewer.js.map +1 -0
  51. package/dist/src/cli/auto-detect.d.ts +61 -0
  52. package/dist/src/cli/auto-detect.d.ts.map +1 -0
  53. package/dist/src/cli/auto-detect.js +350 -0
  54. package/dist/src/cli/auto-detect.js.map +1 -0
  55. package/dist/src/cli/browser-test.d.ts +6 -0
  56. package/dist/src/cli/browser-test.d.ts.map +1 -0
  57. package/dist/src/cli/browser-test.js +32 -0
  58. package/dist/src/cli/browser-test.js.map +1 -0
  59. package/dist/src/cli/claude-sm.d.ts +7 -0
  60. package/dist/src/cli/claude-sm.d.ts.map +1 -0
  61. package/dist/src/cli/claude-sm.js +357 -0
  62. package/dist/src/cli/claude-sm.js.map +1 -0
  63. package/dist/src/cli/cli.js +157 -0
  64. package/dist/src/cli/cli.js.map +1 -1
  65. package/dist/src/cli/commands/context.d.ts +7 -0
  66. package/dist/src/cli/commands/context.d.ts.map +1 -0
  67. package/dist/src/cli/commands/context.js +365 -0
  68. package/dist/src/cli/commands/context.js.map +1 -0
  69. package/dist/src/cli/commands/linear-test.d.ts +6 -0
  70. package/dist/src/cli/commands/linear-test.d.ts.map +1 -0
  71. package/dist/src/cli/commands/linear-test.js +123 -0
  72. package/dist/src/cli/commands/linear-test.js.map +1 -0
  73. package/dist/src/cli/commands/linear.d.ts +6 -0
  74. package/dist/src/cli/commands/linear.d.ts.map +1 -0
  75. package/dist/src/cli/commands/linear.js +317 -0
  76. package/dist/src/cli/commands/linear.js.map +1 -0
  77. package/dist/src/cli/commands/log.d.ts +7 -0
  78. package/dist/src/cli/commands/log.d.ts.map +1 -0
  79. package/dist/src/cli/commands/log.js +168 -0
  80. package/dist/src/cli/commands/log.js.map +1 -0
  81. package/dist/src/cli/commands/onboard.d.ts +8 -0
  82. package/dist/src/cli/commands/onboard.d.ts.map +1 -0
  83. package/dist/src/cli/commands/onboard.js +363 -0
  84. package/dist/src/cli/commands/onboard.js.map +1 -0
  85. package/dist/src/cli/commands/projects.d.ts +8 -0
  86. package/dist/src/cli/commands/projects.d.ts.map +1 -0
  87. package/dist/src/cli/commands/projects.js +220 -0
  88. package/dist/src/cli/commands/projects.js.map +1 -0
  89. package/dist/src/cli/commands/search.d.ts +7 -0
  90. package/dist/src/cli/commands/search.d.ts.map +1 -0
  91. package/dist/src/cli/commands/search.js +162 -0
  92. package/dist/src/cli/commands/search.js.map +1 -0
  93. package/dist/src/cli/commands/session.d.ts +7 -0
  94. package/dist/src/cli/commands/session.d.ts.map +1 -0
  95. package/dist/src/cli/commands/session.js +222 -0
  96. package/dist/src/cli/commands/session.js.map +1 -0
  97. package/dist/src/cli/commands/tasks.d.ts +7 -0
  98. package/dist/src/cli/commands/tasks.d.ts.map +1 -0
  99. package/dist/src/cli/commands/tasks.js +229 -0
  100. package/dist/src/cli/commands/tasks.js.map +1 -0
  101. package/dist/src/cli/commands/webhook.d.ts +3 -0
  102. package/dist/src/cli/commands/webhook.d.ts.map +1 -0
  103. package/dist/src/cli/commands/webhook.js +157 -0
  104. package/dist/src/cli/commands/webhook.js.map +1 -0
  105. package/dist/src/cli/commands/worktree.d.ts +8 -0
  106. package/dist/src/cli/commands/worktree.d.ts.map +1 -0
  107. package/dist/src/cli/commands/worktree.js +339 -0
  108. package/dist/src/cli/commands/worktree.js.map +1 -0
  109. package/dist/src/cli/index.d.ts +8 -0
  110. package/dist/src/cli/index.d.ts.map +1 -0
  111. package/dist/src/cli/index.js +944 -0
  112. package/dist/src/cli/index.js.map +1 -0
  113. package/dist/src/cli/project-commands.d.ts +8 -0
  114. package/dist/src/cli/project-commands.d.ts.map +1 -0
  115. package/dist/src/cli/project-commands.js +212 -0
  116. package/dist/src/cli/project-commands.js.map +1 -0
  117. package/dist/src/cli/utils/viewer.d.ts +3 -0
  118. package/dist/src/cli/utils/viewer.d.ts.map +1 -0
  119. package/dist/src/cli/utils/viewer.js +91 -0
  120. package/dist/src/cli/utils/viewer.js.map +1 -0
  121. package/dist/src/core/context/__tests__/frame-manager.test.d.ts +5 -0
  122. package/dist/src/core/context/__tests__/frame-manager.test.d.ts.map +1 -0
  123. package/dist/src/core/context/__tests__/frame-manager.test.js +892 -0
  124. package/dist/src/core/context/__tests__/frame-manager.test.js.map +1 -0
  125. package/dist/src/core/context/auto-context.d.ts +22 -0
  126. package/dist/src/core/context/auto-context.d.ts.map +1 -0
  127. package/dist/src/core/context/auto-context.js +77 -0
  128. package/dist/src/core/context/auto-context.js.map +1 -0
  129. package/dist/src/core/context/frame-manager.d.ts +110 -0
  130. package/dist/src/core/context/frame-manager.d.ts.map +1 -0
  131. package/dist/src/core/context/frame-manager.js +593 -0
  132. package/dist/src/core/context/frame-manager.js.map +1 -0
  133. package/dist/src/core/errors/__tests__/error-handling.test.d.ts +5 -0
  134. package/dist/src/core/errors/__tests__/error-handling.test.d.ts.map +1 -0
  135. package/dist/src/core/errors/__tests__/error-handling.test.js +239 -0
  136. package/dist/src/core/errors/__tests__/error-handling.test.js.map +1 -0
  137. package/dist/src/core/errors/index.d.ts +135 -0
  138. package/dist/src/core/errors/index.d.ts.map +1 -0
  139. package/dist/src/core/errors/index.js +274 -0
  140. package/dist/src/core/errors/index.js.map +1 -0
  141. package/dist/src/core/errors/recovery.d.ts +86 -0
  142. package/dist/src/core/errors/recovery.d.ts.map +1 -0
  143. package/dist/src/core/errors/recovery.js +274 -0
  144. package/dist/src/core/errors/recovery.js.map +1 -0
  145. package/dist/src/core/logger.test.js +1 -1
  146. package/dist/src/core/logger.test.js.map +1 -1
  147. package/dist/src/core/monitoring/error-handler.d.ts +46 -0
  148. package/dist/src/core/monitoring/error-handler.d.ts.map +1 -0
  149. package/dist/src/core/monitoring/error-handler.js +212 -0
  150. package/dist/src/core/monitoring/error-handler.js.map +1 -0
  151. package/dist/src/core/monitoring/logger.d.ts +24 -0
  152. package/dist/src/core/monitoring/logger.d.ts.map +1 -0
  153. package/dist/src/core/monitoring/logger.js +121 -0
  154. package/dist/src/core/monitoring/logger.js.map +1 -0
  155. package/dist/src/core/monitoring/metrics.d.ts +7 -0
  156. package/dist/src/core/monitoring/metrics.d.ts.map +1 -0
  157. package/dist/src/core/monitoring/metrics.js +13 -0
  158. package/dist/src/core/monitoring/metrics.js.map +1 -0
  159. package/dist/src/core/monitoring/progress-tracker.d.ts +95 -0
  160. package/dist/src/core/monitoring/progress-tracker.d.ts.map +1 -0
  161. package/dist/src/core/monitoring/progress-tracker.js +178 -0
  162. package/dist/src/core/monitoring/progress-tracker.js.map +1 -0
  163. package/dist/src/core/project-manager.d.ts +130 -0
  164. package/dist/src/core/project-manager.d.ts.map +1 -0
  165. package/dist/src/core/project-manager.js +582 -0
  166. package/dist/src/core/project-manager.js.map +1 -0
  167. package/dist/src/core/projects/project-manager.d.ts +130 -0
  168. package/dist/src/core/projects/project-manager.d.ts.map +1 -0
  169. package/dist/src/core/projects/project-manager.js +709 -0
  170. package/dist/src/core/projects/project-manager.js.map +1 -0
  171. package/dist/src/core/session/index.d.ts +2 -0
  172. package/dist/src/core/session/index.d.ts.map +1 -0
  173. package/dist/src/core/session/index.js +2 -0
  174. package/dist/src/core/session/index.js.map +1 -0
  175. package/dist/src/core/session/session-manager.d.ts +69 -0
  176. package/dist/src/core/session/session-manager.d.ts.map +1 -0
  177. package/dist/src/core/session/session-manager.js +311 -0
  178. package/dist/src/core/session/session-manager.js.map +1 -0
  179. package/dist/src/core/utils/update-checker.d.ts +38 -0
  180. package/dist/src/core/utils/update-checker.d.ts.map +1 -0
  181. package/dist/src/core/utils/update-checker.js +213 -0
  182. package/dist/src/core/utils/update-checker.js.map +1 -0
  183. package/dist/src/core/worktree/worktree-manager.d.ts +110 -0
  184. package/dist/src/core/worktree/worktree-manager.d.ts.map +1 -0
  185. package/dist/src/core/worktree/worktree-manager.js +456 -0
  186. package/dist/src/core/worktree/worktree-manager.js.map +1 -0
  187. package/dist/src/features/analytics/api/analytics-api.d.ts +24 -0
  188. package/dist/src/features/analytics/api/analytics-api.d.ts.map +1 -0
  189. package/dist/src/features/analytics/api/analytics-api.js +289 -0
  190. package/dist/src/features/analytics/api/analytics-api.js.map +1 -0
  191. package/dist/src/features/analytics/core/analytics-service.d.ts +29 -0
  192. package/dist/src/features/analytics/core/analytics-service.d.ts.map +1 -0
  193. package/dist/src/features/analytics/core/analytics-service.js +275 -0
  194. package/dist/src/features/analytics/core/analytics-service.js.map +1 -0
  195. package/dist/src/features/analytics/index.d.ts +12 -0
  196. package/dist/src/features/analytics/index.d.ts.map +1 -0
  197. package/dist/src/features/analytics/index.js +11 -0
  198. package/dist/src/features/analytics/index.js.map +1 -0
  199. package/dist/src/features/analytics/queries/metrics-queries.d.ts +11 -0
  200. package/dist/src/features/analytics/queries/metrics-queries.d.ts.map +1 -0
  201. package/dist/src/features/analytics/queries/metrics-queries.js +240 -0
  202. package/dist/src/features/analytics/queries/metrics-queries.js.map +1 -0
  203. package/dist/src/features/analytics/types/metrics.d.ts +60 -0
  204. package/dist/src/features/analytics/types/metrics.d.ts.map +1 -0
  205. package/dist/src/features/analytics/types/metrics.js +2 -0
  206. package/dist/src/features/analytics/types/metrics.js.map +1 -0
  207. package/dist/src/features/browser/browser-mcp.d.ts +94 -0
  208. package/dist/src/features/browser/browser-mcp.d.ts.map +1 -0
  209. package/dist/src/features/browser/browser-mcp.js +459 -0
  210. package/dist/src/features/browser/browser-mcp.js.map +1 -0
  211. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.d.ts +5 -0
  212. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.d.ts.map +1 -0
  213. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.js +712 -0
  214. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.js.map +1 -0
  215. package/dist/src/features/tasks/pebbles-task-store.d.ts +121 -0
  216. package/dist/src/features/tasks/pebbles-task-store.d.ts.map +1 -0
  217. package/dist/src/features/tasks/pebbles-task-store.js +493 -0
  218. package/dist/src/features/tasks/pebbles-task-store.js.map +1 -0
  219. package/dist/src/features/tasks/task-aware-context.d.ts +103 -0
  220. package/dist/src/features/tasks/task-aware-context.d.ts.map +1 -0
  221. package/dist/src/features/tasks/task-aware-context.js +412 -0
  222. package/dist/src/features/tasks/task-aware-context.js.map +1 -0
  223. package/dist/src/index.d.ts +4 -4
  224. package/dist/src/index.d.ts.map +1 -1
  225. package/dist/src/index.js +4 -4
  226. package/dist/src/index.js.map +1 -1
  227. package/dist/src/integrations/browser-mcp.d.ts +94 -0
  228. package/dist/src/integrations/browser-mcp.d.ts.map +1 -0
  229. package/dist/src/integrations/browser-mcp.js +431 -0
  230. package/dist/src/integrations/browser-mcp.js.map +1 -0
  231. package/dist/src/integrations/linear/__tests__/auth.test.d.ts +5 -0
  232. package/dist/src/integrations/linear/__tests__/auth.test.d.ts.map +1 -0
  233. package/dist/src/integrations/linear/__tests__/auth.test.js +517 -0
  234. package/dist/src/integrations/linear/__tests__/auth.test.js.map +1 -0
  235. package/dist/src/integrations/linear/__tests__/sync-service.test.d.ts +5 -0
  236. package/dist/src/integrations/linear/__tests__/sync-service.test.d.ts.map +1 -0
  237. package/dist/src/integrations/linear/__tests__/sync-service.test.js +700 -0
  238. package/dist/src/integrations/linear/__tests__/sync-service.test.js.map +1 -0
  239. package/dist/src/integrations/linear/auth.d.ts +99 -0
  240. package/dist/src/integrations/linear/auth.d.ts.map +1 -0
  241. package/dist/src/integrations/linear/auth.js +319 -0
  242. package/dist/src/integrations/linear/auth.js.map +1 -0
  243. package/dist/src/integrations/linear/auto-sync.d.ts +77 -0
  244. package/dist/src/integrations/linear/auto-sync.d.ts.map +1 -0
  245. package/dist/src/integrations/linear/auto-sync.js +268 -0
  246. package/dist/src/integrations/linear/auto-sync.js.map +1 -0
  247. package/dist/src/integrations/linear/client.d.ts +113 -0
  248. package/dist/src/integrations/linear/client.d.ts.map +1 -0
  249. package/dist/src/integrations/linear/client.js +364 -0
  250. package/dist/src/integrations/linear/client.js.map +1 -0
  251. package/dist/src/integrations/linear/config.d.ts +51 -0
  252. package/dist/src/integrations/linear/config.d.ts.map +1 -0
  253. package/dist/src/integrations/linear/config.js +103 -0
  254. package/dist/src/integrations/linear/config.js.map +1 -0
  255. package/dist/src/integrations/linear/sync-service.d.ts +25 -0
  256. package/dist/src/integrations/linear/sync-service.d.ts.map +1 -0
  257. package/dist/src/integrations/linear/sync-service.js +198 -0
  258. package/dist/src/integrations/linear/sync-service.js.map +1 -0
  259. package/dist/src/integrations/linear/sync.d.ts +119 -0
  260. package/dist/src/integrations/linear/sync.d.ts.map +1 -0
  261. package/dist/src/integrations/linear/sync.js +538 -0
  262. package/dist/src/integrations/linear/sync.js.map +1 -0
  263. package/dist/src/integrations/linear/types.d.ts +75 -0
  264. package/dist/src/integrations/linear/types.d.ts.map +1 -0
  265. package/dist/src/integrations/linear/types.js +2 -0
  266. package/dist/src/integrations/linear/types.js.map +1 -0
  267. package/dist/src/integrations/linear/webhook-server.d.ts +32 -0
  268. package/dist/src/integrations/linear/webhook-server.d.ts.map +1 -0
  269. package/dist/src/integrations/linear/webhook-server.js +188 -0
  270. package/dist/src/integrations/linear/webhook-server.js.map +1 -0
  271. package/dist/src/integrations/linear/webhook.d.ts +95 -0
  272. package/dist/src/integrations/linear/webhook.d.ts.map +1 -0
  273. package/dist/src/integrations/linear/webhook.js +204 -0
  274. package/dist/src/integrations/linear/webhook.js.map +1 -0
  275. package/dist/src/integrations/mcp/__tests__/server.test.d.ts +5 -0
  276. package/dist/src/integrations/mcp/__tests__/server.test.d.ts.map +1 -0
  277. package/dist/src/integrations/mcp/__tests__/server.test.js +790 -0
  278. package/dist/src/integrations/mcp/__tests__/server.test.js.map +1 -0
  279. package/dist/src/integrations/mcp/server.d.ts +46 -0
  280. package/dist/src/integrations/mcp/server.d.ts.map +1 -0
  281. package/dist/src/integrations/mcp/server.js +1264 -0
  282. package/dist/src/integrations/mcp/server.js.map +1 -0
  283. package/dist/src/mcp/mcp-server.d.ts +1 -0
  284. package/dist/src/mcp/mcp-server.d.ts.map +1 -1
  285. package/dist/src/mcp/mcp-server.js +11 -0
  286. package/dist/src/mcp/mcp-server.js.map +1 -1
  287. package/dist/src/railway/index.d.ts +7 -0
  288. package/dist/src/railway/index.d.ts.map +1 -0
  289. package/dist/src/railway/index.js +401 -0
  290. package/dist/src/railway/index.js.map +1 -0
  291. package/dist/src/runway/auth/auth-middleware.d.ts +66 -0
  292. package/dist/src/runway/auth/auth-middleware.d.ts.map +1 -0
  293. package/dist/src/runway/auth/auth-middleware.js +337 -0
  294. package/dist/src/runway/auth/auth-middleware.js.map +1 -0
  295. package/dist/src/runway/server/runway-mcp-server.d.ts +46 -0
  296. package/dist/src/runway/server/runway-mcp-server.d.ts.map +1 -0
  297. package/dist/src/runway/server/runway-mcp-server.js +601 -0
  298. package/dist/src/runway/server/runway-mcp-server.js.map +1 -0
  299. package/dist/src/runway.bak/auth/auth-middleware.d.ts +66 -0
  300. package/dist/src/runway.bak/auth/auth-middleware.d.ts.map +1 -0
  301. package/dist/src/runway.bak/auth/auth-middleware.js +337 -0
  302. package/dist/src/runway.bak/auth/auth-middleware.js.map +1 -0
  303. package/dist/src/runway.bak/server/runway-mcp-server.d.ts +46 -0
  304. package/dist/src/runway.bak/server/runway-mcp-server.d.ts.map +1 -0
  305. package/dist/src/runway.bak/server/runway-mcp-server.js +601 -0
  306. package/dist/src/runway.bak/server/runway-mcp-server.js.map +1 -0
  307. package/dist/src/servers/production/auth-middleware.d.ts +66 -0
  308. package/dist/src/servers/production/auth-middleware.d.ts.map +1 -0
  309. package/dist/src/servers/production/auth-middleware.js +346 -0
  310. package/dist/src/servers/production/auth-middleware.js.map +1 -0
  311. package/dist/src/servers/railway/index.d.ts +7 -0
  312. package/dist/src/servers/railway/index.d.ts.map +1 -0
  313. package/dist/src/servers/railway/index.js +401 -0
  314. package/dist/src/servers/railway/index.js.map +1 -0
  315. package/dist/src/services/config-service.d.ts +44 -0
  316. package/dist/src/services/config-service.d.ts.map +1 -0
  317. package/dist/src/services/config-service.js +61 -0
  318. package/dist/src/services/config-service.js.map +1 -0
  319. package/dist/src/services/context-service.d.ts +17 -0
  320. package/dist/src/services/context-service.d.ts.map +1 -0
  321. package/dist/src/services/context-service.js +88 -0
  322. package/dist/src/services/context-service.js.map +1 -0
  323. package/dist/src/types/task.d.ts +17 -0
  324. package/dist/src/types/task.d.ts.map +1 -0
  325. package/dist/src/types/task.js +2 -0
  326. package/dist/src/types/task.js.map +1 -0
  327. package/dist/src/utils/logger.d.ts +13 -0
  328. package/dist/src/utils/logger.d.ts.map +1 -0
  329. package/dist/src/utils/logger.js +52 -0
  330. package/dist/src/utils/logger.js.map +1 -0
  331. package/package.json +40 -5
package/README.md CHANGED
@@ -4,10 +4,10 @@
4
4
 
5
5
  StackMemory is a **memory runtime** for AI coding and writing tools that preserves full project context across:
6
6
 
7
- * chat thread resets
8
- * model switching
9
- * editor restarts
10
- * long-running repos with thousands of interactions
7
+ - chat thread resets
8
+ - model switching
9
+ - editor restarts
10
+ - long-running repos with thousands of interactions
11
11
 
12
12
  Instead of a linear chat log, StackMemory organizes memory as a **call stack** of scoped work (frames), allowing context to naturally unwind without lossy compaction.
13
13
 
@@ -19,16 +19,16 @@ Instead of a linear chat log, StackMemory organizes memory as a **call stack** o
19
19
 
20
20
  Modern AI tools forget:
21
21
 
22
- * why decisions were made
23
- * which constraints still apply
24
- * what changed earlier in the repo
25
- * what tools already ran and why
22
+ - why decisions were made
23
+ - which constraints still apply
24
+ - what changed earlier in the repo
25
+ - what tools already ran and why
26
26
 
27
27
  StackMemory fixes this by:
28
28
 
29
- * storing **everything losslessly** (events, tool calls, decisions)
30
- * injecting only the **relevant working set** into model context
31
- * keeping memory **project-scoped**, not chat-scoped
29
+ - storing **everything losslessly** (events, tool calls, decisions)
30
+ - injecting only the **relevant working set** into model context
31
+ - keeping memory **project-scoped**, not chat-scoped
32
32
 
33
33
  ---
34
34
 
@@ -45,9 +45,9 @@ StackMemory fixes this by:
45
45
 
46
46
  Frames can span:
47
47
 
48
- * multiple chat turns
49
- * multiple tool calls
50
- * multiple sessions
48
+ - multiple chat turns
49
+ - multiple tool calls
50
+ - multiple sessions
51
51
 
52
52
  ---
53
53
 
@@ -55,19 +55,19 @@ Frames can span:
55
55
 
56
56
  ### Hosted (default)
57
57
 
58
- * Cloud-backed memory runtime
59
- * Fast indexing + retrieval
60
- * Durable storage
61
- * Per-project pricing
62
- * Works out-of-the-box
58
+ - Cloud-backed memory runtime
59
+ - Fast indexing + retrieval
60
+ - Durable storage
61
+ - Per-project pricing
62
+ - Works out-of-the-box
63
63
 
64
64
  ### Open-source local mirror
65
65
 
66
- * SQLite-based
67
- * Fully inspectable
68
- * Offline / air-gapped
69
- * Intentionally **N versions behind**
70
- * No sync, no org features
66
+ - SQLite-based
67
+ - Fully inspectable
68
+ - Offline / air-gapped
69
+ - Intentionally **N versions behind**
70
+ - No sync, no org features
71
71
 
72
72
  > OSS is for trust and inspection.
73
73
  > Hosted is for scale, performance, and teams.
@@ -78,9 +78,9 @@ Frames can span:
78
78
 
79
79
  StackMemory integrates as an **MCP tool** and is invoked on **every interaction** in:
80
80
 
81
- * Claude Code
82
- * compatible editors
83
- * future MCP-enabled tools
81
+ - Claude Code
82
+ - compatible editors
83
+ - future MCP-enabled tools
84
84
 
85
85
  The editor never manages memory directly — it simply asks StackMemory for the **context bundle**.
86
86
 
@@ -101,44 +101,87 @@ This creates a **project-scoped memory space** tied to the repo.
101
101
 
102
102
  ---
103
103
 
104
- ### Step 2: Install MCP client
104
+ ### Step 2: Install StackMemory
105
105
 
106
106
  ```bash
107
- npm install -g stackmemory-mcp
107
+ npm install -g @stackmemoryai/stackmemory@latest
108
108
  ```
109
109
 
110
- or via binary:
110
+ ---
111
+
112
+ ### Step 3: Setup Claude Code Integration (Automated)
111
113
 
112
114
  ```bash
113
- curl -fsSL https://stackmemory.dev/install | sh
115
+ # Automatic setup - configures MCP and session hooks
116
+ npm run claude:setup
114
117
  ```
115
118
 
116
- ---
119
+ This automatically:
117
120
 
118
- ### Step 3: Configure Claude Code / editor
121
+ - Creates `~/.claude/stackmemory-mcp.json` MCP configuration
122
+ - Sets up session initialization hooks
123
+ - Updates `~/.claude/config.json` with StackMemory integration
119
124
 
120
- Add StackMemory as an MCP tool:
125
+ **Manual setup alternative:**
121
126
 
122
- ```json
127
+ <details>
128
+ <summary>Click to expand manual setup steps</summary>
129
+
130
+ Create MCP configuration:
131
+
132
+ ```bash
133
+ mkdir -p ~/.claude
134
+ cat > ~/.claude/stackmemory-mcp.json << 'EOF'
123
135
  {
124
- "tools": {
136
+ "mcpServers": {
125
137
  "stackmemory": {
126
- "command": "stackmemory-mcp",
127
- "args": ["--project", "github:org/repo"]
138
+ "command": "stackmemory",
139
+ "args": ["mcp-server"],
140
+ "env": { "NODE_ENV": "production" }
128
141
  }
129
142
  }
130
143
  }
144
+ EOF
131
145
  ```
132
146
 
133
- That's it.
147
+ Update Claude config:
148
+
149
+ ```json
150
+ {
151
+ "mcp": {
152
+ "configFiles": ["~/.claude/stackmemory-mcp.json"]
153
+ }
154
+ }
155
+ ```
134
156
 
135
- Every message now:
157
+ </details>
136
158
 
137
- 1. Gets logged losslessly
138
- 2. Updates the call stack
139
- 3. Retrieves the correct context automatically
159
+ **That's it.**
140
160
 
141
- No prompts to manage. No summaries to babysit.
161
+ Every Claude Code session now automatically:
162
+
163
+ 1. **Captures all tool calls** - Bash, Edit, Read, Write operations get logged
164
+ 2. **Maintains frame stack** - Task/subtask context persists across sessions
165
+ 3. **References previous work** - Decisions, constraints, and artifacts automatically surface
166
+ 4. **Syncs with Linear** - Bidirectional task synchronization when configured
167
+
168
+ Available MCP tools in Claude Code:
169
+
170
+ | Tool | Description |
171
+ | -------------------- | ------------------------------------------ |
172
+ | `get_context` | Retrieve relevant context for current work |
173
+ | `add_decision` | Record a decision with rationale |
174
+ | `start_frame` | Begin a new context frame |
175
+ | `close_frame` | Close current frame with summary |
176
+ | `create_task` | Create a new task |
177
+ | `update_task_status` | Update task status |
178
+ | `get_active_tasks` | List active tasks (with filters) |
179
+ | `get_task_metrics` | Get task analytics |
180
+ | `linear_sync` | Sync with Linear |
181
+ | `linear_update_task` | Update Linear issue |
182
+ | `linear_get_tasks` | Get tasks from Linear |
183
+
184
+ No prompts to manage. No summaries to babysit. Just seamless context continuity.
142
185
 
143
186
  ---
144
187
 
@@ -190,24 +233,20 @@ All project memory lives locally.
190
233
  On every message/tool call:
191
234
 
192
235
  1. **Ingest**
193
-
194
- * New message delta is appended as events
236
+ - New message delta is appended as events
195
237
 
196
238
  2. **Index**
197
-
198
- * Anchors updated
199
- * Digests generated when frames close
239
+ - Anchors updated
240
+ - Digests generated when frames close
200
241
 
201
242
  3. **Retrieve**
202
-
203
- * Active call stack (hot)
204
- * Relevant digests (warm)
205
- * Pointers to raw data (cold)
243
+ - Active call stack (hot)
244
+ - Relevant digests (warm)
245
+ - Pointers to raw data (cold)
206
246
 
207
247
  4. **Return context bundle**
208
-
209
- * Sized to token budget
210
- * No global compaction
248
+ - Sized to token budget
249
+ - No global compaction
211
250
 
212
251
  ---
213
252
 
@@ -236,37 +275,158 @@ On every message/tool call:
236
275
 
237
276
  ### Free tier (hosted)
238
277
 
239
- * 1 project
240
- * Up to **X MB stored**
241
- * Up to **Y MB retrieval egress / month**
278
+ - 1 project
279
+ - Up to **X MB stored**
280
+ - Up to **Y MB retrieval egress / month**
242
281
 
243
282
  ### Paid tiers
244
283
 
245
- * Per-project pricing
246
- * Higher storage + retrieval
247
- * Team sharing
248
- * Org controls
284
+ - Per-project pricing
285
+ - Higher storage + retrieval
286
+ - Team sharing
287
+ - Org controls
249
288
 
250
289
  **No seat-based pricing.**
251
290
 
252
291
  ---
253
292
 
293
+ ## Claude Code Integration
294
+
295
+ StackMemory can automatically save context when using Claude Code, ensuring your AI assistant always has access to previous context and decisions.
296
+
297
+ ### Quick Setup
298
+
299
+ 1. **Install the wrapper script**:
300
+
301
+ ```bash
302
+ # Make scripts executable
303
+ chmod +x scripts/claude-code-wrapper.sh scripts/stackmemory-daemon.sh
304
+
305
+ # Add alias to your shell config
306
+ echo 'alias claude="~/Dev/stackmemory/scripts/claude-code-wrapper.sh"' >> ~/.zshrc
307
+ source ~/.zshrc
308
+ ```
309
+
310
+ 2. **Use Claude Code with auto-save**:
311
+
312
+ ```bash
313
+ # Instead of: claude-code
314
+ # Use: claude
315
+
316
+ # Context is automatically saved on exit (Ctrl+C)
317
+ ```
318
+
319
+ ### Integration Methods
320
+
321
+ #### 1. Shell Wrapper (Recommended)
322
+
323
+ Automatically saves context when Claude Code exits:
324
+
325
+ ```bash
326
+ # Basic usage
327
+ claude
328
+
329
+ # With Linear auto-sync (syncs every 5 minutes)
330
+ claude --auto-sync
331
+
332
+ # Custom sync interval (10 minutes)
333
+ claude --auto-sync --sync-interval=10
334
+ ```
335
+
336
+ #### 2. Linear Auto-Sync Daemon
337
+
338
+ Continuously syncs with Linear in the background:
339
+
340
+ ```bash
341
+ # Start auto-sync (default: 5 minutes)
342
+ ./scripts/linear-auto-sync.sh start
343
+
344
+ # Custom interval (10 minutes)
345
+ ./scripts/linear-auto-sync.sh start 10
346
+
347
+ # Check status
348
+ ./scripts/linear-auto-sync.sh status
349
+
350
+ # View logs
351
+ ./scripts/linear-auto-sync.sh logs
352
+
353
+ # Stop daemon
354
+ ./scripts/linear-auto-sync.sh stop
355
+ ```
356
+
357
+ **Requirements:**
358
+
359
+ - Set `LINEAR_API_KEY` environment variable
360
+ - Run in a StackMemory-initialized project
361
+
362
+ #### 3. Background Daemon
363
+
364
+ Continuously saves context every 5 minutes:
365
+
366
+ ```bash
367
+ # Start daemon
368
+ ./scripts/stackmemory-daemon.sh &
369
+
370
+ # Custom interval (60 seconds)
371
+ ./scripts/stackmemory-daemon.sh 60 &
372
+
373
+ # Stop daemon
374
+ kill $(cat /tmp/stackmemory-daemon.pid)
375
+ ```
376
+
377
+ #### 4. Git Hooks
378
+
379
+ Save context automatically on git commits:
380
+
381
+ ```bash
382
+ # Install in current repo
383
+ ./scripts/setup-git-hooks.sh
384
+ ```
385
+
386
+ #### 5. Manual Function
387
+
388
+ Add to `~/.zshrc`:
389
+
390
+ ```bash
391
+ claude_with_sm() {
392
+ claude "$@"
393
+ local exit_code=$?
394
+ if [ -d ".stackmemory" ]; then
395
+ stackmemory status
396
+ [ -n "$LINEAR_API_KEY" ] && stackmemory linear sync
397
+ fi
398
+ return $exit_code
399
+ }
400
+ ```
401
+
402
+ ### Features
403
+
404
+ - **Automatic context preservation** - Saves on exit (including Ctrl+C)
405
+ - **Linear auto-sync** - Continuous bidirectional sync with Linear
406
+ - **Smart detection** - Only runs in StackMemory-enabled projects
407
+ - **Zero overhead** - No performance impact during Claude Code sessions
408
+ - **Flexible sync intervals** - Configure sync frequency (default: 5 minutes)
409
+ - **Background operation** - Sync continues while you work
410
+ - **Comprehensive logging** - Track all sync operations
411
+
412
+ ---
413
+
254
414
  ## Guarantees
255
415
 
256
- * ✅ Lossless storage (no destructive compaction)
257
- * ✅ Project-scoped isolation
258
- * ✅ Survives new chat threads
259
- * ✅ Survives model switching
260
- * ✅ Inspectable local mirror
416
+ - ✅ Lossless storage (no destructive compaction)
417
+ - ✅ Project-scoped isolation
418
+ - ✅ Survives new chat threads
419
+ - ✅ Survives model switching
420
+ - ✅ Inspectable local mirror
261
421
 
262
422
  ---
263
423
 
264
424
  ## Non-goals
265
425
 
266
- * ❌ Chat UI
267
- * ❌ Vector DB replacement
268
- * ❌ Tool execution runtime
269
- * ❌ Prompt engineering framework
426
+ - ❌ Chat UI
427
+ - ❌ Vector DB replacement
428
+ - ❌ Tool execution runtime
429
+ - ❌ Prompt engineering framework
270
430
 
271
431
  ---
272
432
 
@@ -278,40 +438,150 @@ On every message/tool call:
278
438
 
279
439
  ---
280
440
 
441
+ ## CLI Commands Reference
442
+
443
+ StackMemory provides a comprehensive CLI for task management, context tracking, and Linear integration.
444
+
445
+ ### Core Commands
446
+
447
+ ```bash
448
+ stackmemory init # Initialize StackMemory in current project
449
+ stackmemory status # Show current StackMemory status
450
+ stackmemory progress # Show recent changes and progress
451
+ ```
452
+
453
+ ### Task Management
454
+
455
+ ```bash
456
+ # List tasks
457
+ stackmemory tasks list # List all active tasks
458
+ stackmemory tasks list --status pending # Filter by status
459
+ stackmemory tasks list --priority high # Filter by priority
460
+ stackmemory tasks list --query "bug" # Search in title/description
461
+ stackmemory tasks list --all # Include completed tasks
462
+
463
+ # Manage tasks
464
+ stackmemory task add "Fix login bug" --priority high --tags "bug,auth"
465
+ stackmemory task show <task-id> # Show task details
466
+ stackmemory task start <task-id> # Start working on task
467
+ stackmemory task done <task-id> # Mark task complete
468
+ ```
469
+
470
+ ### Search
471
+
472
+ ```bash
473
+ stackmemory search "analytics" # Search tasks and context
474
+ stackmemory search "api" --tasks # Search only tasks
475
+ stackmemory search "decision" --context # Search only context
476
+ ```
477
+
478
+ ### Activity Log
479
+
480
+ ```bash
481
+ stackmemory log # View recent activity
482
+ stackmemory log --lines 50 # Show more entries
483
+ stackmemory log --type task # Filter by type (task, frame, event, sync)
484
+ stackmemory log --follow # Watch for changes in real-time
485
+ ```
486
+
487
+ ### Context Stack Management
488
+
489
+ ```bash
490
+ # View context
491
+ stackmemory context show # Show current context stack
492
+ stackmemory context show --verbose # Show detailed frame info
493
+
494
+ # Manage context frames
495
+ stackmemory context push "feature-work" --type task
496
+ stackmemory context push "debug-session" --type session
497
+ stackmemory context add decision "Using SQLite for storage"
498
+ stackmemory context add observation "API returns 404 on missing user"
499
+ stackmemory context pop # Pop top frame
500
+ stackmemory context pop --all # Clear entire stack
501
+ ```
502
+
503
+ ### Analytics Dashboard
504
+
505
+ ```bash
506
+ stackmemory analytics --view # Terminal dashboard
507
+ stackmemory analytics --port 3000 # Web dashboard
508
+ stackmemory analytics --sync # Sync before displaying
509
+ stackmemory analytics --export json # Export metrics as JSON
510
+ stackmemory analytics --export csv # Export as CSV
511
+ ```
512
+
513
+ ### Linear Integration
514
+
515
+ ```bash
516
+ # Setup
517
+ stackmemory linear setup # OAuth setup
518
+ stackmemory linear status # Check connection
519
+
520
+ # Sync
521
+ stackmemory linear sync # Bidirectional sync
522
+ stackmemory linear sync --direction from_linear
523
+ stackmemory linear sync --direction to_linear
524
+
525
+ # Auto-sync
526
+ stackmemory linear auto-sync --start # Start background sync
527
+ stackmemory linear auto-sync --stop # Stop background sync
528
+ stackmemory linear auto-sync --status # Check sync status
529
+
530
+ # Update tasks
531
+ stackmemory linear update ENG-123 --status in-progress
532
+ stackmemory linear update ENG-123 --status done
533
+
534
+ # Configure
535
+ stackmemory linear config --show
536
+ stackmemory linear config --set-interval 15
537
+ ```
538
+
539
+ ### MCP Server
540
+
541
+ ```bash
542
+ stackmemory mcp-server # Start MCP server for Claude
543
+ stackmemory mcp-server --port 3001 # Custom port
544
+ ```
545
+
546
+ ---
547
+
281
548
  ## Status
282
549
 
283
- * Hosted: **Private beta**
284
- * OSS mirror: **Early preview**
285
- * MCP integration: **Stable**
550
+ - Hosted: **Private beta**
551
+ - OSS mirror: **Early preview**
552
+ - MCP integration: **Stable**
553
+ - CLI: **v0.2.7** - Full task, context, and Linear management
286
554
 
287
555
  ---
288
556
 
289
557
  ## Roadmap (high level)
290
558
 
291
- * Team / org projects
292
- * Cross-repo memory
293
- * Background project compilers
294
- * Fine-grained retention policies
295
- * Editor UX surfacing frame boundaries
559
+ - Team / org projects
560
+ - Cross-repo memory
561
+ - Background project compilers
562
+ - Fine-grained retention policies
563
+ - Editor UX surfacing frame boundaries
296
564
 
297
565
  ---
298
566
 
299
567
  ## License
300
568
 
301
- * Hosted service: Proprietary
302
- * Open-source mirror: Apache 2.0 / MIT (TBD)
569
+ - Hosted service: Proprietary
570
+ - Open-source mirror: Apache 2.0 / MIT (TBD)
303
571
 
304
572
  ---
305
573
 
306
574
  ## Additional Resources
307
575
 
308
576
  ### ML System Design
577
+
309
578
  - [ML System Insights](./ML_SYSTEM_INSIGHTS.md) - Comprehensive analysis of 300+ production ML systems
310
579
  - [Agent Instructions](./AGENTS.md) - Specific guidance for AI agents working with ML systems
311
580
 
312
581
  ### Documentation
582
+
313
583
  - [Product Requirements](./PRD.md) - Detailed product specifications
314
584
  - [Technical Architecture](./TECHNICAL_ARCHITECTURE.md) - System design and database schemas
315
585
  - [Beads Integration](./BEADS_INTEGRATION.md) - Git-native memory patterns from Beads ecosystem
316
586
 
317
- ---
587
+ ---