@maestro-js/agent-skills 1.0.0-alpha.18 → 1.0.0-alpha.2

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 (691) hide show
  1. package/{skills → dist}/choosing-an-npm-package/SKILL.md +4 -5
  2. package/{skills → dist}/maestro-packages/SKILL.md +3 -3
  3. package/dist/maestro-packages/queue.md +284 -0
  4. package/dist/maestro-packages/recurring-jobs.md +353 -0
  5. package/dist/maestro-packages/tracing.md +240 -0
  6. package/package.json +7 -8
  7. package/dist/bin.js +0 -19
  8. package/skills/iconify/SKILL.md +0 -82
  9. package/skills/iconify/scripts/iconify.js +0 -111
  10. package/skills/iso-fns/SKILL.md +0 -137
  11. package/skills/iso-fns/references/api_reference.md +0 -435
  12. package/skills/maestro-architecture/SKILL.md +0 -552
  13. package/skills/maestro-examples/SKILL.md +0 -140
  14. package/skills/maestro-examples/references/cadence/cadence-web/.auth/user.json +0 -15
  15. package/skills/maestro-examples/references/cadence/cadence-web/app/app.css +0 -112
  16. package/skills/maestro-examples/references/cadence/cadence-web/app/components/auth-layout.tsx +0 -39
  17. package/skills/maestro-examples/references/cadence/cadence-web/app/components/back-link.tsx +0 -24
  18. package/skills/maestro-examples/references/cadence/cadence-web/app/components/button-group.tsx +0 -78
  19. package/skills/maestro-examples/references/cadence/cadence-web/app/components/button-link.tsx +0 -77
  20. package/skills/maestro-examples/references/cadence/cadence-web/app/components/button.tsx +0 -139
  21. package/skills/maestro-examples/references/cadence/cadence-web/app/components/checkbox.tsx +0 -210
  22. package/skills/maestro-examples/references/cadence/cadence-web/app/components/chip.tsx +0 -161
  23. package/skills/maestro-examples/references/cadence/cadence-web/app/components/container.tsx +0 -85
  24. package/skills/maestro-examples/references/cadence/cadence-web/app/components/date-range.tsx +0 -141
  25. package/skills/maestro-examples/references/cadence/cadence-web/app/components/date-time-picker.tsx +0 -199
  26. package/skills/maestro-examples/references/cadence/cadence-web/app/components/empty-state.tsx +0 -19
  27. package/skills/maestro-examples/references/cadence/cadence-web/app/components/form-page.tsx +0 -41
  28. package/skills/maestro-examples/references/cadence/cadence-web/app/components/form.tsx +0 -106
  29. package/skills/maestro-examples/references/cadence/cadence-web/app/components/helpers/animated-popover.tsx +0 -27
  30. package/skills/maestro-examples/references/cadence/cadence-web/app/components/helpers/button-context.ts +0 -13
  31. package/skills/maestro-examples/references/cadence/cadence-web/app/components/helpers/calendar-month-year-picker.tsx +0 -283
  32. package/skills/maestro-examples/references/cadence/cadence-web/app/components/helpers/form-field.tsx +0 -231
  33. package/skills/maestro-examples/references/cadence/cadence-web/app/components/helpers/get-button-classes.ts +0 -141
  34. package/skills/maestro-examples/references/cadence/cadence-web/app/components/helpers/headless-button.tsx +0 -39
  35. package/skills/maestro-examples/references/cadence/cadence-web/app/components/icon.tsx +0 -29
  36. package/skills/maestro-examples/references/cadence/cadence-web/app/components/inline-alert.tsx +0 -57
  37. package/skills/maestro-examples/references/cadence/cadence-web/app/components/interaction-form.tsx +0 -87
  38. package/skills/maestro-examples/references/cadence/cadence-web/app/components/menu.tsx +0 -189
  39. package/skills/maestro-examples/references/cadence/cadence-web/app/components/optional-link.tsx +0 -18
  40. package/skills/maestro-examples/references/cadence/cadence-web/app/components/page-header.tsx +0 -19
  41. package/skills/maestro-examples/references/cadence/cadence-web/app/components/rich-text-editor.tsx +0 -352
  42. package/skills/maestro-examples/references/cadence/cadence-web/app/components/select.tsx +0 -219
  43. package/skills/maestro-examples/references/cadence/cadence-web/app/components/spinner.tsx +0 -19
  44. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/headless-templated-row-table.ts +0 -553
  45. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/index.tsx +0 -44
  46. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/server-table.ts +0 -146
  47. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/table-actions.tsx +0 -79
  48. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/table-container.tsx +0 -176
  49. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/table-container.type-test.ts +0 -158
  50. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/table-filters/date-range-filter.tsx +0 -230
  51. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/table-filters/select-filter.tsx +0 -214
  52. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/table-filters/sort.tsx +0 -88
  53. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/table-primitives.tsx +0 -229
  54. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/table-toolbar.tsx +0 -303
  55. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/table-types.ts +0 -64
  56. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/use-client-table.ts +0 -160
  57. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/use-client-table.type-test.ts +0 -220
  58. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/use-server-table.ts +0 -195
  59. package/skills/maestro-examples/references/cadence/cadence-web/app/components/table/use-server-table.type-test.ts +0 -177
  60. package/skills/maestro-examples/references/cadence/cadence-web/app/components/tag-editor.tsx +0 -53
  61. package/skills/maestro-examples/references/cadence/cadence-web/app/components/tag-field.tsx +0 -253
  62. package/skills/maestro-examples/references/cadence/cadence-web/app/components/text-field.tsx +0 -147
  63. package/skills/maestro-examples/references/cadence/cadence-web/app/components/toast.tsx +0 -182
  64. package/skills/maestro-examples/references/cadence/cadence-web/app/components/top-nav.tsx +0 -175
  65. package/skills/maestro-examples/references/cadence/cadence-web/app/entry.client.tsx +0 -21
  66. package/skills/maestro-examples/references/cadence/cadence-web/app/entry.server.tsx +0 -13
  67. package/skills/maestro-examples/references/cadence/cadence-web/app/features/csrf-middleware.server.ts +0 -17
  68. package/skills/maestro-examples/references/cadence/cadence-web/app/features/custom-error-status-code-middleware.server.ts +0 -31
  69. package/skills/maestro-examples/references/cadence/cadence-web/app/features/rate-limiting-middleware.server.ts +0 -36
  70. package/skills/maestro-examples/references/cadence/cadence-web/app/features/redirect-with-toast.server.ts +0 -14
  71. package/skills/maestro-examples/references/cadence/cadence-web/app/features/request-context.server.ts +0 -40
  72. package/skills/maestro-examples/references/cadence/cadence-web/app/features/security-headers-middleware.server.ts +0 -10
  73. package/skills/maestro-examples/references/cadence/cadence-web/app/icons/types.ts +0 -36
  74. package/skills/maestro-examples/references/cadence/cadence-web/app/root.tsx +0 -208
  75. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/_index.tsx +0 -5
  76. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/activity.tsx +0 -124
  77. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/archive.tsx +0 -187
  78. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/auth.forgot-password.tsx +0 -108
  79. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/auth.login.tsx +0 -132
  80. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/auth.logout.tsx +0 -17
  81. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/auth.register.tsx +0 -172
  82. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/auth.reset-password.tsx +0 -150
  83. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/contacts.$id.edit.tsx +0 -89
  84. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/contacts.$id.tsx +0 -521
  85. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/contacts.new.tsx +0 -56
  86. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/contacts.tsx +0 -183
  87. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/settings.tsx +0 -158
  88. package/skills/maestro-examples/references/cadence/cadence-web/app/routes/users.tsx +0 -263
  89. package/skills/maestro-examples/references/cadence/cadence-web/app/routes.ts +0 -4
  90. package/skills/maestro-examples/references/cadence/cadence-web/app/services.server.ts +0 -1
  91. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/colors.ts +0 -47
  92. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/compose-event-handlers.ts +0 -13
  93. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/compose-refs.ts +0 -35
  94. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/format-date.ts +0 -10
  95. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/overridable-component-helper.ts +0 -31
  96. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/sanitize-html.ts +0 -16
  97. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/tw.ts +0 -16
  98. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/use-hydrated.ts +0 -12
  99. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/use-prevent-default.ts +0 -30
  100. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/use-query-state.ts +0 -629
  101. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/use-render-props.ts +0 -42
  102. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/use-spin-delay.ts +0 -27
  103. package/skills/maestro-examples/references/cadence/cadence-web/app/utils/use-stable-accessor.ts +0 -14
  104. package/skills/maestro-examples/references/cadence/cadence-web/instrument.server.mjs +0 -29
  105. package/skills/maestro-examples/references/cadence/cadence-web/package.json +0 -60
  106. package/skills/maestro-examples/references/cadence/cadence-web/playwright.config.ts +0 -39
  107. package/skills/maestro-examples/references/cadence/cadence-web/react-router.config.ts +0 -12
  108. package/skills/maestro-examples/references/cadence/cadence-web/tailwind.config.ts +0 -7
  109. package/skills/maestro-examples/references/cadence/cadence-web/tests/activity/filter-activity.spec.ts +0 -93
  110. package/skills/maestro-examples/references/cadence/cadence-web/tests/activity/recent-activity.spec.ts +0 -70
  111. package/skills/maestro-examples/references/cadence/cadence-web/tests/archive/archive-view.spec.ts +0 -62
  112. package/skills/maestro-examples/references/cadence/cadence-web/tests/auth/login-invalid.spec.ts +0 -68
  113. package/skills/maestro-examples/references/cadence/cadence-web/tests/auth/login-valid.spec.ts +0 -45
  114. package/skills/maestro-examples/references/cadence/cadence-web/tests/auth/logout.spec.ts +0 -46
  115. package/skills/maestro-examples/references/cadence/cadence-web/tests/auth/password-reset.spec.ts +0 -105
  116. package/skills/maestro-examples/references/cadence/cadence-web/tests/auth/register.spec.ts +0 -39
  117. package/skills/maestro-examples/references/cadence/cadence-web/tests/auth.setup.ts +0 -48
  118. package/skills/maestro-examples/references/cadence/cadence-web/tests/authorization/member-ownership.spec.ts +0 -104
  119. package/skills/maestro-examples/references/cadence/cadence-web/tests/authorization/viewer-read-only.spec.ts +0 -103
  120. package/skills/maestro-examples/references/cadence/cadence-web/tests/constants.ts +0 -11
  121. package/skills/maestro-examples/references/cadence/cadence-web/tests/contacts/archive-restore.spec.ts +0 -77
  122. package/skills/maestro-examples/references/cadence/cadence-web/tests/contacts/create-contact.spec.ts +0 -56
  123. package/skills/maestro-examples/references/cadence/cadence-web/tests/contacts/delete-contact.spec.ts +0 -53
  124. package/skills/maestro-examples/references/cadence/cadence-web/tests/contacts/edit-contact.spec.ts +0 -60
  125. package/skills/maestro-examples/references/cadence/cadence-web/tests/contacts/filter-by-last-contacted.spec.ts +0 -85
  126. package/skills/maestro-examples/references/cadence/cadence-web/tests/contacts/filter-by-tag.spec.ts +0 -68
  127. package/skills/maestro-examples/references/cadence/cadence-web/tests/contacts/global-search.spec.ts +0 -57
  128. package/skills/maestro-examples/references/cadence/cadence-web/tests/contacts/sort-contacts.spec.ts +0 -60
  129. package/skills/maestro-examples/references/cadence/cadence-web/tests/contacts/tags.spec.ts +0 -85
  130. package/skills/maestro-examples/references/cadence/cadence-web/tests/contacts/view-detail.spec.ts +0 -58
  131. package/skills/maestro-examples/references/cadence/cadence-web/tests/interactions/delete-interaction.spec.ts +0 -59
  132. package/skills/maestro-examples/references/cadence/cadence-web/tests/interactions/edit-interaction.spec.ts +0 -68
  133. package/skills/maestro-examples/references/cadence/cadence-web/tests/interactions/log-email.spec.ts +0 -57
  134. package/skills/maestro-examples/references/cadence/cadence-web/tests/interactions/log-note.spec.ts +0 -56
  135. package/skills/maestro-examples/references/cadence/cadence-web/tests/interactions/rich-text-formatting.spec.ts +0 -97
  136. package/skills/maestro-examples/references/cadence/cadence-web/tests/organization/delete.spec.ts +0 -70
  137. package/skills/maestro-examples/references/cadence/cadence-web/tests/organization/edit-name.spec.ts +0 -51
  138. package/skills/maestro-examples/references/cadence/cadence-web/tests/users/change-role.spec.ts +0 -62
  139. package/skills/maestro-examples/references/cadence/cadence-web/tests/users/invite-user.spec.ts +0 -56
  140. package/skills/maestro-examples/references/cadence/cadence-web/tests/users/remove-user.spec.ts +0 -58
  141. package/skills/maestro-examples/references/cadence/cadence-web/tsconfig.json +0 -22
  142. package/skills/maestro-examples/references/cadence/cadence-web/vite.config.ts +0 -37
  143. package/skills/maestro-examples/references/cadence/config/agent-container.ts +0 -4
  144. package/skills/maestro-examples/references/cadence/config/cadence-web.ts +0 -12
  145. package/skills/maestro-examples/references/cadence/config/db-migrate.ts +0 -9
  146. package/skills/maestro-examples/references/cadence/config/queue-processor.ts +0 -11
  147. package/skills/maestro-examples/references/cadence/config/services.ts +0 -16
  148. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/20260404000001_organizations-and-users.ts +0 -16
  149. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/20260404000002_contacts.ts +0 -16
  150. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/20260404000003_interactions.ts +0 -16
  151. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/20260404000004_remember-me-tokens.ts +0 -16
  152. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/20260404000005_password-reset-tokens.ts +0 -16
  153. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/20260404000006_queue-and-recurring-jobs.ts +0 -16
  154. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/sqls/20260404000001_organizations-and-users-down.sql +0 -2
  155. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/sqls/20260404000001_organizations-and-users-up.sql +0 -24
  156. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/sqls/20260404000002_contacts-down.sql +0 -1
  157. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/sqls/20260404000002_contacts-up.sql +0 -16
  158. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/sqls/20260404000003_interactions-down.sql +0 -1
  159. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/sqls/20260404000003_interactions-up.sql +0 -15
  160. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/sqls/20260404000004_remember-me-tokens-down.sql +0 -1
  161. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/sqls/20260404000004_remember-me-tokens-up.sql +0 -12
  162. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/sqls/20260404000005_password-reset-tokens-down.sql +0 -1
  163. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/sqls/20260404000005_password-reset-tokens-up.sql +0 -11
  164. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/sqls/20260404000006_queue-and-recurring-jobs-down.sql +0 -2
  165. package/skills/maestro-examples/references/cadence/infrastructure/db-migrations/sqls/20260404000006_queue-and-recurring-jobs-up.sql +0 -21
  166. package/skills/maestro-examples/references/cadence/package.json +0 -17
  167. package/skills/maestro-examples/references/cadence/packages/schemas/package.json +0 -17
  168. package/skills/maestro-examples/references/cadence/packages/schemas/src/contact/index.ts +0 -57
  169. package/skills/maestro-examples/references/cadence/packages/schemas/src/index.ts +0 -4
  170. package/skills/maestro-examples/references/cadence/packages/schemas/src/interaction/index.ts +0 -45
  171. package/skills/maestro-examples/references/cadence/packages/schemas/src/organization/index.ts +0 -32
  172. package/skills/maestro-examples/references/cadence/packages/schemas/src/user/index.ts +0 -69
  173. package/skills/maestro-examples/references/cadence/packages/schemas/tsconfig.json +0 -9
  174. package/skills/maestro-examples/references/cadence/packages/services/package.json +0 -43
  175. package/skills/maestro-examples/references/cadence/packages/services/run-tests.ts +0 -59
  176. package/skills/maestro-examples/references/cadence/packages/services/src/auth/auth-db-provider.ts +0 -202
  177. package/skills/maestro-examples/references/cadence/packages/services/src/auth/auth-use-cases.ts +0 -156
  178. package/skills/maestro-examples/references/cadence/packages/services/src/auth/index.ts +0 -17
  179. package/skills/maestro-examples/references/cadence/packages/services/src/auth/profile-db-provider.ts +0 -17
  180. package/skills/maestro-examples/references/cadence/packages/services/src/contact/contact-db-provider.test.ts +0 -120
  181. package/skills/maestro-examples/references/cadence/packages/services/src/contact/contact-db-provider.ts +0 -145
  182. package/skills/maestro-examples/references/cadence/packages/services/src/contact/contact-use-cases.ts +0 -196
  183. package/skills/maestro-examples/references/cadence/packages/services/src/contact/index.ts +0 -29
  184. package/skills/maestro-examples/references/cadence/packages/services/src/index.ts +0 -23
  185. package/skills/maestro-examples/references/cadence/packages/services/src/interaction/index.ts +0 -25
  186. package/skills/maestro-examples/references/cadence/packages/services/src/interaction/interaction-db-provider.test.ts +0 -128
  187. package/skills/maestro-examples/references/cadence/packages/services/src/interaction/interaction-db-provider.ts +0 -98
  188. package/skills/maestro-examples/references/cadence/packages/services/src/interaction/interaction-use-cases.ts +0 -171
  189. package/skills/maestro-examples/references/cadence/packages/services/src/maestro.ts +0 -218
  190. package/skills/maestro-examples/references/cadence/packages/services/src/organization/index.ts +0 -8
  191. package/skills/maestro-examples/references/cadence/packages/services/src/organization/organization-db-provider.test.ts +0 -53
  192. package/skills/maestro-examples/references/cadence/packages/services/src/organization/organization-db-provider.ts +0 -60
  193. package/skills/maestro-examples/references/cadence/packages/services/src/organization/organization-use-cases.ts +0 -88
  194. package/skills/maestro-examples/references/cadence/packages/services/src/permissions.ts +0 -28
  195. package/skills/maestro-examples/references/cadence/packages/services/src/testing/contact-seed.ts +0 -30
  196. package/skills/maestro-examples/references/cadence/packages/services/src/testing/index.ts +0 -13
  197. package/skills/maestro-examples/references/cadence/packages/services/src/testing/interaction-seed.ts +0 -29
  198. package/skills/maestro-examples/references/cadence/packages/services/src/testing/organization-seed.ts +0 -25
  199. package/skills/maestro-examples/references/cadence/packages/services/src/testing/seed-pipe.ts +0 -38
  200. package/skills/maestro-examples/references/cadence/packages/services/src/testing/user-seed.ts +0 -27
  201. package/skills/maestro-examples/references/cadence/packages/services/src/user/index.ts +0 -27
  202. package/skills/maestro-examples/references/cadence/packages/services/src/user/user-db-provider.test.ts +0 -100
  203. package/skills/maestro-examples/references/cadence/packages/services/src/user/user-db-provider.ts +0 -69
  204. package/skills/maestro-examples/references/cadence/packages/services/src/user/user-use-cases.ts +0 -162
  205. package/skills/maestro-examples/references/cadence/packages/services/tsconfig.json +0 -9
  206. package/skills/maestro-examples/references/cadence/scripts/foreign-key-delete-behavior.ts +0 -106
  207. package/skills/maestro-examples/references/cadence/specs/app.md +0 -72
  208. package/skills/maestro-examples/references/cadence/specs/data-models.md +0 -80
  209. package/skills/maestro-examples/references/cadence/specs/multi-tenant-security.md +0 -239
  210. package/skills/maestro-examples/references/cadence/specs/rich-text-editor.md +0 -108
  211. package/skills/maestro-examples/references/cadence/specs/table.md +0 -151
  212. package/skills/maestro-examples/references/cadence/specs/use-cases.md +0 -62
  213. package/skills/maestro-examples/references/cadence/tsconfig.json +0 -29
  214. package/skills/maestro-examples/references/chorus/chorus-web/app/app.css +0 -152
  215. package/skills/maestro-examples/references/chorus/chorus-web/app/components/alert-dialog.tsx +0 -153
  216. package/skills/maestro-examples/references/chorus/chorus-web/app/components/avatar.tsx +0 -57
  217. package/skills/maestro-examples/references/chorus/chorus-web/app/components/button-group.tsx +0 -78
  218. package/skills/maestro-examples/references/chorus/chorus-web/app/components/button-link.tsx +0 -77
  219. package/skills/maestro-examples/references/chorus/chorus-web/app/components/button.tsx +0 -139
  220. package/skills/maestro-examples/references/chorus/chorus-web/app/components/channel-card.tsx +0 -40
  221. package/skills/maestro-examples/references/chorus/chorus-web/app/components/checkbox-group.tsx +0 -175
  222. package/skills/maestro-examples/references/chorus/chorus-web/app/components/checkbox.tsx +0 -210
  223. package/skills/maestro-examples/references/chorus/chorus-web/app/components/chip.tsx +0 -161
  224. package/skills/maestro-examples/references/chorus/chorus-web/app/components/container.tsx +0 -85
  225. package/skills/maestro-examples/references/chorus/chorus-web/app/components/date-picker.tsx +0 -214
  226. package/skills/maestro-examples/references/chorus/chorus-web/app/components/date-time-picker.tsx +0 -199
  227. package/skills/maestro-examples/references/chorus/chorus-web/app/components/dialog.tsx +0 -114
  228. package/skills/maestro-examples/references/chorus/chorus-web/app/components/enum-chip.tsx +0 -33
  229. package/skills/maestro-examples/references/chorus/chorus-web/app/components/file-input.tsx +0 -248
  230. package/skills/maestro-examples/references/chorus/chorus-web/app/components/form.tsx +0 -106
  231. package/skills/maestro-examples/references/chorus/chorus-web/app/components/headless-file-input.tsx +0 -365
  232. package/skills/maestro-examples/references/chorus/chorus-web/app/components/helpers/animated-popover.tsx +0 -27
  233. package/skills/maestro-examples/references/chorus/chorus-web/app/components/helpers/button-context.ts +0 -13
  234. package/skills/maestro-examples/references/chorus/chorus-web/app/components/helpers/calendar-month-year-picker.tsx +0 -283
  235. package/skills/maestro-examples/references/chorus/chorus-web/app/components/helpers/form-field.tsx +0 -231
  236. package/skills/maestro-examples/references/chorus/chorus-web/app/components/helpers/get-button-classes.ts +0 -141
  237. package/skills/maestro-examples/references/chorus/chorus-web/app/components/helpers/headless-button.tsx +0 -39
  238. package/skills/maestro-examples/references/chorus/chorus-web/app/components/helpers/pdf-dist.client.ts +0 -9
  239. package/skills/maestro-examples/references/chorus/chorus-web/app/components/icon.tsx +0 -29
  240. package/skills/maestro-examples/references/chorus/chorus-web/app/components/image-grid.tsx +0 -96
  241. package/skills/maestro-examples/references/chorus/chorus-web/app/components/image-input.tsx +0 -268
  242. package/skills/maestro-examples/references/chorus/chorus-web/app/components/inline-alert.tsx +0 -57
  243. package/skills/maestro-examples/references/chorus/chorus-web/app/components/like-button.tsx +0 -48
  244. package/skills/maestro-examples/references/chorus/chorus-web/app/components/menu.tsx +0 -189
  245. package/skills/maestro-examples/references/chorus/chorus-web/app/components/pdf-input.tsx +0 -252
  246. package/skills/maestro-examples/references/chorus/chorus-web/app/components/pdf.tsx +0 -89
  247. package/skills/maestro-examples/references/chorus/chorus-web/app/components/post-card.tsx +0 -147
  248. package/skills/maestro-examples/references/chorus/chorus-web/app/components/post-composer.tsx +0 -166
  249. package/skills/maestro-examples/references/chorus/chorus-web/app/components/radio-group.tsx +0 -115
  250. package/skills/maestro-examples/references/chorus/chorus-web/app/components/select.tsx +0 -219
  251. package/skills/maestro-examples/references/chorus/chorus-web/app/components/spinner.tsx +0 -19
  252. package/skills/maestro-examples/references/chorus/chorus-web/app/components/tag-field.tsx +0 -253
  253. package/skills/maestro-examples/references/chorus/chorus-web/app/components/text-area.tsx +0 -151
  254. package/skills/maestro-examples/references/chorus/chorus-web/app/components/text-field.tsx +0 -147
  255. package/skills/maestro-examples/references/chorus/chorus-web/app/components/toast.tsx +0 -179
  256. package/skills/maestro-examples/references/chorus/chorus-web/app/entry.client.tsx +0 -21
  257. package/skills/maestro-examples/references/chorus/chorus-web/app/entry.server.tsx +0 -12
  258. package/skills/maestro-examples/references/chorus/chorus-web/app/features/csrf-hidden-input.tsx +0 -6
  259. package/skills/maestro-examples/references/chorus/chorus-web/app/features/csrf-middleware.server.ts +0 -17
  260. package/skills/maestro-examples/references/chorus/chorus-web/app/features/custom-error-status-code-middleware.server.ts +0 -18
  261. package/skills/maestro-examples/references/chorus/chorus-web/app/features/rate-limiting-middleware.server.ts +0 -36
  262. package/skills/maestro-examples/references/chorus/chorus-web/app/features/redirect-with-toast.server.ts +0 -14
  263. package/skills/maestro-examples/references/chorus/chorus-web/app/features/request-context.server.ts +0 -40
  264. package/skills/maestro-examples/references/chorus/chorus-web/app/features/security-headers-middleware.server.ts +0 -10
  265. package/skills/maestro-examples/references/chorus/chorus-web/app/icons/types.ts +0 -26
  266. package/skills/maestro-examples/references/chorus/chorus-web/app/root.tsx +0 -164
  267. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/_auth/forgot-password.tsx +0 -90
  268. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/_auth/login.tsx +0 -104
  269. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/_auth/logout.tsx +0 -44
  270. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/_auth/reset-password.tsx +0 -130
  271. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/_auth/signup.tsx +0 -91
  272. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/_browse/_layout.tsx +0 -36
  273. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/_browse/c.new.tsx +0 -47
  274. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/_browse/index.tsx +0 -3
  275. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/api/hide-post.$postId.tsx +0 -30
  276. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/api/like.$postId.tsx +0 -22
  277. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/c.$slug/_layout.tsx +0 -108
  278. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/c.$slug/post.new.tsx +0 -59
  279. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/c.$slug.edit.tsx +0 -53
  280. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/c.$slug.manage/_layout.tsx +0 -123
  281. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/c.$slug.manage/add-moderator.tsx +0 -48
  282. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/c.$slug.manage/transfer-ownership.tsx +0 -71
  283. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/c.$slug.post.$postId.tsx +0 -119
  284. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/files.$.tsx +0 -22
  285. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/health.tsx +0 -3
  286. package/skills/maestro-examples/references/chorus/chorus-web/app/routes/settings.tsx +0 -128
  287. package/skills/maestro-examples/references/chorus/chorus-web/app/routes.ts +0 -4
  288. package/skills/maestro-examples/references/chorus/chorus-web/app/services.server.ts +0 -1
  289. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/colors.ts +0 -47
  290. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/compose-refs.ts +0 -35
  291. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/enum-colors.ts +0 -4
  292. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/file-input.ts +0 -52
  293. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/tw.ts +0 -16
  294. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/use-element-size.ts +0 -35
  295. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/use-number-input.ts +0 -143
  296. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/use-pagination.ts +0 -41
  297. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/use-prevent-default.ts +0 -30
  298. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/use-profile.ts +0 -7
  299. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/use-render-props.ts +0 -42
  300. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/use-spin-delay.ts +0 -27
  301. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/use-stable-accessor.ts +0 -14
  302. package/skills/maestro-examples/references/chorus/chorus-web/app/utils/use-tab-indicator.ts +0 -107
  303. package/skills/maestro-examples/references/chorus/chorus-web/environment.d.ts +0 -15
  304. package/skills/maestro-examples/references/chorus/chorus-web/instrument.server.mjs +0 -29
  305. package/skills/maestro-examples/references/chorus/chorus-web/package.json +0 -54
  306. package/skills/maestro-examples/references/chorus/chorus-web/playwright.config.ts +0 -39
  307. package/skills/maestro-examples/references/chorus/chorus-web/react-router.config.ts +0 -12
  308. package/skills/maestro-examples/references/chorus/chorus-web/tests/auth-landing.test.ts +0 -8
  309. package/skills/maestro-examples/references/chorus/chorus-web/tests/auth-login.test.ts +0 -40
  310. package/skills/maestro-examples/references/chorus/chorus-web/tests/auth-logout.test.ts +0 -8
  311. package/skills/maestro-examples/references/chorus/chorus-web/tests/auth-signup.test.ts +0 -15
  312. package/skills/maestro-examples/references/chorus/chorus-web/tests/auth.setup.ts +0 -42
  313. package/skills/maestro-examples/references/chorus/chorus-web/tests/channel-browse.test.ts +0 -43
  314. package/skills/maestro-examples/references/chorus/chorus-web/tests/channel-create.test.ts +0 -34
  315. package/skills/maestro-examples/references/chorus/chorus-web/tests/channel-edit.test.ts +0 -33
  316. package/skills/maestro-examples/references/chorus/chorus-web/tests/channel-manage-moderators.test.ts +0 -59
  317. package/skills/maestro-examples/references/chorus/chorus-web/tests/channel-manage-permissions.test.ts +0 -55
  318. package/skills/maestro-examples/references/chorus/chorus-web/tests/channel-transfer.test.ts +0 -47
  319. package/skills/maestro-examples/references/chorus/chorus-web/tests/constants.ts +0 -7
  320. package/skills/maestro-examples/references/chorus/chorus-web/tests/forgot-password.test.ts +0 -33
  321. package/skills/maestro-examples/references/chorus/chorus-web/tests/hide-post-author.test.ts +0 -62
  322. package/skills/maestro-examples/references/chorus/chorus-web/tests/hide-post-nonauthor.test.ts +0 -36
  323. package/skills/maestro-examples/references/chorus/chorus-web/tests/like-toggle.test.ts +0 -60
  324. package/skills/maestro-examples/references/chorus/chorus-web/tests/like-unauth.test.ts +0 -37
  325. package/skills/maestro-examples/references/chorus/chorus-web/tests/post-create.test.ts +0 -30
  326. package/skills/maestro-examples/references/chorus/chorus-web/tests/post-listing.test.ts +0 -33
  327. package/skills/maestro-examples/references/chorus/chorus-web/tests/post-reply.test.ts +0 -48
  328. package/skills/maestro-examples/references/chorus/chorus-web/tests/post-view-unauth.test.ts +0 -37
  329. package/skills/maestro-examples/references/chorus/chorus-web/tests/settings-duplicate.test.ts +0 -28
  330. package/skills/maestro-examples/references/chorus/chorus-web/tests/settings-update.test.ts +0 -34
  331. package/skills/maestro-examples/references/chorus/chorus-web/tests/settings-view.test.ts +0 -17
  332. package/skills/maestro-examples/references/chorus/chorus-web/tests/signup-validation.test.ts +0 -51
  333. package/skills/maestro-examples/references/chorus/chorus-web/tsconfig.json +0 -14
  334. package/skills/maestro-examples/references/chorus/chorus-web/vite.config.ts +0 -38
  335. package/skills/maestro-examples/references/chorus/config/app-a.ts +0 -7
  336. package/skills/maestro-examples/references/chorus/config/chorus-web.ts +0 -7
  337. package/skills/maestro-examples/references/chorus/config/db-migrate.ts +0 -9
  338. package/skills/maestro-examples/references/chorus/config/queue-processor.ts +0 -7
  339. package/skills/maestro-examples/references/chorus/config/services.ts +0 -15
  340. package/skills/maestro-examples/references/chorus/infrastructure/cdk/index.ts +0 -60
  341. package/skills/maestro-examples/references/chorus/infrastructure/cdk.context.json +0 -5
  342. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/20260303005902_init_authentication.ts +0 -16
  343. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/20260308234835_add-maestro-queue-table.ts +0 -16
  344. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/20260315051819_channels.ts +0 -16
  345. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/20260315052202_channel-moderators.ts +0 -16
  346. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/20260315052539_posts.ts +0 -16
  347. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/20260315052734_post-images.ts +0 -16
  348. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/20260315053110_likes.ts +0 -16
  349. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260303005902_init_authentication-down.sql +0 -3
  350. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260303005902_init_authentication-up.sql +0 -40
  351. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260308234835_add-maestro-queue-table-down.sql +0 -3
  352. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260308234835_add-maestro-queue-table-up.sql +0 -23
  353. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260315051819_channels-down.sql +0 -1
  354. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260315051819_channels-up.sql +0 -11
  355. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260315052202_channel-moderators-down.sql +0 -1
  356. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260315052202_channel-moderators-up.sql +0 -7
  357. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260315052539_posts-down.sql +0 -1
  358. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260315052539_posts-up.sql +0 -14
  359. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260315052734_post-images-down.sql +0 -1
  360. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260315052734_post-images-up.sql +0 -7
  361. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260315053110_likes-down.sql +0 -1
  362. package/skills/maestro-examples/references/chorus/infrastructure/db-migrations/sqls/20260315053110_likes-up.sql +0 -8
  363. package/skills/maestro-examples/references/chorus/infrastructure/package.json +0 -20
  364. package/skills/maestro-examples/references/chorus/infrastructure/tsconfig.json +0 -8
  365. package/skills/maestro-examples/references/chorus/package.json +0 -17
  366. package/skills/maestro-examples/references/chorus/packages/email-templates/other/generate-email-modules.ts +0 -22
  367. package/skills/maestro-examples/references/chorus/packages/email-templates/other/generate-email-previews.ts +0 -18
  368. package/skills/maestro-examples/references/chorus/packages/email-templates/package.json +0 -27
  369. package/skills/maestro-examples/references/chorus/packages/email-templates/src/components/button.tsx +0 -19
  370. package/skills/maestro-examples/references/chorus/packages/email-templates/src/components/root-container.tsx +0 -29
  371. package/skills/maestro-examples/references/chorus/packages/email-templates/src/components/tailwind-wrapper.tsx +0 -113
  372. package/skills/maestro-examples/references/chorus/packages/email-templates/src/email-modules.ts +0 -9
  373. package/skills/maestro-examples/references/chorus/packages/email-templates/src/emails/password-reset.tsx +0 -41
  374. package/skills/maestro-examples/references/chorus/packages/email-templates/src/index.ts +0 -3
  375. package/skills/maestro-examples/references/chorus/packages/email-templates/src/render-email-template.ts +0 -24
  376. package/skills/maestro-examples/references/chorus/packages/email-templates/src/utils/tw.ts +0 -5
  377. package/skills/maestro-examples/references/chorus/packages/email-templates/tsconfig.json +0 -11
  378. package/skills/maestro-examples/references/chorus/packages/schemas/package.json +0 -17
  379. package/skills/maestro-examples/references/chorus/packages/schemas/src/channel/index.ts +0 -41
  380. package/skills/maestro-examples/references/chorus/packages/schemas/src/index.ts +0 -4
  381. package/skills/maestro-examples/references/chorus/packages/schemas/src/like/index.ts +0 -16
  382. package/skills/maestro-examples/references/chorus/packages/schemas/src/post/index.ts +0 -44
  383. package/skills/maestro-examples/references/chorus/packages/schemas/src/profile/index.ts +0 -80
  384. package/skills/maestro-examples/references/chorus/packages/schemas/tsconfig.json +0 -9
  385. package/skills/maestro-examples/references/chorus/packages/services/environment.d.ts +0 -7
  386. package/skills/maestro-examples/references/chorus/packages/services/package.json +0 -47
  387. package/skills/maestro-examples/references/chorus/packages/services/run-tests.ts +0 -59
  388. package/skills/maestro-examples/references/chorus/packages/services/src/auth/auth-use-cases.ts +0 -178
  389. package/skills/maestro-examples/references/chorus/packages/services/src/auth/authenticatable-db-provider.ts +0 -59
  390. package/skills/maestro-examples/references/chorus/packages/services/src/auth/index.ts +0 -29
  391. package/skills/maestro-examples/references/chorus/packages/services/src/auth/password-reset-token-db-provider.ts +0 -58
  392. package/skills/maestro-examples/references/chorus/packages/services/src/auth/remember-me-token-db-provider.ts +0 -82
  393. package/skills/maestro-examples/references/chorus/packages/services/src/channel/channel-db-provider.test.ts +0 -85
  394. package/skills/maestro-examples/references/chorus/packages/services/src/channel/channel-db-provider.ts +0 -158
  395. package/skills/maestro-examples/references/chorus/packages/services/src/channel/channel-use-cases.ts +0 -303
  396. package/skills/maestro-examples/references/chorus/packages/services/src/channel/index.ts +0 -29
  397. package/skills/maestro-examples/references/chorus/packages/services/src/index.ts +0 -21
  398. package/skills/maestro-examples/references/chorus/packages/services/src/like/index.ts +0 -6
  399. package/skills/maestro-examples/references/chorus/packages/services/src/like/like-db-provider.test.ts +0 -47
  400. package/skills/maestro-examples/references/chorus/packages/services/src/like/like-db-provider.ts +0 -53
  401. package/skills/maestro-examples/references/chorus/packages/services/src/like/like-use-cases.ts +0 -31
  402. package/skills/maestro-examples/references/chorus/packages/services/src/maestro.ts +0 -215
  403. package/skills/maestro-examples/references/chorus/packages/services/src/permissions.ts +0 -16
  404. package/skills/maestro-examples/references/chorus/packages/services/src/post/index.ts +0 -25
  405. package/skills/maestro-examples/references/chorus/packages/services/src/post/post-db-provider.test.ts +0 -68
  406. package/skills/maestro-examples/references/chorus/packages/services/src/post/post-db-provider.ts +0 -219
  407. package/skills/maestro-examples/references/chorus/packages/services/src/post/post-use-cases.ts +0 -184
  408. package/skills/maestro-examples/references/chorus/packages/services/src/post/redact-hidden-post.ts +0 -4
  409. package/skills/maestro-examples/references/chorus/packages/services/src/profile/index.ts +0 -17
  410. package/skills/maestro-examples/references/chorus/packages/services/src/profile/profile-db-provider.test.ts +0 -57
  411. package/skills/maestro-examples/references/chorus/packages/services/src/profile/profile-db-provider.ts +0 -75
  412. package/skills/maestro-examples/references/chorus/packages/services/src/profile/profile-use-cases.ts +0 -61
  413. package/skills/maestro-examples/references/chorus/packages/services/src/testing/channel-seed.ts +0 -27
  414. package/skills/maestro-examples/references/chorus/packages/services/src/testing/index.ts +0 -13
  415. package/skills/maestro-examples/references/chorus/packages/services/src/testing/like-seed.ts +0 -21
  416. package/skills/maestro-examples/references/chorus/packages/services/src/testing/post-seed.ts +0 -27
  417. package/skills/maestro-examples/references/chorus/packages/services/src/testing/profile-seed.ts +0 -28
  418. package/skills/maestro-examples/references/chorus/packages/services/src/testing/seed-pipe.ts +0 -38
  419. package/skills/maestro-examples/references/chorus/packages/services/tsconfig.json +0 -9
  420. package/skills/maestro-examples/references/chorus/scripts/foreign-key-delete-behavior.ts +0 -111
  421. package/skills/maestro-examples/references/chorus/specs/app.md +0 -73
  422. package/skills/maestro-examples/references/chorus/specs/data-models.md +0 -48
  423. package/skills/maestro-examples/references/chorus/specs/database-schema.md +0 -59
  424. package/skills/maestro-examples/references/chorus/specs/use-cases.md +0 -33
  425. package/skills/maestro-examples/references/chorus/tsconfig.json +0 -29
  426. package/skills/maestro-examples/references/setlist/IMPLEMENTATION_PLAN.md +0 -88
  427. package/skills/maestro-examples/references/setlist/config/db-migrate.ts +0 -9
  428. package/skills/maestro-examples/references/setlist/config/queue-processor.ts +0 -11
  429. package/skills/maestro-examples/references/setlist/config/services.ts +0 -16
  430. package/skills/maestro-examples/references/setlist/config/setlist-web.ts +0 -12
  431. package/skills/maestro-examples/references/setlist/infrastructure/cdk/index.ts +0 -56
  432. package/skills/maestro-examples/references/setlist/infrastructure/cdk.context.json +0 -5
  433. package/skills/maestro-examples/references/setlist/infrastructure/db-migrations/20260316000000_init.ts +0 -16
  434. package/skills/maestro-examples/references/setlist/infrastructure/db-migrations/20260317000000_add-queue-and-recurring-job-tables.ts +0 -22
  435. package/skills/maestro-examples/references/setlist/infrastructure/db-migrations/sqls/20260316000000_init-down.sql +0 -5
  436. package/skills/maestro-examples/references/setlist/infrastructure/db-migrations/sqls/20260316000000_init-up.sql +0 -68
  437. package/skills/maestro-examples/references/setlist/infrastructure/db-migrations/sqls/20260317000000_add-queue-and-recurring-job-tables-down.sql +0 -2
  438. package/skills/maestro-examples/references/setlist/infrastructure/db-migrations/sqls/20260317000000_add-queue-and-recurring-job-tables-up.sql +0 -21
  439. package/skills/maestro-examples/references/setlist/infrastructure/package.json +0 -20
  440. package/skills/maestro-examples/references/setlist/infrastructure/tsconfig.json +0 -8
  441. package/skills/maestro-examples/references/setlist/package.json +0 -19
  442. package/skills/maestro-examples/references/setlist/packages/email-templates/other/generate-email-modules.ts +0 -22
  443. package/skills/maestro-examples/references/setlist/packages/email-templates/other/generate-email-previews.ts +0 -18
  444. package/skills/maestro-examples/references/setlist/packages/email-templates/package.json +0 -27
  445. package/skills/maestro-examples/references/setlist/packages/email-templates/src/components/button.tsx +0 -19
  446. package/skills/maestro-examples/references/setlist/packages/email-templates/src/components/root-container.tsx +0 -29
  447. package/skills/maestro-examples/references/setlist/packages/email-templates/src/components/tailwind-wrapper.tsx +0 -113
  448. package/skills/maestro-examples/references/setlist/packages/email-templates/src/email-modules.ts +0 -9
  449. package/skills/maestro-examples/references/setlist/packages/email-templates/src/emails/magic-link-login.tsx +0 -49
  450. package/skills/maestro-examples/references/setlist/packages/email-templates/src/index.ts +0 -3
  451. package/skills/maestro-examples/references/setlist/packages/email-templates/src/render-email-template.ts +0 -24
  452. package/skills/maestro-examples/references/setlist/packages/email-templates/src/utils/tw.ts +0 -5
  453. package/skills/maestro-examples/references/setlist/packages/email-templates/tsconfig.json +0 -11
  454. package/skills/maestro-examples/references/setlist/packages/email-templates/tsup.config.ts +0 -10
  455. package/skills/maestro-examples/references/setlist/packages/schemas/package.json +0 -21
  456. package/skills/maestro-examples/references/setlist/packages/schemas/src/area/index.ts +0 -28
  457. package/skills/maestro-examples/references/setlist/packages/schemas/src/index.ts +0 -6
  458. package/skills/maestro-examples/references/setlist/packages/schemas/src/magic-link/index.ts +0 -20
  459. package/skills/maestro-examples/references/setlist/packages/schemas/src/position.ts +0 -137
  460. package/skills/maestro-examples/references/setlist/packages/schemas/src/project/index.ts +0 -44
  461. package/skills/maestro-examples/references/setlist/packages/schemas/src/task/index.ts +0 -41
  462. package/skills/maestro-examples/references/setlist/packages/schemas/src/user/index.ts +0 -28
  463. package/skills/maestro-examples/references/setlist/packages/schemas/tests/position.test.ts +0 -106
  464. package/skills/maestro-examples/references/setlist/packages/schemas/tsconfig.json +0 -9
  465. package/skills/maestro-examples/references/setlist/packages/services/package.json +0 -40
  466. package/skills/maestro-examples/references/setlist/packages/services/run-tests.ts +0 -59
  467. package/skills/maestro-examples/references/setlist/packages/services/src/area/area-db-provider.test.ts +0 -29
  468. package/skills/maestro-examples/references/setlist/packages/services/src/area/area-db-provider.ts +0 -81
  469. package/skills/maestro-examples/references/setlist/packages/services/src/area/area-use-cases.ts +0 -130
  470. package/skills/maestro-examples/references/setlist/packages/services/src/area/index.ts +0 -27
  471. package/skills/maestro-examples/references/setlist/packages/services/src/auth/auth-db-provider.test.ts +0 -34
  472. package/skills/maestro-examples/references/setlist/packages/services/src/auth/auth-db-provider.ts +0 -24
  473. package/skills/maestro-examples/references/setlist/packages/services/src/auth/auth-use-cases.ts +0 -110
  474. package/skills/maestro-examples/references/setlist/packages/services/src/auth/index.ts +0 -18
  475. package/skills/maestro-examples/references/setlist/packages/services/src/auth/magic-link-db-provider.test.ts +0 -52
  476. package/skills/maestro-examples/references/setlist/packages/services/src/auth/magic-link-db-provider.ts +0 -59
  477. package/skills/maestro-examples/references/setlist/packages/services/src/auth/user-db-provider.test.ts +0 -33
  478. package/skills/maestro-examples/references/setlist/packages/services/src/auth/user-db-provider.ts +0 -55
  479. package/skills/maestro-examples/references/setlist/packages/services/src/auth/verify-magic-link-credentials.ts +0 -39
  480. package/skills/maestro-examples/references/setlist/packages/services/src/index.ts +0 -20
  481. package/skills/maestro-examples/references/setlist/packages/services/src/maestro.ts +0 -175
  482. package/skills/maestro-examples/references/setlist/packages/services/src/project/index.ts +0 -29
  483. package/skills/maestro-examples/references/setlist/packages/services/src/project/project-db-provider.test.ts +0 -46
  484. package/skills/maestro-examples/references/setlist/packages/services/src/project/project-db-provider.ts +0 -114
  485. package/skills/maestro-examples/references/setlist/packages/services/src/project/project-use-cases.ts +0 -183
  486. package/skills/maestro-examples/references/setlist/packages/services/src/task/index.ts +0 -39
  487. package/skills/maestro-examples/references/setlist/packages/services/src/task/task-db-provider.test.ts +0 -53
  488. package/skills/maestro-examples/references/setlist/packages/services/src/task/task-db-provider.ts +0 -219
  489. package/skills/maestro-examples/references/setlist/packages/services/src/task/task-use-cases.ts +0 -303
  490. package/skills/maestro-examples/references/setlist/packages/services/src/testing/area-seed.ts +0 -25
  491. package/skills/maestro-examples/references/setlist/packages/services/src/testing/index.ts +0 -13
  492. package/skills/maestro-examples/references/setlist/packages/services/src/testing/project-seed.ts +0 -29
  493. package/skills/maestro-examples/references/setlist/packages/services/src/testing/seed-pipe.ts +0 -38
  494. package/skills/maestro-examples/references/setlist/packages/services/src/testing/task-seed.ts +0 -31
  495. package/skills/maestro-examples/references/setlist/packages/services/src/testing/user-seed.ts +0 -24
  496. package/skills/maestro-examples/references/setlist/packages/services/tsconfig.json +0 -9
  497. package/skills/maestro-examples/references/setlist/queue-processor/package.json +0 -17
  498. package/skills/maestro-examples/references/setlist/queue-processor/src/index.ts +0 -29
  499. package/skills/maestro-examples/references/setlist/queue-processor/src/recurring-jobs.ts +0 -13
  500. package/skills/maestro-examples/references/setlist/queue-processor/tsconfig.json +0 -4
  501. package/skills/maestro-examples/references/setlist/scripts/foreign-key-delete-behavior.ts +0 -107
  502. package/skills/maestro-examples/references/setlist/setlist-web/app/app.css +0 -158
  503. package/skills/maestro-examples/references/setlist/setlist-web/app/components/alert-dialog.tsx +0 -153
  504. package/skills/maestro-examples/references/setlist/setlist-web/app/components/app-dnd-provider.tsx +0 -180
  505. package/skills/maestro-examples/references/setlist/setlist-web/app/components/area-form.tsx +0 -113
  506. package/skills/maestro-examples/references/setlist/setlist-web/app/components/button-group.tsx +0 -78
  507. package/skills/maestro-examples/references/setlist/setlist-web/app/components/button.tsx +0 -139
  508. package/skills/maestro-examples/references/setlist/setlist-web/app/components/checkbox.tsx +0 -210
  509. package/skills/maestro-examples/references/setlist/setlist-web/app/components/context-menu.tsx +0 -78
  510. package/skills/maestro-examples/references/setlist/setlist-web/app/components/date-picker.tsx +0 -214
  511. package/skills/maestro-examples/references/setlist/setlist-web/app/components/dnd-collision-detection.ts +0 -28
  512. package/skills/maestro-examples/references/setlist/setlist-web/app/components/dnd-utils.ts +0 -11
  513. package/skills/maestro-examples/references/setlist/setlist-web/app/components/drag-ghost.tsx +0 -24
  514. package/skills/maestro-examples/references/setlist/setlist-web/app/components/form.tsx +0 -107
  515. package/skills/maestro-examples/references/setlist/setlist-web/app/components/helpers/animated-popover.tsx +0 -27
  516. package/skills/maestro-examples/references/setlist/setlist-web/app/components/helpers/button-context.ts +0 -13
  517. package/skills/maestro-examples/references/setlist/setlist-web/app/components/helpers/calendar-month-year-picker.tsx +0 -283
  518. package/skills/maestro-examples/references/setlist/setlist-web/app/components/helpers/form-field.tsx +0 -231
  519. package/skills/maestro-examples/references/setlist/setlist-web/app/components/helpers/get-button-classes.ts +0 -141
  520. package/skills/maestro-examples/references/setlist/setlist-web/app/components/helpers/headless-button.tsx +0 -39
  521. package/skills/maestro-examples/references/setlist/setlist-web/app/components/icon.tsx +0 -29
  522. package/skills/maestro-examples/references/setlist/setlist-web/app/components/inline-alert.tsx +0 -57
  523. package/skills/maestro-examples/references/setlist/setlist-web/app/components/project-form.tsx +0 -153
  524. package/skills/maestro-examples/references/setlist/setlist-web/app/components/select.tsx +0 -219
  525. package/skills/maestro-examples/references/setlist/setlist-web/app/components/sidebar/helpers.ts +0 -73
  526. package/skills/maestro-examples/references/setlist/setlist-web/app/components/sidebar/index.ts +0 -6
  527. package/skills/maestro-examples/references/setlist/setlist-web/app/components/sidebar/inline-inputs.tsx +0 -128
  528. package/skills/maestro-examples/references/setlist/setlist-web/app/components/sidebar/sidebar.tsx +0 -333
  529. package/skills/maestro-examples/references/setlist/setlist-web/app/components/sidebar/sortable-rows.tsx +0 -256
  530. package/skills/maestro-examples/references/setlist/setlist-web/app/components/sidebar/use-sidebar-dnd.ts +0 -261
  531. package/skills/maestro-examples/references/setlist/setlist-web/app/components/spinner.tsx +0 -19
  532. package/skills/maestro-examples/references/setlist/setlist-web/app/components/task-inline-create.tsx +0 -51
  533. package/skills/maestro-examples/references/setlist/setlist-web/app/components/task-list/index.ts +0 -3
  534. package/skills/maestro-examples/references/setlist/setlist-web/app/components/task-list/task-date-helpers.ts +0 -16
  535. package/skills/maestro-examples/references/setlist/setlist-web/app/components/task-list/task-expanded-detail.tsx +0 -273
  536. package/skills/maestro-examples/references/setlist/setlist-web/app/components/task-list/task-keyboard-helpers.ts +0 -5
  537. package/skills/maestro-examples/references/setlist/setlist-web/app/components/task-list/task-list.tsx +0 -134
  538. package/skills/maestro-examples/references/setlist/setlist-web/app/components/task-list/task-row.tsx +0 -100
  539. package/skills/maestro-examples/references/setlist/setlist-web/app/components/task-list/types.ts +0 -49
  540. package/skills/maestro-examples/references/setlist/setlist-web/app/components/task-list/use-expanded-cache.ts +0 -22
  541. package/skills/maestro-examples/references/setlist/setlist-web/app/components/task-list/use-sticky-task.ts +0 -24
  542. package/skills/maestro-examples/references/setlist/setlist-web/app/components/task-list/use-task-reorder.ts +0 -140
  543. package/skills/maestro-examples/references/setlist/setlist-web/app/components/text-area.tsx +0 -151
  544. package/skills/maestro-examples/references/setlist/setlist-web/app/components/text-field.tsx +0 -147
  545. package/skills/maestro-examples/references/setlist/setlist-web/app/components/toast.tsx +0 -179
  546. package/skills/maestro-examples/references/setlist/setlist-web/app/entry.client.tsx +0 -21
  547. package/skills/maestro-examples/references/setlist/setlist-web/app/entry.server.tsx +0 -13
  548. package/skills/maestro-examples/references/setlist/setlist-web/app/features/csrf-middleware.server.ts +0 -17
  549. package/skills/maestro-examples/references/setlist/setlist-web/app/features/custom-error-status-code-middleware.server.ts +0 -31
  550. package/skills/maestro-examples/references/setlist/setlist-web/app/features/rate-limiting-middleware.server.ts +0 -36
  551. package/skills/maestro-examples/references/setlist/setlist-web/app/features/redirect-with-toast.server.ts +0 -14
  552. package/skills/maestro-examples/references/setlist/setlist-web/app/features/request-context.server.ts +0 -52
  553. package/skills/maestro-examples/references/setlist/setlist-web/app/features/security-headers-middleware.server.ts +0 -10
  554. package/skills/maestro-examples/references/setlist/setlist-web/app/hooks/use-area-actions.ts +0 -44
  555. package/skills/maestro-examples/references/setlist/setlist-web/app/hooks/use-csrf-token.ts +0 -6
  556. package/skills/maestro-examples/references/setlist/setlist-web/app/hooks/use-project-actions.ts +0 -80
  557. package/skills/maestro-examples/references/setlist/setlist-web/app/hooks/use-task-actions.ts +0 -65
  558. package/skills/maestro-examples/references/setlist/setlist-web/app/root.tsx +0 -218
  559. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/areas.$id.delete.tsx +0 -19
  560. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/areas.$id.edit.tsx +0 -27
  561. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/areas.$id.reorder.tsx +0 -30
  562. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/areas.tsx +0 -23
  563. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/projects.$id.complete.tsx +0 -19
  564. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/projects.$id.delete.tsx +0 -19
  565. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/projects.$id.edit.tsx +0 -32
  566. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/projects.$id.move.tsx +0 -23
  567. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/projects.$id.reorder.tsx +0 -30
  568. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/projects.$id.uncomplete.tsx +0 -19
  569. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/projects.tsx +0 -23
  570. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/tasks.$id.complete.tsx +0 -19
  571. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/tasks.$id.delete.tsx +0 -19
  572. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/tasks.$id.edit.tsx +0 -27
  573. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/tasks.$id.move.tsx +0 -30
  574. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/tasks.$id.reorder.tsx +0 -32
  575. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/tasks.$id.uncomplete.tsx +0 -19
  576. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/api/tasks.tsx +0 -23
  577. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/areas.$id.tsx +0 -155
  578. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/auth.login.tsx +0 -98
  579. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/auth.logout.tsx +0 -17
  580. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/auth.verify.tsx +0 -154
  581. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/completed.tsx +0 -121
  582. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/inbox.tsx +0 -68
  583. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/projects.$id.tsx +0 -217
  584. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/today.tsx +0 -86
  585. package/skills/maestro-examples/references/setlist/setlist-web/app/routes/upcoming.tsx +0 -83
  586. package/skills/maestro-examples/references/setlist/setlist-web/app/routes.ts +0 -4
  587. package/skills/maestro-examples/references/setlist/setlist-web/app/services.server.ts +0 -1
  588. package/skills/maestro-examples/references/setlist/setlist-web/app/utils/colors.ts +0 -47
  589. package/skills/maestro-examples/references/setlist/setlist-web/app/utils/compose-refs.ts +0 -35
  590. package/skills/maestro-examples/references/setlist/setlist-web/app/utils/tw.ts +0 -16
  591. package/skills/maestro-examples/references/setlist/setlist-web/app/utils/use-dismiss.ts +0 -27
  592. package/skills/maestro-examples/references/setlist/setlist-web/app/utils/use-fetcher-complete.ts +0 -17
  593. package/skills/maestro-examples/references/setlist/setlist-web/app/utils/use-prevent-default.ts +0 -30
  594. package/skills/maestro-examples/references/setlist/setlist-web/app/utils/use-render-props.ts +0 -42
  595. package/skills/maestro-examples/references/setlist/setlist-web/app/utils/use-spin-delay.ts +0 -27
  596. package/skills/maestro-examples/references/setlist/setlist-web/app/utils/use-stable-accessor.ts +0 -14
  597. package/skills/maestro-examples/references/setlist/setlist-web/environment.d.ts +0 -8
  598. package/skills/maestro-examples/references/setlist/setlist-web/instrument.server.mjs +0 -29
  599. package/skills/maestro-examples/references/setlist/setlist-web/knip.json +0 -3
  600. package/skills/maestro-examples/references/setlist/setlist-web/package.json +0 -52
  601. package/skills/maestro-examples/references/setlist/setlist-web/playwright.config.ts +0 -39
  602. package/skills/maestro-examples/references/setlist/setlist-web/react-router.config.ts +0 -12
  603. package/skills/maestro-examples/references/setlist/setlist-web/tests/areas-create.test.ts +0 -37
  604. package/skills/maestro-examples/references/setlist/setlist-web/tests/areas-delete.test.ts +0 -45
  605. package/skills/maestro-examples/references/setlist/setlist-web/tests/areas-deleted-not-in-sidebar.test.ts +0 -44
  606. package/skills/maestro-examples/references/setlist/setlist-web/tests/areas-detail-view.test.ts +0 -46
  607. package/skills/maestro-examples/references/setlist/setlist-web/tests/areas-edit-title.test.ts +0 -48
  608. package/skills/maestro-examples/references/setlist/setlist-web/tests/areas-expand-collapse.test.ts +0 -50
  609. package/skills/maestro-examples/references/setlist/setlist-web/tests/areas-list-in-sidebar.test.ts +0 -37
  610. package/skills/maestro-examples/references/setlist/setlist-web/tests/areas-reorder-dnd.test.ts +0 -82
  611. package/skills/maestro-examples/references/setlist/setlist-web/tests/auth-logout.test.ts +0 -18
  612. package/skills/maestro-examples/references/setlist/setlist-web/tests/auth-reject-invalid-token.test.ts +0 -35
  613. package/skills/maestro-examples/references/setlist/setlist-web/tests/auth-reject-used-token.test.ts +0 -104
  614. package/skills/maestro-examples/references/setlist/setlist-web/tests/auth-request-magic-link.test.ts +0 -29
  615. package/skills/maestro-examples/references/setlist/setlist-web/tests/auth-verify-via-pasted-token.test.ts +0 -52
  616. package/skills/maestro-examples/references/setlist/setlist-web/tests/auth-verify-via-url.test.ts +0 -48
  617. package/skills/maestro-examples/references/setlist/setlist-web/tests/auth.setup.ts +0 -55
  618. package/skills/maestro-examples/references/setlist/setlist-web/tests/constants.ts +0 -13
  619. package/skills/maestro-examples/references/setlist/setlist-web/tests/dnd-inbox-to-area.test.ts +0 -74
  620. package/skills/maestro-examples/references/setlist/setlist-web/tests/dnd-inbox-to-project.test.ts +0 -73
  621. package/skills/maestro-examples/references/setlist/setlist-web/tests/dnd-move-to-inbox.test.ts +0 -51
  622. package/skills/maestro-examples/references/setlist/setlist-web/tests/dnd-project-to-area.test.ts +0 -76
  623. package/skills/maestro-examples/references/setlist/setlist-web/tests/dnd-project-to-project.test.ts +0 -75
  624. package/skills/maestro-examples/references/setlist/setlist-web/tests/home.test.ts +0 -27
  625. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-complete.test.ts +0 -53
  626. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-completed-not-in-sidebar.test.ts +0 -46
  627. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-create-in-area.test.ts +0 -55
  628. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-create-top-level.test.ts +0 -37
  629. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-delete.test.ts +0 -55
  630. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-edit-notes-date.test.ts +0 -69
  631. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-edit-title.test.ts +0 -48
  632. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-move-into-area.test.ts +0 -72
  633. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-move-out-of-area.test.ts +0 -76
  634. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-reorder-top-level.test.ts +0 -82
  635. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-reorder-within-area.test.ts +0 -91
  636. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-uncomplete.test.ts +0 -39
  637. package/skills/maestro-examples/references/setlist/setlist-web/tests/projects-view-tasks.test.ts +0 -48
  638. package/skills/maestro-examples/references/setlist/setlist-web/tests/tasks-complete-removes-from-active-views.test.ts +0 -52
  639. package/skills/maestro-examples/references/setlist/setlist-web/tests/tasks-complete.test.ts +0 -46
  640. package/skills/maestro-examples/references/setlist/setlist-web/tests/tasks-create-in-inbox.test.ts +0 -19
  641. package/skills/maestro-examples/references/setlist/setlist-web/tests/tasks-create-in-project.test.ts +0 -44
  642. package/skills/maestro-examples/references/setlist/setlist-web/tests/tasks-delete.test.ts +0 -52
  643. package/skills/maestro-examples/references/setlist/setlist-web/tests/tasks-edit.test.ts +0 -73
  644. package/skills/maestro-examples/references/setlist/setlist-web/tests/tasks-reorder-in-project.test.ts +0 -81
  645. package/skills/maestro-examples/references/setlist/setlist-web/tests/tasks-reorder-inbox.test.ts +0 -80
  646. package/skills/maestro-examples/references/setlist/setlist-web/tests/tasks-reorder-today.test.ts +0 -103
  647. package/skills/maestro-examples/references/setlist/setlist-web/tests/tasks-uncomplete.test.ts +0 -51
  648. package/skills/maestro-examples/references/setlist/setlist-web/tests/tasks-view-details.test.ts +0 -51
  649. package/skills/maestro-examples/references/setlist/setlist-web/tests/views-active-sidebar-highlight.test.ts +0 -38
  650. package/skills/maestro-examples/references/setlist/setlist-web/tests/views-inbox-unassigned-only.test.ts +0 -43
  651. package/skills/maestro-examples/references/setlist/setlist-web/tests/views-navigate-to-completed.test.ts +0 -59
  652. package/skills/maestro-examples/references/setlist/setlist-web/tests/views-navigate-to-inbox.test.ts +0 -21
  653. package/skills/maestro-examples/references/setlist/setlist-web/tests/views-navigate-to-today.test.ts +0 -42
  654. package/skills/maestro-examples/references/setlist/setlist-web/tests/views-navigate-to-upcoming.test.ts +0 -59
  655. package/skills/maestro-examples/references/setlist/setlist-web/tests/views-sidebar-built-in-views.test.ts +0 -23
  656. package/skills/maestro-examples/references/setlist/setlist-web/tests/views-today-shows-overdue.test.ts +0 -48
  657. package/skills/maestro-examples/references/setlist/setlist-web/tsconfig.json +0 -22
  658. package/skills/maestro-examples/references/setlist/setlist-web/vite.config.ts +0 -37
  659. package/skills/maestro-examples/references/setlist/specs/app.md +0 -69
  660. package/skills/maestro-examples/references/setlist/specs/data-models.md +0 -92
  661. package/skills/maestro-examples/references/setlist/specs/database-schema.md +0 -76
  662. package/skills/maestro-examples/references/setlist/specs/drag-and-drop.md +0 -89
  663. package/skills/maestro-examples/references/setlist/specs/magic-link-login.md +0 -300
  664. package/skills/maestro-examples/references/setlist/specs/position-ordering.md +0 -329
  665. package/skills/maestro-examples/references/setlist/specs/sidebar.md +0 -65
  666. package/skills/maestro-examples/references/setlist/specs/use-cases.md +0 -55
  667. package/skills/maestro-examples/references/setlist/tsconfig.json +0 -28
  668. package/skills/maestro-packages/permissions.md +0 -215
  669. package/skills/maestro-packages/queue.md +0 -442
  670. package/skills/maestro-packages/recurring-jobs.md +0 -238
  671. package/skills/react-use-effect/SKILL.md +0 -65
  672. package/skills/react-use-effect/references/patterns.md +0 -283
  673. /package/{skills → dist}/maestro-cli/SKILL.md +0 -0
  674. /package/{skills → dist}/maestro-packages/broadcast.md +0 -0
  675. /package/{skills → dist}/maestro-packages/cache-control.md +0 -0
  676. /package/{skills → dist}/maestro-packages/cache.md +0 -0
  677. /package/{skills → dist}/maestro-packages/config.md +0 -0
  678. /package/{skills → dist}/maestro-packages/context.md +0 -0
  679. /package/{skills → dist}/maestro-packages/crypt.md +0 -0
  680. /package/{skills → dist}/maestro-packages/db.md +0 -0
  681. /package/{skills → dist}/maestro-packages/events.md +0 -0
  682. /package/{skills → dist}/maestro-packages/exceptions.md +0 -0
  683. /package/{skills → dist}/maestro-packages/form.md +0 -0
  684. /package/{skills → dist}/maestro-packages/hash.md +0 -0
  685. /package/{skills → dist}/maestro-packages/helpers.md +0 -0
  686. /package/{skills → dist}/maestro-packages/log.md +0 -0
  687. /package/{skills → dist}/maestro-packages/mail.md +0 -0
  688. /package/{skills → dist}/maestro-packages/metrics.md +0 -0
  689. /package/{skills → dist}/maestro-packages/rate-limiting.md +0 -0
  690. /package/{skills → dist}/maestro-packages/react-router-file-routes.md +0 -0
  691. /package/{skills → dist}/maestro-packages/sql.md +0 -0
@@ -1,268 +0,0 @@
1
- // From @maestro-js/components
2
- // Install with: pnpm maestro components:add image-input --directory app
3
-
4
- import * as React from 'react'
5
- import { HeadlessForm } from '@maestro-js/form'
6
- import type { ValidationFunction, ValidationResult } from '@maestro-js/form'
7
- import { tw } from '../utils/tw'
8
- import { formatFileSize, checkFileType, checkFileMaxSize } from '../utils/file-input'
9
- import { FormFieldComponents } from './helpers/form-field'
10
- import { HeadlessFileInput } from './headless-file-input'
11
- import { Icon } from './icon'
12
-
13
- export type ImageInputProps = {
14
- // Form identification
15
- name?: string
16
- form?: string
17
-
18
- // Display elements
19
- label?: React.ReactNode
20
- cornerHint?: React.ReactNode
21
- helpText?: React.ReactNode
22
- warningMessage?: React.ReactNode
23
- emptyState?: React.ReactNode
24
- renderPreview?: (props: ImageInputPreviewProps) => React.ReactNode
25
-
26
- // Validation and state
27
- isRequired?: boolean
28
- isDisabled?: boolean
29
- isInvalid?: boolean
30
- validate?: ValidationFunction<string | File | null>
31
- errorMessage?: React.ReactNode | ((v: ValidationResult) => React.ReactNode)
32
-
33
- // Value management (File object or string URL, held in memory until form submit)
34
- value?: string | File | null
35
- defaultValue?: string | File | null
36
- onChange?: (value: string | File | null) => void
37
-
38
- // Image specific
39
- accept?: string
40
- maxSize?: number // in bytes
41
- }
42
-
43
- export interface ImageInputPreviewProps {
44
- fileUrl: string
45
- isDisabled: boolean
46
- onChange(value: string | null | File): unknown
47
- inputId: string
48
- name: string | undefined
49
- accept: string | undefined
50
- inputRef: React.Ref<HTMLInputElement>
51
- }
52
-
53
- export function ImageInput(props: ImageInputProps) {
54
- const inputRef = React.useRef<HTMLInputElement>(null)
55
- const helpTextId = React.useId()
56
- const inputId = React.useId()
57
-
58
- const exceededMaxSizeFn = React.useCallback(
59
- (value: string | File | null) => {
60
- if (value && props.maxSize && value instanceof File) {
61
- return checkFileMaxSize(value, props.maxSize)
62
- }
63
- return null
64
- },
65
- [props.maxSize]
66
- )
67
-
68
- const formatNotSupportedFn = React.useCallback(
69
- (value: string | File | null) => {
70
- if (value instanceof File) {
71
- return checkFileType(value, props.accept ?? 'image/*')
72
- }
73
- return null
74
- },
75
- [props.accept]
76
- )
77
-
78
- // Controlled state management
79
- const [value, setValue] = HeadlessForm.useControlledState(props.value, props.defaultValue ?? null, (value) => {
80
- if (props.onChange) {
81
- props.onChange(value)
82
- }
83
- })
84
-
85
- const exceededMaxSize = React.useMemo(() => exceededMaxSizeFn(value), [value, exceededMaxSizeFn])
86
- const formatNotSupported = React.useMemo(() => formatNotSupportedFn(value), [value, formatNotSupportedFn])
87
-
88
- // Form validation
89
- const {
90
- validationMessage,
91
- isInvalid: validationInvalid,
92
- commitValidation
93
- } = HeadlessForm.useValidation(
94
- {
95
- validate: props.validate,
96
- value,
97
- name: props.name,
98
- isRequired: props.isRequired,
99
- form: props.form,
100
- focus() {
101
- inputRef.current?.focus()
102
- }
103
- },
104
- inputRef
105
- )
106
-
107
- const isInvalid = props.isInvalid || validationInvalid || Boolean(exceededMaxSize || formatNotSupported)
108
- const hasWarning = Boolean(props.warningMessage) && !isInvalid
109
- const errorMessage = exceededMaxSize || formatNotSupported || validationMessage
110
-
111
- const ImagePreview = props.renderPreview ?? DefaultImageInputPreview
112
-
113
- const accept = props.accept ?? 'image/*'
114
-
115
- const emptyState = props.emptyState ?? (
116
- <div className="px-6 py-12">
117
- <Icon name="photo" className="h-12 w-12 mx-auto mb-3 text-neutral-400" />
118
- <p className="text-sm text-neutral-600 font-medium">Click to upload or drag and drop</p>
119
- <p className="text-xs text-neutral-500 mt-1">{accept}</p>
120
- {props.maxSize ? <p className="text-xs text-neutral-500 mt-1">Max size: {formatFileSize(props.maxSize)}</p> : null}
121
- </div>
122
- )
123
-
124
- return (
125
- <HeadlessFileInput
126
- value={value}
127
- onChange={(v) => {
128
- setValue(v)
129
- commitValidation()
130
- }}
131
- >
132
- <div className="relative">
133
- <FormFieldComponents.LabelRow label={props.label} cornerHint={props.cornerHint} htmlFor={inputId} />
134
-
135
- <HeadlessFileInput.Preview>
136
- {(files) => {
137
- const hasFile = files.length > 0
138
- return (
139
- <div
140
- className={tw(
141
- 'image-input-border relative block w-full rounded-md overflow-hidden text-center focus:outline-none focus-within:ring-2 focus-within:ring-primary-500 focus-within:ring-offset-2',
142
- 'border-2 border-neutral-200 hover:border-neutral-300 min-h-56',
143
- !hasFile && 'border-dashed',
144
- props.isDisabled && 'border-neutral-100 cursor-not-allowed',
145
- hasWarning &&
146
- 'border-notice-300 hover:border-notice-400 text-notice-900 placeholder-notice-300 focus-within:border-notice-500 focus-within:ring-notice-500',
147
- isInvalid &&
148
- 'border-negative-300 hover:border-negative-400 text-negative-900 placeholder-negative-300 focus-within:border-negative-500 focus-within:ring-negative-500'
149
- )}
150
- >
151
- {hasFile ? (
152
- ImagePreview({
153
- isDisabled: !!props.isDisabled,
154
- fileUrl: files[0]!.fileUrl,
155
- onChange: (v) => {
156
- setValue(v)
157
- commitValidation()
158
- },
159
- inputId,
160
- inputRef,
161
- name: props.name,
162
- accept
163
- })
164
- ) : (
165
- <HeadlessFileInput.DropZone
166
- inputRef={inputRef}
167
- accept={accept}
168
- name={props.name}
169
- inputId={inputId}
170
- disabled={props.isDisabled}
171
- className="size-full"
172
- >
173
- {({ dragOver }) => (
174
- <div className="relative pointer-events-none">
175
- {emptyState}
176
- {dragOver ? (
177
- <div className="absolute inset-0">
178
- <DragOverContent />
179
- </div>
180
- ) : null}
181
- </div>
182
- )}
183
- </HeadlessFileInput.DropZone>
184
- )}
185
- </div>
186
- )
187
- }}
188
- </HeadlessFileInput.Preview>
189
-
190
- <FormFieldComponents.FormFieldHelpText
191
- id={helpTextId}
192
- isInvalid={isInvalid}
193
- validationMessage={errorMessage}
194
- hasWarning={hasWarning}
195
- warningMessage={props.warningMessage}
196
- helpText={props.helpText}
197
- />
198
- </div>
199
- </HeadlessFileInput>
200
- )
201
- }
202
-
203
- function DragOverContent() {
204
- return (
205
- <div
206
- className="absolute inset-0 p-12 rounded flex items-center justify-center"
207
- style={{
208
- background: `repeating-linear-gradient(45deg, #e5e7eb, #e5e7eb 20px, #d1d5db 20px, #d1d5db 50px)`
209
- }}
210
- >
211
- <div>
212
- <Icon name="cloud-arrow-up" className="h-12 w-12 mx-auto text-gray-400" />
213
- <span className="mt-2 block text-sm font-semibold text-gray-900">Upload an Image</span>
214
- </div>
215
- </div>
216
- )
217
- }
218
-
219
- export function DefaultImageInputPreview({
220
- name,
221
- accept,
222
- fileUrl,
223
- inputRef,
224
- isDisabled,
225
- onChange,
226
- inputId
227
- }: ImageInputPreviewProps) {
228
- return (
229
- <>
230
- <HeadlessFileInput.DropZone
231
- inputRef={inputRef}
232
- accept={accept ?? 'image/*'}
233
- name={name}
234
- inputId={inputId}
235
- disabled={isDisabled}
236
- >
237
- {({ dragOver }) => (
238
- <div className="min-h-56 pointer-events-none">
239
- {dragOver ? (
240
- <div className="absolute inset-0">
241
- <DragOverContent />
242
- </div>
243
- ) : null}
244
- <div className="relative">
245
- <div
246
- aria-hidden="true"
247
- className="absolute inset-x-0 top-0 rounded-t-md h-20 bg-gradient-to-b from-white opacity-75 mix-blend-lighten"
248
- />
249
- <img src={fileUrl} alt="Preview" className="w-full object-cover rounded-md" />
250
- </div>
251
- </div>
252
- )}
253
- </HeadlessFileInput.DropZone>
254
- <div className="absolute top-2 right-2">
255
- {!isDisabled ? (
256
- <button
257
- type="button"
258
- aria-label="Remove"
259
- onClick={() => onChange(null)}
260
- className="p-1 h-5 w-5 flex items-center justify-center bg-gray-800/60 hover:bg-gray-500/60 rounded-full transition-colors"
261
- >
262
- <Icon name="x-mark" className="h-4 w-4 text-gray-200" />
263
- </button>
264
- ) : null}
265
- </div>
266
- </>
267
- )
268
- }
@@ -1,57 +0,0 @@
1
- // From @maestro-js/components
2
- // Install with: pnpm maestro components:add inline-alert --directory app
3
-
4
- import * as React from 'react'
5
- import { tw } from '../utils/tw'
6
- import { Icon } from './icon'
7
-
8
- export type InlineAlertProps = {
9
- children?: React.ReactNode
10
- variant: 'info' | 'positive' | 'notice' | 'negative' | 'neutral'
11
- icon?: React.ReactNode
12
- className?: string
13
- title?: React.ReactNode
14
- description?: React.ReactNode
15
- actions?: React.ReactNode
16
- }
17
-
18
- const variantClasses = {
19
- info: 'bg-info-50 text-info-800 border-info-200',
20
- positive: 'bg-positive-50 text-positive-800 border-positive-200',
21
- notice: 'bg-notice-50 text-notice-800 border-notice-200',
22
- negative: 'bg-negative-50 text-negative-800 border-negative-200',
23
- neutral: 'bg-neutral-50 text-neutral-700 border-neutral-200'
24
- }
25
-
26
- const defaultIconNames = {
27
- info: 'information-circle',
28
- positive: 'check',
29
- notice: 'exclamation-triangle',
30
- negative: 'x-mark',
31
- neutral: 'information-circle'
32
- } as const
33
-
34
- export function InlineAlert({ children, actions, variant, icon, className, title, description }: InlineAlertProps) {
35
- const displayIcon = icon !== undefined ? icon : <Icon name={defaultIconNames[variant]} className="h-5 w-5" />
36
-
37
- return (
38
- <div
39
- className={tw(
40
- 'rounded-lg border px-4 py-3 flex gap-3 items-start justify-between text-left',
41
- variantClasses[variant],
42
- className
43
- )}
44
- role="alert"
45
- >
46
- <div className="flex gap-3 items-start">
47
- {displayIcon && <div className="flex-shrink-0">{displayIcon}</div>}
48
- <div className="flex-1 gap-1">
49
- {title && <div className={tw('font-semibold text-sm')}>{title}</div>}
50
- {description && <div className="text-sm">{description}</div>}
51
- {children && <div className="text-sm">{children}</div>}
52
- </div>
53
- </div>
54
- {actions}
55
- </div>
56
- )
57
- }
@@ -1,48 +0,0 @@
1
- import { useFetcher } from 'react-router'
2
- import { CsrfHiddenInput } from '../features/csrf-hidden-input'
3
- import { useProfile } from '../utils/use-profile'
4
- import { tw } from '../utils/tw'
5
- import { Icon } from './icon'
6
-
7
- export interface LikeButtonProps {
8
- postId: number
9
- liked: boolean
10
- count: number
11
- compact?: boolean
12
- }
13
-
14
- export function LikeButton({ postId, liked, count, compact }: LikeButtonProps) {
15
- const profile = useProfile()
16
- const loggedIn = profile != null
17
- const fetcher = useFetcher()
18
-
19
- const optimisticLiked = fetcher.formData ? fetcher.formData.get('liked') === 'true' : liked
20
- const optimisticCount = fetcher.formData
21
- ? count + (optimisticLiked === liked ? 0 : optimisticLiked ? 1 : -1)
22
- : count
23
-
24
- return (
25
- <fetcher.Form method="post" action={`/api/like/${postId}`} className="flex items-center">
26
- <CsrfHiddenInput />
27
- <input type="hidden" name="intent" value={liked ? 'unlike' : 'like'} />
28
- <input type="hidden" name="liked" value={String(!liked)} />
29
- <button
30
- type="submit"
31
- disabled={!loggedIn}
32
- className={tw(
33
- 'inline-flex items-center gap-1',
34
- compact ? 'text-sm' : 'text-base',
35
- !loggedIn
36
- ? 'text-neutral-400 cursor-not-allowed'
37
- : optimisticLiked
38
- ? 'text-red-500'
39
- : 'text-neutral-500 hover:text-neutral-700'
40
- )}
41
- aria-label={optimisticLiked ? `Unlike post (${optimisticCount} likes)` : `Like post (${optimisticCount} likes)`}
42
- >
43
- <Icon name={optimisticLiked ? 'heart-solid' : 'heart'} className={compact ? 'size-4' : 'size-5'} />
44
- <span>{optimisticCount}</span>
45
- </button>
46
- </fetcher.Form>
47
- )
48
- }
@@ -1,189 +0,0 @@
1
- // From @maestro-js/components
2
- // Install with: pnpm maestro components:add menu --directory app
3
-
4
- import * as React from 'react'
5
- import {
6
- Menu as AriaMenu,
7
- MenuItem as AriaMenuItem,
8
- MenuSection as AriaMenuSection,
9
- MenuTrigger as AriaMenuTrigger,
10
- Pressable,
11
- Separator as AriaSeparator
12
- } from 'react-aria-components'
13
- import { Link, useHref, type RelativeRoutingType, type To } from 'react-router'
14
- import { AnimatedPopover } from './helpers/animated-popover'
15
- import { tw } from '../utils/tw'
16
-
17
- // ── Types ──────────────────────────────────────────────────────────────────────
18
-
19
- export type MenuProps = {
20
- /** Trigger element. Can be a ReactNode or render function receiving `{ isOpen }`. */
21
- Button: React.ReactNode | ((props: { isOpen: boolean }) => React.ReactElement)
22
- children?: React.ReactNode
23
- className?: string
24
- containerClassName?: string
25
- placement?: 'bottom' | 'bottom start' | 'bottom end' | 'top' | 'top start' | 'top end' | 'left' | 'right'
26
- }
27
-
28
- export type MenuItemProps = {
29
- children?: React.ReactNode
30
- className?: string
31
- isDisabled?: boolean
32
- id?: string
33
- textValue?: string
34
- type?: 'button' | 'submit'
35
- onAction?: () => void
36
- onClick?: ((e: React.MouseEvent<Element & HTMLOrSVGElement, MouseEvent>) => void) | undefined
37
- form?: string
38
- name?: string
39
- value?: string
40
- }
41
-
42
- export type MenuLinkItemProps = {
43
- to: To
44
- relative?: RelativeRoutingType
45
- children?: React.ReactNode
46
- className?: string
47
- isDisabled?: boolean
48
- target?: React.HTMLAttributeAnchorTarget
49
- rel?: string
50
- id?: string
51
- textValue?: string
52
- }
53
-
54
- export type MenuGroupProps = {
55
- children?: React.ReactNode
56
- }
57
-
58
- // ── Helpers ──────────────────────────────────────────────────────────────────
59
-
60
- function itemClassName({ isFocused, isDisabled }: { isFocused: boolean; isDisabled: boolean }, className?: string) {
61
- return tw(
62
- isFocused ? 'bg-neutral-50 text-neutral-900' : 'text-neutral-700',
63
- 'group flex w-full items-center px-4 py-2 text-sm gap-2 outline-none',
64
- isDisabled ? 'cursor-not-allowed opacity-50' : 'cursor-pointer',
65
- className
66
- )
67
- }
68
-
69
- // ── MenuMain ──────────────────────────────────────────────────────────────────
70
-
71
- function MenuMain({ Button: ButtonProp, children, className, containerClassName, placement = 'bottom end' }: MenuProps) {
72
- const [isOpen, setIsOpen] = React.useState(false)
73
-
74
- const triggerContent = typeof ButtonProp === 'function' ? ButtonProp({ isOpen }) : ButtonProp
75
-
76
- return (
77
- <div className={tw('relative inline-block text-left', containerClassName)}>
78
- <AriaMenuTrigger isOpen={isOpen} onOpenChange={setIsOpen}>
79
- <Pressable>
80
- {React.isValidElement(triggerContent) ? (
81
- triggerContent
82
- ) : (
83
- <button type="button" className="inline-flex items-center focus:outline-none">
84
- {triggerContent}
85
- </button>
86
- )}
87
- </Pressable>
88
- <AnimatedPopover placement={placement} offset={8}>
89
- <AriaMenu
90
- className={tw(
91
- 'overflow-hidden min-w-56 w-max rounded-lg bg-white py-1 shadow-lg ring-1 ring-black/5 focus:outline-none',
92
- className
93
- )}
94
- autoFocus="first"
95
- >
96
- {children}
97
- </AriaMenu>
98
- </AnimatedPopover>
99
- </AriaMenuTrigger>
100
- </div>
101
- )
102
- }
103
-
104
- MenuMain.displayName = 'Menu'
105
-
106
- // ── MenuItem ──────────────────────────────────────────────────────────────────
107
-
108
- function Item({
109
- children,
110
- className,
111
- isDisabled,
112
- id,
113
- textValue,
114
- type,
115
- onAction,
116
- onClick,
117
- form,
118
- name,
119
- value
120
- }: MenuItemProps) {
121
- const itemRef = React.useRef<HTMLDivElement>(null)
122
- const isSubmit = type === 'submit'
123
-
124
- return (
125
- <AriaMenuItem
126
- id={id}
127
- ref={isSubmit ? itemRef : undefined}
128
- onClick={onClick}
129
- textValue={textValue ?? (typeof children === 'string' ? children : undefined)}
130
- onAction={
131
- isSubmit
132
- ? () => {
133
- onAction?.()
134
- const targetForm = form
135
- ? (document.getElementById(form) as HTMLFormElement | null)
136
- : (itemRef.current?.closest('form') ?? null)
137
- if (!targetForm) return
138
- targetForm.requestSubmit()
139
- }
140
- : onAction
141
- }
142
- isDisabled={isDisabled}
143
- className={(renderProps) => itemClassName(renderProps, className)}
144
- >
145
- {children}
146
- {isSubmit && <input type="submit" className="sr-only" name={name} value={value ?? ''} form={form} />}
147
- </AriaMenuItem>
148
- )
149
- }
150
-
151
- // ── LinkItem ──────────────────────────────────────────────────────────────────
152
-
153
- function LinkItem({ to, children, className, relative, isDisabled, target, rel, id, textValue }: MenuLinkItemProps) {
154
- return (
155
- <AriaMenuItem
156
- id={id}
157
- href={useHref(to, { relative })}
158
- target={target}
159
- rel={rel}
160
- textValue={textValue ?? (typeof children === 'string' ? children : undefined)}
161
- isDisabled={isDisabled}
162
- className={(renderProps) => itemClassName(renderProps, className)}
163
- render={(props) => <Link {...(props as React.AnchorHTMLAttributes<HTMLAnchorElement>)} relative={relative} to={to} />}
164
- >
165
- {children}
166
- </AriaMenuItem>
167
- )
168
- }
169
-
170
- // ── Group ─────────────────────────────────────────────────────────────────────
171
-
172
- function Group({ children }: MenuGroupProps) {
173
- return <AriaMenuSection className="py-1">{children}</AriaMenuSection>
174
- }
175
-
176
- // ── Separator ─────────────────────────────────────────────────────────────────
177
-
178
- function MenuSeparator() {
179
- return <AriaSeparator className="border-t border-neutral-950/5" />
180
- }
181
-
182
- // ── Export ─────────────────────────────────────────────────────────────────────
183
-
184
- export const Menu = Object.assign(MenuMain, {
185
- Item,
186
- LinkItem,
187
- Group,
188
- Separator: MenuSeparator
189
- })