@pasosdejesus/m 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/dist/blockchain/deployments.d.ts +40 -0
  2. package/dist/blockchain/deployments.d.ts.map +1 -0
  3. package/dist/blockchain/deployments.js +64 -0
  4. package/dist/debug/DebugConsole.d.ts +22 -0
  5. package/dist/debug/DebugConsole.d.ts.map +1 -0
  6. package/dist/debug/DebugConsole.js +79 -0
  7. package/dist/debug/Logger.d.ts +38 -0
  8. package/dist/debug/Logger.d.ts.map +1 -0
  9. package/dist/debug/Logger.js +94 -0
  10. package/dist/debug/index.d.ts +6 -0
  11. package/dist/debug/index.d.ts.map +1 -0
  12. package/dist/debug/index.js +4 -0
  13. package/dist/debug/useLogger.d.ts +14 -0
  14. package/dist/debug/useLogger.d.ts.map +1 -0
  15. package/dist/debug/useLogger.js +23 -0
  16. package/dist/debug/utils.d.ts +10 -0
  17. package/dist/debug/utils.d.ts.map +1 -0
  18. package/dist/debug/utils.js +53 -0
  19. package/dist/e2e/assertions.d.ts +5 -0
  20. package/dist/e2e/assertions.d.ts.map +1 -0
  21. package/dist/e2e/assertions.js +18 -0
  22. package/dist/e2e/browser.d.ts +37 -0
  23. package/dist/e2e/browser.d.ts.map +1 -0
  24. package/dist/e2e/browser.js +97 -0
  25. package/dist/e2e/env.d.ts +18 -0
  26. package/dist/e2e/env.d.ts.map +1 -0
  27. package/dist/e2e/env.js +57 -0
  28. package/dist/e2e/index.d.ts +11 -0
  29. package/dist/e2e/index.d.ts.map +1 -0
  30. package/dist/e2e/index.js +8 -0
  31. package/dist/e2e/navigation.d.ts +4 -0
  32. package/dist/e2e/navigation.d.ts.map +1 -0
  33. package/dist/e2e/navigation.js +32 -0
  34. package/dist/e2e/siwe-mock.d.ts +11 -0
  35. package/dist/e2e/siwe-mock.d.ts.map +1 -0
  36. package/dist/e2e/siwe-mock.js +112 -0
  37. package/dist/e2e/siwe.d.ts +15 -0
  38. package/dist/e2e/siwe.d.ts.map +1 -0
  39. package/dist/e2e/siwe.js +85 -0
  40. package/dist/e2e/wallet-mock.d.ts +13 -0
  41. package/dist/e2e/wallet-mock.d.ts.map +1 -0
  42. package/dist/e2e/wallet-mock.js +91 -0
  43. package/dist/i18n/common-cli.d.ts +11 -0
  44. package/dist/i18n/common-cli.d.ts.map +1 -0
  45. package/dist/i18n/common-cli.js +22 -0
  46. package/dist/i18n/createTranslator.d.ts +28 -0
  47. package/dist/i18n/createTranslator.d.ts.map +1 -0
  48. package/dist/i18n/createTranslator.js +48 -0
  49. package/dist/i18n/index.d.ts +4 -0
  50. package/dist/i18n/index.d.ts.map +1 -0
  51. package/dist/i18n/index.js +2 -0
  52. package/dist/i18n/locales/cli.d.ts +3 -0
  53. package/dist/i18n/locales/cli.d.ts.map +1 -0
  54. package/dist/i18n/locales/cli.js +180 -0
  55. package/dist/i18n/types.d.ts +3 -0
  56. package/dist/i18n/types.d.ts.map +1 -0
  57. package/dist/i18n/types.js +1 -0
  58. package/dist/index.d.ts +2 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +15 -0
  61. package/dist/index.test.d.ts +2 -0
  62. package/dist/index.test.d.ts.map +1 -0
  63. package/dist/index.test.js +10 -0
  64. package/dist/m.d.ts +2 -0
  65. package/dist/m.d.ts.map +1 -0
  66. package/dist/m.js +334 -0
  67. package/dist/plugin.d.ts +10 -0
  68. package/dist/plugin.d.ts.map +1 -0
  69. package/dist/plugin.js +7 -0
  70. package/dist/shadcn_components/cn.d.ts +13 -0
  71. package/dist/shadcn_components/cn.d.ts.map +1 -0
  72. package/dist/shadcn_components/cn.js +15 -0
  73. package/dist/shadcn_components/ui/accordion.d.ts +8 -0
  74. package/dist/shadcn_components/ui/accordion.d.ts.map +1 -0
  75. package/dist/shadcn_components/ui/accordion.js +14 -0
  76. package/dist/shadcn_components/ui/alert-dialog.d.ts +21 -0
  77. package/dist/shadcn_components/ui/alert-dialog.d.ts.map +1 -0
  78. package/dist/shadcn_components/ui/alert-dialog.js +27 -0
  79. package/dist/shadcn_components/ui/alert.d.ts +9 -0
  80. package/dist/shadcn_components/ui/alert.d.ts.map +1 -0
  81. package/dist/shadcn_components/ui/alert.js +22 -0
  82. package/dist/shadcn_components/ui/avatar.d.ts +7 -0
  83. package/dist/shadcn_components/ui/avatar.d.ts.map +1 -0
  84. package/dist/shadcn_components/ui/avatar.js +12 -0
  85. package/dist/shadcn_components/ui/badge.d.ts +10 -0
  86. package/dist/shadcn_components/ui/badge.d.ts.map +1 -0
  87. package/dist/shadcn_components/ui/badge.js +22 -0
  88. package/dist/shadcn_components/ui/button.d.ts +11 -0
  89. package/dist/shadcn_components/ui/button.d.ts.map +1 -0
  90. package/dist/shadcn_components/ui/button.js +31 -0
  91. package/dist/shadcn_components/ui/card.d.ts +10 -0
  92. package/dist/shadcn_components/ui/card.d.ts.map +1 -0
  93. package/dist/shadcn_components/ui/card.js +24 -0
  94. package/dist/shadcn_components/ui/checkbox.d.ts +5 -0
  95. package/dist/shadcn_components/ui/checkbox.d.ts.map +1 -0
  96. package/dist/shadcn_components/ui/checkbox.js +9 -0
  97. package/dist/shadcn_components/ui/dialog.d.ts +20 -0
  98. package/dist/shadcn_components/ui/dialog.d.ts.map +1 -0
  99. package/dist/shadcn_components/ui/dialog.js +23 -0
  100. package/dist/shadcn_components/ui/dropdown-menu.d.ts +28 -0
  101. package/dist/shadcn_components/ui/dropdown-menu.d.ts.map +1 -0
  102. package/dist/shadcn_components/ui/dropdown-menu.js +36 -0
  103. package/dist/shadcn_components/ui/form.d.ts +24 -0
  104. package/dist/shadcn_components/ui/form.d.ts.map +1 -0
  105. package/dist/shadcn_components/ui/form.js +63 -0
  106. package/dist/shadcn_components/ui/input.d.ts +4 -0
  107. package/dist/shadcn_components/ui/input.d.ts.map +1 -0
  108. package/dist/shadcn_components/ui/input.js +6 -0
  109. package/dist/shadcn_components/ui/label.d.ts +6 -0
  110. package/dist/shadcn_components/ui/label.d.ts.map +1 -0
  111. package/dist/shadcn_components/ui/label.js +10 -0
  112. package/dist/shadcn_components/ui/menubar.d.ts +29 -0
  113. package/dist/shadcn_components/ui/menubar.d.ts.map +1 -0
  114. package/dist/shadcn_components/ui/menubar.js +46 -0
  115. package/dist/shadcn_components/ui/popover.d.ts +7 -0
  116. package/dist/shadcn_components/ui/popover.d.ts.map +1 -0
  117. package/dist/shadcn_components/ui/popover.js +10 -0
  118. package/dist/shadcn_components/ui/progress.d.ts +5 -0
  119. package/dist/shadcn_components/ui/progress.d.ts.map +1 -0
  120. package/dist/shadcn_components/ui/progress.js +8 -0
  121. package/dist/shadcn_components/ui/radio-group.d.ts +6 -0
  122. package/dist/shadcn_components/ui/radio-group.d.ts.map +1 -0
  123. package/dist/shadcn_components/ui/radio-group.js +15 -0
  124. package/dist/shadcn_components/ui/scroll-area.d.ts +6 -0
  125. package/dist/shadcn_components/ui/scroll-area.d.ts.map +1 -0
  126. package/dist/shadcn_components/ui/scroll-area.js +12 -0
  127. package/dist/shadcn_components/ui/select.d.ts +14 -0
  128. package/dist/shadcn_components/ui/select.d.ts.map +1 -0
  129. package/dist/shadcn_components/ui/select.js +27 -0
  130. package/dist/shadcn_components/ui/separator.d.ts +5 -0
  131. package/dist/shadcn_components/ui/separator.d.ts.map +1 -0
  132. package/dist/shadcn_components/ui/separator.js +8 -0
  133. package/dist/shadcn_components/ui/sheet.d.ts +26 -0
  134. package/dist/shadcn_components/ui/sheet.d.ts.map +1 -0
  135. package/dist/shadcn_components/ui/sheet.js +37 -0
  136. package/dist/shadcn_components/ui/skeleton.d.ts +3 -0
  137. package/dist/shadcn_components/ui/skeleton.d.ts.map +1 -0
  138. package/dist/shadcn_components/ui/skeleton.js +6 -0
  139. package/dist/shadcn_components/ui/slider.d.ts +5 -0
  140. package/dist/shadcn_components/ui/slider.d.ts.map +1 -0
  141. package/dist/shadcn_components/ui/slider.js +8 -0
  142. package/dist/shadcn_components/ui/switch.d.ts +5 -0
  143. package/dist/shadcn_components/ui/switch.d.ts.map +1 -0
  144. package/dist/shadcn_components/ui/switch.js +8 -0
  145. package/dist/shadcn_components/ui/table.d.ts +11 -0
  146. package/dist/shadcn_components/ui/table.d.ts.map +1 -0
  147. package/dist/shadcn_components/ui/table.js +20 -0
  148. package/dist/shadcn_components/ui/tabs.d.ts +8 -0
  149. package/dist/shadcn_components/ui/tabs.d.ts.map +1 -0
  150. package/dist/shadcn_components/ui/tabs.js +13 -0
  151. package/dist/shadcn_components/ui/textarea.d.ts +4 -0
  152. package/dist/shadcn_components/ui/textarea.d.ts.map +1 -0
  153. package/dist/shadcn_components/ui/textarea.js +8 -0
  154. package/dist/shadcn_components/ui/toast.d.ts +16 -0
  155. package/dist/shadcn_components/ui/toast.d.ts.map +1 -0
  156. package/dist/shadcn_components/ui/toast.js +34 -0
  157. package/dist/shadcn_components/ui/toaster.d.ts +2 -0
  158. package/dist/shadcn_components/ui/toaster.d.ts.map +1 -0
  159. package/dist/shadcn_components/ui/toaster.js +10 -0
  160. package/dist/shadcn_components/ui/tooltip.d.ts +8 -0
  161. package/dist/shadcn_components/ui/tooltip.d.ts.map +1 -0
  162. package/dist/shadcn_components/ui/tooltip.js +11 -0
  163. package/dist/shadcn_components/ui/use-toast.d.ts +45 -0
  164. package/dist/shadcn_components/ui/use-toast.d.ts.map +1 -0
  165. package/dist/shadcn_components/ui/use-toast.js +126 -0
  166. package/dist/tasks/context.d.ts +13 -0
  167. package/dist/tasks/context.d.ts.map +1 -0
  168. package/dist/tasks/context.js +310 -0
  169. package/dist/tasks/create.d.ts +2 -0
  170. package/dist/tasks/create.d.ts.map +1 -0
  171. package/dist/tasks/create.js +91 -0
  172. package/dist/tasks/db.d.ts +19 -0
  173. package/dist/tasks/db.d.ts.map +1 -0
  174. package/dist/tasks/db.js +791 -0
  175. package/dist/tasks/e2e.d.ts +2 -0
  176. package/dist/tasks/e2e.d.ts.map +1 -0
  177. package/dist/tasks/e2e.js +124 -0
  178. package/dist/tasks/edit.d.ts +7 -0
  179. package/dist/tasks/edit.d.ts.map +1 -0
  180. package/dist/tasks/edit.js +471 -0
  181. package/dist/tasks/engine.d.ts +2 -0
  182. package/dist/tasks/engine.d.ts.map +1 -0
  183. package/dist/tasks/engine.js +149 -0
  184. package/dist/tasks/env-diff.d.ts +2 -0
  185. package/dist/tasks/env-diff.d.ts.map +1 -0
  186. package/dist/tasks/env-diff.js +140 -0
  187. package/dist/tasks/fuzzy.d.ts +9 -0
  188. package/dist/tasks/fuzzy.d.ts.map +1 -0
  189. package/dist/tasks/fuzzy.js +153 -0
  190. package/dist/tasks/glob.d.ts +5 -0
  191. package/dist/tasks/glob.d.ts.map +1 -0
  192. package/dist/tasks/glob.js +57 -0
  193. package/dist/tasks/grep.d.ts +9 -0
  194. package/dist/tasks/grep.d.ts.map +1 -0
  195. package/dist/tasks/grep.js +93 -0
  196. package/dist/tasks/readfile.d.ts +2 -0
  197. package/dist/tasks/readfile.d.ts.map +1 -0
  198. package/dist/tasks/readfile.js +177 -0
  199. package/dist/tasks/update.d.ts +5 -0
  200. package/dist/tasks/update.d.ts.map +1 -0
  201. package/dist/tasks/update.js +200 -0
  202. package/dist/tasks/util.d.ts +12 -0
  203. package/dist/tasks/util.d.ts.map +1 -0
  204. package/dist/tasks/util.js +42 -0
  205. package/dist/tasks/wallet.d.ts +2 -0
  206. package/dist/tasks/wallet.d.ts.map +1 -0
  207. package/dist/tasks/wallet.js +697 -0
  208. package/dist/tasks/writefile.d.ts +2 -0
  209. package/dist/tasks/writefile.d.ts.map +1 -0
  210. package/dist/tasks/writefile.js +66 -0
  211. package/dist/templates/AGENTS.md.hbs +81 -0
  212. package/dist/templates/ARCHITECTURE.md.hbs +146 -0
  213. package/dist/templates/CONTRIBUTING.md.hbs +83 -0
  214. package/dist/templates/LICENCIA.md +21 -0
  215. package/dist/templates/LICENSE.md +15 -0
  216. package/dist/templates/Makefile +16 -0
  217. package/dist/templates/README.md.hbs +111 -0
  218. package/dist/templates/apps/.env.example.hbs +75 -0
  219. package/dist/templates/apps/hardhat/.prettierrc +16 -0
  220. package/dist/templates/apps/hardhat/MOCK_USDT_README.md +20 -0
  221. package/dist/templates/apps/hardhat/Makefile +13 -0
  222. package/dist/templates/apps/hardhat/README.md +129 -0
  223. package/dist/templates/apps/hardhat/bin/MusdtVerification +4 -0
  224. package/dist/templates/apps/hardhat/bin/approveDepositOwner +7 -0
  225. package/dist/templates/apps/hardhat/bin/contractVerification +9 -0
  226. package/dist/templates/apps/hardhat/bin/deployMockUSDT +7 -0
  227. package/dist/templates/apps/hardhat/bin/prepadJ.sh +14 -0
  228. package/dist/templates/apps/hardhat/bin/verifyMockUSDT +7 -0
  229. package/dist/templates/apps/hardhat/contracts/MockUSDT.sol +47 -0
  230. package/dist/templates/apps/hardhat/hardhat.config.ts +102 -0
  231. package/dist/templates/apps/hardhat/package.json +55 -0
  232. package/dist/templates/apps/hardhat/scripts/approveDepositOwner.ts +22 -0
  233. package/dist/templates/apps/hardhat/scripts/deployMockUSDT.ts +49 -0
  234. package/dist/templates/apps/hardhat/scripts/verifyDeployment.ts +93 -0
  235. package/dist/templates/apps/hardhat/scripts/verifyMockUSDT.ts +52 -0
  236. package/dist/templates/apps/hardhat/sync-abis.mjs +58 -0
  237. package/dist/templates/apps/hardhat/test/MockUSDT.test.ts +40 -0
  238. package/dist/templates/apps/hardhat/tsconfig.json +27 -0
  239. package/dist/templates/apps/nextjs/.config/kysely.config.ts +36 -0
  240. package/dist/templates/apps/nextjs/Makefile +24 -0
  241. package/dist/templates/apps/nextjs/README.md.hbs +76 -0
  242. package/dist/templates/apps/nextjs/abis/IERC20.json +74 -0
  243. package/dist/templates/apps/nextjs/abis/MockUSDT.json +242 -0
  244. package/dist/templates/apps/nextjs/abis/ReentrancyGuard.json +1 -0
  245. package/dist/templates/apps/nextjs/app/globals.css +3 -0
  246. package/dist/templates/apps/nextjs/app/layout.tsx.hbs +26 -0
  247. package/dist/templates/apps/nextjs/app/page.tsx.hbs +225 -0
  248. package/dist/templates/apps/nextjs/app/testui/page.tsx +371 -0
  249. package/dist/templates/apps/nextjs/bin/m +8 -0
  250. package/dist/templates/apps/nextjs/components.json +21 -0
  251. package/dist/templates/apps/nextjs/next-env.d.ts +5 -0
  252. package/dist/templates/apps/nextjs/next.config.ts +10 -0
  253. package/dist/templates/apps/nextjs/package.json.hbs +48 -0
  254. package/dist/templates/apps/nextjs/pnpm-workspace.yaml +13 -0
  255. package/dist/templates/apps/nextjs/postcss.config.mjs +6 -0
  256. package/dist/templates/apps/nextjs/tailwind.config.js +11 -0
  257. package/dist/templates/apps/nextjs/tests/helpers.ts +31 -0
  258. package/dist/templates/apps/nextjs/tests/index.test.ts +7 -0
  259. package/dist/templates/apps/nextjs/tests/setup-env.ts.hbs +8 -0
  260. package/dist/templates/apps/nextjs/tests/test-utils.example.test.ts +168 -0
  261. package/dist/templates/apps/nextjs/tsconfig.json +44 -0
  262. package/dist/templates/apps/nextjs/tsconfig.test.json +38 -0
  263. package/dist/templates/apps/nextjs/vitest.config.ts +13 -0
  264. package/dist/test-utils/fs-mocks.d.ts +32 -0
  265. package/dist/test-utils/fs-mocks.d.ts.map +1 -0
  266. package/dist/test-utils/fs-mocks.js +63 -0
  267. package/dist/test-utils/i18n-mock.d.ts +21 -0
  268. package/dist/test-utils/i18n-mock.d.ts.map +1 -0
  269. package/dist/test-utils/i18n-mock.js +29 -0
  270. package/dist/test-utils/index.d.ts +12 -0
  271. package/dist/test-utils/index.d.ts.map +1 -0
  272. package/dist/test-utils/index.js +11 -0
  273. package/dist/test-utils/kysely-mocks.d.ts +298 -0
  274. package/dist/test-utils/kysely-mocks.d.ts.map +1 -0
  275. package/dist/test-utils/kysely-mocks.js +173 -0
  276. package/dist/test-utils/radix-mocks.d.ts +134 -0
  277. package/dist/test-utils/radix-mocks.d.ts.map +1 -0
  278. package/dist/test-utils/radix-mocks.js +175 -0
  279. package/dist/test-utils/rainbowkit-mocks.d.ts +80 -0
  280. package/dist/test-utils/rainbowkit-mocks.d.ts.map +1 -0
  281. package/dist/test-utils/rainbowkit-mocks.js +247 -0
  282. package/dist/test-utils/viem-mocks.d.ts +86 -0
  283. package/dist/test-utils/viem-mocks.d.ts.map +1 -0
  284. package/dist/test-utils/viem-mocks.js +54 -0
  285. package/dist/util/cli-parser.d.ts +20 -0
  286. package/dist/util/cli-parser.d.ts.map +1 -0
  287. package/dist/util/cli-parser.js +38 -0
  288. package/dist/util/colors.d.ts +5 -0
  289. package/dist/util/colors.d.ts.map +1 -0
  290. package/dist/util/colors.js +5 -0
  291. package/dist/util/locale.d.ts +3 -0
  292. package/dist/util/locale.d.ts.map +1 -0
  293. package/dist/util/locale.js +10 -0
  294. package/dist/wba/client.d.ts +19 -0
  295. package/dist/wba/client.d.ts.map +1 -0
  296. package/dist/wba/client.js +31 -0
  297. package/dist/wba/index.d.ts +4 -0
  298. package/dist/wba/index.d.ts.map +1 -0
  299. package/dist/wba/index.js +2 -0
  300. package/dist/wba/routes/event.d.ts +32 -0
  301. package/dist/wba/routes/event.d.ts.map +1 -0
  302. package/dist/wba/routes/event.js +42 -0
  303. package/dist/wba/routes/index.d.ts +3 -0
  304. package/dist/wba/routes/index.d.ts.map +1 -0
  305. package/dist/wba/routes/index.js +2 -0
  306. package/dist/wba/routes/summary.d.ts +44 -0
  307. package/dist/wba/routes/summary.d.ts.map +1 -0
  308. package/dist/wba/routes/summary.js +146 -0
  309. package/dist/wba/server.d.ts +18 -0
  310. package/dist/wba/server.d.ts.map +1 -0
  311. package/dist/wba/server.js +29 -0
  312. package/dist/wba/types.d.ts +68 -0
  313. package/dist/wba/types.d.ts.map +1 -0
  314. package/dist/wba/types.js +6 -0
  315. package/package.json +223 -0
  316. package/src/blockchain/README.md +80 -0
  317. package/src/debug/README.md +94 -0
  318. package/src/e2e/README.md +105 -0
  319. package/src/i18n/README.md +143 -0
  320. package/src/shadcn_components/README.md +125 -0
  321. package/src/tasks/README.md +69 -0
  322. package/src/test-utils/README.md +638 -0
  323. package/src/util/README.md +18 -0
  324. package/src/wba/README.md +175 -0
@@ -0,0 +1,125 @@
1
+ # shadcn Components (`@pasosdejesus/m/shadcn-components`)
2
+
3
+ > *"Everything should be done in a fitting and orderly way"* (1 Corinthians 14:40)
4
+
5
+ Collection of 28 [shadcn/ui](https://ui.shadcn.com/) components packaged in `@pasosdejesus/m` to share across the Pasos de Jesús ecosystem (learn.tg, sivel.xyz, and projects generated with `m create`).
6
+
7
+ ## Installation
8
+
9
+ The `@pasosdejesus/m` package already includes the components. In your project:
10
+
11
+ ```bash
12
+ pnpm add @pasosdejesus/m
13
+ ```
14
+
15
+ Make sure you have the required dependencies (installed automatically as `optionalPeerDependencies`):
16
+
17
+ - `react` ^19
18
+ - `react-dom` ^19
19
+ - `class-variance-authority`
20
+ - `clsx`
21
+ - `tailwind-merge`
22
+ - `lucide-react`
23
+ - `@radix-ui/react-*` (depending on the component you use)
24
+
25
+ ## Usage
26
+
27
+ ```tsx
28
+ import { Button } from '@pasosdejesus/m/shadcn-components/ui/button'
29
+ import { Dialog, DialogContent, DialogTitle } from '@pasosdejesus/m/shadcn-components/ui/dialog'
30
+ import { Card, CardHeader, CardContent } from '@pasosdejesus/m/shadcn-components/ui/card'
31
+
32
+ function MyComponent() {
33
+ return (
34
+ <Card>
35
+ <CardHeader><h2>Title</h2></CardHeader>
36
+ <CardContent>
37
+ <Button variant="default">Action</Button>
38
+ </CardContent>
39
+ </Card>
40
+ )
41
+ }
42
+ ```
43
+
44
+ ### `cn` utility
45
+
46
+ Components use `cn()` internally to combine Tailwind classes. You can also use it directly:
47
+
48
+ ```tsx
49
+ import { cn } from '@pasosdejesus/m/shadcn-components/cn'
50
+
51
+ cn('px-4 py-2', 'bg-red-500', false && 'hidden')
52
+ // → 'px-4 py-2 bg-red-500'
53
+ ```
54
+
55
+ ## Available components
56
+
57
+ | Component | Import |
58
+ |---|---|
59
+ | Accordion | `@pasosdejesus/m/shadcn-components/ui/accordion` |
60
+ | Alert | `@pasosdejesus/m/shadcn-components/ui/alert` |
61
+ | AlertDialog | `@pasosdejesus/m/shadcn-components/ui/alert-dialog` |
62
+ | Avatar | `@pasosdejesus/m/shadcn-components/ui/avatar` |
63
+ | Badge | `@pasosdejesus/m/shadcn-components/ui/badge` |
64
+ | Button | `@pasosdejesus/m/shadcn-components/ui/button` |
65
+ | Card | `@pasosdejesus/m/shadcn-components/ui/card` |
66
+ | Checkbox | `@pasosdejesus/m/shadcn-components/ui/checkbox` |
67
+ | Dialog | `@pasosdejesus/m/shadcn-components/ui/dialog` |
68
+ | DropdownMenu | `@pasosdejesus/m/shadcn-components/ui/dropdown-menu` |
69
+ | Input | `@pasosdejesus/m/shadcn-components/ui/input` |
70
+ | Label | `@pasosdejesus/m/shadcn-components/ui/label` |
71
+ | Menubar | `@pasosdejesus/m/shadcn-components/ui/menubar` |
72
+ | Popover | `@pasosdejesus/m/shadcn-components/ui/popover` |
73
+ | Progress | `@pasosdejesus/m/shadcn-components/ui/progress` |
74
+ | RadioGroup | `@pasosdejesus/m/shadcn-components/ui/radio-group` |
75
+ | ScrollArea | `@pasosdejesus/m/shadcn-components/ui/scroll-area` |
76
+ | Select | `@pasosdejesus/m/shadcn-components/ui/select` |
77
+ | Separator | `@pasosdejesus/m/shadcn-components/ui/separator` |
78
+ | Sheet | `@pasosdejesus/m/shadcn-components/ui/sheet` |
79
+ | Skeleton | `@pasosdejesus/m/shadcn-components/ui/skeleton` |
80
+ | Slider | `@pasosdejesus/m/shadcn-components/ui/slider` |
81
+ | Switch | `@pasosdejesus/m/shadcn-components/ui/switch` |
82
+ | Table | `@pasosdejesus/m/shadcn-components/ui/table` |
83
+ | Tabs | `@pasosdejesus/m/shadcn-components/ui/tabs` |
84
+ | Textarea | `@pasosdejesus/m/shadcn-components/ui/textarea` |
85
+ | Toast | `@pasosdejesus/m/shadcn-components/ui/toast` |
86
+ | Toaster | `@pasosdejesus/m/shadcn-components/ui/toaster` |
87
+ | Tooltip | `@pasosdejesus/m/shadcn-components/ui/tooltip` |
88
+ | useToast | `@pasosdejesus/m/shadcn-components/ui/use-toast` |
89
+
90
+ ## Forms
91
+
92
+ `Form` and `useToast`/`Toaster` require additional dependencies:
93
+
94
+ ```bash
95
+ pnpm add react-hook-form
96
+ ```
97
+
98
+ ```tsx
99
+ import { Form, FormField, FormItem, FormLabel, FormControl, FormMessage } from '@pasosdejesus/m/shadcn-components/ui/form'
100
+ import { Toaster, useToast, toast } from '@pasosdejesus/m/shadcn-components/ui/use-toast'
101
+ ```
102
+
103
+ ## Customizing a component
104
+
105
+ If you need to modify a component beyond passing `className`, copy it to your project:
106
+
107
+ ```bash
108
+ # Copy from published package (if src/ is available) or from the repository
109
+ cp -r node_modules/@pasosdejesus/m/dist/shadcn_components/ui/my-component.* components/ui/
110
+ ```
111
+
112
+ Then change the import in your code from `@pasosdejesus/m/...` to `@/components/ui/...` and edit freely.
113
+
114
+ ## Tailwind CSS
115
+
116
+ Components use Tailwind classes. Your project needs Tailwind configured with the standard `globals.css` file that includes the `@tailwind base/components/utilities` directives. Projects generated with `m create` already come with this setup.
117
+
118
+ ## Tests
119
+
120
+ Tests for these components are in `tests/test-project/apps/nextjs/tests/shadcn-components/` of the `@pasosdejesus/m` repository. Run with:
121
+
122
+ ```bash
123
+ cd tests/test-project/apps/nextjs
124
+ make test
125
+ ```
@@ -0,0 +1,69 @@
1
+ # Tasks — CLI Command Implementations
2
+
3
+ Each file in this directory exports a `runXxx()` function registered in `../m.ts`.
4
+
5
+ ## Command Map
6
+
7
+ | File | Commands | Purpose |
8
+ |------|----------|---------|
9
+ | `ai.ts` | `ai:framework`, `ai:verify`, `ai:verify:answer` | Christian alignment framework display and verification Q&A |
10
+ | `ai-verify-core.ts` | *(internal)* | Answer evaluation with diacritic normalization |
11
+ | `context.ts` | `ai:context` | Generates project context snapshot for AI chat (DeepSeek-compatible) |
12
+ | `contract-test/` | `contract:test` | **(Movido a `@pasosdejesus/contract-test`)** EDR fallback for OpenBSD — runs Hardhat tests with @ethereumjs/vm |
13
+ | `create.ts` | `m:create` | Scaffolds new projects from `templates/` via direct recursive copy (replaced Plop.js) |
14
+ | `credentials.ts` | `eng:credentials:list-types`, `eng:credentials:mint`, `eng:credentials:register-type`, `eng:credentials:recompose-image`, `eng:credentials:set-max-supply`, `eng:credentials:set-site-uri`, `eng:credentials:sync-cache`, `eng:credentials:revoke-credential`, `eng:credentials:grant-minter`, `eng:credentials:revoke-minter` | **(Movido a `@pasosdejesus/mpdj`)** PasosDeJesusCredentials blockchain administration |
15
+ | `db.ts` | `db:create`, `db:drop`, `db:super:createuser`, `db:structure:dump`, `db:structure:load`, `db:migrate`, `db:rollback`, `db:mig:make`, `db:seed`, `db:check`, `db:console`, `db:test`, `db:dump`, `db:restore` | PostgreSQL database lifecycle, migration management, schema verification, and backup/restore |
16
+ | `edit.ts` | `ai:edit` | Parses and applies DeepSeek diff format from clipboard |
17
+ | `engine.ts` | `eng:wba:setup`, `eng:credentials:setup`, `eng:list`, `eng:check`, `eng:credentials:*` | Engine management: migration generation, schema verification, credential commands |
18
+ | `env-diff.ts` | `env:diff` | Compares two `.env` files (default: `../.env.example` vs `../.env`), reports differences |
19
+ | `fuzzy.ts` | *(internal)* | Fuzzy string matching helpers for `ai:edit` |
20
+ | `glob.ts` | `ai:glob` | File search by glob pattern |
21
+ | `grep.ts` | `ai:grep` | Text search in files |
22
+ | `principles.ts` | `ai:principles` | Displays project guiding principles |
23
+ | `readfile.ts` | `ai:readfile` | Reads files with offset/limit support |
24
+ | `req.ts` | `req:list`, `req:show`, `req:cross`, `req:compare`, `req:sync-from-repo`, `req:sync-to-repo`, `req:list-repo`, `req:create`, `req:close` | Requirements management from REQ/ with GitLab/GitHub sync and cross-project detection |
25
+ | `skill.ts` | `ai:skill` | Shows SKILL.md and copies to clipboard |
26
+ | `update.ts` | `m:update` | Synchronizes project files with template improvements |
27
+ | `wallet.ts` | `wallet:generate`, `wallet:approve`, `wallet:list`, `wallet:import`, `wallet:send`, `wallet:balance`, `wallet:sign`, `wallet:broadcast`, `wallet:call`, `wallet:derive`, `wallet:keccak` | Wallet management: generate, approve ERC20, send tokens, sign/broadcast (airgapped), contract reads (cast replacement) |
28
+ | `writefile.ts` | `ai:writefile` | Creates/replaces files from clipboard content |
29
+
30
+ ## Architecture
31
+
32
+ All commands follow the same pattern:
33
+
34
+ 1. **Export** a `runXxx()` async function
35
+ 2. **Import** in `../m.ts` and register in the `commands` map with a `CommandDef` (handler, description, arg flags)
36
+ 3. **Use** `createTranslator` from `../i18n/createTranslator.js` for user-facing strings
37
+ 4. **Output** via `problem()`, `info()`, `success()` from `../util/colors.ts`
38
+
39
+ ### Adding a new command (paquete `m`)
40
+
41
+ 1. Create `tasks/mycommand.ts` (en este directorio) exportando `runMyCommand()`
42
+ 2. Import it in `../m.ts`
43
+ 3. Add a `CommandDef` entry in the `commands` map
44
+ 4. Add the command name to the appropriate category array in `showHelp()`
45
+ 5. Add translations inline in each file via `createTranslator(detectLocale(), localT, commonCli)` (EN + ES)
46
+
47
+ ## Command Prefix Convention
48
+
49
+ | Prefijo | Significado | ¿Tiene `setup`? | Ejemplos |
50
+ |---------|------------|:---:|----------|
51
+ | `eng:` | Engine — crea tablas vía migraciones | ✅ | `eng:credentials:setup`, `eng:wba:setup` |
52
+ | `contract:` | Herramienta de desarrollo | ❌ | `contract:test` |
53
+ | `db:` | Base de datos | ❌ | `db:migrate`, `db:create` |
54
+ | `wallet:` | Billetera | ❌ | `wallet:generate`, `wallet:send` |
55
+ | `ai:` | Herramientas para agentes | ❌ | `ai:context`, `ai:grep` |
56
+ | `m:` | Scaffolding | ❌ | `m:create`, `m:update` |
57
+ | `req:` | Requerimientos | ❌ | `req:list`, `req:sync` |
58
+ | `env:` | Entorno | ❌ | `env:diff` |
59
+ | `test:` | Tests E2E | ❌ | `test:e2e` |
60
+
61
+ **Regla**: `eng:` es para módulos que requieren instalación explícita
62
+ (`eng:X:setup`) porque crean estructura de base de datos. El resto son
63
+ herramientas que se usan directamente sin instalación previa.
64
+
65
+ ### Adding a new command (paquete `mpdj`)
66
+
67
+ Para comandos PdJ (ai:framework, req:*, eng:credentials:*), ver
68
+ [`packages/mpdj/src/tasks/`](../../../mpdj/src/tasks/). El registro se hace en
69
+ `packages/mpdj/src/index.ts` usando `registerCommands()` de `@pasosdejesus/m/plugin`.