@etus/seven-skill 0.1.0-beta.3 → 0.1.0-beta.5

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 (596) hide show
  1. package/.agents/skills/seven/SKILL.md +172 -0
  2. package/.agents/skills/seven/agents/seven_asset_producer.toml +37 -0
  3. package/.agents/skills/seven/agents/seven_finish_reviewer.toml +33 -0
  4. package/.agents/skills/seven/agents/seven_manual_edit_applier.toml +43 -0
  5. package/.agents/skills/seven/reference/adapt.md +34 -0
  6. package/.agents/skills/seven/reference/animate.md +31 -0
  7. package/.agents/skills/seven/reference/app-shell.md +152 -0
  8. package/.agents/skills/seven/reference/audit.md +122 -0
  9. package/.agents/skills/seven/reference/bolder.md +34 -0
  10. package/.agents/skills/seven/reference/brand.md +31 -0
  11. package/.agents/skills/seven/reference/clarify.md +76 -0
  12. package/.agents/skills/seven/reference/color-and-contrast.md +84 -0
  13. package/.agents/skills/seven/reference/colorize.md +31 -0
  14. package/.agents/skills/seven/reference/critique.md +53 -0
  15. package/.agents/skills/seven/reference/delight.md +30 -0
  16. package/.agents/skills/seven/reference/distill.md +30 -0
  17. package/.agents/skills/seven/reference/doctor.md +9 -0
  18. package/.agents/skills/seven/reference/document.md +36 -0
  19. package/.agents/skills/seven/reference/evaluations.md +44 -0
  20. package/.agents/skills/seven/reference/exceptions.md +7 -0
  21. package/.agents/skills/seven/reference/extract.md +42 -0
  22. package/.agents/skills/seven/reference/harden.md +36 -0
  23. package/.agents/skills/seven/reference/hooks.md +11 -0
  24. package/.agents/skills/seven/reference/init.md +5 -0
  25. package/.agents/skills/seven/reference/layout.md +33 -0
  26. package/.agents/skills/seven/reference/live.md +106 -0
  27. package/.agents/skills/seven/reference/motion-design.md +71 -0
  28. package/.agents/skills/seven/reference/onboard.md +35 -0
  29. package/.agents/skills/seven/reference/optimize.md +34 -0
  30. package/.agents/skills/seven/reference/overdrive.md +32 -0
  31. package/.agents/skills/seven/reference/polish.md +55 -0
  32. package/.agents/skills/seven/reference/product.md +43 -0
  33. package/.agents/skills/seven/reference/quieter.md +31 -0
  34. package/.agents/skills/seven/reference/routing.md +28 -0
  35. package/.agents/skills/seven/reference/setup.md +38 -0
  36. package/.agents/skills/seven/reference/shape.md +85 -0
  37. package/.agents/skills/seven/reference/spatial-design.md +60 -0
  38. package/.agents/skills/seven/reference/typeset.md +28 -0
  39. package/.agents/skills/seven/reference/typography.md +43 -0
  40. package/.agents/skills/seven/reference/ux-writing.md +47 -0
  41. package/.agents/skills/seven/reference/visual-probes.md +36 -0
  42. package/.agents/skills/seven/scripts/context-signals.mjs +95 -0
  43. package/.agents/skills/seven/scripts/critique-storage.mjs +155 -0
  44. package/.agents/skills/seven/scripts/load-context.mjs +111 -0
  45. package/.agents/skills/seven/scripts/run-seven.mjs +47 -0
  46. package/.agents/skills/seven/scripts/update-check.mjs +120 -0
  47. package/.claude/agents/seven-asset-producer.md +40 -0
  48. package/.claude/agents/seven-finish-reviewer.md +36 -0
  49. package/.claude/agents/seven-manual-edit-applier.md +46 -0
  50. package/.claude/skills/seven/SKILL.md +134 -123
  51. package/.claude/skills/seven/reference/adapt.md +34 -0
  52. package/.claude/skills/seven/reference/animate.md +31 -0
  53. package/.claude/skills/seven/reference/app-shell.md +100 -18
  54. package/.claude/skills/seven/reference/audit.md +6 -4
  55. package/.claude/skills/seven/reference/bolder.md +34 -0
  56. package/.claude/skills/seven/reference/brand.md +21 -14
  57. package/.claude/skills/seven/reference/clarify.md +2 -2
  58. package/.claude/skills/seven/reference/colorize.md +31 -0
  59. package/.claude/skills/seven/reference/critique.md +53 -0
  60. package/.claude/skills/seven/reference/delight.md +30 -0
  61. package/.claude/skills/seven/reference/distill.md +30 -0
  62. package/.claude/skills/seven/reference/doctor.md +9 -0
  63. package/.claude/skills/seven/reference/document.md +36 -0
  64. package/.claude/skills/seven/reference/evaluations.md +44 -0
  65. package/.claude/skills/seven/reference/exceptions.md +7 -0
  66. package/.claude/skills/seven/reference/extract.md +42 -0
  67. package/.claude/skills/seven/reference/harden.md +36 -0
  68. package/.claude/skills/seven/reference/hooks.md +11 -0
  69. package/.claude/skills/seven/reference/init.md +5 -0
  70. package/.claude/skills/seven/reference/layout.md +33 -0
  71. package/.claude/skills/seven/reference/live.md +106 -0
  72. package/.claude/skills/seven/reference/motion-design.md +1 -1
  73. package/.claude/skills/seven/reference/onboard.md +35 -0
  74. package/.claude/skills/seven/reference/optimize.md +34 -0
  75. package/.claude/skills/seven/reference/overdrive.md +32 -0
  76. package/.claude/skills/seven/reference/polish.md +5 -5
  77. package/.claude/skills/seven/reference/product.md +2 -4
  78. package/.claude/skills/seven/reference/quieter.md +31 -0
  79. package/.claude/skills/seven/reference/routing.md +28 -0
  80. package/.claude/skills/seven/reference/setup.md +38 -0
  81. package/.claude/skills/seven/reference/shape.md +5 -5
  82. package/.claude/skills/seven/reference/spatial-design.md +3 -3
  83. package/.claude/skills/seven/reference/typeset.md +28 -0
  84. package/.claude/skills/seven/reference/typography.md +1 -1
  85. package/.claude/skills/seven/reference/visual-probes.md +36 -0
  86. package/.claude/skills/seven/scripts/context-signals.mjs +95 -0
  87. package/.claude/skills/seven/scripts/critique-storage.mjs +155 -0
  88. package/.claude/skills/seven/scripts/load-context.mjs +85 -58
  89. package/.claude/skills/seven/scripts/run-seven.mjs +47 -0
  90. package/.claude/skills/seven/scripts/update-check.mjs +120 -0
  91. package/.claude-plugin/marketplace.json +2 -2
  92. package/.claude-plugin/plugin.json +8 -3
  93. package/.cursor/skills/seven/SKILL.md +172 -0
  94. package/.cursor/skills/seven/reference/adapt.md +34 -0
  95. package/.cursor/skills/seven/reference/animate.md +31 -0
  96. package/.cursor/skills/seven/reference/app-shell.md +152 -0
  97. package/.cursor/skills/seven/reference/audit.md +122 -0
  98. package/.cursor/skills/seven/reference/bolder.md +34 -0
  99. package/.cursor/skills/seven/reference/brand.md +31 -0
  100. package/.cursor/skills/seven/reference/clarify.md +76 -0
  101. package/.cursor/skills/seven/reference/color-and-contrast.md +84 -0
  102. package/.cursor/skills/seven/reference/colorize.md +31 -0
  103. package/.cursor/skills/seven/reference/critique.md +53 -0
  104. package/.cursor/skills/seven/reference/delight.md +30 -0
  105. package/.cursor/skills/seven/reference/distill.md +30 -0
  106. package/.cursor/skills/seven/reference/doctor.md +9 -0
  107. package/.cursor/skills/seven/reference/document.md +36 -0
  108. package/.cursor/skills/seven/reference/evaluations.md +44 -0
  109. package/.cursor/skills/seven/reference/exceptions.md +7 -0
  110. package/.cursor/skills/seven/reference/extract.md +42 -0
  111. package/.cursor/skills/seven/reference/harden.md +36 -0
  112. package/.cursor/skills/seven/reference/hooks.md +11 -0
  113. package/.cursor/skills/seven/reference/init.md +5 -0
  114. package/.cursor/skills/seven/reference/layout.md +33 -0
  115. package/.cursor/skills/seven/reference/live.md +106 -0
  116. package/.cursor/skills/seven/reference/motion-design.md +71 -0
  117. package/.cursor/skills/seven/reference/onboard.md +35 -0
  118. package/.cursor/skills/seven/reference/optimize.md +34 -0
  119. package/.cursor/skills/seven/reference/overdrive.md +32 -0
  120. package/.cursor/skills/seven/reference/polish.md +55 -0
  121. package/.cursor/skills/seven/reference/product.md +43 -0
  122. package/.cursor/skills/seven/reference/quieter.md +31 -0
  123. package/.cursor/skills/seven/reference/routing.md +28 -0
  124. package/.cursor/skills/seven/reference/setup.md +38 -0
  125. package/.cursor/skills/seven/reference/shape.md +85 -0
  126. package/.cursor/skills/seven/reference/spatial-design.md +60 -0
  127. package/.cursor/skills/seven/reference/typeset.md +28 -0
  128. package/.cursor/skills/seven/reference/typography.md +43 -0
  129. package/.cursor/skills/seven/reference/ux-writing.md +47 -0
  130. package/.cursor/skills/seven/reference/visual-probes.md +36 -0
  131. package/.cursor/skills/seven/scripts/context-signals.mjs +95 -0
  132. package/.cursor/skills/seven/scripts/critique-storage.mjs +155 -0
  133. package/.cursor/skills/seven/scripts/load-context.mjs +111 -0
  134. package/.cursor/skills/seven/scripts/run-seven.mjs +47 -0
  135. package/.cursor/skills/seven/scripts/update-check.mjs +120 -0
  136. package/.gemini/skills/seven/SKILL.md +171 -0
  137. package/.gemini/skills/seven/reference/adapt.md +34 -0
  138. package/.gemini/skills/seven/reference/animate.md +31 -0
  139. package/.gemini/skills/seven/reference/app-shell.md +152 -0
  140. package/.gemini/skills/seven/reference/audit.md +122 -0
  141. package/.gemini/skills/seven/reference/bolder.md +34 -0
  142. package/.gemini/skills/seven/reference/brand.md +31 -0
  143. package/.gemini/skills/seven/reference/clarify.md +76 -0
  144. package/.gemini/skills/seven/reference/color-and-contrast.md +84 -0
  145. package/.gemini/skills/seven/reference/colorize.md +31 -0
  146. package/.gemini/skills/seven/reference/critique.md +53 -0
  147. package/.gemini/skills/seven/reference/delight.md +30 -0
  148. package/.gemini/skills/seven/reference/distill.md +30 -0
  149. package/.gemini/skills/seven/reference/doctor.md +9 -0
  150. package/.gemini/skills/seven/reference/document.md +36 -0
  151. package/.gemini/skills/seven/reference/evaluations.md +44 -0
  152. package/.gemini/skills/seven/reference/exceptions.md +7 -0
  153. package/.gemini/skills/seven/reference/extract.md +42 -0
  154. package/.gemini/skills/seven/reference/harden.md +36 -0
  155. package/.gemini/skills/seven/reference/hooks.md +11 -0
  156. package/.gemini/skills/seven/reference/init.md +5 -0
  157. package/.gemini/skills/seven/reference/layout.md +33 -0
  158. package/.gemini/skills/seven/reference/live.md +106 -0
  159. package/.gemini/skills/seven/reference/motion-design.md +71 -0
  160. package/.gemini/skills/seven/reference/onboard.md +35 -0
  161. package/.gemini/skills/seven/reference/optimize.md +34 -0
  162. package/.gemini/skills/seven/reference/overdrive.md +32 -0
  163. package/.gemini/skills/seven/reference/polish.md +55 -0
  164. package/.gemini/skills/seven/reference/product.md +43 -0
  165. package/.gemini/skills/seven/reference/quieter.md +31 -0
  166. package/.gemini/skills/seven/reference/routing.md +28 -0
  167. package/.gemini/skills/seven/reference/setup.md +38 -0
  168. package/.gemini/skills/seven/reference/shape.md +85 -0
  169. package/.gemini/skills/seven/reference/spatial-design.md +60 -0
  170. package/.gemini/skills/seven/reference/typeset.md +28 -0
  171. package/.gemini/skills/seven/reference/typography.md +43 -0
  172. package/.gemini/skills/seven/reference/ux-writing.md +47 -0
  173. package/.gemini/skills/seven/reference/visual-probes.md +36 -0
  174. package/.gemini/skills/seven/scripts/context-signals.mjs +95 -0
  175. package/.gemini/skills/seven/scripts/critique-storage.mjs +155 -0
  176. package/.gemini/skills/seven/scripts/load-context.mjs +111 -0
  177. package/.gemini/skills/seven/scripts/run-seven.mjs +47 -0
  178. package/.gemini/skills/seven/scripts/update-check.mjs +120 -0
  179. package/.grok/agents/seven-asset-producer.md +40 -0
  180. package/.grok/agents/seven-finish-reviewer.md +36 -0
  181. package/.grok/agents/seven-manual-edit-applier.md +46 -0
  182. package/.grok/skills/seven/SKILL.md +176 -0
  183. package/.grok/skills/seven/reference/adapt.md +34 -0
  184. package/.grok/skills/seven/reference/animate.md +31 -0
  185. package/.grok/skills/seven/reference/app-shell.md +152 -0
  186. package/.grok/skills/seven/reference/audit.md +122 -0
  187. package/.grok/skills/seven/reference/bolder.md +34 -0
  188. package/.grok/skills/seven/reference/brand.md +31 -0
  189. package/.grok/skills/seven/reference/clarify.md +76 -0
  190. package/.grok/skills/seven/reference/color-and-contrast.md +84 -0
  191. package/.grok/skills/seven/reference/colorize.md +31 -0
  192. package/.grok/skills/seven/reference/critique.md +53 -0
  193. package/.grok/skills/seven/reference/delight.md +30 -0
  194. package/.grok/skills/seven/reference/distill.md +30 -0
  195. package/.grok/skills/seven/reference/doctor.md +9 -0
  196. package/.grok/skills/seven/reference/document.md +36 -0
  197. package/.grok/skills/seven/reference/evaluations.md +44 -0
  198. package/.grok/skills/seven/reference/exceptions.md +7 -0
  199. package/.grok/skills/seven/reference/extract.md +42 -0
  200. package/.grok/skills/seven/reference/harden.md +36 -0
  201. package/.grok/skills/seven/reference/hooks.md +11 -0
  202. package/.grok/skills/seven/reference/init.md +5 -0
  203. package/.grok/skills/seven/reference/layout.md +33 -0
  204. package/.grok/skills/seven/reference/live.md +106 -0
  205. package/.grok/skills/seven/reference/motion-design.md +71 -0
  206. package/.grok/skills/seven/reference/onboard.md +35 -0
  207. package/.grok/skills/seven/reference/optimize.md +34 -0
  208. package/.grok/skills/seven/reference/overdrive.md +32 -0
  209. package/.grok/skills/seven/reference/polish.md +55 -0
  210. package/.grok/skills/seven/reference/product.md +43 -0
  211. package/.grok/skills/seven/reference/quieter.md +31 -0
  212. package/.grok/skills/seven/reference/routing.md +28 -0
  213. package/.grok/skills/seven/reference/setup.md +38 -0
  214. package/.grok/skills/seven/reference/shape.md +85 -0
  215. package/.grok/skills/seven/reference/spatial-design.md +60 -0
  216. package/.grok/skills/seven/reference/typeset.md +28 -0
  217. package/.grok/skills/seven/reference/typography.md +43 -0
  218. package/.grok/skills/seven/reference/ux-writing.md +47 -0
  219. package/.grok/skills/seven/reference/visual-probes.md +36 -0
  220. package/.grok/skills/seven/scripts/context-signals.mjs +95 -0
  221. package/.grok/skills/seven/scripts/critique-storage.mjs +155 -0
  222. package/.grok/skills/seven/scripts/load-context.mjs +111 -0
  223. package/.grok/skills/seven/scripts/run-seven.mjs +47 -0
  224. package/.grok/skills/seven/scripts/update-check.mjs +120 -0
  225. package/.kiro/skills/seven/SKILL.md +172 -0
  226. package/.kiro/skills/seven/reference/adapt.md +34 -0
  227. package/.kiro/skills/seven/reference/animate.md +31 -0
  228. package/.kiro/skills/seven/reference/app-shell.md +152 -0
  229. package/.kiro/skills/seven/reference/audit.md +122 -0
  230. package/.kiro/skills/seven/reference/bolder.md +34 -0
  231. package/.kiro/skills/seven/reference/brand.md +31 -0
  232. package/.kiro/skills/seven/reference/clarify.md +76 -0
  233. package/.kiro/skills/seven/reference/color-and-contrast.md +84 -0
  234. package/.kiro/skills/seven/reference/colorize.md +31 -0
  235. package/.kiro/skills/seven/reference/critique.md +53 -0
  236. package/.kiro/skills/seven/reference/delight.md +30 -0
  237. package/.kiro/skills/seven/reference/distill.md +30 -0
  238. package/.kiro/skills/seven/reference/doctor.md +9 -0
  239. package/.kiro/skills/seven/reference/document.md +36 -0
  240. package/.kiro/skills/seven/reference/evaluations.md +44 -0
  241. package/.kiro/skills/seven/reference/exceptions.md +7 -0
  242. package/.kiro/skills/seven/reference/extract.md +42 -0
  243. package/.kiro/skills/seven/reference/harden.md +36 -0
  244. package/.kiro/skills/seven/reference/hooks.md +11 -0
  245. package/.kiro/skills/seven/reference/init.md +5 -0
  246. package/.kiro/skills/seven/reference/layout.md +33 -0
  247. package/.kiro/skills/seven/reference/live.md +106 -0
  248. package/.kiro/skills/seven/reference/motion-design.md +71 -0
  249. package/.kiro/skills/seven/reference/onboard.md +35 -0
  250. package/.kiro/skills/seven/reference/optimize.md +34 -0
  251. package/.kiro/skills/seven/reference/overdrive.md +32 -0
  252. package/.kiro/skills/seven/reference/polish.md +55 -0
  253. package/.kiro/skills/seven/reference/product.md +43 -0
  254. package/.kiro/skills/seven/reference/quieter.md +31 -0
  255. package/.kiro/skills/seven/reference/routing.md +28 -0
  256. package/.kiro/skills/seven/reference/setup.md +38 -0
  257. package/.kiro/skills/seven/reference/shape.md +85 -0
  258. package/.kiro/skills/seven/reference/spatial-design.md +60 -0
  259. package/.kiro/skills/seven/reference/typeset.md +28 -0
  260. package/.kiro/skills/seven/reference/typography.md +43 -0
  261. package/.kiro/skills/seven/reference/ux-writing.md +47 -0
  262. package/.kiro/skills/seven/reference/visual-probes.md +36 -0
  263. package/.kiro/skills/seven/scripts/context-signals.mjs +95 -0
  264. package/.kiro/skills/seven/scripts/critique-storage.mjs +155 -0
  265. package/.kiro/skills/seven/scripts/load-context.mjs +111 -0
  266. package/.kiro/skills/seven/scripts/run-seven.mjs +47 -0
  267. package/.kiro/skills/seven/scripts/update-check.mjs +120 -0
  268. package/.opencode/skills/seven/SKILL.md +176 -0
  269. package/.opencode/skills/seven/reference/adapt.md +34 -0
  270. package/.opencode/skills/seven/reference/animate.md +31 -0
  271. package/.opencode/skills/seven/reference/app-shell.md +152 -0
  272. package/.opencode/skills/seven/reference/audit.md +122 -0
  273. package/.opencode/skills/seven/reference/bolder.md +34 -0
  274. package/.opencode/skills/seven/reference/brand.md +31 -0
  275. package/.opencode/skills/seven/reference/clarify.md +76 -0
  276. package/.opencode/skills/seven/reference/color-and-contrast.md +84 -0
  277. package/.opencode/skills/seven/reference/colorize.md +31 -0
  278. package/.opencode/skills/seven/reference/critique.md +53 -0
  279. package/.opencode/skills/seven/reference/delight.md +30 -0
  280. package/.opencode/skills/seven/reference/distill.md +30 -0
  281. package/.opencode/skills/seven/reference/doctor.md +9 -0
  282. package/.opencode/skills/seven/reference/document.md +36 -0
  283. package/.opencode/skills/seven/reference/evaluations.md +44 -0
  284. package/.opencode/skills/seven/reference/exceptions.md +7 -0
  285. package/.opencode/skills/seven/reference/extract.md +42 -0
  286. package/.opencode/skills/seven/reference/harden.md +36 -0
  287. package/.opencode/skills/seven/reference/hooks.md +11 -0
  288. package/.opencode/skills/seven/reference/init.md +5 -0
  289. package/.opencode/skills/seven/reference/layout.md +33 -0
  290. package/.opencode/skills/seven/reference/live.md +106 -0
  291. package/.opencode/skills/seven/reference/motion-design.md +71 -0
  292. package/.opencode/skills/seven/reference/onboard.md +35 -0
  293. package/.opencode/skills/seven/reference/optimize.md +34 -0
  294. package/.opencode/skills/seven/reference/overdrive.md +32 -0
  295. package/.opencode/skills/seven/reference/polish.md +55 -0
  296. package/.opencode/skills/seven/reference/product.md +43 -0
  297. package/.opencode/skills/seven/reference/quieter.md +31 -0
  298. package/.opencode/skills/seven/reference/routing.md +28 -0
  299. package/.opencode/skills/seven/reference/setup.md +38 -0
  300. package/.opencode/skills/seven/reference/shape.md +85 -0
  301. package/.opencode/skills/seven/reference/spatial-design.md +60 -0
  302. package/.opencode/skills/seven/reference/typeset.md +28 -0
  303. package/.opencode/skills/seven/reference/typography.md +43 -0
  304. package/.opencode/skills/seven/reference/ux-writing.md +47 -0
  305. package/.opencode/skills/seven/reference/visual-probes.md +36 -0
  306. package/.opencode/skills/seven/scripts/context-signals.mjs +95 -0
  307. package/.opencode/skills/seven/scripts/critique-storage.mjs +155 -0
  308. package/.opencode/skills/seven/scripts/load-context.mjs +111 -0
  309. package/.opencode/skills/seven/scripts/run-seven.mjs +47 -0
  310. package/.opencode/skills/seven/scripts/update-check.mjs +120 -0
  311. package/.pi/skills/seven/SKILL.md +174 -0
  312. package/.pi/skills/seven/reference/adapt.md +34 -0
  313. package/.pi/skills/seven/reference/animate.md +31 -0
  314. package/.pi/skills/seven/reference/app-shell.md +152 -0
  315. package/.pi/skills/seven/reference/audit.md +122 -0
  316. package/.pi/skills/seven/reference/bolder.md +34 -0
  317. package/.pi/skills/seven/reference/brand.md +31 -0
  318. package/.pi/skills/seven/reference/clarify.md +76 -0
  319. package/.pi/skills/seven/reference/color-and-contrast.md +84 -0
  320. package/.pi/skills/seven/reference/colorize.md +31 -0
  321. package/.pi/skills/seven/reference/critique.md +53 -0
  322. package/.pi/skills/seven/reference/delight.md +30 -0
  323. package/.pi/skills/seven/reference/distill.md +30 -0
  324. package/.pi/skills/seven/reference/doctor.md +9 -0
  325. package/.pi/skills/seven/reference/document.md +36 -0
  326. package/.pi/skills/seven/reference/evaluations.md +44 -0
  327. package/.pi/skills/seven/reference/exceptions.md +7 -0
  328. package/.pi/skills/seven/reference/extract.md +42 -0
  329. package/.pi/skills/seven/reference/harden.md +36 -0
  330. package/.pi/skills/seven/reference/hooks.md +11 -0
  331. package/.pi/skills/seven/reference/init.md +5 -0
  332. package/.pi/skills/seven/reference/layout.md +33 -0
  333. package/.pi/skills/seven/reference/live.md +106 -0
  334. package/.pi/skills/seven/reference/motion-design.md +71 -0
  335. package/.pi/skills/seven/reference/onboard.md +35 -0
  336. package/.pi/skills/seven/reference/optimize.md +34 -0
  337. package/.pi/skills/seven/reference/overdrive.md +32 -0
  338. package/.pi/skills/seven/reference/polish.md +55 -0
  339. package/.pi/skills/seven/reference/product.md +43 -0
  340. package/.pi/skills/seven/reference/quieter.md +31 -0
  341. package/.pi/skills/seven/reference/routing.md +28 -0
  342. package/.pi/skills/seven/reference/setup.md +38 -0
  343. package/.pi/skills/seven/reference/shape.md +85 -0
  344. package/.pi/skills/seven/reference/spatial-design.md +60 -0
  345. package/.pi/skills/seven/reference/typeset.md +28 -0
  346. package/.pi/skills/seven/reference/typography.md +43 -0
  347. package/.pi/skills/seven/reference/ux-writing.md +47 -0
  348. package/.pi/skills/seven/reference/visual-probes.md +36 -0
  349. package/.pi/skills/seven/scripts/context-signals.mjs +95 -0
  350. package/.pi/skills/seven/scripts/critique-storage.mjs +155 -0
  351. package/.pi/skills/seven/scripts/load-context.mjs +111 -0
  352. package/.pi/skills/seven/scripts/run-seven.mjs +47 -0
  353. package/.pi/skills/seven/scripts/update-check.mjs +120 -0
  354. package/.qoder/skills/seven/SKILL.md +176 -0
  355. package/.qoder/skills/seven/reference/adapt.md +34 -0
  356. package/.qoder/skills/seven/reference/animate.md +31 -0
  357. package/.qoder/skills/seven/reference/app-shell.md +152 -0
  358. package/.qoder/skills/seven/reference/audit.md +122 -0
  359. package/.qoder/skills/seven/reference/bolder.md +34 -0
  360. package/.qoder/skills/seven/reference/brand.md +31 -0
  361. package/.qoder/skills/seven/reference/clarify.md +76 -0
  362. package/.qoder/skills/seven/reference/color-and-contrast.md +84 -0
  363. package/.qoder/skills/seven/reference/colorize.md +31 -0
  364. package/.qoder/skills/seven/reference/critique.md +53 -0
  365. package/.qoder/skills/seven/reference/delight.md +30 -0
  366. package/.qoder/skills/seven/reference/distill.md +30 -0
  367. package/.qoder/skills/seven/reference/doctor.md +9 -0
  368. package/.qoder/skills/seven/reference/document.md +36 -0
  369. package/.qoder/skills/seven/reference/evaluations.md +44 -0
  370. package/.qoder/skills/seven/reference/exceptions.md +7 -0
  371. package/.qoder/skills/seven/reference/extract.md +42 -0
  372. package/.qoder/skills/seven/reference/harden.md +36 -0
  373. package/.qoder/skills/seven/reference/hooks.md +11 -0
  374. package/.qoder/skills/seven/reference/init.md +5 -0
  375. package/.qoder/skills/seven/reference/layout.md +33 -0
  376. package/.qoder/skills/seven/reference/live.md +106 -0
  377. package/.qoder/skills/seven/reference/motion-design.md +71 -0
  378. package/.qoder/skills/seven/reference/onboard.md +35 -0
  379. package/.qoder/skills/seven/reference/optimize.md +34 -0
  380. package/.qoder/skills/seven/reference/overdrive.md +32 -0
  381. package/.qoder/skills/seven/reference/polish.md +55 -0
  382. package/.qoder/skills/seven/reference/product.md +43 -0
  383. package/.qoder/skills/seven/reference/quieter.md +31 -0
  384. package/.qoder/skills/seven/reference/routing.md +28 -0
  385. package/.qoder/skills/seven/reference/setup.md +38 -0
  386. package/.qoder/skills/seven/reference/shape.md +85 -0
  387. package/.qoder/skills/seven/reference/spatial-design.md +60 -0
  388. package/.qoder/skills/seven/reference/typeset.md +28 -0
  389. package/.qoder/skills/seven/reference/typography.md +43 -0
  390. package/.qoder/skills/seven/reference/ux-writing.md +47 -0
  391. package/.qoder/skills/seven/reference/visual-probes.md +36 -0
  392. package/.qoder/skills/seven/scripts/context-signals.mjs +95 -0
  393. package/.qoder/skills/seven/scripts/critique-storage.mjs +155 -0
  394. package/.qoder/skills/seven/scripts/load-context.mjs +111 -0
  395. package/.qoder/skills/seven/scripts/run-seven.mjs +47 -0
  396. package/.qoder/skills/seven/scripts/update-check.mjs +120 -0
  397. package/.rovodev/skills/seven/SKILL.md +176 -0
  398. package/.rovodev/skills/seven/reference/adapt.md +34 -0
  399. package/.rovodev/skills/seven/reference/animate.md +31 -0
  400. package/.rovodev/skills/seven/reference/app-shell.md +152 -0
  401. package/.rovodev/skills/seven/reference/audit.md +122 -0
  402. package/.rovodev/skills/seven/reference/bolder.md +34 -0
  403. package/.rovodev/skills/seven/reference/brand.md +31 -0
  404. package/.rovodev/skills/seven/reference/clarify.md +76 -0
  405. package/.rovodev/skills/seven/reference/color-and-contrast.md +84 -0
  406. package/.rovodev/skills/seven/reference/colorize.md +31 -0
  407. package/.rovodev/skills/seven/reference/critique.md +53 -0
  408. package/.rovodev/skills/seven/reference/delight.md +30 -0
  409. package/.rovodev/skills/seven/reference/distill.md +30 -0
  410. package/.rovodev/skills/seven/reference/doctor.md +9 -0
  411. package/.rovodev/skills/seven/reference/document.md +36 -0
  412. package/.rovodev/skills/seven/reference/evaluations.md +44 -0
  413. package/.rovodev/skills/seven/reference/exceptions.md +7 -0
  414. package/.rovodev/skills/seven/reference/extract.md +42 -0
  415. package/.rovodev/skills/seven/reference/harden.md +36 -0
  416. package/.rovodev/skills/seven/reference/hooks.md +11 -0
  417. package/.rovodev/skills/seven/reference/init.md +5 -0
  418. package/.rovodev/skills/seven/reference/layout.md +33 -0
  419. package/.rovodev/skills/seven/reference/live.md +106 -0
  420. package/.rovodev/skills/seven/reference/motion-design.md +71 -0
  421. package/.rovodev/skills/seven/reference/onboard.md +35 -0
  422. package/.rovodev/skills/seven/reference/optimize.md +34 -0
  423. package/.rovodev/skills/seven/reference/overdrive.md +32 -0
  424. package/.rovodev/skills/seven/reference/polish.md +55 -0
  425. package/.rovodev/skills/seven/reference/product.md +43 -0
  426. package/.rovodev/skills/seven/reference/quieter.md +31 -0
  427. package/.rovodev/skills/seven/reference/routing.md +28 -0
  428. package/.rovodev/skills/seven/reference/setup.md +38 -0
  429. package/.rovodev/skills/seven/reference/shape.md +85 -0
  430. package/.rovodev/skills/seven/reference/spatial-design.md +60 -0
  431. package/.rovodev/skills/seven/reference/typeset.md +28 -0
  432. package/.rovodev/skills/seven/reference/typography.md +43 -0
  433. package/.rovodev/skills/seven/reference/ux-writing.md +47 -0
  434. package/.rovodev/skills/seven/reference/visual-probes.md +36 -0
  435. package/.rovodev/skills/seven/scripts/context-signals.mjs +95 -0
  436. package/.rovodev/skills/seven/scripts/critique-storage.mjs +155 -0
  437. package/.rovodev/skills/seven/scripts/load-context.mjs +111 -0
  438. package/.rovodev/skills/seven/scripts/run-seven.mjs +47 -0
  439. package/.rovodev/skills/seven/scripts/update-check.mjs +120 -0
  440. package/.trae/skills/seven/SKILL.md +174 -0
  441. package/.trae/skills/seven/reference/adapt.md +34 -0
  442. package/.trae/skills/seven/reference/animate.md +31 -0
  443. package/.trae/skills/seven/reference/app-shell.md +152 -0
  444. package/.trae/skills/seven/reference/audit.md +122 -0
  445. package/.trae/skills/seven/reference/bolder.md +34 -0
  446. package/.trae/skills/seven/reference/brand.md +31 -0
  447. package/.trae/skills/seven/reference/clarify.md +76 -0
  448. package/.trae/skills/seven/reference/color-and-contrast.md +84 -0
  449. package/.trae/skills/seven/reference/colorize.md +31 -0
  450. package/.trae/skills/seven/reference/critique.md +53 -0
  451. package/.trae/skills/seven/reference/delight.md +30 -0
  452. package/.trae/skills/seven/reference/distill.md +30 -0
  453. package/.trae/skills/seven/reference/doctor.md +9 -0
  454. package/.trae/skills/seven/reference/document.md +36 -0
  455. package/.trae/skills/seven/reference/evaluations.md +44 -0
  456. package/.trae/skills/seven/reference/exceptions.md +7 -0
  457. package/.trae/skills/seven/reference/extract.md +42 -0
  458. package/.trae/skills/seven/reference/harden.md +36 -0
  459. package/.trae/skills/seven/reference/hooks.md +11 -0
  460. package/.trae/skills/seven/reference/init.md +5 -0
  461. package/.trae/skills/seven/reference/layout.md +33 -0
  462. package/.trae/skills/seven/reference/live.md +106 -0
  463. package/.trae/skills/seven/reference/motion-design.md +71 -0
  464. package/.trae/skills/seven/reference/onboard.md +35 -0
  465. package/.trae/skills/seven/reference/optimize.md +34 -0
  466. package/.trae/skills/seven/reference/overdrive.md +32 -0
  467. package/.trae/skills/seven/reference/polish.md +55 -0
  468. package/.trae/skills/seven/reference/product.md +43 -0
  469. package/.trae/skills/seven/reference/quieter.md +31 -0
  470. package/.trae/skills/seven/reference/routing.md +28 -0
  471. package/.trae/skills/seven/reference/setup.md +38 -0
  472. package/.trae/skills/seven/reference/shape.md +85 -0
  473. package/.trae/skills/seven/reference/spatial-design.md +60 -0
  474. package/.trae/skills/seven/reference/typeset.md +28 -0
  475. package/.trae/skills/seven/reference/typography.md +43 -0
  476. package/.trae/skills/seven/reference/ux-writing.md +47 -0
  477. package/.trae/skills/seven/reference/visual-probes.md +36 -0
  478. package/.trae/skills/seven/scripts/context-signals.mjs +95 -0
  479. package/.trae/skills/seven/scripts/critique-storage.mjs +155 -0
  480. package/.trae/skills/seven/scripts/load-context.mjs +111 -0
  481. package/.trae/skills/seven/scripts/run-seven.mjs +47 -0
  482. package/.trae/skills/seven/scripts/update-check.mjs +120 -0
  483. package/.trae-cn/skills/seven/SKILL.md +174 -0
  484. package/.trae-cn/skills/seven/reference/adapt.md +34 -0
  485. package/.trae-cn/skills/seven/reference/animate.md +31 -0
  486. package/.trae-cn/skills/seven/reference/app-shell.md +152 -0
  487. package/.trae-cn/skills/seven/reference/audit.md +122 -0
  488. package/.trae-cn/skills/seven/reference/bolder.md +34 -0
  489. package/.trae-cn/skills/seven/reference/brand.md +31 -0
  490. package/.trae-cn/skills/seven/reference/clarify.md +76 -0
  491. package/.trae-cn/skills/seven/reference/color-and-contrast.md +84 -0
  492. package/.trae-cn/skills/seven/reference/colorize.md +31 -0
  493. package/.trae-cn/skills/seven/reference/critique.md +53 -0
  494. package/.trae-cn/skills/seven/reference/delight.md +30 -0
  495. package/.trae-cn/skills/seven/reference/distill.md +30 -0
  496. package/.trae-cn/skills/seven/reference/doctor.md +9 -0
  497. package/.trae-cn/skills/seven/reference/document.md +36 -0
  498. package/.trae-cn/skills/seven/reference/evaluations.md +44 -0
  499. package/.trae-cn/skills/seven/reference/exceptions.md +7 -0
  500. package/.trae-cn/skills/seven/reference/extract.md +42 -0
  501. package/.trae-cn/skills/seven/reference/harden.md +36 -0
  502. package/.trae-cn/skills/seven/reference/hooks.md +11 -0
  503. package/.trae-cn/skills/seven/reference/init.md +5 -0
  504. package/.trae-cn/skills/seven/reference/layout.md +33 -0
  505. package/.trae-cn/skills/seven/reference/live.md +106 -0
  506. package/.trae-cn/skills/seven/reference/motion-design.md +71 -0
  507. package/.trae-cn/skills/seven/reference/onboard.md +35 -0
  508. package/.trae-cn/skills/seven/reference/optimize.md +34 -0
  509. package/.trae-cn/skills/seven/reference/overdrive.md +32 -0
  510. package/.trae-cn/skills/seven/reference/polish.md +55 -0
  511. package/.trae-cn/skills/seven/reference/product.md +43 -0
  512. package/.trae-cn/skills/seven/reference/quieter.md +31 -0
  513. package/.trae-cn/skills/seven/reference/routing.md +28 -0
  514. package/.trae-cn/skills/seven/reference/setup.md +38 -0
  515. package/.trae-cn/skills/seven/reference/shape.md +85 -0
  516. package/.trae-cn/skills/seven/reference/spatial-design.md +60 -0
  517. package/.trae-cn/skills/seven/reference/typeset.md +28 -0
  518. package/.trae-cn/skills/seven/reference/typography.md +43 -0
  519. package/.trae-cn/skills/seven/reference/ux-writing.md +47 -0
  520. package/.trae-cn/skills/seven/reference/visual-probes.md +36 -0
  521. package/.trae-cn/skills/seven/scripts/context-signals.mjs +95 -0
  522. package/.trae-cn/skills/seven/scripts/critique-storage.mjs +155 -0
  523. package/.trae-cn/skills/seven/scripts/load-context.mjs +111 -0
  524. package/.trae-cn/skills/seven/scripts/run-seven.mjs +47 -0
  525. package/.trae-cn/skills/seven/scripts/update-check.mjs +120 -0
  526. package/.vibe/skills/seven/SKILL.md +175 -0
  527. package/.vibe/skills/seven/reference/adapt.md +34 -0
  528. package/.vibe/skills/seven/reference/animate.md +31 -0
  529. package/.vibe/skills/seven/reference/app-shell.md +152 -0
  530. package/.vibe/skills/seven/reference/audit.md +122 -0
  531. package/.vibe/skills/seven/reference/bolder.md +34 -0
  532. package/.vibe/skills/seven/reference/brand.md +31 -0
  533. package/.vibe/skills/seven/reference/clarify.md +76 -0
  534. package/.vibe/skills/seven/reference/color-and-contrast.md +84 -0
  535. package/.vibe/skills/seven/reference/colorize.md +31 -0
  536. package/.vibe/skills/seven/reference/critique.md +53 -0
  537. package/.vibe/skills/seven/reference/delight.md +30 -0
  538. package/.vibe/skills/seven/reference/distill.md +30 -0
  539. package/.vibe/skills/seven/reference/doctor.md +9 -0
  540. package/.vibe/skills/seven/reference/document.md +36 -0
  541. package/.vibe/skills/seven/reference/evaluations.md +44 -0
  542. package/.vibe/skills/seven/reference/exceptions.md +7 -0
  543. package/.vibe/skills/seven/reference/extract.md +42 -0
  544. package/.vibe/skills/seven/reference/harden.md +36 -0
  545. package/.vibe/skills/seven/reference/hooks.md +11 -0
  546. package/.vibe/skills/seven/reference/init.md +5 -0
  547. package/.vibe/skills/seven/reference/layout.md +33 -0
  548. package/.vibe/skills/seven/reference/live.md +106 -0
  549. package/.vibe/skills/seven/reference/motion-design.md +71 -0
  550. package/.vibe/skills/seven/reference/onboard.md +35 -0
  551. package/.vibe/skills/seven/reference/optimize.md +34 -0
  552. package/.vibe/skills/seven/reference/overdrive.md +32 -0
  553. package/.vibe/skills/seven/reference/polish.md +55 -0
  554. package/.vibe/skills/seven/reference/product.md +43 -0
  555. package/.vibe/skills/seven/reference/quieter.md +31 -0
  556. package/.vibe/skills/seven/reference/routing.md +28 -0
  557. package/.vibe/skills/seven/reference/setup.md +38 -0
  558. package/.vibe/skills/seven/reference/shape.md +85 -0
  559. package/.vibe/skills/seven/reference/spatial-design.md +60 -0
  560. package/.vibe/skills/seven/reference/typeset.md +28 -0
  561. package/.vibe/skills/seven/reference/typography.md +43 -0
  562. package/.vibe/skills/seven/reference/ux-writing.md +47 -0
  563. package/.vibe/skills/seven/reference/visual-probes.md +36 -0
  564. package/.vibe/skills/seven/scripts/context-signals.mjs +95 -0
  565. package/.vibe/skills/seven/scripts/critique-storage.mjs +155 -0
  566. package/.vibe/skills/seven/scripts/load-context.mjs +111 -0
  567. package/.vibe/skills/seven/scripts/run-seven.mjs +47 -0
  568. package/.vibe/skills/seven/scripts/update-check.mjs +120 -0
  569. package/README.md +53 -88
  570. package/cli/bin/seven.mjs +0 -0
  571. package/cli/engine/browser/injected/index.mjs +62 -13
  572. package/cli/engine/detect-antipatterns-browser.js +4739 -19
  573. package/cli/engine/detect-antipatterns.mjs +1 -0
  574. package/cli/engine/engines/browser/detect-url.mjs +366 -3
  575. package/cli/engine/engines/regex/detect-text.mjs +469 -1
  576. package/cli/engine/engines/static-html/detect-html.mjs +131 -0
  577. package/cli/engine/registry/seven-antipatterns.mjs +379 -4
  578. package/cli/engine/rules/checks.mjs +360 -1
  579. package/cli/engine/shared/tokens.mjs +19 -0
  580. package/cli/engine/token-data.generated.mjs +4025 -0
  581. package/docs/detector-rules.md +277 -38
  582. package/docs/upstream-parity.json +242 -0
  583. package/extension/README.md +5 -0
  584. package/extension/background/service-worker.js +134 -0
  585. package/extension/content/content-script.js +340 -0
  586. package/extension/detector/detect.js +7816 -0
  587. package/extension/devtools/devtools.html +1 -0
  588. package/extension/devtools/devtools.js +3 -0
  589. package/extension/devtools/panel.css +66 -0
  590. package/extension/devtools/panel.html +3 -0
  591. package/extension/devtools/panel.js +37 -0
  592. package/extension/manifest.json +22 -0
  593. package/extension/popup/popup.css +106 -0
  594. package/extension/popup/popup.html +27 -0
  595. package/extension/popup/popup.js +74 -0
  596. package/package.json +19 -8
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env node
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ // ETUS Digital — package-manager-independent Seven CLI runner.
4
+
5
+ import fs from 'node:fs'
6
+ import path from 'node:path'
7
+ import { spawnSync } from 'node:child_process'
8
+ import { createRequire } from 'node:module'
9
+ import { fileURLToPath } from 'node:url'
10
+
11
+ import { findRoot } from './load-context.mjs'
12
+
13
+ export function resolveSevenCli(start = process.cwd()) {
14
+ const root = findRoot(start)
15
+ const require = createRequire(path.join(root, 'package.json'))
16
+ const manifestPath = require.resolve('@etus/seven/package.json')
17
+ const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'))
18
+ const bin = typeof manifest.bin === 'string' ? manifest.bin : manifest.bin?.seven
19
+ if (!bin) throw new Error(`@etus/seven at ${manifestPath} does not declare the seven binary`)
20
+ return {
21
+ binPath: path.resolve(path.dirname(manifestPath), bin),
22
+ root,
23
+ }
24
+ }
25
+
26
+ export function runSeven(argv = process.argv.slice(2), start = process.cwd()) {
27
+ if (argv.length === 0) throw new Error('usage: run-seven.mjs <seven-command> [arguments]')
28
+ const { binPath, root } = resolveSevenCli(start)
29
+ const result = spawnSync(process.execPath, [binPath, ...argv], {
30
+ cwd: root,
31
+ env: process.env,
32
+ stdio: 'inherit',
33
+ })
34
+ if (result.error) throw result.error
35
+ return result.status ?? 1
36
+ }
37
+
38
+ function isCliEntry() {
39
+ if (!process.argv[1]) return false
40
+ try {
41
+ return fs.realpathSync(fileURLToPath(import.meta.url)) === fs.realpathSync(process.argv[1])
42
+ } catch {
43
+ return false
44
+ }
45
+ }
46
+
47
+ if (isCliEntry()) process.exitCode = runSeven()
@@ -0,0 +1,120 @@
1
+ #!/usr/bin/env node
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import fs from 'node:fs'
5
+ import os from 'node:os'
6
+ import path from 'node:path'
7
+
8
+ const DAY_MS = 24 * 60 * 60 * 1000
9
+ const WEEK_MS = 7 * DAY_MS
10
+
11
+ function cachePath(env = process.env) {
12
+ return env.SEVEN_UPDATE_CACHE || path.join(os.homedir(), '.seven', 'update-check.json')
13
+ }
14
+
15
+ function readCache(env) {
16
+ try {
17
+ const parsed = JSON.parse(fs.readFileSync(cachePath(env), 'utf8'))
18
+ return parsed && typeof parsed === 'object' ? parsed : {}
19
+ } catch {
20
+ return {}
21
+ }
22
+ }
23
+
24
+ function writeCache(cache, env) {
25
+ try {
26
+ const destination = cachePath(env)
27
+ fs.mkdirSync(path.dirname(destination), { recursive: true })
28
+ fs.writeFileSync(destination, `${JSON.stringify(cache, null, 2)}\n`)
29
+ } catch {
30
+ // Update discovery is best-effort and must never block the UI workflow.
31
+ }
32
+ }
33
+
34
+ function semverParts(value) {
35
+ const match = String(value || '').trim().match(/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/)
36
+ if (!match) return null
37
+ return {
38
+ core: [Number(match[1]), Number(match[2]), Number(match[3])],
39
+ prerelease: match[4] ? match[4].split('.') : [],
40
+ }
41
+ }
42
+
43
+ function compareIdentifier(left, right) {
44
+ const leftNumber = /^\d+$/.test(left) ? Number(left) : null
45
+ const rightNumber = /^\d+$/.test(right) ? Number(right) : null
46
+ if (leftNumber != null && rightNumber != null) return Math.sign(leftNumber - rightNumber)
47
+ if (leftNumber != null) return -1
48
+ if (rightNumber != null) return 1
49
+ return left.localeCompare(right)
50
+ }
51
+
52
+ export function compareSemver(left, right) {
53
+ const a = semverParts(left)
54
+ const b = semverParts(right)
55
+ if (!a || !b) return 0
56
+ for (let index = 0; index < 3; index++) {
57
+ if (a.core[index] !== b.core[index]) return Math.sign(a.core[index] - b.core[index])
58
+ }
59
+ if (a.prerelease.length === 0 && b.prerelease.length > 0) return 1
60
+ if (b.prerelease.length === 0 && a.prerelease.length > 0) return -1
61
+ for (let index = 0; index < Math.max(a.prerelease.length, b.prerelease.length); index++) {
62
+ if (a.prerelease[index] == null) return -1
63
+ if (b.prerelease[index] == null) return 1
64
+ const compared = compareIdentifier(a.prerelease[index], b.prerelease[index])
65
+ if (compared !== 0) return compared
66
+ }
67
+ return 0
68
+ }
69
+
70
+ async function fetchLatest(env) {
71
+ const registry = (env.SEVEN_UPDATE_REGISTRY || 'https://registry.npmjs.org').replace(/\/$/, '')
72
+ const controller = new AbortController()
73
+ const timeout = setTimeout(() => controller.abort(), 1500)
74
+ try {
75
+ const response = await fetch(`${registry}/%40etus%2Fseven/latest`, {
76
+ headers: { accept: 'application/json' },
77
+ signal: controller.signal,
78
+ })
79
+ if (!response.ok) return null
80
+ const payload = await response.json()
81
+ return typeof payload?.version === 'string' ? payload.version : null
82
+ } catch {
83
+ return null
84
+ } finally {
85
+ clearTimeout(timeout)
86
+ }
87
+ }
88
+
89
+ export async function checkForUpdate(currentVersion, { env = process.env, now = Date.now() } = {}) {
90
+ if (!currentVersion || env.SEVEN_NO_UPDATE_CHECK) return null
91
+ const cache = readCache(env)
92
+ const fresh = typeof cache.checkedAt === 'number' && now - cache.checkedAt < DAY_MS
93
+ let latestVersion = fresh ? cache.latestVersion : await fetchLatest(env)
94
+ if (!latestVersion) latestVersion = cache.latestVersion || null
95
+ if (!fresh && latestVersion) {
96
+ cache.checkedAt = now
97
+ cache.latestVersion = latestVersion
98
+ }
99
+ if (!latestVersion) return null
100
+
101
+ const available = compareSemver(latestVersion, currentVersion) > 0
102
+ const notify = available && (
103
+ cache.notifiedVersion !== latestVersion ||
104
+ typeof cache.notifiedAt !== 'number' ||
105
+ now - cache.notifiedAt >= WEEK_MS
106
+ )
107
+ if (notify) {
108
+ cache.notifiedVersion = latestVersion
109
+ cache.notifiedAt = now
110
+ }
111
+ writeCache(cache, env)
112
+ return {
113
+ package: '@etus/seven',
114
+ currentVersion,
115
+ latestVersion,
116
+ available,
117
+ notify,
118
+ command: `pnpm add -D @etus/seven@${latestVersion} && pnpm exec seven update`,
119
+ }
120
+ }
package/README.md CHANGED
@@ -1,118 +1,83 @@
1
1
  # @etus/seven-skill
2
2
 
3
- Seven Design System skill, plugin, and CLI detector for AI coding agents.
3
+ Build/runtime interno das skills de UI do Seven, agentes auxiliares, detector determinístico e Seven UI Guardian. Projetos consumidores devem instalar `@etus/seven`, cujo único binário `seven` instala estes artefatos junto com policy, contexto, hooks e enforcement local.
4
4
 
5
- This package distributes the Seven Design System guard-rails as a Claude Code plugin and a deterministic CLI detector. Phase 2 expands to Cursor, Codex, Gemini, OpenCode, and other AI harnesses.
5
+ `@etus/seven-skill` não expõe um segundo binário `seven`.
6
6
 
7
- ## What ships
7
+ ## O que é publicado
8
8
 
9
- - **Skill source-of-truth** under `source/`: the routing `SKILL.md` plus domain references for typography, color, motion, spatial design, voice, and the Phase 1 sub-commands (`shape`, `audit`, `polish`, `clarify`).
10
- - **Multi-harness build pipeline** in `build/` that emits one configured skill per target harness. Phase 1 ships Claude Code only at `.claude/skills/seven/`.
11
- - **Claude Code plugin** wrapper in `.claude-plugin/` with `plugin.json` and `marketplace.json` auto-synced from `package.json`.
12
- - **Deterministic CLI detector** in `cli/` with 35 Seven-tuned rules (`npx seven detect <path>`).
9
+ - Skills nativas para Claude Code, Codex/Agent Skills, Cursor, Gemini CLI, Grok Build, Kiro, OpenCode, Pi, Qoder, Rovo Dev, Trae, Trae China e Mistral Vibe.
10
+ - Três agentes auxiliares onde o host possui um contrato nativo: asset producer, finish reviewer e manual edit applier.
11
+ - `.claude-plugin/` para compatibilidade com o plugin/marketplace do Claude.
12
+ - `cli/engine/`, com as engines regex, HTML/cascade e navegador usadas por `seven check`.
13
+ - `extension/`, a extensão Manifest V3 Seven UI Guardian, com popup, painel DevTools, marcações de findings e cliente Seven Live.
14
+ - `docs/upstream-parity.json`, matriz executável e versionada contra o Impeccable auditado.
13
15
 
14
- ## Status
16
+ GitHub Copilot é a única distribuição upstream deliberadamente recusada: nenhum projeto consumidor recebe ou tem alterado um arquivo `.github/**`.
15
17
 
16
- Phase 1 hardened Claude Code port. Claude Code target only, 35 detector rules, four sub-commands. Distributed as a Claude Code plugin via the marketplace configuration in this package and as an npm CLI/skill package.
18
+ Alguns hosts exigem ativação fora do alcance do npm. `seven init` e `seven doctor` lembram o usuário de habilitar Agent Skills no Cursor/Gemini, aprovar hooks no Codex/Grok e reiniciar Trae quando aplicável. Esses consentimentos não podem ser automatizados com segurança; o pre-commit local continua protegendo arquivos de UI independentemente da ativação do host.
17
19
 
18
- ## Install
20
+ ## Skill canônica
19
21
 
20
- ### Claude Code plugin (recommended)
22
+ `source/SKILL.md` é a fonte de verdade. Ela roteia 22 workflows de UI aplicáveis — `setup`, `shape`, `document`, `extract`, `critique`, `audit`, `polish`, `bolder`, `quieter`, `distill`, `harden`, `onboard`, `animate`, `colorize`, `typeset`, `layout`, `delight`, `clarify`, `adapt`, `optimize`, `overdrive` e `live` — mais `doctor`, `hooks` e `exceptions`. `init` permanece como alias retrocompatível de `setup`.
21
23
 
22
- The plugin is configured by `.claude-plugin/marketplace.json` and `.claude-plugin/plugin.json` in this package. Inside the Seven monorepo it is available as a workspace dependency:
24
+ No Claude Code, a invocação explícita é `/seven setup [target]`; o build publica `intent` e `target` como argumentos nomeados e consome `$ARGUMENTS`. No Codex, a sintaxe nativa equivalente é `$seven setup [target]`. Nos demais hosts, o primeiro token seleciona o workflow e o restante do prompt define o alvo.
23
25
 
24
- ```bash
25
- pnpm add -D @etus/seven-skill --workspace
26
- ```
27
-
28
- For external projects, install the package or point the plugin manifest at the git source:
29
-
30
- ```bash
31
- pnpm add -D @etus/seven-skill
32
- claude plugin install @etus/seven-skill
26
+ Comandos determinísticos da skill passam pelo `scripts/run-seven.mjs` instalado em cada host. O runner resolve diretamente o binário do `@etus/seven` local, por isso não depende de um `seven` global nem do gerenciador de pacotes usado pelo projeto.
33
27
 
34
- # Git source fallback while marketplace propagation catches up:
35
- claude plugin install github:etusdigital/seven#path=packages/seven-skill
36
- ```
28
+ Todo workflow de UI deve:
37
29
 
38
- ### CLI detector
30
+ 1. resolver o arquivo, app e superfície exatos;
31
+ 2. carregar `PRODUCT.md`, `.seven/project.yml`, surface brief e o resumo íntegro do release lock;
32
+ 3. validar a instalação com `run-seven.mjs doctor --quick`;
33
+ 4. procurar e reutilizar componentes/variantes do registry instalado;
34
+ 5. usar somente tokens Seven e voz de produto em português brasileiro;
35
+ 6. executar `run-seven.mjs check` em cada arquivo alterado;
36
+ 7. reportar evidência e gaps sem inventar contratos.
39
37
 
40
- Inside the monorepo:
38
+ Contexto de produto pode especializar usuários, jobs, estados, voz e acessibilidade. Não pode substituir cores, tipografia, spacing, radii, motion, variantes ou APIs do Seven. Não existe `DESIGN.md` consumidor com autoridade visual.
41
39
 
42
- ```bash
43
- pnpm --filter @etus/seven-skill exec seven detect packages/ui/src/
44
- ```
40
+ ## Detector e enforcement
45
41
 
46
- ## Commands (Phase 1)
42
+ O catálogo possui 68 regras. Ele inclui as 59 regras determinísticas identificadas no Impeccable atual, classificadas como portadas, adaptadas à autoridade do Seven ou rejeitadas por conflito, além de regras exclusivas de tokens, Tailwind v4, React 19, pt-BR, shell Sidebar + Topbar, comportamento da Rail e boundary consumidor.
47
43
 
48
- | Command | Purpose |
49
- | ---------------- | -------------------------------------------------------------------------- |
50
- | `/seven shape` | Plan UX shape before writing component code |
51
- | `/seven audit` | Five-dimension scan: a11y, performance, theming, responsive, anti-patterns |
52
- | `/seven polish` | Final-pass cleanup aligned to Seven tokens and conventions |
53
- | `/seven clarify` | UX copy in pt-BR: imperative leads, sentence case, no trailing periods |
44
+ O pacote consumidor combina o detector com:
54
45
 
55
- Phase 2 adds `craft`, `harden`, `layout`, `typeset`.
46
+ - hooks semânticos nativos em Claude, Codex, Cursor e Grok;
47
+ - pre-commit Git local para mudanças humanas ou feitas fora das ferramentas do agente;
48
+ - checks `--all`, `--changed`, `--staged`, `--file` e URL renderizada;
49
+ - exceções explícitas, baseline que só pode encolher, doctor, pin/unpin e update/uninstall ownership-safe.
56
50
 
57
- ## Detector rules
51
+ O LLM nunca é hard gate. Código determinístico decide routing técnico, integridade e findings; o modelo é usado para julgamento de produto/design.
58
52
 
59
- The detector ships 35 rules across three engines (regex, static-html,
60
- browser). Each rule is `quality` (real design / a11y drift) or `slop` (an
61
- AI tell, Seven-flavored). The full catalog — every rule with its
62
- justification, a wrong/right example, and the design reference that grounds
63
- it — is in [`docs/detector-rules.md`](./docs/detector-rules.md).
53
+ ## Seven Live e extensão
64
54
 
65
- **Token-aware.** Eight rules are grounded in Seven's real design tokens: a
66
- build step (`build:tokens`) reads `@etus/tokens` and embeds a token-data
67
- snapshot, so `hardcoded-color-not-token` names the exact token a literal
68
- maps to, `non-inter-font` reads the font tokens, `radius-mixed-scales` reads
69
- the radius scale, and `bounce-easing` knows the sanctioned easing tokens.
70
- When `@etus/tokens` rebuilds from a Figma sync, regenerate the snapshot. The
71
- other 27 rules are heuristics — language facts, CSS mechanics, and a11y
72
- standards no token defines. Each rule's verdict is in `RULE_GROUNDING`.
55
+ `seven live` usa um bridge em `127.0.0.1` com token aleatório, journal local e payload limitado. Seven UI Guardian seleciona o elemento e exibe direções HTML/CSS inertes. Um aceite autoriza uma edição pequena no código React usando contratos instalados; DOM/CSS de preview nunca vira produção automaticamente.
73
56
 
74
- Quick map: nine text rules (`non-inter-font`, `hardcoded-color-not-token`,
75
- `raw-tailwind-palette-color`, `missing-color-type-hint`,
76
- `missing-length-type-hint`, `leading-none-with-length-var`,
77
- `fuchsia-in-ui-chrome`, `pt-pt-vocab`, `pure-black-or-white`); three
78
- inverted from impeccable (`side-stripe-border`, `gradient-text-decorative`,
79
- `shadows-not-borders`); seventeen universal design-quality / a11y rules; six
80
- Seven-specific element rules (`missing-tactile-press`, `pill-on-button`,
81
- `radius-mixed-scales`, `non-lucide-icon`, `emoji-in-chrome`,
82
- `forbidden-em-dash`).
57
+ Por segurança do navegador, npm não pode ativar a extensão sem consentimento. `seven extension path` informa o diretório publicado que deve ser carregado uma única vez como extensão sem compactação.
83
58
 
84
- Exit codes follow the impeccable convention: `0` clean, `2` findings present, `1` usage error.
59
+ ## Build e verificação
85
60
 
86
- ## Architecture
87
-
88
- ```
89
- packages/seven-skill/
90
- ├── source/ # authoring source (not shipped to npm)
91
- │ ├── SKILL.md # router + shared design laws
92
- │ ├── reference/ # domain + sub-command references
93
- │ └── scripts/ # consumer-side runtime scripts (Phase 2)
94
- ├── build/ # multi-harness build pipeline (not shipped)
95
- ├── cli/ # deterministic detector (shipped)
96
- ├── .claude/skills/seven/ # Claude Code build output (shipped, tracked)
97
- ├── .claude-plugin/ # Claude Code plugin wrapper (shipped)
98
- └── tests/ # unit + fixture tests
61
+ ```bash
62
+ pnpm --filter @etus/seven-skill build
63
+ pnpm --filter @etus/seven-skill test
64
+ pnpm --filter @etus/seven-skill typecheck
99
65
  ```
100
66
 
101
- Author in `source/`. Run `pnpm --filter @etus/seven-skill build` to regenerate the per-harness skill outputs and the plugin manifest.
67
+ O build regenera 13 provider trees, agentes, metadados de plugin, snapshot de tokens, browser detector e extensão. Artefatos gerados devem permanecer byte-for-byte derivados de `source/` e `extension-src/`.
102
68
 
103
- ## Development
104
-
105
- ```bash
106
- pnpm --filter @etus/seven-skill build # regenerate harness output and manifests
107
- pnpm --filter @etus/seven-skill test # vitest unit + fixture suite
108
- pnpm --filter @etus/seven-skill typecheck # tsc strict mode
109
-
110
- # Detector usage
111
- pnpm --filter @etus/seven-skill exec seven detect path/to/file-or-dir
112
- pnpm --filter @etus/seven-skill exec seven detect packages/ui/src/ --json
113
- pnpm --filter @etus/seven-skill exec seven help
69
+ ```text
70
+ packages/seven-skill/
71
+ ├── source/ # skill, referências, scripts e agentes canônicos
72
+ ├── build/ # transformers e geradores
73
+ ├── cli/engine/ # detector determinístico
74
+ ├── extension-src/ # fonte da extensão
75
+ ├── extension/ # build publicável da extensão
76
+ ├── .claude/, .agents/, ... # 13 outputs de hosts
77
+ ├── docs/ # regras e matriz de paridade
78
+ └── tests/ # contratos, fixtures, build e paridade
114
79
  ```
115
80
 
116
- ## License
81
+ ## Licença
117
82
 
118
- Apache-2.0. See `LICENSE`.
83
+ Apache-2.0. A arquitetura adaptada do Impeccable é atribuída em `NOTICE.md` e nos headers relevantes.
package/cli/bin/seven.mjs CHANGED
File without changes
@@ -16,19 +16,60 @@
16
16
  * dependent drift surfaces — the per-element work the static-html engine does
17
17
  * against a resolved cascade, here against the real browser.
18
18
  *
19
- * Impeccable's injected script also carries an inspector overlay, decoration,
20
- * visual-contrast capture, and the Chrome-extension bridge. Those are
21
- * extension UI, not detection Seven has no extension, so they are omitted.
19
+ * Inspector overlays and the Live bridge stay in the packaged Seven browser
20
+ * extension. This detector remains UI-agnostic and returns stable selectors
21
+ * so the extension can decorate or focus the matching element.
22
22
  */
23
23
 
24
24
  ;(function sevenInstallBrowserDetector() {
25
25
  if (typeof window === 'undefined') return
26
26
 
27
+ function selectorFor(el) {
28
+ if (!el || el.nodeType !== 1) return ''
29
+ const escape = (value) => {
30
+ if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') return CSS.escape(value)
31
+ return String(value).replace(/[^a-zA-Z0-9_-]/g, (char) => `\\${char}`)
32
+ }
33
+ if (el.id && document.querySelectorAll(`#${escape(el.id)}`).length === 1) return `#${escape(el.id)}`
34
+ for (const attribute of ['data-testid', 'data-slot']) {
35
+ const value = el.getAttribute?.(attribute)
36
+ if (value) {
37
+ const selector = `[${attribute}="${String(value).replaceAll('"', '\\"')}"]`
38
+ if (document.querySelectorAll(selector).length === 1) return selector
39
+ }
40
+ }
41
+ const parts = []
42
+ let current = el
43
+ while (current && current !== document.documentElement && parts.length < 6) {
44
+ let part = current.tagName.toLowerCase()
45
+ const siblings = current.parentElement
46
+ ? [...current.parentElement.children].filter((item) => item.tagName === current.tagName)
47
+ : []
48
+ if (siblings.length > 1) part += `:nth-of-type(${siblings.indexOf(current) + 1})`
49
+ parts.unshift(part)
50
+ const selector = parts.join(' > ')
51
+ if (document.querySelectorAll(selector).length === 1) return selector
52
+ current = current.parentElement
53
+ }
54
+ return parts.join(' > ')
55
+ }
56
+
27
57
  function collectFindings() {
28
58
  const out = []
29
- const push = (arr) => {
59
+ const seen = new Set()
60
+ const push = (arr, element = null) => {
30
61
  if (!arr) return
31
- for (const f of arr) out.push({ type: f.id, detail: f.snippet })
62
+ for (const f of arr) {
63
+ const normalized = {
64
+ type: f.id,
65
+ detail: f.snippet,
66
+ ...(element ? { selector: selectorFor(element), tag: element.tagName?.toLowerCase() || '' } : {}),
67
+ }
68
+ const key = `${normalized.type}|${normalized.selector || ''}|${normalized.detail || ''}`
69
+ if (seen.has(key)) continue
70
+ seen.add(key)
71
+ out.push(normalized)
72
+ }
32
73
  }
33
74
 
34
75
  for (const el of document.querySelectorAll('*')) {
@@ -38,14 +79,14 @@
38
79
  continue
39
80
  }
40
81
  try {
41
- push(checkElementBordersDOM(el))
42
- push(checkElementColorsDOM(el))
43
- push(checkElementGlowDOM(el))
44
- push(checkElementMotionDOM(el))
45
- push(checkElementTactilePressDOM(el))
46
- push(checkElementPillOnButtonDOM(el))
47
- push(checkElementLucideIconDOM(el))
48
- push(checkElementQualityDOM(el))
82
+ push(checkElementBordersDOM(el), el)
83
+ push(checkElementColorsDOM(el), el)
84
+ push(checkElementGlowDOM(el), el)
85
+ push(checkElementMotionDOM(el), el)
86
+ push(checkElementTactilePressDOM(el), el)
87
+ push(checkElementPillOnButtonDOM(el), el)
88
+ push(checkElementLucideIconDOM(el), el)
89
+ push(checkElementQualityDOM(el), el)
49
90
  } catch {
50
91
  // A malformed element must not abort the whole scan.
51
92
  }
@@ -64,6 +105,14 @@
64
105
  /* html-pattern check failed — continue */
65
106
  }
66
107
 
108
+ try {
109
+ // Rendered-text parity for Seven's source checks, including the stricter
110
+ // forbidden-em-dash adaptation of Impeccable's advisory saturation rule.
111
+ push(runChecks(document.documentElement.outerHTML))
112
+ } catch {
113
+ /* rendered-text check failed — continue */
114
+ }
115
+
67
116
  return out
68
117
  }
69
118