@jaimevalasek/aioson 1.6.0 → 1.7.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 (275) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +729 -232
  3. package/docs/design-previews/pt.squarespace.com-homepage.html +889 -0
  4. package/docs/integrations/sdlc-genius-boundary.md +76 -0
  5. package/docs/integrations/sdlc-genius-eval-matrix.md +75 -0
  6. package/docs/integrations/sdlc-genius-install-checklist.md +93 -0
  7. package/docs/integrations/sdlc-genius-review-samples.md +86 -0
  8. package/docs/pt/README.md +3 -0
  9. package/docs/pt/agentes.md +1 -0
  10. package/docs/pt/comandos-cli.md +888 -2
  11. package/docs/pt/design-hybrid-forge.md +255 -6
  12. package/docs/pt/devlog-pipeline.md +270 -0
  13. package/docs/pt/fluxo-artefatos.md +178 -0
  14. package/docs/pt/hooks-session-guard.md +454 -0
  15. package/docs/pt/monitor-de-contexto.md +59 -5
  16. package/docs/pt/sdd-automation-scripts.md +557 -0
  17. package/docs/pt/site-forge.md +309 -0
  18. package/docs/pt/spec-learnings-pipeline.md +265 -0
  19. package/package.json +1 -1
  20. package/src/a2a/client.js +165 -0
  21. package/src/a2a/server.js +223 -0
  22. package/src/cli.js +235 -1
  23. package/src/commands/agent-audit.js +397 -0
  24. package/src/commands/agent-export-skill.js +229 -0
  25. package/src/commands/artifact-validate.js +189 -0
  26. package/src/commands/brief-gen.js +405 -0
  27. package/src/commands/brief-validate.js +65 -0
  28. package/src/commands/classify.js +256 -0
  29. package/src/commands/context-compact.js +49 -0
  30. package/src/commands/context-health.js +175 -0
  31. package/src/commands/context-monitor.js +71 -0
  32. package/src/commands/context-trim.js +177 -0
  33. package/src/commands/detect-test-runner.js +55 -0
  34. package/src/commands/devlog-export-brains.js +27 -0
  35. package/src/commands/devlog-process.js +292 -0
  36. package/src/commands/devlog-watch.js +131 -0
  37. package/src/commands/feature-close.js +165 -0
  38. package/src/commands/gate-check.js +228 -0
  39. package/src/commands/hooks-emit.js +253 -0
  40. package/src/commands/hooks-install.js +347 -0
  41. package/src/commands/learning-auto-promote.js +195 -0
  42. package/src/commands/learning-evolve.js +18 -9
  43. package/src/commands/learning-export.js +103 -0
  44. package/src/commands/learning-rollback.js +164 -0
  45. package/src/commands/live.js +25 -1
  46. package/src/commands/pattern-detect.js +33 -0
  47. package/src/commands/preflight-context.js +30 -0
  48. package/src/commands/preflight.js +208 -0
  49. package/src/commands/pulse-update.js +130 -0
  50. package/src/commands/runner-daemon.js +274 -0
  51. package/src/commands/runner-plan.js +70 -0
  52. package/src/commands/runner-queue-from-plan.js +166 -0
  53. package/src/commands/runner-queue.js +189 -0
  54. package/src/commands/runner-run.js +129 -0
  55. package/src/commands/runtime.js +47 -1
  56. package/src/commands/self-implement-loop.js +256 -0
  57. package/src/commands/session-guard.js +218 -0
  58. package/src/commands/sizing.js +165 -0
  59. package/src/commands/skill.js +65 -0
  60. package/src/commands/spec-checkpoint.js +177 -0
  61. package/src/commands/spec-status.js +79 -0
  62. package/src/commands/spec-sync.js +190 -0
  63. package/src/commands/spec-tasks.js +288 -0
  64. package/src/commands/squad-autorun.js +1220 -0
  65. package/src/commands/squad-bus.js +217 -0
  66. package/src/commands/squad-card.js +149 -0
  67. package/src/commands/squad-daemon.js +134 -0
  68. package/src/commands/squad-dependency-graph.js +164 -0
  69. package/src/commands/squad-review.js +106 -0
  70. package/src/commands/squad-scaffold.js +55 -0
  71. package/src/commands/squad-tool-register.js +157 -0
  72. package/src/commands/state-save.js +122 -0
  73. package/src/commands/update.js +2 -0
  74. package/src/commands/verify-gate.js +572 -0
  75. package/src/commands/workflow-execute.js +241 -0
  76. package/src/constants.js +22 -0
  77. package/src/install-profile.js +2 -2
  78. package/src/install-wizard.js +3 -2
  79. package/src/installer.js +6 -0
  80. package/src/lib/health-check.js +158 -0
  81. package/src/lib/hook-protocol.js +76 -0
  82. package/src/mcp/apps/squad-dashboard/app.js +163 -0
  83. package/src/mcp/apps/squad-dashboard/index.html +261 -0
  84. package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -0
  85. package/src/mcp/resources/squad-state.js +130 -0
  86. package/src/preflight-engine.js +443 -0
  87. package/src/runner/cascade.js +97 -0
  88. package/src/runner/cli-launcher.js +109 -0
  89. package/src/runner/plan-importer.js +63 -0
  90. package/src/runner/queue-store.js +159 -0
  91. package/src/runtime-store.js +61 -3
  92. package/src/squad/agent-teams-adapter.js +264 -0
  93. package/src/squad/brief-validator.js +350 -0
  94. package/src/squad/bus-bridge.js +140 -0
  95. package/src/squad/context-compactor.js +265 -0
  96. package/src/squad/cross-ai-synthesizer.js +250 -0
  97. package/src/squad/hooks-generator.js +196 -0
  98. package/src/squad/inter-squad-events.js +175 -0
  99. package/src/squad/intra-bus.js +345 -0
  100. package/src/squad/learning-extractor.js +213 -0
  101. package/src/squad/pattern-detector.js +365 -0
  102. package/src/squad/preflight-context.js +296 -0
  103. package/src/squad/recovery-context.js +242 -71
  104. package/src/squad/reflection.js +365 -0
  105. package/src/squad/squad-scaffold.js +177 -0
  106. package/src/squad/state-manager.js +310 -0
  107. package/src/squad/task-decomposer.js +652 -0
  108. package/src/squad/verify-gate.js +303 -0
  109. package/src/updater.js +4 -5
  110. package/src/worker-runner.js +186 -1
  111. package/template/.aioson/agents/analyst.md +62 -1
  112. package/template/.aioson/agents/architect.md +61 -1
  113. package/template/.aioson/agents/copywriter.md +463 -0
  114. package/template/.aioson/agents/design-hybrid-forge.md +14 -0
  115. package/template/.aioson/agents/dev.md +271 -25
  116. package/template/.aioson/agents/deyvin.md +67 -8
  117. package/template/.aioson/agents/discovery-design-doc.md +44 -0
  118. package/template/.aioson/agents/genome.md +14 -0
  119. package/template/.aioson/agents/neo.md +83 -2
  120. package/template/.aioson/agents/orache.md +50 -4
  121. package/template/.aioson/agents/orchestrator.md +197 -1
  122. package/template/.aioson/agents/pm.md +35 -0
  123. package/template/.aioson/agents/product.md +50 -5
  124. package/template/.aioson/agents/profiler-enricher.md +14 -0
  125. package/template/.aioson/agents/profiler-forge.md +14 -0
  126. package/template/.aioson/agents/profiler-researcher.md +14 -0
  127. package/template/.aioson/agents/qa.md +273 -21
  128. package/template/.aioson/agents/setup.md +96 -10
  129. package/template/.aioson/agents/sheldon.md +131 -6
  130. package/template/.aioson/agents/site-forge.md +1753 -0
  131. package/template/.aioson/agents/squad.md +352 -0
  132. package/template/.aioson/agents/tester.md +53 -0
  133. package/template/.aioson/agents/ux-ui.md +203 -4
  134. package/template/.aioson/brains/README.md +128 -0
  135. package/template/.aioson/brains/_index.json +16 -0
  136. package/template/.aioson/brains/scripts/query.js +103 -0
  137. package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -0
  138. package/template/.aioson/config.md +143 -13
  139. package/template/.aioson/constitution.md +33 -0
  140. package/template/.aioson/context/project-pulse.md +34 -0
  141. package/template/.aioson/docs/LAYERS.md +79 -0
  142. package/template/.aioson/docs/README.md +76 -0
  143. package/template/.aioson/docs/example-external-api-context.md +72 -0
  144. package/template/.aioson/genomes/copywriting.md +204 -0
  145. package/template/.aioson/locales/en/agents/architect.md +17 -0
  146. package/template/.aioson/locales/en/agents/dev.md +79 -13
  147. package/template/.aioson/locales/en/agents/orache.md +6 -0
  148. package/template/.aioson/locales/en/agents/orchestrator.md +24 -0
  149. package/template/.aioson/locales/en/agents/product.md +50 -0
  150. package/template/.aioson/locales/en/agents/sheldon.md +115 -0
  151. package/template/.aioson/locales/en/agents/squad.md +14 -0
  152. package/template/.aioson/locales/en/agents/tester.md +6 -0
  153. package/template/.aioson/locales/es/agents/analyst.md +2 -0
  154. package/template/.aioson/locales/es/agents/architect.md +19 -0
  155. package/template/.aioson/locales/es/agents/dev.md +64 -4
  156. package/template/.aioson/locales/es/agents/deyvin.md +2 -0
  157. package/template/.aioson/locales/es/agents/discovery-design-doc.md +2 -0
  158. package/template/.aioson/locales/es/agents/genome.md +2 -0
  159. package/template/.aioson/locales/es/agents/neo.md +2 -0
  160. package/template/.aioson/locales/es/agents/orache.md +2 -0
  161. package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
  162. package/template/.aioson/locales/es/agents/pair.md +2 -0
  163. package/template/.aioson/locales/es/agents/pm.md +2 -0
  164. package/template/.aioson/locales/es/agents/product.md +52 -0
  165. package/template/.aioson/locales/es/agents/profiler-enricher.md +2 -0
  166. package/template/.aioson/locales/es/agents/profiler-forge.md +2 -0
  167. package/template/.aioson/locales/es/agents/profiler-researcher.md +2 -0
  168. package/template/.aioson/locales/es/agents/qa.md +2 -0
  169. package/template/.aioson/locales/es/agents/setup.md +2 -0
  170. package/template/.aioson/locales/es/agents/sheldon.md +117 -0
  171. package/template/.aioson/locales/es/agents/squad.md +16 -0
  172. package/template/.aioson/locales/es/agents/tester.md +9 -0
  173. package/template/.aioson/locales/es/agents/ux-ui.md +2 -0
  174. package/template/.aioson/locales/fr/agents/analyst.md +2 -0
  175. package/template/.aioson/locales/fr/agents/architect.md +19 -0
  176. package/template/.aioson/locales/fr/agents/dev.md +64 -4
  177. package/template/.aioson/locales/fr/agents/deyvin.md +2 -0
  178. package/template/.aioson/locales/fr/agents/discovery-design-doc.md +2 -0
  179. package/template/.aioson/locales/fr/agents/genome.md +2 -0
  180. package/template/.aioson/locales/fr/agents/neo.md +2 -0
  181. package/template/.aioson/locales/fr/agents/orache.md +2 -0
  182. package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
  183. package/template/.aioson/locales/fr/agents/pair.md +2 -0
  184. package/template/.aioson/locales/fr/agents/pm.md +2 -0
  185. package/template/.aioson/locales/fr/agents/product.md +52 -0
  186. package/template/.aioson/locales/fr/agents/profiler-enricher.md +2 -0
  187. package/template/.aioson/locales/fr/agents/profiler-forge.md +2 -0
  188. package/template/.aioson/locales/fr/agents/profiler-researcher.md +2 -0
  189. package/template/.aioson/locales/fr/agents/qa.md +2 -0
  190. package/template/.aioson/locales/fr/agents/setup.md +2 -0
  191. package/template/.aioson/locales/fr/agents/sheldon.md +117 -0
  192. package/template/.aioson/locales/fr/agents/squad.md +16 -0
  193. package/template/.aioson/locales/fr/agents/tester.md +9 -0
  194. package/template/.aioson/locales/fr/agents/ux-ui.md +2 -0
  195. package/template/.aioson/locales/pt-BR/agents/analyst.md +64 -3
  196. package/template/.aioson/locales/pt-BR/agents/architect.md +42 -0
  197. package/template/.aioson/locales/pt-BR/agents/dev.md +147 -14
  198. package/template/.aioson/locales/pt-BR/agents/deyvin.md +47 -0
  199. package/template/.aioson/locales/pt-BR/agents/neo.md +62 -1
  200. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +158 -2
  201. package/template/.aioson/locales/pt-BR/agents/pm.md +95 -1
  202. package/template/.aioson/locales/pt-BR/agents/product.md +145 -18
  203. package/template/.aioson/locales/pt-BR/agents/qa.md +16 -0
  204. package/template/.aioson/locales/pt-BR/agents/setup.md +101 -18
  205. package/template/.aioson/locales/pt-BR/agents/sheldon.md +132 -1
  206. package/template/.aioson/locales/pt-BR/agents/squad.md +14 -0
  207. package/template/.aioson/locales/pt-BR/agents/tester.md +449 -0
  208. package/template/.aioson/rules/README.md +69 -0
  209. package/template/.aioson/rules/data-format-convention.md +136 -0
  210. package/template/.aioson/rules/example-monetary-values.md +30 -0
  211. package/template/.aioson/schemas/squad-manifest.schema.json +124 -3
  212. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +2 -0
  213. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -0
  214. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -0
  215. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -0
  216. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -0
  217. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -0
  218. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -0
  219. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -0
  220. package/template/.aioson/skills/marketing/references/anti-patterns.md +254 -0
  221. package/template/.aioson/skills/marketing/references/fascinations.md +192 -0
  222. package/template/.aioson/skills/marketing/references/five-acts.md +248 -0
  223. package/template/.aioson/skills/marketing/references/market-intelligence.md +198 -0
  224. package/template/.aioson/skills/marketing/references/offer-structure.md +203 -0
  225. package/template/.aioson/skills/marketing/references/one-belief.md +149 -0
  226. package/template/.aioson/skills/marketing/references/patterns.md +218 -0
  227. package/template/.aioson/skills/marketing/references/pms-research.md +193 -0
  228. package/template/.aioson/skills/marketing/vsl-craft.md +385 -0
  229. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +1 -0
  230. package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -0
  231. package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -0
  232. package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -0
  233. package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -0
  234. package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +35 -0
  235. package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -0
  236. package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -0
  237. package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -0
  238. package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +4 -1
  239. package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +15 -0
  240. package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +32 -0
  241. package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +20 -0
  242. package/template/.aioson/skills/process/simplify/SKILL.md +173 -0
  243. package/template/.aioson/skills/static/context-budget-guide.md +46 -0
  244. package/template/.aioson/skills/static/harness-sensors.md +74 -0
  245. package/template/.aioson/skills/static/landing-page-deploy.md +192 -0
  246. package/template/.aioson/skills/static/landing-page-forge.md +730 -0
  247. package/template/.aioson/skills/static/multi-agent-patterns.md +43 -0
  248. package/template/.aioson/skills/static/react-motion-patterns.md +22 -0
  249. package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -0
  250. package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -0
  251. package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -0
  252. package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -0
  253. package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -0
  254. package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -0
  255. package/template/.aioson/skills/static/static-html-patterns.md +58 -1913
  256. package/template/.aioson/skills/static/threejs-patterns.md +929 -0
  257. package/template/.aioson/skills/static/ui-ux-modern.md +1 -0
  258. package/template/.aioson/skills/static/web-research-cache.md +112 -0
  259. package/template/.aioson/tasks/implementation-plan.md +21 -1
  260. package/template/.aioson/tasks/squad-create.md +22 -0
  261. package/template/.aioson/tasks/squad-design.md +30 -0
  262. package/template/.aioson/templates/squads/digital-marketing-agency/template.json +96 -0
  263. package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -0
  264. package/template/.claude/commands/aioson/agent/orache.md +5 -0
  265. package/template/.claude/commands/aioson/agent/sheldon.md +5 -0
  266. package/template/.claude/commands/aioson/agent/site-forge.md +5 -0
  267. package/template/AGENTS.md +55 -3
  268. package/template/CLAUDE.md +31 -0
  269. package/template/OPENCODE.md +4 -0
  270. package/template/researchs/.gitkeep +0 -0
  271. package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
  272. package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
  273. package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
  274. package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
  275. package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
@@ -0,0 +1,270 @@
1
+ # Motion — pt.squarespace.com
2
+
3
+ ## Motion Philosophy
4
+
5
+ CSS-first, no third-party animation libraries. All animations implemented via `@keyframes` + class toggling + `IntersectionObserver`. Fast micro-interactions (300–500ms), slow scroll reveals (800–1200ms). Easing is smooth deceleration (`cubic-bezier(0.23, 1, 0.32, 1)`) for reveals and power (`cubic-bezier(0.645, 0.045, 0.355, 1)`) for CTA interactions.
6
+
7
+ **No GSAP. No Framer Motion. No AOS. No Lottie.** Pure CSS + vanilla JS.
8
+
9
+ ---
10
+
11
+ ## Timing Functions
12
+
13
+ | Token | Value | Usage |
14
+ |-------|-------|-------|
15
+ | `--ease-default` | `cubic-bezier(0.455, 0.03, 0.515, 0.955)` | General transitions |
16
+ | `--ease-sqsp-reveal` | `cubic-bezier(0.23, 1, 0.32, 1)` | Scroll reveals, stats (the Squarespace signature ease) |
17
+ | `--ease-sqsp-cta` | `cubic-bezier(0.645, 0.045, 0.355, 1)` | CTA hover, mobile menu, dropdowns |
18
+ | `--ease-sqsp-menu` | `cubic-bezier(0.165, 0.84, 0.44, 1)` | Mobile menu swipe, accordion |
19
+ | `--ease-out` | `ease-out` | Exit animations |
20
+
21
+ ## Durations
22
+
23
+ | Token | Value | Usage |
24
+ |-------|-------|-------|
25
+ | `--transition-fast` | `100ms` | Micro color changes |
26
+ | `--transition-base` | `200ms` | Standard hover |
27
+ | `--transition-medium` | `300ms` | Nav dropdowns, CTA hover overlay |
28
+ | `--transition-slow` | `400ms` | Layout transitions |
29
+ | `--transition-reveal` | `800ms` | Scroll-triggered section reveals |
30
+ | `--transition-reveal-slow` | `1200ms` | Stats card reveal |
31
+
32
+ ---
33
+
34
+ ## Extracted @keyframes (verbatim from pt.squarespace.com/css/index.css)
35
+
36
+ ### fadeIn
37
+ ```css
38
+ @keyframes fadeIn {
39
+ 0% { opacity: 0; }
40
+ to { opacity: 1; }
41
+ }
42
+ ```
43
+ **Used on:** `.stats__card` — `1.2s cubic-bezier(0.23, 1, 0.32, 1) forwards`
44
+
45
+ ---
46
+
47
+ ### ctaUnderlineSlideIn / ctaUnderlineSlideOut
48
+ ```css
49
+ @keyframes ctaUnderlineSlideIn {
50
+ 0% { background-position: -200% 100%, -100% 100%; }
51
+ to { background-position: 0 100%, 100% 100%; }
52
+ }
53
+ @keyframes ctaUnderlineSlideOut {
54
+ 0% { background-position: 0 100%, 100% 100%; }
55
+ to { background-position: 210% 100%, 300% 100%; }
56
+ }
57
+ ```
58
+ **Used on:** `.cta--tertiary` (text links with sliding underline)
59
+ - Rest state: `0.5s cubic-bezier(0.645, 0.045, 0.355, 1) forwards ctaUnderlineSlideOut`
60
+ - Hover state: `0.5s cubic-bezier(0.645, 0.045, 0.355, 1) forwards ctaUnderlineSlideIn`
61
+ - Requires `background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor)`
62
+
63
+ ---
64
+
65
+ ### swipeIn / swipeOut
66
+ ```css
67
+ @keyframes swipeIn {
68
+ 0% { clip-path: polygon(101% 0%, 100% 0%, 101% 100%, 116% 100%); }
69
+ to { clip-path: polygon(0% 0%, 101% 0%, 101% 101%, 0% 101%); }
70
+ }
71
+ @keyframes swipeOut {
72
+ 0% { clip-path: polygon(0% 0%, 101% 0%, 101% 101%, 0% 101%); }
73
+ to { clip-path: polygon(105% 0%, 100% 0%, 101% 100%, 100% 100%); }
74
+ }
75
+ ```
76
+ **Used on:** `.global-navigation__mobile-menu`
77
+ - Open: `0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards swipeIn`
78
+ - Close: `0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards swipeOut`
79
+ - **Signature effect:** The mobile drawer "wipes" in from the right using a clip-path polygon animation — not a `translateX` slide.
80
+
81
+ ---
82
+
83
+ ### rotateAnimation
84
+ ```css
85
+ @keyframes rotateAnimation {
86
+ 0% { transform: rotate(0); }
87
+ 22% { transform: rotate(240deg); }
88
+ 44% { transform: rotate(480deg); }
89
+ 66% { transform: rotate(720deg); }
90
+ to { transform: rotate(720deg); }
91
+ }
92
+ ```
93
+ **Used on:** `.ai-dots` — `14s cubic-bezier(0.645, 0.045, 0.355, 1) infinite`
94
+ - Non-linear rotation: accelerates in bursts, pauses at multiples of 240°.
95
+
96
+ ---
97
+
98
+ ### scaleAnimationLarge / Medium / Small (AI dots morphing)
99
+ ```css
100
+ @keyframes scaleAnimationLarge {
101
+ 0% { transform: var(--defaultTransform); }
102
+ 11% { transform: scale(0.403) translate(-20%, -30%); }
103
+ 22% { transform: scale(0.403) translate(-20%, -30%); }
104
+ 33% { transform: scale(0.64) translate(40%, -45%); }
105
+ 44% { transform: scale(0.64) translate(40%, -45%); }
106
+ 55% { transform: var(--defaultTransform); }
107
+ to { transform: var(--defaultTransform); }
108
+ }
109
+ @keyframes scaleAnimationMedium {
110
+ 0% { transform: var(--defaultTransform); }
111
+ 11% { transform: scale(1.56) translate(-10%, -33%); }
112
+ 22% { transform: scale(1.56) translate(-10%, -33%); }
113
+ 33% { transform: scale(0.63) translate(10%, -85%); }
114
+ 44% { transform: scale(0.63) translate(10%, -85%); }
115
+ 55% { transform: var(--defaultTransform); }
116
+ to { transform: var(--defaultTransform); }
117
+ }
118
+ @keyframes scaleAnimationSmall {
119
+ 0% { transform: var(--defaultTransform); }
120
+ 11% { transform: scale(1.59) translate(-45%, -30%); }
121
+ 22% { transform: scale(1.59) translate(-45%, -30%); }
122
+ 33% { transform: scale(2.48) translate(5%, -15%); }
123
+ 44% { transform: scale(2.48) translate(5%, -15%); }
124
+ 55% { transform: var(--defaultTransform); }
125
+ to { transform: var(--defaultTransform); }
126
+ }
127
+ ```
128
+ **Used on:** `.ai-dots__dot--large/medium/small` — `var(--defaultTiming) linear infinite`
129
+ - Three dots orbit and morph around each other using coordinated scale+translate.
130
+ - `--defaultTransform` is the rest position (typically `scale(1) translate(0, 0)`).
131
+
132
+ ---
133
+
134
+ ### flip
135
+ ```css
136
+ @keyframes flip {
137
+ 0% { transform: rotateY(0); }
138
+ 12.5% { transform: rotateY(0); }
139
+ 50% { transform: rotateY(180deg); }
140
+ 62.5% { transform: rotateY(180deg); }
141
+ to { transform: rotate(180deg); }
142
+ }
143
+ ```
144
+ **Used on:** `.loader__square` — `1.6s cubic-bezier(0.66, 0, 0.34, 1) infinite`
145
+ - Loading state animation.
146
+
147
+ ---
148
+
149
+ ### supportHoverArrow
150
+ ```css
151
+ @keyframes supportHoverArrow {
152
+ 0% { transform: translate(0); }
153
+ 20%, 30% { transform: translate(2px); }
154
+ 70%, 80% { transform: translate(-2px); }
155
+ to { transform: translate(0); }
156
+ }
157
+ ```
158
+ **Used on:** `.support__links-cta-arrow--hovered` — `1.1s linear infinite`
159
+ - Subtle shimmy/vibration on the support section arrow when hovered.
160
+
161
+ ---
162
+
163
+ ## CTA Hover Overlay Effect (not @keyframes — pure CSS)
164
+
165
+ The primary and secondary CTA buttons use a `mix-blend-mode: difference` overlay that scales in on hover:
166
+
167
+ ```css
168
+ .cta--primary::after,
169
+ .cta--secondary::after {
170
+ content: '';
171
+ mix-blend-mode: difference;
172
+ background-color: white;
173
+ transform-origin: 0;
174
+ width: 100%;
175
+ height: 100%;
176
+ position: absolute;
177
+ top: 0; left: 0;
178
+ transform: scaleX(0);
179
+ transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
180
+ }
181
+ .cta--primary:hover::after,
182
+ .cta--secondary:hover::after {
183
+ transform: scaleX(1);
184
+ }
185
+ ```
186
+ **Effect:** The `mix-blend-mode: difference` + white fill creates an inversion effect rather than a simple color change — the button appears to "flip" colors on hover.
187
+
188
+ ---
189
+
190
+ ## Scroll Reveal Pattern
191
+
192
+ No third-party library. IntersectionObserver adds `.in-view` class:
193
+
194
+ ```typescript
195
+ const observer = new IntersectionObserver(
196
+ entries => entries.forEach(e => {
197
+ if (e.isIntersecting) e.target.classList.add('in-view');
198
+ }),
199
+ { threshold: 0.15 }
200
+ );
201
+ document.querySelectorAll('.reveal, .reveal-stagger').forEach(el => observer.observe(el));
202
+ ```
203
+
204
+ CSS handles the animation:
205
+ ```css
206
+ .reveal {
207
+ opacity: 0;
208
+ transform: translateY(16px);
209
+ transition: opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1),
210
+ transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
211
+ }
212
+ .reveal.in-view { opacity: 1; transform: translateY(0); }
213
+ ```
214
+
215
+ Stats cards use staggered delays (0.1s increments per child).
216
+
217
+ ---
218
+
219
+ ## Video Background Pattern
220
+
221
+ Hero section uses `<video autoplay muted loop playsInline preload="auto">` with responsive sources:
222
+
223
+ ```html
224
+ <video autoplay muted loop playsinline preload="auto">
225
+ <source src="video-desktop.webm" type="video/webm">
226
+ <source src="video-desktop.mp4" type="video/mp4">
227
+ </video>
228
+ ```
229
+
230
+ - Mobile: swap to `video-mobile.webm/mp4` (lighter, portrait-optimized)
231
+ - Overlay: `rgba(0, 0, 0, 0.52)` dark layer over video
232
+ - Card carousel videos: `preload="none"` (only hero is eager-loaded)
233
+
234
+ ---
235
+
236
+ ## Navigation Accordion (mobile)
237
+
238
+ Mobile nav accordion uses CSS grid transition for smooth open/close:
239
+
240
+ ```css
241
+ .global-navigation__accordion-content {
242
+ display: grid;
243
+ grid-template-rows: 0fr;
244
+ transition: grid-template-rows 0.7s cubic-bezier(0.165, 0.84, 0.44, 1),
245
+ padding 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
246
+ }
247
+ .global-navigation__accordion-content--open {
248
+ grid-template-rows: 1fr;
249
+ }
250
+ ```
251
+
252
+ `grid-template-rows: 0fr → 1fr` is the modern CSS accordion technique (no JS height calculation needed).
253
+
254
+ ---
255
+
256
+ ## Reduced Motion
257
+
258
+ All animations respect `prefers-reduced-motion`:
259
+ ```css
260
+ @media (prefers-reduced-motion: reduce) {
261
+ *,
262
+ *::before,
263
+ *::after {
264
+ animation-duration: 0.01ms !important;
265
+ animation-iteration-count: 1 !important;
266
+ transition-duration: 0.01ms !important;
267
+ }
268
+ }
269
+ ```
270
+ Mobile menu `.animation: none` override also applied explicitly.
@@ -0,0 +1,189 @@
1
+ # Patterns — pt.squarespace.com
2
+
3
+ ## Page Layout Patterns
4
+
5
+ ### Homepage Structure
6
+
7
+ ```
8
+ ┌─────────────────────────────────────┐
9
+ │ Header (sticky, transparent → solid)│
10
+ ├─────────────────────────────────────┤
11
+ │ Hero (full-viewport, dark) │
12
+ │ - Centered headline │
13
+ │ - Subtext │
14
+ │ - Single CTA │
15
+ ├─────────────────────────────────────┤
16
+ │ Content Section (light) │
17
+ │ - H2 headline │
18
+ │ - 3-column grid │
19
+ ├─────────────────────────────────────┤
20
+ │ Content Section (alternating) │
21
+ │ - Split layout │
22
+ ├─────────────────────────────────────┤
23
+ │ CTA Section (teal or dark) │
24
+ │ - Centered headline + CTA │
25
+ ├─────────────────────────────────────┤
26
+ │ Domain Search (light gray) │
27
+ │ - Input + button inline │
28
+ ├─────────────────────────────────────┤
29
+ │ Stats Row (dark) │
30
+ │ - Numbers in row │
31
+ ├─────────────────────────────────────┤
32
+ │ Support Section (light) │
33
+ │ - Grid of support options │
34
+ ├─────────────────────────────────────┤
35
+ │ Final CTA (dark teal) │
36
+ │ - Headline + CTA │
37
+ ├─────────────────────────────────────┤
38
+ │ Footer (4-column grid + legal) │
39
+ └─────────────────────────────────────┘
40
+ ```
41
+
42
+ ### Responsive Breakpoints
43
+
44
+ | Breakpoint | Width | Changes |
45
+ |------------|-------|---------|
46
+ | Desktop | 1440px+ | Full layout, 4-col footer |
47
+ | Tablet | 768px | 2-col grids, hamburger nav |
48
+ | Mobile | 390px | Single column, stacked |
49
+
50
+ ---
51
+
52
+ ## Hero Pattern
53
+
54
+ ### Layout
55
+ - **Container:** 100vw × 100vh or min-height
56
+ - **Background:** solid dark (`--bg-inverse: rgb(0,0,0)`)
57
+ - **Content:** centered flex column, max-width container
58
+
59
+ ### Typography
60
+ - **Headline:** Clarkson, 42px, weight 300, white
61
+ - **Subtext:** Clarkson, 26px, weight 400, white
62
+ - **CTA:** 14px weight 500, white bg, black text
63
+
64
+ ### Spacing
65
+ - Vertical padding: 120px+
66
+ - Content gap: 24px
67
+
68
+ ---
69
+
70
+ ## Feature Grid Pattern
71
+
72
+ ### Layout
73
+ - **Container:** max-width 1200px, centered
74
+ - **Grid:** 3 columns on desktop, 2 on tablet, 1 on mobile
75
+ - **Gap:** 32px
76
+
77
+ ### Items
78
+ - Icon (if applicable)
79
+ - Title (H3 or bold)
80
+ - Description (body text)
81
+ - Optional CTA link
82
+
83
+ ---
84
+
85
+ ## CTA Section Pattern
86
+
87
+ ### Layout
88
+ - Full-width container
89
+ - Centered content
90
+ - Max-width 800px
91
+
92
+ ### Colors
93
+ - Background: `--bg-teal: rgb(30, 76, 65)` OR `--bg-inverse`
94
+ - Text: white
95
+ - CTA: white button on dark, black button on light
96
+
97
+ ### Typography
98
+ - Headline: 26px (same as H2)
99
+ - Subtext: 16px
100
+ - Button: 14px weight 500
101
+
102
+ ---
103
+
104
+ ## Footer Pattern
105
+
106
+ ### Layout
107
+ - **Grid:** 4 columns desktop, 2 tablet, 1 mobile
108
+ - **Bottom row:** copyright + legal links
109
+
110
+ ### Columns
111
+ 1. Products
112
+ 2. Solutions
113
+ 3. Resources
114
+ 4. Company
115
+
116
+ ### Colors
117
+ - Background: `--bg-inverse` (black)
118
+ - Text: white or `--text-light-gray`
119
+ - Links hover: `--text-muted`
120
+
121
+ ### Typography
122
+ - Column headers: 14px weight 500
123
+ - Links: 14px weight 400
124
+ - Legal: 12px
125
+
126
+ ---
127
+
128
+ ## Domain Search Pattern
129
+
130
+ ### Layout
131
+ - Inline: input + button side by side
132
+ - Mobile: stacked
133
+
134
+ ### Elements
135
+ - Input: max-width 300px
136
+ - Button: "Buscar" or similar
137
+
138
+ ### Colors
139
+ - Background: `--bg-elevated` (rgb(223, 221, 216))
140
+ - Input: white background
141
+ - Border: subtle gray
142
+
143
+ ---
144
+
145
+ ## Stats Row Pattern
146
+
147
+ ### Layout
148
+ - Horizontal flex row
149
+ - Evenly spaced
150
+ - Mobile: wraps to 2×2 grid
151
+
152
+ ### Content
153
+ - Large number (Clarkson, bold)
154
+ - Label below (gray, smaller)
155
+
156
+ ### Colors
157
+ - Background: dark section
158
+ - Numbers: white
159
+ - Labels: light gray
160
+
161
+ ---
162
+
163
+ ## Navigation Pattern
164
+
165
+ ### Desktop
166
+ - Logo: left
167
+ - Links: center (Products, Solutions, Resources)
168
+ - CTAs: right (Login, Get Started)
169
+
170
+ ### Mobile
171
+ - Logo: left
172
+ - Hamburger: right
173
+ - Drawer: slides from right
174
+
175
+ ### Scroll Behavior
176
+ - Starts transparent
177
+ - Adds solid background + shadow after 50px scroll
178
+
179
+ ---
180
+
181
+ ## Content Spacing Scale
182
+
183
+ | Section Type | Padding Y | Padding X |
184
+ |--------------|-----------|-----------|
185
+ | Hero | 120px+ | 24px |
186
+ | Content | 80px | 24px |
187
+ | CTA | 80px | 24px |
188
+ | Footer | 64px | 24px |
189
+ | Tight | 48px | 24px |
@@ -0,0 +1,165 @@
1
+ # Websites — Squarespace Homepage
2
+
3
+ ## Page Topology
4
+
5
+ ```
6
+ 1. Header — Sticky navigation with transparency transition
7
+ 2. Hero — Full-viewport dark section with video background + CTA
8
+ 3. Grow Your Business — Feature grid with icons (6 product areas)
9
+ 4. One Platform — Platform card carousel (videos + images)
10
+ 5. Get Started — Teal CTA section with template thumbnails
11
+ 6. Your Domain — Domain search input
12
+ 7. How To — Step-by-step how-to guide section
13
+ 8. Customers Served — Statistics row (large numbers)
14
+ 9. Made With SQSP — Showcase of customer sites
15
+ 10. FAQ — Accordion FAQ section
16
+ 11. Support — Support options grid
17
+ 12. Conversion — Final dark CTA section with video
18
+ 13. Footer — 4-column links + legal
19
+ ```
20
+
21
+ ## Section Details
22
+
23
+ ### Header
24
+ - **Type:** Sticky navigation
25
+ - **Background:** Transparent initially, solid white on scroll
26
+ - **Content:** Logo (left), Nav links (center), CTAs (right)
27
+ - **Mobile:** Hamburger with drawer
28
+
29
+ ### Hero (#homepage-hero)
30
+ - **Background:** Black `rgb(0, 0, 0)` + `<video>` background + `rgba(0,0,0,0.52)` overlay
31
+ - **Video:** `video-desktop.webm/mp4` (desktop), `video-mobile.webm/mp4` (< 768px)
32
+ - **Height:** ~1007px viewport height
33
+ - **Content:**
34
+ - H1: "Um site faz acontecer" (`var(--text-3xl)`, `var(--font-light)`, white)
35
+ - P: "Comece de graça. Não precisa de cartão de crédito." (`var(--text-xl)`, white)
36
+ - CTA: "Comece já" (`.cta--primary.cta--light` — white button, black text, mix-blend-mode hover)
37
+
38
+ ### Grow Your Business (#grow-your-business)
39
+ - **Background:** White or off-white
40
+ - **Layout:** Content grid
41
+ - **Content:** Feature highlights with icons
42
+
43
+ ### One Platform (#one-platform)
44
+ - **Background:** Off-white `rgb(245, 245, 244)`
45
+ - **Layout:** Split layout (text + visual)
46
+
47
+ ### Get Started (#get-started)
48
+ - **Background:** Off-white `rgb(245, 245, 244)` with rotating template thumbnail cards
49
+ - **Content:** Centered CTA + 3 template preview images (rotate/reseda/altaloma)
50
+ - **Video:** `templates.webm/mp4` — template showcase animation
51
+
52
+ ### Your Domain (#your-domain)
53
+ - **Background:** Light gray `rgb(223, 221, 216)`
54
+ - **Layout:** Inline input + button
55
+ - **Input placeholder:** "Digite seu domínio"
56
+
57
+ ### How To (#homepage-how-to)
58
+ - **Background:** White `rgb(255, 255, 255)`
59
+ - **Layout:** Numbered steps with icons
60
+ - **Content:** Step-by-step guide to getting started with Squarespace
61
+
62
+ ### Customers Served (#customers-served)
63
+ - **Background:** Black `rgb(0, 0, 0)`
64
+ - **Layout:** Horizontal stat row
65
+ - **Content:** Large numbers + labels
66
+ - **Animation:** `.stats__card` uses `fadeIn` 1.2s `var(--ease-sqsp-reveal)` on `.in-view`
67
+
68
+ ### Made With SQSP (#made-with-sqsp)
69
+ - **Background:** Off-white `rgb(245, 245, 244)`
70
+ - **Layout:** Grid of customer site screenshots
71
+ - **Content:** Customer-built site showcases with hover zoom effect
72
+ - **Interaction:** `transform: scale(1.04)` on hover, 400ms `var(--ease-sqsp-reveal)`
73
+
74
+ ### FAQ (#homepage-faq)
75
+ - **Background:** White `rgb(255, 255, 255)`
76
+ - **Layout:** Accordion list — question rows expand to reveal answers
77
+ - **Animation:** CSS grid `grid-template-rows: 0fr → 1fr` (same accordion pattern as mobile nav)
78
+ - **Interaction:** Click chevron → expand; click again → collapse
79
+
80
+ ### Support (#support)
81
+ - **Background:** Off-white
82
+ - **Layout:** Grid of support options
83
+ - **Content:** Links to help resources
84
+
85
+ ### Conversion (#conversion)
86
+ - **Background:** Dark `rgb(26, 26, 26)` (charcoal)
87
+ - **Content:** Final headline + CTA
88
+ - **Video:** `conversion-centered.mp4` plays in background
89
+
90
+ ### Footer (.footer)
91
+ - **Background:** Black
92
+ - **Layout:** 4-column grid
93
+ - **Columns:** Products, Solutions, Resources, Company
94
+ - **Bottom:** Copyright, Privacy, Terms
95
+ - **Height:** ~1019px
96
+
97
+ ## Internal Links Discovered
98
+
99
+ - `/preise` — Pricing page
100
+ - `/templates` — Templates gallery
101
+ - `/design-de-sites` — Design page
102
+ - `/templates/comece-agora` — Start page
103
+ - `/sites/construtor-de-sites-com-ai` — AI builder
104
+ - `/design-inteligente` — Smart design
105
+ - `/websites/criar-um-portfolio` — Portfolio builder
106
+ - `/websites/crie-um-blog` — Blog builder
107
+ - `/websites/analytics` — Analytics
108
+
109
+ ## Typography Details
110
+
111
+ ### Font Family: Clarkson
112
+ - Clarkson is Squarespace's proprietary sans-serif
113
+ - Clarkson Serif is the serif variant
114
+ - Falls back to Helvetica Neue, Helvetica, Arial, sans-serif
115
+
116
+ ### Font Weights Observed
117
+ - 300 (light) — Hero H1
118
+ - 400 (normal) — Body, H2, buttons
119
+ - 500 (medium) — CTAs, emphasis
120
+
121
+ ### Size Scale
122
+ - Hero H1: `var(--text-3xl)` → 42px
123
+ - H2: `var(--text-xl)` → 26px
124
+ - H3: `var(--text-lg)` → 20px
125
+ - Body: `var(--text-base)` → 16px
126
+ - Small: `var(--text-sm)` → 14px
127
+ - Caption: `var(--text-xs)` → 12px
128
+
129
+ ## Color Palette (Hex)
130
+
131
+ | Token | Hex |
132
+ |-------|-----|
133
+ | `--bg-inverse` | #000000 |
134
+ | `--bg-charcoal` | #1A1A1A |
135
+ | `--bg-teal` | #1E4C41 |
136
+ | `--bg-surface` | #F5F5F4 |
137
+ | `--bg-elevated` | #DFDDD8 |
138
+ | `--text-primary` | #000000 |
139
+ | `--text-inverse` | #FFFFFF |
140
+ | `--text-muted` | #898989 |
141
+ | `--text-light-gray` | #DDDDDD |
142
+ | `--border` | #DDDDDD |
143
+ | `--error` | #200603 |
144
+
145
+ ## Interaction Summary
146
+
147
+ 1. **Nav scroll:** Transparent → solid at 50px scroll via JS class toggle
148
+ 2. **Mobile hamburger:** Click → `clip-path: polygon()` wipe animation (600ms) — NOT `translateX`
149
+ 3. **Mobile accordion:** `grid-template-rows: 0fr → 1fr` CSS transition (700ms)
150
+ 4. **CTA button hover:** `mix-blend-mode: difference` pseudo-element scales in (300ms) — NOT color transition
151
+ 5. **Text link hover (`.cta--tertiary`):** Dual linear-gradient `background-position` slide (500ms)
152
+ 6. **Section scroll-reveal:** `IntersectionObserver` adds `.in-view`, CSS handles `opacity + translateY` (800ms `--ease-sqsp-reveal`)
153
+ 7. **Stats cards:** Staggered `fadeIn` with 0.1s per card delay
154
+ 8. **Support arrow hover:** `supportHoverArrow` shimmy keyframe (1.1s infinite)
155
+ 9. **AI dots:** `rotateAnimation` + `scaleAnimation{Large/Medium/Small}` coordinated (14s infinite)
156
+ 10. **FAQ accordion:** Same `grid-template-rows` technique as mobile nav
157
+
158
+ ## Design Signatures
159
+
160
+ 1. **Zero border-radius** — Sharp corners everywhere
161
+ 2. **Clarkson typography** — Distinctive proprietary font
162
+ 3. **Dark heroes** — Black backgrounds with white text
163
+ 4. **Teal accents** — Dark teal for CTAs and emphasis
164
+ 5. **Minimal shadows** — Almost no shadows used
165
+ 6. **Generous whitespace** — Large section padding