codymaster 4.1.4 → 4.4.1
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.
- package/CHANGELOG.md +22 -2
- package/README.md +56 -86
- package/dist/index.js +130 -16
- package/dist/ui/box.js +2 -2
- package/dist/ui/onboarding.js +11 -5
- package/install.sh +317 -35
- package/package.json +8 -8
- package/public/dashboard/app.js +1270 -0
- package/public/dashboard/index.html +218 -0
- package/public/dashboard/style.css +440 -0
- package/skills/AGENTS.md +61 -0
- package/skills/CLAUDE.md +158 -0
- package/skills/boxme-git-config/SKILL.md +56 -0
- package/skills/boxme-local-dev/SKILL.md +66 -0
- package/skills/build.sh +30 -0
- package/skills/cf +314 -0
- package/skills/cf 2 +313 -0
- package/skills/cm-ads-tracker/SKILL.md +364 -69
- package/skills/cm-auto-publisher/SKILL.md +81 -0
- package/skills/cm-booking-calendar/SKILL.md +521 -0
- package/skills/cm-booking-calendar/references/industry-patterns.md +527 -0
- package/skills/cm-booking-calendar/templates/booking-form.css +626 -0
- package/skills/cm-booking-calendar/templates/booking-form.html +477 -0
- package/skills/cm-booking-calendar/templates/calendar-engine.js +419 -0
- package/skills/cm-booking-calendar/templates/calendar-export.js +395 -0
- package/skills/cm-booking-calendar/templates/reminder-config.js +629 -0
- package/skills/cm-brainstorm-idea/SKILL.md +15 -24
- package/skills/cm-clean-code/SKILL.md +300 -0
- package/skills/cm-code-review/SKILL.md +0 -27
- package/skills/cm-codeintell/SKILL.md +598 -0
- package/skills/cm-content-factory/.content-factory-state.json +132 -0
- package/skills/cm-content-factory/.git 2/logs/refs/heads/main +1 -0
- package/skills/cm-content-factory/.git 2/logs/refs/remotes/origin/main +1 -0
- package/skills/cm-content-factory/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
- package/skills/cm-content-factory/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
- package/skills/cm-content-factory/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
- package/skills/cm-content-factory/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
- package/skills/cm-content-factory/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
- package/skills/cm-content-factory/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
- package/skills/cm-content-factory/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
- package/skills/cm-content-factory/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
- package/skills/cm-content-factory/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
- package/skills/cm-content-factory/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
- package/skills/cm-content-factory/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
- package/skills/cm-content-factory/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
- package/skills/cm-content-factory/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
- package/skills/cm-content-factory/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
- package/skills/cm-content-factory/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
- package/skills/cm-content-factory/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
- package/skills/cm-content-factory/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
- package/skills/cm-content-factory/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
- package/skills/cm-content-factory/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
- package/skills/cm-content-factory/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
- package/skills/cm-content-factory/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
- package/skills/cm-content-factory/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
- package/skills/cm-content-factory/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
- package/skills/cm-content-factory/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
- package/skills/cm-content-factory/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
- package/skills/cm-content-factory/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
- package/skills/cm-content-factory/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
- package/skills/cm-content-factory/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
- package/skills/cm-content-factory/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
- package/skills/cm-content-factory/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
- package/skills/cm-content-factory/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
- package/skills/cm-content-factory/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
- package/skills/cm-content-factory/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
- package/skills/cm-content-factory/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
- package/skills/cm-content-factory/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
- package/skills/cm-content-factory/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
- package/skills/cm-content-factory/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +5 -0
- package/skills/cm-content-factory/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
- package/skills/cm-content-factory/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
- package/skills/cm-content-factory/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
- package/skills/cm-content-factory/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
- package/skills/cm-content-factory/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
- package/skills/cm-content-factory/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
- package/skills/cm-content-factory/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
- package/skills/cm-content-factory/.git 2/refs/heads/main +1 -0
- package/skills/cm-content-factory/.git 2/refs/remotes/origin/main +1 -0
- package/skills/cm-content-factory/.pytest_cache 2/v/cache/nodeids +76 -0
- package/skills/cm-content-factory/.pytest_cache 2/v/cache/stepwise +1 -0
- package/skills/cm-content-factory/AGENTS.md +61 -0
- package/skills/cm-content-factory/CLAUDE.md +63 -0
- package/skills/cm-content-factory/CURSOR.md +43 -0
- package/skills/cm-content-factory/Content Factory.zip +0 -0
- package/skills/cm-content-factory/cf +313 -0
- package/skills/cm-content-factory/config.schema.json +397 -0
- package/skills/cm-content-factory/dashboard/app.js +556 -0
- package/skills/cm-content-factory/dashboard/index.html +397 -0
- package/skills/cm-content-factory/dashboard/style.css +1211 -0
- package/skills/cm-content-factory/examples/01-real-estate.config.json +146 -0
- package/skills/cm-content-factory/examples/02-personal-finance.config.json +146 -0
- package/skills/cm-content-factory/examples/03-health-wellness.config.json +147 -0
- package/skills/cm-content-factory/examples/04-saas-software.config.json +147 -0
- package/skills/cm-content-factory/examples/05-legal-services.config.json +147 -0
- package/skills/cm-content-factory/examples/06-insurance.config.json +146 -0
- package/skills/cm-content-factory/examples/07-ecommerce-dropship.config.json +146 -0
- package/skills/cm-content-factory/examples/08-online-education.config.json +147 -0
- package/skills/cm-content-factory/examples/09-crypto-defi.config.json +147 -0
- package/skills/cm-content-factory/examples/10-beauty-skincare.config.json +147 -0
- package/skills/cm-content-factory/examples/11-home-services.config.json +146 -0
- package/skills/cm-content-factory/examples/12-dental-clinic.config.json +147 -0
- package/skills/cm-content-factory/examples/13-pet-care.config.json +147 -0
- package/skills/cm-content-factory/examples/14-travel-hospitality.config.json +147 -0
- package/skills/cm-content-factory/examples/15-ai-automation.config.json +147 -0
- package/skills/cm-content-factory/examples/16-wedding-events.config.json +147 -0
- package/skills/cm-content-factory/examples/17-fitness-coaching.config.json +148 -0
- package/skills/cm-content-factory/examples/18-cybersecurity.config.json +147 -0
- package/skills/cm-content-factory/examples/19-food-restaurant.config.json +148 -0
- package/skills/cm-content-factory/examples/20-solar-energy.config.json +147 -0
- package/skills/cm-content-factory/examples/fitness-blog.config.json +116 -0
- package/skills/cm-content-factory/examples/tech-blog.config.json +107 -0
- package/skills/cm-content-factory/extensions/EXTENSION_GUIDE.md +72 -0
- package/skills/cm-content-factory/extensions/hooks.py +126 -0
- package/skills/cm-content-factory/extensions/openclaw_adapter.py +132 -0
- package/skills/cm-content-factory/landing/index.html +680 -0
- package/skills/cm-content-factory/landing/script.js +101 -0
- package/skills/cm-content-factory/landing/style.css +1216 -0
- package/skills/cm-content-factory/landing/translations.js +508 -0
- package/skills/cm-content-factory/logs/events.jsonl +11 -0
- package/skills/cm-content-factory/profiles/_template.profile.json +231 -0
- package/skills/cm-content-factory/profiles/finance.profile.json +278 -0
- package/skills/cm-content-factory/profiles/legal.profile.json +263 -0
- package/skills/cm-content-factory/profiles/medical-research.profile.json +321 -0
- package/skills/cm-content-factory/profiles/technology.profile.json +275 -0
- package/skills/cm-content-factory/scripts/agent_dispatcher.py +266 -0
- package/skills/cm-content-factory/scripts/audit.py +106 -0
- package/skills/cm-content-factory/scripts/dashboard_server.py +225 -0
- package/skills/cm-content-factory/scripts/deploy.py +146 -0
- package/skills/cm-content-factory/scripts/extract.py +132 -0
- package/skills/cm-content-factory/scripts/landing_generator.py +459 -0
- package/skills/cm-content-factory/scripts/memory.py +521 -0
- package/skills/cm-content-factory/scripts/monetize.py +239 -0
- package/skills/cm-content-factory/scripts/pipeline.py +357 -0
- package/skills/cm-content-factory/scripts/plan.py +163 -0
- package/skills/cm-content-factory/scripts/publish.py +145 -0
- package/skills/cm-content-factory/scripts/research.py +337 -0
- package/skills/cm-content-factory/scripts/scaffold.py +464 -0
- package/skills/cm-content-factory/scripts/scoreboard.py +336 -0
- package/skills/cm-content-factory/scripts/seo.py +90 -0
- package/skills/cm-content-factory/scripts/state_manager.py +320 -0
- package/skills/cm-content-factory/scripts/token_manager.py +268 -0
- package/skills/cm-content-factory/scripts/validate.py +221 -0
- package/skills/cm-content-factory/scripts/wizard.py +329 -0
- package/skills/cm-content-factory/scripts/write.py +93 -0
- package/skills/cm-content-factory/sites/docs-site/src/assets/houston.webp +0 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/architecture.md +90 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/data-flow.md +54 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/deployment.md +38 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/index.md +65 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/lc-content-lifecycle.md +48 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/seq-write-mode.md +39 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/uj-first-batch.md +42 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-content-pipeline.md +51 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-learning-cycle.md +52 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/configuration.md +86 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/installation.md +80 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/intro.md +58 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/index.md +102 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/index.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/optimize-seo.md +29 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/scale-content-production.md +55 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/standardize-quality.md +29 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-cmo-huong.md +41 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-content-lead-khoa.md +40 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/index.md +56 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-content-manager-lan.md +46 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-seo-minh.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-writer-tu.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/content-pipeline.md +108 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/index.md +22 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/memory-system.md +52 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/seo-optimization.md +58 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/troubleshooting-guide.md +92 -0
- package/skills/cm-content-factory/sites/docs-site/src/styles/custom.css +575 -0
- package/skills/cm-content-factory/tests/conftest.py +66 -0
- package/skills/cm-content-factory/tests/test_agent_dispatcher.py +125 -0
- package/skills/cm-content-factory/tests/test_memory.py +128 -0
- package/skills/cm-content-factory/tests/test_pipeline.py +107 -0
- package/skills/cm-content-factory/tests/test_research.py +56 -0
- package/skills/cm-content-factory/tests/test_state_manager.py +131 -0
- package/skills/cm-content-factory/tests/test_token_manager.py +110 -0
- package/skills/cm-content-factory/tests/test_wizard.py +121 -0
- package/skills/cm-continuity/SKILL.md +7 -0
- package/skills/cm-cro-methodology/SKILL.md +290 -0
- package/skills/cm-dashboard/SKILL.md +7 -525
- package/skills/cm-debugging/SKILL.md +7 -116
- package/skills/cm-deep-search/SKILL.md +5 -1
- package/skills/cm-dockit/README.md +6 -15
- package/skills/cm-dockit/SKILL.md +20 -37
- package/skills/cm-execution/SKILL.md +6 -1
- package/skills/cm-frappe-agent/SKILL.md +134 -0
- package/skills/cm-frappe-agent/agents/doctype-architect.md +596 -0
- package/skills/cm-frappe-agent/agents/erpnext-customizer.md +643 -0
- package/skills/cm-frappe-agent/agents/frappe-backend.md +814 -0
- package/skills/cm-frappe-agent/agents/frappe-custom-frontend.md +557 -0
- package/skills/cm-frappe-agent/agents/frappe-debugger.md +625 -0
- package/skills/cm-frappe-agent/agents/frappe-fixer.md +275 -0
- package/skills/cm-frappe-agent/agents/frappe-frontend.md +660 -0
- package/skills/cm-frappe-agent/agents/frappe-installer.md +158 -0
- package/skills/cm-frappe-agent/agents/frappe-performance.md +307 -0
- package/skills/cm-frappe-agent/agents/frappe-planner.md +419 -0
- package/skills/cm-frappe-agent/agents/frappe-remote-ops.md +153 -0
- package/skills/cm-frappe-agent/agents/github-workflow.md +286 -0
- package/skills/cm-frappe-agent/commands/frappe-app.md +351 -0
- package/skills/cm-frappe-agent/commands/frappe-backend.md +162 -0
- package/skills/cm-frappe-agent/commands/frappe-bench.md +254 -0
- package/skills/cm-frappe-agent/commands/frappe-debug.md +263 -0
- package/skills/cm-frappe-agent/commands/frappe-doctype-create.md +272 -0
- package/skills/cm-frappe-agent/commands/frappe-doctype-field.md +310 -0
- package/skills/cm-frappe-agent/commands/frappe-erpnext.md +210 -0
- package/skills/cm-frappe-agent/commands/frappe-fix.md +59 -0
- package/skills/cm-frappe-agent/commands/frappe-frontend.md +210 -0
- package/skills/cm-frappe-agent/commands/frappe-fullstack.md +243 -0
- package/skills/cm-frappe-agent/commands/frappe-github.md +57 -0
- package/skills/cm-frappe-agent/commands/frappe-install.md +52 -0
- package/skills/cm-frappe-agent/commands/frappe-plan.md +442 -0
- package/skills/cm-frappe-agent/commands/frappe-remote.md +58 -0
- package/skills/cm-frappe-agent/commands/frappe-test.md +356 -0
- package/skills/cm-frappe-agent/docs/README.md +51 -0
- package/skills/cm-frappe-agent/docs/agents-catalog.md +113 -0
- package/skills/cm-frappe-agent/docs/architecture.md +149 -0
- package/skills/cm-frappe-agent/docs/commands-catalog.md +82 -0
- package/skills/cm-frappe-agent/docs/resources-catalog.md +66 -0
- package/skills/cm-frappe-agent/docs/sitemap-urls.txt +52 -0
- package/skills/cm-frappe-agent/docs/sitemap.md +81 -0
- package/skills/cm-frappe-agent/docs/sop/user-guide.md +178 -0
- package/skills/cm-frappe-agent/docs/sop/vibe-coding-guide.md +122 -0
- package/skills/cm-frappe-agent/resources/7-layer-architecture.md +985 -0
- package/skills/cm-frappe-agent/resources/bench_commands.md +73 -0
- package/skills/cm-frappe-agent/resources/code-patterns-guide.md +948 -0
- package/skills/cm-frappe-agent/resources/common_pitfalls.md +266 -0
- package/skills/cm-frappe-agent/resources/doctype-registry.md +158 -0
- package/skills/cm-frappe-agent/resources/installation-guide.md +289 -0
- package/skills/cm-frappe-agent/resources/rest-api-patterns.md +182 -0
- package/skills/cm-frappe-agent/resources/scaffold_checklist.md +82 -0
- package/skills/cm-frappe-agent/resources/upgrade_patterns.md +113 -0
- package/skills/cm-frappe-agent/resources/web-form-patterns.md +252 -0
- package/skills/cm-frappe-agent/skills/bench-commands/SKILL.md +621 -0
- package/skills/cm-frappe-agent/skills/client-scripts/SKILL.md +642 -0
- package/skills/cm-frappe-agent/skills/doctype-patterns/SKILL.md +576 -0
- package/skills/cm-frappe-agent/skills/frappe-api/SKILL.md +740 -0
- package/skills/cm-frappe-agent/skills/remote-operations/SKILL.md +47 -0
- package/skills/cm-frappe-agent/skills/server-scripts/SKILL.md +608 -0
- package/skills/cm-frappe-agent/skills/web-forms/SKILL.md +46 -0
- package/skills/cm-git-worktrees/SKILL.md +0 -7
- package/skills/cm-google-form/SKILL.md +266 -0
- package/skills/cm-google-form/templates/apps-script.js +55 -0
- package/skills/cm-google-form/templates/form-markup.html +110 -0
- package/skills/cm-google-form/templates/form-submit.js +201 -0
- package/skills/cm-google-form/templates/toast.css +152 -0
- package/skills/cm-growth-hacking/SKILL.md +293 -0
- package/skills/cm-growth-hacking/bottom-sheet-engine.md +261 -0
- package/skills/cm-growth-hacking/calendar-integration.md +264 -0
- package/skills/cm-growth-hacking/references/engagement-patterns.md +346 -0
- package/skills/cm-growth-hacking/templates/bottom-sheet.css +528 -0
- package/skills/cm-growth-hacking/templates/bottom-sheet.js +269 -0
- package/skills/cm-growth-hacking/templates/calendar-cta.js +213 -0
- package/skills/cm-growth-hacking/templates/tracking-events.js +211 -0
- package/skills/cm-growth-hacking/templates/trigger-manager.js +254 -0
- package/skills/cm-growth-hacking/tracking-events.md +246 -0
- package/skills/cm-growth-hacking/trigger-system.md +342 -0
- package/skills/cm-how-it-work/SKILL.md +20 -4
- package/skills/cm-identity-guard/SKILL.md +0 -11
- package/skills/cm-jtbd/SKILL.md +1 -1
- package/skills/cm-notebooklm/SKILL.md +172 -0
- package/skills/cm-notebooklm/references/command_reference.md +94 -0
- package/skills/cm-notebooklm/references/workflows.md +60 -0
- package/skills/cm-notebooklm/resources/knowledge_sources.md +106 -0
- package/skills/cm-notebooklm/scripts/brain-sync.sh +453 -0
- package/skills/cm-notebooklm/scripts/graduate_wisdom.py +101 -0
- package/skills/cm-planning/SKILL.md +39 -52
- package/skills/cm-project-bootstrap/SKILL.md +1308 -99
- package/skills/cm-quality-gate/SKILL.md +13 -106
- package/skills/cm-reactor/SKILL.md +274 -0
- package/skills/cm-safe-deploy/SKILL.md +415 -52
- package/skills/cm-safe-i18n/SKILL.md +1 -22
- package/skills/cm-secret-shield/SKILL.md +2 -2
- package/skills/cm-security-gate/SKILL.md +114 -0
- package/skills/cm-skill-chain/SKILL.md +2 -2
- package/skills/cm-skill-index/SKILL.md +9 -6
- package/skills/cm-skill-mastery/SKILL.md +2 -15
- package/skills/cm-start/SKILL.md +9 -0
- package/skills/cm-tdd/SKILL.md +16 -49
- package/skills/cm-ui-preview/SKILL.md +35 -173
- package/skills/cm-ux-master/FEATURES-v4.md +305 -0
- package/skills/cm-ux-master/README-ru.md +135 -0
- package/skills/cm-ux-master/README-vi.md +135 -0
- package/skills/cm-ux-master/README-zh.md +135 -0
- package/skills/cm-ux-master/README.md +489 -0
- package/skills/cm-ux-master/SKILL.md +773 -62
- package/skills/cm-ux-master/cli/README.md +180 -0
- package/skills/cm-ux-master/cli/pyproject.toml +106 -0
- package/skills/cm-ux-master/cli/requirements.txt +21 -0
- package/skills/cm-ux-master/cli/templates/base/skill-core.md +262 -0
- package/skills/cm-ux-master/cli/templates/platforms/claude.yaml +21 -0
- package/skills/cm-ux-master/cli/templates/platforms/cursor.yaml +21 -0
- package/skills/cm-ux-master/cli/templates/platforms/figma.yaml +24 -0
- package/skills/cm-ux-master/cli/templates/platforms/vscode-mcp.yaml +28 -0
- package/skills/cm-ux-master/cli/templates/platforms/windsurf.yaml +21 -0
- package/skills/cm-ux-master/cli/uxmaster/__init__.py +10 -0
- package/skills/cm-ux-master/cli/uxmaster/__main__.py +19 -0
- package/skills/cm-ux-master/cli/uxmaster/cli.py +349 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/__init__.py +8 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/extract.py +18 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/init.py +58 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/mcp.py +194 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/search.py +23 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/validate.py +270 -0
- package/skills/cm-ux-master/cli/uxmaster/search_engine.py +532 -0
- package/skills/cm-ux-master/cli/uxmaster/template_engine.py +458 -0
- package/skills/cm-ux-master/cli/uxmaster/utils/__init__.py +9 -0
- package/skills/cm-ux-master/cli/uxmaster/utils/console.py +42 -0
- package/skills/cm-ux-master/cli/uxmaster/utils/detect.py +83 -0
- package/skills/cm-ux-master/data/accessibility-advanced.csv +26 -0
- package/skills/cm-ux-master/data/animation.csv +31 -0
- package/skills/cm-ux-master/data/charts.csv +26 -0
- package/skills/cm-ux-master/data/colors.csv +97 -0
- package/skills/cm-ux-master/data/design-tests.csv +37 -0
- package/skills/cm-ux-master/data/devices.csv +21 -0
- package/skills/cm-ux-master/data/icons.csv +101 -0
- package/skills/cm-ux-master/data/landing.csv +31 -0
- package/skills/cm-ux-master/data/products.csv +97 -0
- package/skills/cm-ux-master/data/react-performance.csv +45 -0
- package/skills/cm-ux-master/data/responsive.csv +26 -0
- package/skills/cm-ux-master/data/semi-tokens.csv +52 -0
- package/skills/cm-ux-master/data/stacks/angular.csv +34 -0
- package/skills/cm-ux-master/data/stacks/astro.csv +54 -0
- package/skills/cm-ux-master/data/stacks/electron.csv +32 -0
- package/skills/cm-ux-master/data/stacks/flutter.csv +53 -0
- package/skills/cm-ux-master/data/stacks/html-tailwind.csv +56 -0
- package/skills/cm-ux-master/data/stacks/htmx.csv +28 -0
- package/skills/cm-ux-master/data/stacks/jetpack-compose.csv +53 -0
- package/skills/cm-ux-master/data/stacks/nextjs.csv +53 -0
- package/skills/cm-ux-master/data/stacks/nuxt-ui.csv +51 -0
- package/skills/cm-ux-master/data/stacks/nuxtjs.csv +59 -0
- package/skills/cm-ux-master/data/stacks/react-native.csv +52 -0
- package/skills/cm-ux-master/data/stacks/react.csv +54 -0
- package/skills/cm-ux-master/data/stacks/shadcn.csv +61 -0
- package/skills/cm-ux-master/data/stacks/svelte.csv +54 -0
- package/skills/cm-ux-master/data/stacks/swiftui.csv +51 -0
- package/skills/cm-ux-master/data/stacks/tauri.csv +29 -0
- package/skills/cm-ux-master/data/stacks/vue.csv +50 -0
- package/skills/cm-ux-master/data/styles.csv +68 -0
- package/skills/cm-ux-master/data/typography.csv +58 -0
- package/skills/cm-ux-master/data/ui-reasoning.csv +101 -0
- package/skills/cm-ux-master/data/ux-guidelines.csv +100 -0
- package/skills/cm-ux-master/data/ux-laws.csv +49 -0
- package/skills/cm-ux-master/data/web-interface.csv +31 -0
- package/skills/cm-ux-master/docs/LANDING-PAGE.html +377 -0
- package/skills/cm-ux-master/docs/README.md +108 -0
- package/skills/cm-ux-master/docs/css/styles.css +573 -0
- package/skills/cm-ux-master/docs/examples/demo-script.md +319 -0
- package/skills/cm-ux-master/docs/guides/for-designers.md +692 -0
- package/skills/cm-ux-master/docs/guides/for-developers.md +778 -0
- package/skills/cm-ux-master/docs/guides/for-product-managers.md +693 -0
- package/skills/cm-ux-master/docs/guides/react-guide-vi.md +50 -0
- package/skills/cm-ux-master/docs/index.html +1062 -0
- package/skills/cm-ux-master/docs/js/i18n.js +84 -0
- package/skills/cm-ux-master/docs/js/lang/de.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/en.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/fr.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/hi.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/id.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/ja.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/ko.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/ru.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/vi.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/zh.js +145 -0
- package/skills/cm-ux-master/docs/js/main.js +117 -0
- package/skills/cm-ux-master/docs/plan/PHASE1-COMPLETION.md +217 -0
- package/skills/cm-ux-master/docs/plan/PHASE2-COMPLETION.md +199 -0
- package/skills/cm-ux-master/docs/plan/PHASE2-ENHANCED-COMPLETION.md +352 -0
- package/skills/cm-ux-master/docs/plan/PHASE3-VALIDATION-COMPLETION.md +499 -0
- package/skills/cm-ux-master/docs/plan/PHASE4-TESTING-POLISH-COMPLETION.md +483 -0
- package/skills/cm-ux-master/docs/plan/UXM-2.0-ROADMAP.md +681 -0
- package/skills/cm-ux-master/docs/plan/WOW-PITCH.md +410 -0
- package/skills/cm-ux-master/docs/technical/api-reference.md +824 -0
- package/skills/cm-ux-master/docs/technical/harvester-v4.md +328 -0
- package/skills/cm-ux-master/docs/technical/how-it-works.md +1128 -0
- package/skills/cm-ux-master/docs/tutorials/quickstart.md +339 -0
- package/skills/cm-ux-master/docs/tutorials/tutorials.md +939 -0
- package/skills/cm-ux-master/docs/tutorials/user-guide.md +716 -0
- package/skills/cm-ux-master/examples/README.md +63 -0
- package/skills/cm-ux-master/mcp/__init__.py +3 -0
- package/skills/cm-ux-master/mcp/integrations/__init__.py +11 -0
- package/skills/cm-ux-master/mcp/integrations/figma/__init__.py +6 -0
- package/skills/cm-ux-master/mcp/integrations/figma/client.py +293 -0
- package/skills/cm-ux-master/mcp/integrations/figma/plugin/code.js +561 -0
- package/skills/cm-ux-master/mcp/integrations/figma/plugin/ui.html +334 -0
- package/skills/cm-ux-master/mcp/integrations/stitch/__init__.py +5 -0
- package/skills/cm-ux-master/mcp/integrations/stitch/client.py +410 -0
- package/skills/cm-ux-master/mcp/integrations/vscode/package.json +167 -0
- package/skills/cm-ux-master/mcp/integrations/vscode/src/extension.ts +81 -0
- package/skills/cm-ux-master/mcp/mcp-config.json +274 -0
- package/skills/cm-ux-master/mcp/server.py +771 -0
- package/skills/cm-ux-master/mcp/tools/__init__.py +13 -0
- package/skills/cm-ux-master/mcp-server/server.py +595 -0
- package/skills/cm-ux-master/output/fila/FilaDashboard.tsx +47 -0
- package/skills/cm-ux-master/output/fila/components/badge/component.tsx +35 -0
- package/skills/cm-ux-master/output/fila/components/badge/index.ts +1 -0
- package/skills/cm-ux-master/output/fila/components/button/component.tsx +53 -0
- package/skills/cm-ux-master/output/fila/components/button/index.ts +1 -0
- package/skills/cm-ux-master/output/fila/components/card/component.tsx +35 -0
- package/skills/cm-ux-master/output/fila/components/card/index.ts +1 -0
- package/skills/cm-ux-master/output/fila/components/input/component.tsx +41 -0
- package/skills/cm-ux-master/output/fila/components/input/index.ts +1 -0
- package/skills/cm-ux-master/output/fila/design-system.css +151 -0
- package/skills/cm-ux-master/output/fila/design-system.html +1596 -0
- package/skills/cm-ux-master/output/fila/design-system.json +168 -0
- package/skills/cm-ux-master/output/fila/figma-tokens.json +523 -0
- package/skills/cm-ux-master/output/fila/harvest-v4-raw.json +406 -0
- package/skills/cm-ux-master/output/fila/semi-theme-override.css +95 -0
- package/skills/cm-ux-master/output/haravan/HaravanDashboard.tsx +103 -0
- package/skills/cm-ux-master/output/haravan/design-system-v3-live.html +2716 -0
- package/skills/cm-ux-master/output/haravan/design-system-v3.html +1770 -0
- package/skills/cm-ux-master/output/haravan/design-system.html +914 -0
- package/skills/cm-ux-master/output/haravan/figma-tokens.json +84 -0
- package/skills/cm-ux-master/output/haravan/haravan-harvest.json +33 -0
- package/skills/cm-ux-master/output/haravan/harvest-v3-raw.json +167 -0
- package/skills/cm-ux-master/output/haravan/semi-theme-override.css +39 -0
- package/skills/cm-ux-master/references/audit-template.md +257 -0
- package/skills/cm-ux-master/references/cultural-ux.md +346 -0
- package/skills/cm-ux-master/references/dark-patterns.md +362 -0
- package/skills/cm-ux-master/references/heuristic-conflicts.md +296 -0
- package/skills/cm-ux-master/references/krug-principles.md +289 -0
- package/skills/cm-ux-master/references/nielsen-heuristics.md +360 -0
- package/skills/cm-ux-master/references/wcag-checklist.md +306 -0
- package/skills/cm-ux-master/scripts/component_generator.py +631 -0
- package/skills/cm-ux-master/scripts/core.py +305 -0
- package/skills/cm-ux-master/scripts/demo_validation.py +452 -0
- package/skills/cm-ux-master/scripts/design_doc_generator.py +1325 -0
- package/skills/cm-ux-master/scripts/design_system.py +1141 -0
- package/skills/cm-ux-master/scripts/design_system_indexer.py +889 -0
- package/skills/cm-ux-master/scripts/extract_i18n.py +251 -0
- package/skills/cm-ux-master/scripts/extractor.py +1437 -0
- package/skills/cm-ux-master/scripts/figma_bridge.py +406 -0
- package/skills/cm-ux-master/scripts/generate.py +147 -0
- package/skills/cm-ux-master/scripts/harvest_session.py +207 -0
- package/skills/cm-ux-master/scripts/harvester.js +240 -0
- package/skills/cm-ux-master/scripts/harvester_browser.py +717 -0
- package/skills/cm-ux-master/scripts/harvester_cli.py +431 -0
- package/skills/cm-ux-master/scripts/harvester_v1.js +275 -0
- package/skills/cm-ux-master/scripts/harvester_v3.js +620 -0
- package/skills/cm-ux-master/scripts/harvester_v4.js +1003 -0
- package/skills/cm-ux-master/scripts/install.py +528 -0
- package/skills/cm-ux-master/scripts/license.py +81 -0
- package/skills/cm-ux-master/scripts/media/qrpayment.png +0 -0
- package/skills/cm-ux-master/scripts/pro_stubs.py +120 -0
- package/skills/cm-ux-master/scripts/project_registry.py +217 -0
- package/skills/cm-ux-master/scripts/search.py +114 -0
- package/skills/cm-ux-master/scripts/semi_mcp_bridge.py +425 -0
- package/skills/cm-ux-master/scripts/stitch_integration.py +583 -0
- package/skills/cm-ux-master/scripts/test_harvester_v4.py +335 -0
- package/skills/cm-ux-master/scripts/token_mapper.py +626 -0
- package/skills/cm-ux-master/scripts/validation_engine.py +1571 -0
- package/skills/cm-ux-master/scripts/wizard.py +653 -0
- package/skills/cm-ux-master/setup.py +93 -0
- package/skills/cm-ux-master/templates/base/flutter-widget.dart +69 -0
- package/skills/cm-ux-master/templates/base/html-page.html +152 -0
- package/skills/cm-ux-master/templates/base/react-component.tsx +47 -0
- package/skills/cm-ux-master/templates/base/swiftui-view.swift +62 -0
- package/skills/cm-ux-master/templates/quick-start.sh +176 -0
- package/skills/cm-ux-master/tests/automation/batch-validate.sh +250 -0
- package/skills/cm-ux-master/tests/automation/generate-test-projects.sh +561 -0
- package/skills/cm-ux-master/tests/automation/run-all-tests.sh +315 -0
- package/skills/cm-ux-master/tests/test_design_doc.py +145 -0
- package/skills/cm-ux-master/tests/test_devices.py +74 -0
- package/skills/cm-ux-master/tests/test_generator.py +116 -0
- package/skills/cm-ux-master/tests/test_harvest_session.py +131 -0
- package/skills/cm-ux-master/tests/test_harvester.py +127 -0
- package/skills/cm-ux-master/tests/test_harvester_v3.py +324 -0
- package/skills/cm-ux-master/tests/test_mcp_server.py +496 -0
- package/skills/cm-ux-master/tests/test_new_domains.py +108 -0
- package/skills/cm-ux-master/tests/test_new_stacks.py +103 -0
- package/skills/cm-ux-master/tests/test_project_registry.py +146 -0
- package/skills/cm-ux-master/tests/test_semi_mcp_bridge.py +207 -0
- package/skills/cm-ux-master/tests/test_token_mapper.py +247 -0
- package/skills/cm-ux-master/tests/test_validation_engine.py +617 -0
- package/skills/config.schema.json +397 -0
- package/skills/frappe-app-builder.zip +0 -0
- package/skills/jobs-to-be-done/SKILL.md +266 -0
- package/skills/jobs-to-be-done/references/case-studies.md +154 -0
- package/skills/jobs-to-be-done/references/competitive-strategy.md +280 -0
- package/skills/jobs-to-be-done/references/diagnostics.md +158 -0
- package/skills/jobs-to-be-done/references/innovation-process.md +392 -0
- package/skills/jobs-to-be-done/references/organizational-change.md +328 -0
- package/skills/marketplace-report-crawler/SKILL.md +176 -0
- package/skills/marketplace-report-crawler/config/accounts.json +41 -0
- package/skills/marketplace-report-crawler/config/report-types.json +422 -0
- package/skills/marketplace-report-crawler/config/sessions.json +3 -0
- package/skills/marketplace-report-crawler/scripts/ab-wrapper.sh +102 -0
- package/skills/marketplace-report-crawler/scripts/browser-actions/lazada/lazada-actions.js +114 -0
- package/skills/marketplace-report-crawler/scripts/browser-actions/shopee/shopee-actions.js +94 -0
- package/skills/marketplace-report-crawler/scripts/browser-actions/tiktok/tiktok-actions.js +272 -0
- package/skills/marketplace-report-crawler/scripts/crawl-runner.js +281 -0
- package/skills/marketplace-report-crawler/scripts/session-check.sh +72 -0
- package/skills/marketplace-report-crawler/scripts/session-manager.sh +349 -0
- package/skills/marketplace-report-crawler/scripts/setup-folders.sh +83 -0
- package/skills/medical-research/SKILL.md +194 -0
- package/skills/medical-research/scripts/evidence_checker.py +288 -0
- package/skills/mom-test/SKILL.md +267 -0
- package/skills/mom-test/references/avoiding-bad-data.md +221 -0
- package/skills/mom-test/references/case-studies.md +306 -0
- package/skills/mom-test/references/commitment-advancement.md +219 -0
- package/skills/mom-test/references/finding-conversations.md +251 -0
- package/skills/mom-test/references/processing-learning.md +256 -0
- package/skills/mom-test/references/question-patterns.md +198 -0
- package/skills/pandasai-analytics/SKILL.md +251 -0
- package/skills/release-it/SKILL.md +235 -0
- package/skills/release-it/references/anti-patterns.md +279 -0
- package/skills/release-it/references/capacity-planning.md +285 -0
- package/skills/release-it/references/chaos-engineering.md +325 -0
- package/skills/release-it/references/deployment-strategies.md +331 -0
- package/skills/release-it/references/observability.md +301 -0
- package/skills/release-it/references/stability-patterns.md +355 -0
- package/skills/scripts/sync-ide-skills.sh +61 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-audit.md +37 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-compare.md +34 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-export.md +51 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-generate.md +39 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-scaffold.md +52 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-simulate.md +25 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-stats.md +31 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-validate.md +25 -0
- package/skills/skill-creator-ultra/README.md +1242 -0
- package/skills/skill-creator-ultra/SKILL.md +388 -0
- package/skills/skill-creator-ultra/agents/analyzer.md +274 -0
- package/skills/skill-creator-ultra/agents/comparator.md +202 -0
- package/skills/skill-creator-ultra/agents/grader.md +223 -0
- package/skills/skill-creator-ultra/assets/eval_review.html +146 -0
- package/skills/skill-creator-ultra/eval-viewer/generate_review.py +471 -0
- package/skills/skill-creator-ultra/eval-viewer/viewer.html +1325 -0
- package/skills/skill-creator-ultra/examples/example_anthropic_frontend.md +109 -0
- package/skills/skill-creator-ultra/examples/example_anthropic_pdf.md +116 -0
- package/skills/skill-creator-ultra/examples/example_api_docs.md +189 -0
- package/skills/skill-creator-ultra/examples/example_db_migration.md +253 -0
- package/skills/skill-creator-ultra/examples/example_git_commit.md +111 -0
- package/skills/skill-creator-ultra/install.ps1 +289 -0
- package/skills/skill-creator-ultra/install.sh +313 -0
- package/skills/skill-creator-ultra/phases/phase1_interview.md +202 -0
- package/skills/skill-creator-ultra/phases/phase2_extract.md +55 -0
- package/skills/skill-creator-ultra/phases/phase3_detect.md +57 -0
- package/skills/skill-creator-ultra/phases/phase4_generate.md +543 -0
- package/skills/skill-creator-ultra/phases/phase5_test.md +319 -0
- package/skills/skill-creator-ultra/phases/phase6_eval.md +301 -0
- package/skills/skill-creator-ultra/phases/phase7_iterate.md +103 -0
- package/skills/skill-creator-ultra/phases/phase8_optimize.md +113 -0
- package/skills/skill-creator-ultra/resources/advanced_patterns.md +499 -0
- package/skills/skill-creator-ultra/resources/anti_patterns.md +376 -0
- package/skills/skill-creator-ultra/resources/blueprints.md +498 -0
- package/skills/skill-creator-ultra/resources/checklist.md +243 -0
- package/skills/skill-creator-ultra/resources/composition_cookbook.md +291 -0
- package/skills/skill-creator-ultra/resources/description_optimization.md +90 -0
- package/skills/skill-creator-ultra/resources/eval_guide.md +133 -0
- package/skills/skill-creator-ultra/resources/industry_questions.md +189 -0
- package/skills/skill-creator-ultra/resources/interview_questions.md +200 -0
- package/skills/skill-creator-ultra/resources/pattern_detection.md +200 -0
- package/skills/skill-creator-ultra/resources/prompt_engineering.md +531 -0
- package/skills/skill-creator-ultra/resources/schemas.md +430 -0
- package/skills/skill-creator-ultra/resources/script_integration.md +593 -0
- package/skills/skill-creator-ultra/resources/scripts_guide.md +339 -0
- package/skills/skill-creator-ultra/resources/skill_template.md +124 -0
- package/skills/skill-creator-ultra/resources/skill_writing_guide.md +634 -0
- package/skills/skill-creator-ultra/resources/versioning_guide.md +193 -0
- package/skills/skill-creator-ultra/scripts/ci_eval.py +200 -0
- package/skills/skill-creator-ultra/scripts/package_skill.py +165 -0
- package/skills/skill-creator-ultra/scripts/simulate_skill.py +398 -0
- package/skills/skill-creator-ultra/scripts/skill_audit.py +611 -0
- package/skills/skill-creator-ultra/scripts/skill_compare.py +265 -0
- package/skills/skill-creator-ultra/scripts/skill_export.py +334 -0
- package/skills/skill-creator-ultra/scripts/skill_scaffold.py +403 -0
- package/skills/skill-creator-ultra/scripts/skill_stats.py +339 -0
- package/skills/skill-creator-ultra/scripts/validate_skill.py +411 -0
- package/skills/tailwind-mastery/SKILL.md +229 -0
- package/skills/vercel-react-best-practices/AGENTS.md +3373 -0
- package/skills/vercel-react-best-practices/README.md +123 -0
- package/skills/vercel-react-best-practices/SKILL.md +143 -0
- package/skills/vercel-react-best-practices/rules/_sections.md +46 -0
- package/skills/vercel-react-best-practices/rules/_template.md +28 -0
- package/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
- package/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
- package/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
- package/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
- package/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
- package/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
- package/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +142 -0
- package/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/skills/web-design-guidelines/SKILL.md +39 -0
- package/skills/cro-methodology/SKILL.md +0 -98
- /package/skills/{cro-methodology → cm-cro-methodology}/references/COPYWRITING.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/OBJECTIONS.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/PERSUASION.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/RESEARCH.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/funnel-analysis.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/testing-methodology.md +0 -0
|
@@ -0,0 +1,1062 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en" class="scroll-smooth">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
<title>UX Master — Your AI Builds It. This Makes It Beautiful.</title>
|
|
8
|
+
<meta name="description"
|
|
9
|
+
content="Turn any AI coding tool into a world-class design studio. 838+ design rules, 48 UX Laws, 37 Design Tests. No design skills needed. Free forever.">
|
|
10
|
+
<link rel="icon"
|
|
11
|
+
href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><rect rx='20' width='100' height='100' fill='%237c3aed'/><text x='50' y='72' text-anchor='middle' font-size='60' fill='white'>✦</text></svg>">
|
|
12
|
+
<meta property="og:type" content="website">
|
|
13
|
+
<meta property="og:title" content="UX Master — AI Design Intelligence Toolkit">
|
|
14
|
+
<meta property="og:description"
|
|
15
|
+
content="838+ design rules, 48 UX Laws, 37 Design Tests. Turn any AI coding tool into a world-class design studio. Free forever.">
|
|
16
|
+
<meta property="og:url" content="https://github.com/relukdev/ux-master">
|
|
17
|
+
<meta name="twitter:card" content="summary_large_image">
|
|
18
|
+
<meta name="twitter:title" content="UX Master — AI Design Intelligence Toolkit">
|
|
19
|
+
<meta name="twitter:description"
|
|
20
|
+
content="838+ design rules, 48 UX Laws, 37 Design Tests. Turn any AI into a design studio. Free.">
|
|
21
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
22
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
23
|
+
<link
|
|
24
|
+
href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap"
|
|
25
|
+
rel="stylesheet">
|
|
26
|
+
<script src="https://cdn.tailwindcss.com"></script>
|
|
27
|
+
<script>
|
|
28
|
+
tailwind.config = { theme: { extend: { fontFamily: { heading: ['"Plus Jakarta Sans"', 'system-ui', 'sans-serif'], body: ['"Inter"', 'system-ui', 'sans-serif'] }, colors: { surface: { 50: '#fafafa', 100: '#18181b', 200: '#111114', 300: '#0c0c0f', 400: '#09090b' }, accent: { DEFAULT: '#7c3aed', light: '#a78bfa', dark: '#6d28d9', soft: '#ede9fe' }, magic: { DEFAULT: '#ec4899', light: '#f472b6', dark: '#db2777' }, success: { DEFAULT: '#10b981', light: '#34d399' }, warn: { DEFAULT: '#f59e0b', light: '#fbbf24' } } } } }
|
|
29
|
+
</script>
|
|
30
|
+
<link rel="stylesheet" href="css/styles.css">
|
|
31
|
+
</head>
|
|
32
|
+
|
|
33
|
+
<body class="antialiased">
|
|
34
|
+
|
|
35
|
+
<!-- NAVBAR -->
|
|
36
|
+
<nav
|
|
37
|
+
class="nav-glass fixed top-3 left-3 right-3 sm:top-4 sm:left-4 sm:right-4 z-50 rounded-2xl px-4 py-2.5 sm:px-6 sm:py-3 flex items-center justify-between max-w-6xl mx-auto">
|
|
38
|
+
<a href="#" class="flex items-center gap-2.5 group">
|
|
39
|
+
<div
|
|
40
|
+
class="w-8 h-8 rounded-xl bg-gradient-to-br from-accent to-magic flex items-center justify-center text-sm font-bold text-white shrink-0">
|
|
41
|
+
✦</div>
|
|
42
|
+
<span class="font-heading font-bold text-base sm:text-lg tracking-tight">UX Master</span>
|
|
43
|
+
</a>
|
|
44
|
+
<div class="hidden md:flex items-center gap-8 text-sm text-zinc-400">
|
|
45
|
+
<a href="#problem" class="hover:text-white transition-colors cursor-pointer"><span
|
|
46
|
+
data-i18n="nav_why">Why</span></a>
|
|
47
|
+
<a href="#magic" class="hover:text-white transition-colors cursor-pointer"><span
|
|
48
|
+
data-i18n="nav_magic">Magic</span></a>
|
|
49
|
+
<a href="#how" class="hover:text-white transition-colors cursor-pointer"><span data-i18n="nav_how">How</span></a>
|
|
50
|
+
<a href="#start" class="hover:text-white transition-colors cursor-pointer"><span data-i18n="nav_start">Start
|
|
51
|
+
Free</span></a>
|
|
52
|
+
</div>
|
|
53
|
+
<div class="flex items-center gap-1.5 sm:gap-3">
|
|
54
|
+
<button id="themeToggle" class="lang-trigger w-9 h-9 flex items-center justify-center rounded-xl shrink-0 !px-0"
|
|
55
|
+
aria-label="Toggle theme" onclick="toggleTheme()">
|
|
56
|
+
<svg id="themeIconDark" class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
57
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
58
|
+
d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"></path>
|
|
59
|
+
</svg>
|
|
60
|
+
<svg id="themeIconLight" class="w-4 h-4 hidden" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
61
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
62
|
+
d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z">
|
|
63
|
+
</path>
|
|
64
|
+
</svg>
|
|
65
|
+
</button>
|
|
66
|
+
<div class="lang-dropdown" id="langDropdown">
|
|
67
|
+
<button
|
|
68
|
+
class="lang-trigger h-9 px-2.5 sm:px-3 flex items-center justify-center gap-1 sm:gap-1.5 rounded-xl font-medium shrink-0"
|
|
69
|
+
onclick="toggleLangMenu()">
|
|
70
|
+
<span class="text-sm">🌐</span>
|
|
71
|
+
<span id="currentLangLabel" class="text-xs uppercase tracking-wide">EN</span>
|
|
72
|
+
<span class="text-[10px] opacity-70">▾</span>
|
|
73
|
+
</button>
|
|
74
|
+
<div class="lang-menu" id="langMenu">
|
|
75
|
+
<button data-lang="en" onclick="setLang('en')">🇺🇸 English</button>
|
|
76
|
+
<button data-lang="vi" onclick="setLang('vi')">🇻🇳 Tiếng Việt</button>
|
|
77
|
+
<button data-lang="zh" onclick="setLang('zh')">🇨🇳 中文</button>
|
|
78
|
+
<button data-lang="ja" onclick="setLang('ja')">🇯🇵 日本語</button>
|
|
79
|
+
<button data-lang="ko" onclick="setLang('ko')">🇰🇷 한국어</button>
|
|
80
|
+
<button data-lang="ru" onclick="setLang('ru')">🇷🇺 Русский</button>
|
|
81
|
+
<button data-lang="de" onclick="setLang('de')">🇩🇪 Deutsch</button>
|
|
82
|
+
<button data-lang="fr" onclick="setLang('fr')">🇫🇷 Français</button>
|
|
83
|
+
<button data-lang="id" onclick="setLang('id')">🇮🇩 Bahasa</button>
|
|
84
|
+
<button data-lang="hi" onclick="setLang('hi')">🇮🇳 हिन्दी</button>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
<a href="https://github.com/relukdev/ux-master" target="_blank" rel="noopener"
|
|
88
|
+
class="hidden lg:inline-flex items-center justify-center gap-2 bg-white/5 hover:bg-white/10 text-zinc-300 text-sm font-medium px-4 h-9 rounded-xl border border-white/10 transition-all cursor-pointer">⭐
|
|
89
|
+
Star</a>
|
|
90
|
+
<a href="#start"
|
|
91
|
+
class="cta-primary text-white text-sm font-semibold px-4 h-9 rounded-xl transition-all cursor-pointer hidden md:flex items-center justify-center shrink-0"><span
|
|
92
|
+
data-i18n="nav_try">Try It Free</span></a>
|
|
93
|
+
<button class="md:hidden lang-trigger w-9 h-9 flex items-center justify-center rounded-xl shrink-0 !px-0"
|
|
94
|
+
onclick="toggleMobileMenu()">
|
|
95
|
+
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
96
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16m-7 6h7"></path>
|
|
97
|
+
</svg>
|
|
98
|
+
</button>
|
|
99
|
+
</div>
|
|
100
|
+
</nav>
|
|
101
|
+
|
|
102
|
+
<!-- MOBILE MENU -->
|
|
103
|
+
<div id="mobileMenu"
|
|
104
|
+
class="md:hidden mobile-menu fixed top-20 left-4 right-4 z-40 bg-zinc-900/95 backdrop-blur-xl border border-white/10 rounded-2xl px-6 py-4 flex flex-col gap-4 text-sm font-medium shadow-2xl">
|
|
105
|
+
<a href="#problem" onclick="closeMobileMenu()" class="text-zinc-300 hover:text-white py-2"><span
|
|
106
|
+
data-i18n="nav_why">Why</span></a>
|
|
107
|
+
<a href="#magic" onclick="closeMobileMenu()" class="text-zinc-300 hover:text-white py-2"><span
|
|
108
|
+
data-i18n="nav_magic">Magic</span></a>
|
|
109
|
+
<a href="#how" onclick="closeMobileMenu()" class="text-zinc-300 hover:text-white py-2"><span
|
|
110
|
+
data-i18n="nav_how">How</span></a>
|
|
111
|
+
<a href="#start" onclick="closeMobileMenu()" class="cta-primary text-white text-center py-3 rounded-xl mt-2"><span
|
|
112
|
+
data-i18n="nav_try">Try It Free →</span></a>
|
|
113
|
+
</div>
|
|
114
|
+
|
|
115
|
+
<!-- HERO -->
|
|
116
|
+
<section class="relative min-h-screen flex items-center justify-center px-4 pt-24 pb-16 overflow-hidden">
|
|
117
|
+
<div class="hero-bg"></div>
|
|
118
|
+
<div class="grid-pattern"></div>
|
|
119
|
+
<div class="relative z-10 max-w-4xl mx-auto text-center">
|
|
120
|
+
<div
|
|
121
|
+
class="float-badge inline-flex items-center gap-2 px-5 py-2 rounded-full text-xs font-medium bg-white/5 border border-white/10 text-zinc-300 mb-8">
|
|
122
|
+
<span class="flex -space-x-2">
|
|
123
|
+
<span
|
|
124
|
+
class="w-5 h-5 rounded-full bg-gradient-to-br from-violet-400 to-pink-400 border-2 border-surface-400"></span>
|
|
125
|
+
<span
|
|
126
|
+
class="w-5 h-5 rounded-full bg-gradient-to-br from-emerald-400 to-cyan-400 border-2 border-surface-400"></span>
|
|
127
|
+
<span
|
|
128
|
+
class="w-5 h-5 rounded-full bg-gradient-to-br from-amber-400 to-orange-400 border-2 border-surface-400"></span>
|
|
129
|
+
</span>
|
|
130
|
+
<span data-i18n="hero_badge">Founders & PMs đang dùng trên 6 nền tảng <span
|
|
131
|
+
data-i18n="magic_ai">AI</span></span>
|
|
132
|
+
</div>
|
|
133
|
+
<h1
|
|
134
|
+
class="font-heading font-extrabold text-4xl sm:text-5xl md:text-6xl lg:text-7xl tracking-tight leading-[1.05] mb-6">
|
|
135
|
+
<span class="bg-gradient-to-r from-white via-white to-zinc-400 bg-clip-text text-transparent"><span
|
|
136
|
+
data-i18n="hero_h1a">Bạn nói ý tưởng.</span></span><br>
|
|
137
|
+
<span class="bg-gradient-to-r from-accent-light via-magic to-magic-light bg-clip-text text-transparent"><span
|
|
138
|
+
data-i18n="hero_h1b">AI biến nó thành sản phẩm đẹp.</span></span>
|
|
139
|
+
</h1>
|
|
140
|
+
<p class="text-zinc-400 text-lg sm:text-xl max-w-2xl mx-auto mb-4 leading-relaxed">
|
|
141
|
+
<span data-i18n="hero_p1">Không cần biết code. Không cần thuê designer.</span><br class="hidden sm:block">
|
|
142
|
+
<span class="text-white font-medium">UX Master</span> <span data-i18n="hero_p2">biến mọi <span
|
|
143
|
+
data-i18n="magic_ai">AI</span> tool thành design studio chuyên nghiệp.</span>
|
|
144
|
+
</p>
|
|
145
|
+
<p class="text-zinc-600 text-sm max-w-lg mx-auto mb-10"><span data-i18n="hero_p3">Hoạt động với Cursor, Claude,
|
|
146
|
+
Gemini, Amp, và mọi <span data-i18n="magic_ai">AI</span>
|
|
147
|
+
coding tool bạn đang dùng.</span></p>
|
|
148
|
+
<div class="flex flex-col sm:flex-row items-center justify-center gap-4 mb-16">
|
|
149
|
+
<a href="#start"
|
|
150
|
+
class="cta-primary text-white font-semibold px-10 py-4 rounded-2xl transition-all cursor-pointer glow-purple text-base"><span
|
|
151
|
+
data-i18n="hero_cta1">✦
|
|
152
|
+
Bắt đầu miễn phí — 60 giây</span></a>
|
|
153
|
+
<a href="#magic"
|
|
154
|
+
class="bg-white/5 hover:bg-white/10 text-zinc-300 font-medium px-8 py-4 rounded-2xl border border-white/10 transition-all cursor-pointer text-base"><span
|
|
155
|
+
data-i18n="hero_cta2">Xem
|
|
156
|
+
phép màu ↓</span></a>
|
|
157
|
+
</div>
|
|
158
|
+
<div class="flex flex-wrap items-center justify-center gap-x-6 gap-y-4 text-center">
|
|
159
|
+
<div>
|
|
160
|
+
<div class="stat-value text-2xl font-bold text-white" data-target="1032" data-suffix="+">0</div>
|
|
161
|
+
<div class="text-xs text-zinc-500 mt-1"><span data-i18n="hero_stat1">Quy tắc thiết kế</span></div>
|
|
162
|
+
</div>
|
|
163
|
+
<div class="w-px h-8 bg-zinc-800 hidden sm:block"></div>
|
|
164
|
+
<div>
|
|
165
|
+
<div class="text-2xl font-bold text-accent-light">60s</div>
|
|
166
|
+
<div class="text-xs text-zinc-500 mt-1"><span data-i18n="hero_stat2">Cài đặt xong</span></div>
|
|
167
|
+
</div>
|
|
168
|
+
<div class="w-px h-8 bg-zinc-800 hidden sm:block"></div>
|
|
169
|
+
<div>
|
|
170
|
+
<div class="text-2xl font-bold text-magic">$0</div>
|
|
171
|
+
<div class="text-xs text-zinc-500 mt-1"><span data-i18n="hero_stat3">Chi phí designer</span></div>
|
|
172
|
+
</div>
|
|
173
|
+
<div class="w-px h-8 bg-zinc-800 hidden sm:block"></div>
|
|
174
|
+
<div>
|
|
175
|
+
<div class="stat-value text-2xl font-bold text-success" data-target="6" data-suffix="">0</div>
|
|
176
|
+
<div class="text-xs text-zinc-500 mt-1"><span data-i18n="hero_stat4">Nền tảng <span
|
|
177
|
+
data-i18n="magic_ai">AI</span></span></div>
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
180
|
+
</div>
|
|
181
|
+
</section>
|
|
182
|
+
<div class="glow-line max-w-4xl mx-auto"></div>
|
|
183
|
+
|
|
184
|
+
<!-- PROBLEM -->
|
|
185
|
+
<section id="problem" class="max-w-5xl mx-auto px-4 py-24">
|
|
186
|
+
<div class="text-center mb-16 reveal">
|
|
187
|
+
<p class="text-magic text-sm font-semibold tracking-widest uppercase mb-3"><span data-i18n="prob_tag">Vấn đề thật
|
|
188
|
+
sự</span></p>
|
|
189
|
+
<h2 class="font-heading font-bold text-3xl sm:text-4xl tracking-tight mb-4" data-i18n="prob_h2">Bạn có ý tưởng
|
|
190
|
+
tuyệt vời.<br>Nhưng AI tạo ra UI... xấu.</h2>
|
|
191
|
+
<p class="text-zinc-500 text-base max-w-xl mx-auto"><span data-i18n="prob_sub">Đây là thực trạng mà 90% founders
|
|
192
|
+
và PMs đang gặp phải.</span></p>
|
|
193
|
+
</div>
|
|
194
|
+
<div class="grid md:grid-cols-2 gap-6 mb-12">
|
|
195
|
+
<div class="before-card rounded-2xl p-8 reveal">
|
|
196
|
+
<div class="flex items-center gap-2 mb-6"><span class="text-red-400 text-lg">✕</span><span
|
|
197
|
+
class="text-red-400 font-semibold text-sm uppercase tracking-wide"><span data-i18n="prob_no_ux">Không có UX
|
|
198
|
+
Master</span></span></div>
|
|
199
|
+
<ul class="space-y-4 text-sm">
|
|
200
|
+
<li class="flex gap-3 text-zinc-400"><span class="text-red-400/60 mt-0.5 shrink-0">●</span><span><span
|
|
201
|
+
data-i18n="prob_no_1">UI trông
|
|
202
|
+
"<span data-i18n="magic_ai">AI</span>-generated" — generic, không chuyên nghiệp</span></span></li>
|
|
203
|
+
<li class="flex gap-3 text-zinc-400"><span class="text-red-400/60 mt-0.5 shrink-0">●</span><span><span
|
|
204
|
+
data-i18n="prob_no_2">Mỗi trang một
|
|
205
|
+
style — không có design system nhất quán</span></span></li>
|
|
206
|
+
<li class="flex gap-3 text-zinc-400"><span class="text-red-400/60 mt-0.5 shrink-0">●</span><span><span
|
|
207
|
+
data-i18n="prob_no_3">User bị
|
|
208
|
+
confused — nút bấm nhỏ, menu quá nhiều item, load chậm</span></span></li>
|
|
209
|
+
<li class="flex gap-3 text-zinc-400"><span class="text-red-400/60 mt-0.5 shrink-0">●</span><span><span
|
|
210
|
+
data-i18n="prob_no_4">Thuê
|
|
211
|
+
designer: $3,000–$15,000. Chờ 2–4 tuần.</span></span></li>
|
|
212
|
+
<li class="flex gap-3 text-zinc-400"><span class="text-red-400/60 mt-0.5 shrink-0">●</span><span><span
|
|
213
|
+
data-i18n="prob_no_5">Không biết
|
|
214
|
+
design đúng hay sai — "trông ổn" ≠ chuyển đổi tốt</span></span></li>
|
|
215
|
+
</ul>
|
|
216
|
+
</div>
|
|
217
|
+
<div class="after-card rounded-2xl p-8 reveal reveal-delay-1">
|
|
218
|
+
<div class="flex items-center gap-2 mb-6"><span class="text-emerald-400 text-lg">✦</span><span
|
|
219
|
+
class="text-emerald-400 font-semibold text-sm uppercase tracking-wide"><span data-i18n="prob_with_ux">Với UX
|
|
220
|
+
Master</span></span></div>
|
|
221
|
+
<ul class="space-y-4 text-sm">
|
|
222
|
+
<li class="flex gap-3 text-zinc-300"><span class="text-emerald-400/80 mt-0.5 shrink-0">✓</span><span><span
|
|
223
|
+
data-i18n="prob_yes_1">UI đẹp
|
|
224
|
+
chuẩn studio — khách hàng <span class="text-white font-medium">wow</span> ngay lần đầu</span></span>
|
|
225
|
+
</li>
|
|
226
|
+
<li class="flex gap-3 text-zinc-300"><span class="text-emerald-400/80 mt-0.5 shrink-0">✓</span><span><span
|
|
227
|
+
data-i18n="prob_yes_2">Design
|
|
228
|
+
system tự động — mọi trang đồng bộ, chuyên nghiệp</span></span></li>
|
|
229
|
+
<li class="flex gap-3 text-zinc-300"><span class="text-emerald-400/80 mt-0.5 shrink-0">✓</span><span><span
|
|
230
|
+
data-i18n="prob_yes_3">48 quy
|
|
231
|
+
luật UX khoa học — user <span class="text-white font-medium">thích dùng</span> & quay lại</span></span>
|
|
232
|
+
</li>
|
|
233
|
+
<li class="flex gap-3 text-zinc-300"><span class="text-emerald-400/80 mt-0.5 shrink-0">✓</span><span><span
|
|
234
|
+
data-i18n="prob_yes_4">$0 chi
|
|
235
|
+
phí. 0 chờ đợi. Kết quả trong <span class="text-white font-medium">vài phút</span>.</span></span></li>
|
|
236
|
+
<li class="flex gap-3 text-zinc-300"><span class="text-emerald-400/80 mt-0.5 shrink-0">✓</span><span><span
|
|
237
|
+
data-i18n="prob_yes_5">37 bài
|
|
238
|
+
test chất lượng tự động — biết chính xác đâu cần sửa</span></span></li>
|
|
239
|
+
</ul>
|
|
240
|
+
</div>
|
|
241
|
+
</div>
|
|
242
|
+
<div class="text-center reveal">
|
|
243
|
+
<p class="text-zinc-500 text-sm italic"><span data-i18n="prob_quote">"Sản phẩm tốt không chỉ hoạt động đúng — nó
|
|
244
|
+
phải <span class="text-white">cảm thấy đúng</span>."</span></p>
|
|
245
|
+
</div>
|
|
246
|
+
</section>
|
|
247
|
+
<div class="glow-line max-w-4xl mx-auto"></div>
|
|
248
|
+
|
|
249
|
+
<!-- MAGIC -->
|
|
250
|
+
<section id="magic" class="max-w-6xl mx-auto px-4 py-24">
|
|
251
|
+
<div class="text-center mb-16 reveal">
|
|
252
|
+
<p class="text-accent-light text-sm font-semibold tracking-widest uppercase mb-3"><span data-i18n="magic_tag">Phép
|
|
253
|
+
màu</span></p>
|
|
254
|
+
<h2 class="font-heading font-bold text-3xl sm:text-4xl tracking-tight mb-4"><span data-i18n="magic_h2">Chỉ cần
|
|
255
|
+
nói. <span data-i18n="magic_ai">AI</span> hiểu bạn muốn gì.</span></h2>
|
|
256
|
+
<p class="text-zinc-500 text-base max-w-xl mx-auto"><span data-i18n="magic_sub">UX Master hoạt động ngầm — tự động
|
|
257
|
+
biến mọi yêu cầu thành
|
|
258
|
+
thiết kế chuyên nghiệp.</span></p>
|
|
259
|
+
</div>
|
|
260
|
+
<div class="max-w-3xl mx-auto mb-16 reveal">
|
|
261
|
+
<div class="glass-card rounded-2xl p-6 sm:p-8 space-y-6">
|
|
262
|
+
<div class="flex gap-4">
|
|
263
|
+
<div
|
|
264
|
+
class="w-9 h-9 rounded-xl bg-gradient-to-br from-violet-500 to-pink-500 flex items-center justify-center text-white text-xs font-bold shrink-0">
|
|
265
|
+
<span data-i18n="magic_you">Bạn</span>
|
|
266
|
+
</div>
|
|
267
|
+
<div class="bg-white/5 rounded-2xl rounded-tl-md px-5 py-3.5 text-sm text-zinc-200 max-w-lg"><span
|
|
268
|
+
data-i18n="magic_prompt">"Tạo cho tôi
|
|
269
|
+
landing page cho dịch vụ spa cao cấp, phong cách sang trọng, có booking form"</span></div>
|
|
270
|
+
</div>
|
|
271
|
+
<div class="flex gap-4">
|
|
272
|
+
<div
|
|
273
|
+
class="w-9 h-9 rounded-xl bg-gradient-to-br from-accent to-accent-dark flex items-center justify-center text-white text-xs font-bold shrink-0">
|
|
274
|
+
<span data-i18n="magic_ai">AI</span>
|
|
275
|
+
</div>
|
|
276
|
+
<div class="space-y-3 flex-1">
|
|
277
|
+
<div class="bg-accent/5 border border-accent/15 rounded-2xl rounded-tl-md px-5 py-4 text-sm max-w-lg">
|
|
278
|
+
<p class="text-accent-light text-xs font-medium mb-3"><span data-i18n="magic_analyzing">✦ UX Master đang
|
|
279
|
+
phân tích...</span></p>
|
|
280
|
+
<div class="space-y-2 text-zinc-400 text-xs leading-relaxed">
|
|
281
|
+
<p><span data-i18n="magic_a1">🎨 <span class="text-zinc-200">Style:</span> Glassmorphism + Soft UI —
|
|
282
|
+
hoàn hảo cho luxury spa</span></p>
|
|
283
|
+
<p><span data-i18n="magic_a2">🎯 <span class="text-zinc-200">Màu sắc:</span> Soft pink + Calming teal
|
|
284
|
+
trên nền tối</span></p>
|
|
285
|
+
<p><span data-i18n="magic_a3">✍️ <span class="text-zinc-200">Font:</span> Playfair Display / Lato — sang
|
|
286
|
+
trọng, dễ đọc</span></p>
|
|
287
|
+
<p><span data-i18n="magic_a4">⚖️ <span class="text-zinc-200">UX Law:</span> Hick's Law — tối đa 2 nút
|
|
288
|
+
CTA trên hero</span></p>
|
|
289
|
+
<p><span data-i18n="magic_a5">🧪 <span class="text-zinc-200">Test:</span> Nút booking ≥ 44px, form ≤ 4
|
|
290
|
+
fields</span></p>
|
|
291
|
+
</div>
|
|
292
|
+
</div>
|
|
293
|
+
<div class="bg-white/5 rounded-2xl rounded-tl-md px-5 py-3.5 text-sm text-zinc-300 max-w-lg"><span
|
|
294
|
+
data-i18n="magic_output">Tôi đã tạo
|
|
295
|
+
landing page cho Serenity Spa với thiết kế Glassmorphism sang trọng. Booking form chỉ 3 bước, nút CTA
|
|
296
|
+
nổi
|
|
297
|
+
bật, tuân thủ 48 quy luật UX...</span></div>
|
|
298
|
+
</div>
|
|
299
|
+
</div>
|
|
300
|
+
</div>
|
|
301
|
+
</div>
|
|
302
|
+
<div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-5">
|
|
303
|
+
<div class="glass-card rounded-2xl p-7 reveal">
|
|
304
|
+
<div
|
|
305
|
+
class="w-12 h-12 rounded-2xl bg-gradient-to-br from-accent/20 to-accent/5 flex items-center justify-center text-accent-light mb-5 text-2xl">
|
|
306
|
+
🎨</div>
|
|
307
|
+
<h3 class="font-heading font-bold text-lg mb-2"><span data-i18n="feature_1_title">Tự động chọn design đẹp</span>
|
|
308
|
+
</h3>
|
|
309
|
+
<p class="text-zinc-500 text-sm leading-relaxed"><span data-i18n="feature_1_desc">Từ 67 phong cách thiết kế — UX
|
|
310
|
+
Master tự chọn style phù hợp
|
|
311
|
+
nhất cho ngành của bạn.</span></p>
|
|
312
|
+
</div>
|
|
313
|
+
<div class="glass-card rounded-2xl p-7 reveal reveal-delay-1">
|
|
314
|
+
<div
|
|
315
|
+
class="w-12 h-12 rounded-2xl bg-gradient-to-br from-magic/20 to-magic/5 flex items-center justify-center text-magic-light mb-5 text-2xl">
|
|
316
|
+
🧠</div>
|
|
317
|
+
<h3 class="font-heading font-bold text-lg mb-2"><span data-i18n="feature_2_title">48 quy luật UX khoa học</span>
|
|
318
|
+
</h3>
|
|
319
|
+
<p class="text-zinc-500 text-sm leading-relaxed"><span data-i18n="feature_2_desc">Nút bấm đủ lớn, menu không quá
|
|
320
|
+
dài, load nhanh, form ngắn gọn —
|
|
321
|
+
tất cả được tự động áp dụng.</span></p>
|
|
322
|
+
</div>
|
|
323
|
+
<div class="glass-card rounded-2xl p-7 reveal reveal-delay-2">
|
|
324
|
+
<div
|
|
325
|
+
class="w-12 h-12 rounded-2xl bg-gradient-to-br from-success/20 to-success/5 flex items-center justify-center text-success-light mb-5 text-2xl">
|
|
326
|
+
✅</div>
|
|
327
|
+
<h3 class="font-heading font-bold text-lg mb-2"><span data-i18n="feature_3_title">Tự kiểm tra chất lượng</span>
|
|
328
|
+
</h3>
|
|
329
|
+
<p class="text-zinc-500 text-sm leading-relaxed"><span data-i18n="feature_3_desc">37 bài test tự động đảm bảo
|
|
330
|
+
sản phẩm đạt chuẩn. Contrast đủ?
|
|
331
|
+
Responsive? Accessible?</span></p>
|
|
332
|
+
</div>
|
|
333
|
+
<div class="glass-card rounded-2xl p-7 reveal">
|
|
334
|
+
<div
|
|
335
|
+
class="w-12 h-12 rounded-2xl bg-gradient-to-br from-warn/20 to-warn/5 flex items-center justify-center text-warn-light mb-5 text-2xl">
|
|
336
|
+
🔄</div>
|
|
337
|
+
<h3 class="font-heading font-bold text-lg mb-2"><span data-i18n="feature_4_title">Copy design từ site yêu
|
|
338
|
+
thích</span></h3>
|
|
339
|
+
<p class="text-zinc-500 text-sm leading-relaxed"><span data-i18n="feature_4_desc">Thích design của Linear,
|
|
340
|
+
Stripe hay Airbnb? UX Master trích
|
|
341
|
+
xuất màu sắc, font, spacing.</span></p>
|
|
342
|
+
</div>
|
|
343
|
+
<div class="glass-card rounded-2xl p-7 reveal reveal-delay-1">
|
|
344
|
+
<div
|
|
345
|
+
class="w-12 h-12 rounded-2xl bg-gradient-to-br from-cyan-500/20 to-cyan-500/5 flex items-center justify-center text-cyan-400 mb-5 text-2xl">
|
|
346
|
+
🔌</div>
|
|
347
|
+
<h3 class="font-heading font-bold text-lg mb-2">Mọi <span data-i18n="magic_ai">AI</span> tool đều dùng được</h3>
|
|
348
|
+
<p class="text-zinc-500 text-sm leading-relaxed"><span data-i18n="feature_5_desc">Cursor, Claude, Gemini, Amp,
|
|
349
|
+
OpenCode — cài 1 lần, dùng mãi.</span>
|
|
350
|
+
</p>
|
|
351
|
+
</div>
|
|
352
|
+
<div class="glass-card rounded-2xl p-7 reveal reveal-delay-2">
|
|
353
|
+
<div
|
|
354
|
+
class="w-12 h-12 rounded-2xl bg-gradient-to-br from-rose-500/20 to-rose-500/5 flex items-center justify-center text-rose-400 mb-5 text-2xl">
|
|
355
|
+
📈</div>
|
|
356
|
+
<h3 class="font-heading font-bold text-lg mb-2"><span data-i18n="feature_6_title">Tối ưu conversion rate</span>
|
|
357
|
+
</h3>
|
|
358
|
+
<p class="text-zinc-500 text-sm leading-relaxed"><span data-i18n="feature_6_desc">CTA đặt đúng chỗ, form ngắn
|
|
359
|
+
gọn, flow mượt mà — tăng tỷ lệ
|
|
360
|
+
chuyển đổi ngay từ lần đầu.</span></p>
|
|
361
|
+
</div>
|
|
362
|
+
</div>
|
|
363
|
+
</section>
|
|
364
|
+
<div class="glow-line max-w-4xl mx-auto"></div>
|
|
365
|
+
|
|
366
|
+
<!-- WHO IS THIS FOR -->
|
|
367
|
+
<section class="max-w-5xl mx-auto px-4 py-24">
|
|
368
|
+
<div class="text-center mb-16 reveal">
|
|
369
|
+
<p class="text-warn text-sm font-semibold tracking-widest uppercase mb-3"><span data-i18n="who_tag">Dành cho
|
|
370
|
+
ai?</span></p>
|
|
371
|
+
<h2 class="font-heading font-bold text-3xl sm:text-4xl tracking-tight mb-4"><span data-i18n="magic_you">Bạn</span>
|
|
372
|
+
không cần biết code.<br><span data-i18n="magic_you">Bạn</span> chỉ
|
|
373
|
+
cần biết mình muốn gì.</h2>
|
|
374
|
+
</div>
|
|
375
|
+
<div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-4 reveal">
|
|
376
|
+
<div class="persona-pill rounded-2xl p-6 text-center cursor-pointer">
|
|
377
|
+
<h4 class="font-heading font-bold text-base mb-1"><span data-i18n="persona_1">🚀 Startup Founders</span></h4>
|
|
378
|
+
<p class="text-zinc-500 text-xs leading-relaxed"><span data-i18n="persona_1_desc">Ship MVP đẹp hơn — gọi vốn tự
|
|
379
|
+
tin hơn.</span></p>
|
|
380
|
+
</div>
|
|
381
|
+
<div class="persona-pill rounded-2xl p-6 text-center cursor-pointer">
|
|
382
|
+
<h4 class="font-heading font-bold text-base mb-1"><span data-i18n="persona_2">📋 Product Managers</span></h4>
|
|
383
|
+
<p class="text-zinc-500 text-xs leading-relaxed"><span data-i18n="persona_2_desc">Biến PRD thành prototype đẹp —
|
|
384
|
+
không cần chờ design team.</span></p>
|
|
385
|
+
</div>
|
|
386
|
+
<div class="persona-pill rounded-2xl p-6 text-center cursor-pointer">
|
|
387
|
+
<h4 class="font-heading font-bold text-base mb-1"><span data-i18n="persona_3">💼 Business Owners</span></h4>
|
|
388
|
+
<p class="text-zinc-500 text-xs leading-relaxed"><span data-i18n="persona_3_desc">Website, landing page,
|
|
389
|
+
dashboard — professional quality, zero
|
|
390
|
+
cost.</span></p>
|
|
391
|
+
</div>
|
|
392
|
+
<div class="persona-pill rounded-2xl p-6 text-center cursor-pointer">
|
|
393
|
+
<h4 class="font-heading font-bold text-base mb-1"><span data-i18n="persona_4">🎯 Growth & Marketing</span></h4>
|
|
394
|
+
<p class="text-zinc-500 text-xs leading-relaxed"><span data-i18n="persona_4_desc">Landing page chuyển đổi cao.
|
|
395
|
+
A/B test visual nhanh.</span></p>
|
|
396
|
+
</div>
|
|
397
|
+
<div class="persona-pill rounded-2xl p-6 text-center cursor-pointer">
|
|
398
|
+
<h4 class="font-heading font-bold text-base mb-1"><span data-i18n="persona_5">✨ Vibe Coders</span></h4>
|
|
399
|
+
<p class="text-zinc-500 text-xs leading-relaxed"><span data-i18n="magic_you">Bạn</span> nói <span
|
|
400
|
+
data-i18n="magic_ai">AI</span> làm — UX Master đảm bảo kết quả đẹp & đúng chuẩn.
|
|
401
|
+
</p>
|
|
402
|
+
</div>
|
|
403
|
+
<div class="persona-pill rounded-2xl p-6 text-center cursor-pointer">
|
|
404
|
+
<h4 class="font-heading font-bold text-base mb-1"><span data-i18n="persona_6">💡 Solo Makers</span></h4>
|
|
405
|
+
<p class="text-zinc-500 text-xs leading-relaxed"><span data-i18n="persona_6_desc">Một người = cả team. UX Master
|
|
406
|
+
là designer trong túi của bạn.</span>
|
|
407
|
+
</p>
|
|
408
|
+
</div>
|
|
409
|
+
</div>
|
|
410
|
+
</section>
|
|
411
|
+
<div class="glow-line max-w-4xl mx-auto"></div>
|
|
412
|
+
|
|
413
|
+
<!-- HOW IT WORKS -->
|
|
414
|
+
<section id="how" class="max-w-5xl mx-auto px-4 py-24">
|
|
415
|
+
<div class="text-center mb-16 reveal">
|
|
416
|
+
<p class="text-accent-light text-sm font-semibold tracking-widest uppercase mb-3"><span data-i18n="how_tag">Đơn
|
|
417
|
+
giản đến bất ngờ</span></p>
|
|
418
|
+
<h2 class="font-heading font-bold text-3xl sm:text-4xl tracking-tight mb-4"><span data-i18n="how_h2">3 bước.
|
|
419
|
+
Xong.</span></h2>
|
|
420
|
+
<p class="text-zinc-500 text-base max-w-lg mx-auto"><span data-i18n="how_sub">Không cần học gì mới. Không cần cài
|
|
421
|
+
package. Không cần config.</span>
|
|
422
|
+
</p>
|
|
423
|
+
</div>
|
|
424
|
+
<div class="grid md:grid-cols-3 gap-8 reveal">
|
|
425
|
+
<div class="text-center">
|
|
426
|
+
<div
|
|
427
|
+
class="step-ring rounded-full flex items-center justify-center text-accent-light font-heading font-bold text-xl mx-auto mb-6">
|
|
428
|
+
1</div>
|
|
429
|
+
<h3 class="font-heading font-bold text-lg mb-3"><span data-i18n="how_s1_title">Cài đặt</span></h3>
|
|
430
|
+
<p class="text-zinc-500 text-sm leading-relaxed mb-4">Chạy 1 lệnh duy nhất. UX Master tự nhận diện <span
|
|
431
|
+
data-i18n="magic_ai">AI</span> tool bạn
|
|
432
|
+
đang dùng.</p>
|
|
433
|
+
<div class="bg-zinc-900/80 rounded-xl p-4 text-left"><code
|
|
434
|
+
class="text-xs text-accent-light">python3 scripts/install.py</code>
|
|
435
|
+
<p class="text-[10px] text-zinc-600 mt-2">Tự động detect Cursor, Claude, Gemini...</p>
|
|
436
|
+
</div>
|
|
437
|
+
</div>
|
|
438
|
+
<div class="text-center">
|
|
439
|
+
<div
|
|
440
|
+
class="step-ring rounded-full flex items-center justify-center text-magic-light font-heading font-bold text-xl mx-auto mb-6">
|
|
441
|
+
2</div>
|
|
442
|
+
<h3 class="font-heading font-bold text-lg mb-3">Nói ý tưởng</h3>
|
|
443
|
+
<p class="text-zinc-500 text-sm leading-relaxed mb-4">Dùng <span data-i18n="magic_ai">AI</span> tool như bình
|
|
444
|
+
thường. Mô tả sản phẩm bạn muốn.</p>
|
|
445
|
+
<div class="bg-zinc-900/80 rounded-xl p-4 text-left">
|
|
446
|
+
<p class="text-xs text-zinc-300">"Tạo dashboard quản lý đơn hàng cho cửa hàng thời trang"</p>
|
|
447
|
+
<p class="text-[10px] text-zinc-600 mt-2">Nói bằng tiếng Việt hay English đều được</p>
|
|
448
|
+
</div>
|
|
449
|
+
</div>
|
|
450
|
+
<div class="text-center">
|
|
451
|
+
<div
|
|
452
|
+
class="step-ring rounded-full flex items-center justify-center text-success-light font-heading font-bold text-xl mx-auto mb-6">
|
|
453
|
+
3</div>
|
|
454
|
+
<h3 class="font-heading font-bold text-lg mb-3">Nhận kết quả đẹp</h3>
|
|
455
|
+
<p class="text-zinc-500 text-sm leading-relaxed mb-4"><span data-i18n="magic_ai">AI</span> tự động áp dụng 1032+
|
|
456
|
+
quy tắc design. Sản phẩm sẵn sàng
|
|
457
|
+
ra mắt.</p>
|
|
458
|
+
<div class="bg-zinc-900/80 rounded-xl p-4 text-left">
|
|
459
|
+
<p class="text-xs text-emerald-400">✓ Design system hoàn chỉnh</p>
|
|
460
|
+
<p class="text-xs text-emerald-400">✓ Tuân thủ 48 quy luật UX</p>
|
|
461
|
+
<p class="text-xs text-emerald-400">✓ Qua 37 bài test chất lượng</p>
|
|
462
|
+
</div>
|
|
463
|
+
</div>
|
|
464
|
+
</div>
|
|
465
|
+
</section>
|
|
466
|
+
<div class="glow-line max-w-4xl mx-auto"></div>
|
|
467
|
+
|
|
468
|
+
<!-- SOCIAL PROOF -->
|
|
469
|
+
<section class="max-w-5xl mx-auto px-4 py-24">
|
|
470
|
+
<div class="text-center mb-16 reveal">
|
|
471
|
+
<p class="text-magic text-sm font-semibold tracking-widest uppercase mb-3"><span data-i18n="proof_tag">Kết quả
|
|
472
|
+
thật</span></p>
|
|
473
|
+
<h2 class="font-heading font-bold text-3xl sm:text-4xl tracking-tight mb-4"><span data-i18n="proof_h2">Không phải
|
|
474
|
+
lời hứa. Là kết quả.</span></h2>
|
|
475
|
+
</div>
|
|
476
|
+
<div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-6 reveal">
|
|
477
|
+
<div class="glass-card rounded-2xl p-7">
|
|
478
|
+
<div class="quote-mark mb-2">"</div>
|
|
479
|
+
<p class="text-zinc-300 text-sm leading-relaxed mb-5">Trước UX Master, <span data-i18n="magic_ai">AI</span> tạo
|
|
480
|
+
UI như student project. Giờ khách
|
|
481
|
+
hàng hỏi "bạn thuê agency nào design?"</p>
|
|
482
|
+
<div class="flex items-center gap-3">
|
|
483
|
+
<div class="w-8 h-8 rounded-full bg-gradient-to-br from-violet-400 to-pink-400"></div>
|
|
484
|
+
<div>
|
|
485
|
+
<p class="text-xs font-medium text-white">Startup Founder</p>
|
|
486
|
+
<p class="text-xs text-zinc-600">SaaS B2B</p>
|
|
487
|
+
</div>
|
|
488
|
+
</div>
|
|
489
|
+
</div>
|
|
490
|
+
<div class="glass-card rounded-2xl p-7">
|
|
491
|
+
<div class="quote-mark mb-2">"</div>
|
|
492
|
+
<p class="text-zinc-300 text-sm leading-relaxed mb-5">Từ ý tưởng đến landing page chuyên nghiệp trong 15 phút.
|
|
493
|
+
Conversion rate tăng 40% so với page cũ.</p>
|
|
494
|
+
<div class="flex items-center gap-3">
|
|
495
|
+
<div class="w-8 h-8 rounded-full bg-gradient-to-br from-emerald-400 to-cyan-400"></div>
|
|
496
|
+
<div>
|
|
497
|
+
<p class="text-xs font-medium text-white">Growth Lead</p>
|
|
498
|
+
<p class="text-xs text-zinc-600">E-commerce</p>
|
|
499
|
+
</div>
|
|
500
|
+
</div>
|
|
501
|
+
</div>
|
|
502
|
+
<div class="glass-card rounded-2xl p-7">
|
|
503
|
+
<div class="quote-mark mb-2">"</div>
|
|
504
|
+
<p class="text-zinc-300 text-sm leading-relaxed mb-5"><span data-i18n="proof_q3">Tôi không biết code, không biết
|
|
505
|
+
design. Nhưng với Cursor +
|
|
506
|
+
UX Master, tôi ship được app đầu tiên trong 1 ngày.</span></p>
|
|
507
|
+
<div class="flex items-center gap-3">
|
|
508
|
+
<div class="w-8 h-8 rounded-full bg-gradient-to-br from-amber-400 to-orange-400"></div>
|
|
509
|
+
<div>
|
|
510
|
+
<p class="text-xs font-medium text-white">Solo Maker</p>
|
|
511
|
+
<p class="text-xs text-zinc-600">Mobile App</p>
|
|
512
|
+
</div>
|
|
513
|
+
</div>
|
|
514
|
+
</div>
|
|
515
|
+
</div>
|
|
516
|
+
</section>
|
|
517
|
+
<div class="glow-line max-w-4xl mx-auto"></div>
|
|
518
|
+
|
|
519
|
+
<!-- USE CASES -->
|
|
520
|
+
<section class="max-w-5xl mx-auto px-4 py-24">
|
|
521
|
+
<div class="text-center mb-16 reveal">
|
|
522
|
+
<p class="text-accent-light text-sm font-semibold tracking-widest uppercase mb-3"><span data-i18n="use_tag">Mọi
|
|
523
|
+
ngành, mọi sản phẩm</span></p>
|
|
524
|
+
<h2 class="font-heading font-bold text-3xl sm:text-4xl tracking-tight"><span data-i18n="use_h2">UX Master biết
|
|
525
|
+
ngành của bạn.</span></h2>
|
|
526
|
+
<p class="text-zinc-500 text-base mt-4 max-w-lg mx-auto"><span data-i18n="use_sub">1032+ quy tắc thiết kế được ánh
|
|
527
|
+
xạ vào 16 lĩnh vực.</span></p>
|
|
528
|
+
</div>
|
|
529
|
+
<div class="flex flex-wrap justify-center gap-3 reveal">
|
|
530
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">🏦 Fintech</span>
|
|
531
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">🛒 E-commerce</span>
|
|
532
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">🏥 Healthcare</span>
|
|
533
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">🎓 Education</span>
|
|
534
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">🎮 Gaming</span>
|
|
535
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">💎 Luxury</span>
|
|
536
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">📊 Dashboard</span>
|
|
537
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">💻 SaaS</span>
|
|
538
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">🏠 Landing Page</span>
|
|
539
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">📱 Mobile App</span>
|
|
540
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">💅 Beauty & Spa</span>
|
|
541
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">🏗️ Construction</span>
|
|
542
|
+
<span class="persona-pill px-5 py-2.5 rounded-xl text-sm text-zinc-300 cursor-pointer">🍽️ F&B</span>
|
|
543
|
+
</div>
|
|
544
|
+
</section>
|
|
545
|
+
<div class="glow-line max-w-4xl mx-auto"></div>
|
|
546
|
+
|
|
547
|
+
<!-- GET STARTED -->
|
|
548
|
+
<section id="start" class="max-w-4xl mx-auto px-4 py-24">
|
|
549
|
+
<div class="text-center mb-12 reveal">
|
|
550
|
+
<p class="text-success text-sm font-semibold tracking-widest uppercase mb-3"><span data-i18n="start_tag">Bắt đầu
|
|
551
|
+
ngay</span></p>
|
|
552
|
+
<h2 class="font-heading font-bold text-3xl sm:text-4xl tracking-tight mb-4"><span data-i18n="start_h2">60 giây.
|
|
553
|
+
Miễn phí. Mãi mãi.</span></h2>
|
|
554
|
+
<p class="text-zinc-500 text-base max-w-lg mx-auto"><span data-i18n="start_sub">Chỉ cần Python (đã cài sẵn trên
|
|
555
|
+
Mac/Linux). Không cần thẻ tín
|
|
556
|
+
dụng.</span></p>
|
|
557
|
+
</div>
|
|
558
|
+
<div class="glass-card rounded-2xl p-8 mb-8 reveal border-accent/20">
|
|
559
|
+
<div class="flex items-center gap-3 mb-6">
|
|
560
|
+
<div
|
|
561
|
+
class="w-9 h-9 rounded-xl bg-gradient-to-br from-accent/20 to-magic/10 flex items-center justify-center text-accent-light">
|
|
562
|
+
⬇</div>
|
|
563
|
+
<div>
|
|
564
|
+
<h3 class="font-heading font-semibold text-lg"><span data-i18n="how_s1_title">Cài đặt</span> tự động</h3>
|
|
565
|
+
<p class="text-xs text-zinc-500">Tự detect <span data-i18n="magic_ai">AI</span> tool & cài đặt phù hợp</p>
|
|
566
|
+
</div>
|
|
567
|
+
</div>
|
|
568
|
+
<div class="bg-zinc-900/80 rounded-xl p-5 mb-6">
|
|
569
|
+
<div class="flex items-center justify-between mb-3"><span
|
|
570
|
+
class="text-[10px] text-zinc-600 uppercase tracking-wider">Terminal</span><button
|
|
571
|
+
onclick="navigator.clipboard.writeText('git clone https://github.com/relukdev/ux-master.git\ncd ux-master\npython3 scripts/install.py')"
|
|
572
|
+
class="text-[10px] text-accent-light hover:text-accent cursor-pointer transition-colors">Copy</button></div>
|
|
573
|
+
<div class="space-y-1"><code
|
|
574
|
+
class="text-sm text-zinc-400 font-mono block">git clone https://github.com/relukdev/ux-master.git</code><code
|
|
575
|
+
class="text-sm text-zinc-400 font-mono block">cd ux-master</code><code
|
|
576
|
+
class="text-sm text-accent-light font-mono block">python3 scripts/install.py</code></div>
|
|
577
|
+
<p class="text-xs text-zinc-600 mt-3"><span data-i18n="start_hint">→ Chọn: Cursor, Claude, Gemini, Amp, hoặc
|
|
578
|
+
All</span></p>
|
|
579
|
+
</div>
|
|
580
|
+
<div class="grid grid-cols-3 sm:grid-cols-6 gap-3">
|
|
581
|
+
<div class="text-center p-3 rounded-xl bg-white/3 border border-white/5">
|
|
582
|
+
<p class="text-xs font-medium text-zinc-300">Cursor</p>
|
|
583
|
+
</div>
|
|
584
|
+
<div class="text-center p-3 rounded-xl bg-white/3 border border-white/5">
|
|
585
|
+
<p class="text-xs font-medium text-zinc-300">Claude</p>
|
|
586
|
+
</div>
|
|
587
|
+
<div class="text-center p-3 rounded-xl bg-white/3 border border-white/5">
|
|
588
|
+
<p class="text-xs font-medium text-zinc-300">Gemini</p>
|
|
589
|
+
</div>
|
|
590
|
+
<div class="text-center p-3 rounded-xl bg-white/3 border border-white/5">
|
|
591
|
+
<p class="text-xs font-medium text-zinc-300">Amp</p>
|
|
592
|
+
</div>
|
|
593
|
+
<div class="text-center p-3 rounded-xl bg-white/3 border border-white/5">
|
|
594
|
+
<p class="text-xs font-medium text-zinc-300">OpenCode</p>
|
|
595
|
+
</div>
|
|
596
|
+
<div class="text-center p-3 rounded-xl bg-white/3 border border-white/5">
|
|
597
|
+
<p class="text-xs font-medium text-zinc-300">Antigravity</p>
|
|
598
|
+
</div>
|
|
599
|
+
</div>
|
|
600
|
+
</div>
|
|
601
|
+
<div class="glass-card rounded-2xl p-6 mb-8 reveal">
|
|
602
|
+
<div class="flex items-center gap-3 mb-4">
|
|
603
|
+
<div class="w-7 h-7 rounded-lg bg-success/15 flex items-center justify-center text-success text-xs font-bold">✓
|
|
604
|
+
</div>
|
|
605
|
+
<h3 class="font-semibold">Kiểm tra thành công</h3>
|
|
606
|
+
</div>
|
|
607
|
+
<p class="text-zinc-400 text-sm mb-3">Mở <span data-i18n="magic_ai">AI</span> tool của bạn và thử yêu cầu:</p>
|
|
608
|
+
<div class="bg-zinc-900/80 rounded-xl p-4">
|
|
609
|
+
<p class="text-sm text-zinc-300 italic">"Tạo landing page cho quán cà phê, phong cách modern minimal"</p>
|
|
610
|
+
<p class="text-xs text-zinc-600 mt-2">Nếu <span data-i18n="magic_ai">AI</span> nhắc đến <span
|
|
611
|
+
data-i18n="pf_ux">UX Laws</span>, design system, test criteria → bạn đã cài thành
|
|
612
|
+
công! 🎉</p>
|
|
613
|
+
</div>
|
|
614
|
+
</div>
|
|
615
|
+
</section>
|
|
616
|
+
<div class="glow-line max-w-4xl mx-auto"></div>
|
|
617
|
+
|
|
618
|
+
<!-- DATA COVERAGE -->
|
|
619
|
+
<section class="max-w-5xl mx-auto px-4 py-24">
|
|
620
|
+
<div class="text-center mb-16 reveal">
|
|
621
|
+
<p class="text-accent-light text-sm font-semibold tracking-widest uppercase mb-3"><span data-i18n="data_tag">Under
|
|
622
|
+
the Hood</span></p>
|
|
623
|
+
<h2 class="font-heading font-bold text-3xl sm:text-4xl tracking-tight mb-4"><span data-i18n="data_h2">1032+ quy
|
|
624
|
+
tắc. 16 domains. 17 stacks. Không phải
|
|
625
|
+
template.</span></h2>
|
|
626
|
+
<p class="text-zinc-500 text-base max-w-lg mx-auto"><span data-i18n="data_sub">Mỗi quy tắc được ánh xạ theo ngành,
|
|
627
|
+
loại sản phẩm, và context
|
|
628
|
+
cụ thể.</span></p>
|
|
629
|
+
</div>
|
|
630
|
+
<div class="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3 reveal">
|
|
631
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
632
|
+
<div class="text-2xl font-bold text-accent-light mb-1">96</div>
|
|
633
|
+
<div class="text-xs text-zinc-500">Product Patterns</div>
|
|
634
|
+
</div>
|
|
635
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
636
|
+
<div class="text-2xl font-bold text-magic mb-1">67</div>
|
|
637
|
+
<div class="text-xs text-zinc-500"><span data-i18n="pf_styles">UI Styles</span></div>
|
|
638
|
+
</div>
|
|
639
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
640
|
+
<div class="text-2xl font-bold text-cyan-400 mb-1">96</div>
|
|
641
|
+
<div class="text-xs text-zinc-500">Color Palettes</div>
|
|
642
|
+
</div>
|
|
643
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
644
|
+
<div class="text-2xl font-bold text-amber-400 mb-1">57</div>
|
|
645
|
+
<div class="text-xs text-zinc-500">Font Pairings</div>
|
|
646
|
+
</div>
|
|
647
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
648
|
+
<div class="text-2xl font-bold text-rose-400 mb-1">48</div>
|
|
649
|
+
<div class="text-xs text-zinc-500"><span data-i18n="pf_ux">UX Laws</span></div>
|
|
650
|
+
</div>
|
|
651
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
652
|
+
<div class="text-2xl font-bold text-emerald-400 mb-1">37</div>
|
|
653
|
+
<div class="text-xs text-zinc-500"><span data-i18n="pf_tests">Design Tests</span></div>
|
|
654
|
+
</div>
|
|
655
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
656
|
+
<div class="text-2xl font-bold text-violet-400 mb-1">99</div>
|
|
657
|
+
<div class="text-xs text-zinc-500">UX Guidelines</div>
|
|
658
|
+
</div>
|
|
659
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
660
|
+
<div class="text-2xl font-bold text-teal-400 mb-1">100</div>
|
|
661
|
+
<div class="text-xs text-zinc-500">Icon Recommendations</div>
|
|
662
|
+
</div>
|
|
663
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
664
|
+
<div class="text-2xl font-bold text-yellow-400 mb-1">30</div>
|
|
665
|
+
<div class="text-xs text-zinc-500">Landing Patterns</div>
|
|
666
|
+
</div>
|
|
667
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
668
|
+
<div class="text-2xl font-bold text-blue-400 mb-1">44</div>
|
|
669
|
+
<div class="text-xs text-zinc-500">React Patterns</div>
|
|
670
|
+
</div>
|
|
671
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
672
|
+
<div class="text-2xl font-bold text-indigo-400 mb-1">25</div>
|
|
673
|
+
<div class="text-xs text-zinc-500">Chart Types</div>
|
|
674
|
+
</div>
|
|
675
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
676
|
+
<div class="text-2xl font-bold text-orange-400 mb-1">17</div>
|
|
677
|
+
<div class="text-xs text-zinc-500">Framework Stacks</div>
|
|
678
|
+
</div>
|
|
679
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
680
|
+
<div class="text-2xl font-bold text-pink-400 mb-1">30</div>
|
|
681
|
+
<div class="text-xs text-zinc-500">Animation Patterns</div>
|
|
682
|
+
</div>
|
|
683
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
684
|
+
<div class="text-2xl font-bold text-sky-400 mb-1">25</div>
|
|
685
|
+
<div class="text-xs text-zinc-500">Responsive Patterns</div>
|
|
686
|
+
</div>
|
|
687
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
688
|
+
<div class="text-2xl font-bold text-lime-400 mb-1">25</div>
|
|
689
|
+
<div class="text-xs text-zinc-500">WCAG 2.2 A11y</div>
|
|
690
|
+
</div>
|
|
691
|
+
<div class="glass-card rounded-xl p-4 text-center">
|
|
692
|
+
<div class="text-2xl font-bold text-fuchsia-400 mb-1">20</div>
|
|
693
|
+
<div class="text-xs text-zinc-500">Device Profiles</div>
|
|
694
|
+
</div>
|
|
695
|
+
</div>
|
|
696
|
+
</section>
|
|
697
|
+
<div class="glow-line max-w-4xl mx-auto"></div>
|
|
698
|
+
|
|
699
|
+
<!-- PRICING -->
|
|
700
|
+
<section id="pricing" class="max-w-5xl mx-auto px-4 py-24">
|
|
701
|
+
<div class="text-center mb-16 reveal">
|
|
702
|
+
<p class="text-magic text-sm font-semibold tracking-widest uppercase mb-3"><span
|
|
703
|
+
data-i18n="price_tag">Pricing</span></p>
|
|
704
|
+
<h2 class="font-heading font-bold text-3xl sm:text-4xl tracking-tight mb-4"><span data-i18n="price_h2">Free <span
|
|
705
|
+
data-i18n="price_free_dur">forever</span>. Pro when you need power.
|
|
706
|
+
</span></h2>
|
|
707
|
+
<p class="text-zinc-500 text-base max-w-xl mx-auto"><span data-i18n="price_sub">1032+ rules free. Upgrade to Pro
|
|
708
|
+
for Harvester v3, Token
|
|
709
|
+
Mapper, and the full design extraction pipeline.</span></p>
|
|
710
|
+
</div>
|
|
711
|
+
|
|
712
|
+
<div class="grid md:grid-cols-2 gap-6 mb-16 reveal">
|
|
713
|
+
<!-- FREE TIER -->
|
|
714
|
+
<div class="glass-card rounded-2xl p-8">
|
|
715
|
+
<div class="flex items-center gap-3 mb-6">
|
|
716
|
+
<div
|
|
717
|
+
class="w-11 h-11 rounded-xl bg-gradient-to-br from-emerald-500/20 to-emerald-500/5 flex items-center justify-center text-emerald-400 text-xl">
|
|
718
|
+
✦</div>
|
|
719
|
+
<div>
|
|
720
|
+
<h3 class="font-heading font-bold text-xl">Free</h3>
|
|
721
|
+
<p class="text-xs text-zinc-500"><span data-i18n="price_free_sub">Free <span
|
|
722
|
+
data-i18n="price_free_dur">forever</span>, no catch</span></p>
|
|
723
|
+
</div>
|
|
724
|
+
</div>
|
|
725
|
+
<div class="text-3xl font-bold mb-6">$0 <span class="text-sm text-zinc-500 font-normal"><span
|
|
726
|
+
data-i18n="price_free_dur">forever</span></span></div>
|
|
727
|
+
<ul class="space-y-3 mb-8 text-sm">
|
|
728
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-emerald-400 shrink-0">✓</span> <span
|
|
729
|
+
data-i18n="ft_rules">1032+ design rules</span></li>
|
|
730
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-emerald-400 shrink-0">✓</span> <span
|
|
731
|
+
data-i18n="ft_ux">48 <span data-i18n="pf_ux">UX Laws</span></span></li>
|
|
732
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-emerald-400 shrink-0">✓</span> <span
|
|
733
|
+
data-i18n="ft_tests">37 <span data-i18n="pf_tests">Design Tests</span></span></li>
|
|
734
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-emerald-400 shrink-0">✓</span> <span
|
|
735
|
+
data-i18n="ft_styles">67 UI styles, 96 color
|
|
736
|
+
palettes</span></li>
|
|
737
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-emerald-400 shrink-0">✓</span> 6 <span
|
|
738
|
+
data-i18n="magic_ai">AI</span> platform support
|
|
739
|
+
</li>
|
|
740
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-emerald-400 shrink-0">✓</span> 17 framework stacks +
|
|
741
|
+
20 device profiles</li>
|
|
742
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-emerald-400 shrink-0">✓</span> Code template
|
|
743
|
+
generator (4 languages)</li>
|
|
744
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-emerald-400 shrink-0">✓</span> <span
|
|
745
|
+
data-i18n="ft_harv1">Harvester v1 (~15
|
|
746
|
+
tokens)</span></li>
|
|
747
|
+
<li class="flex gap-2.5 text-zinc-600"><span class="text-zinc-700 shrink-0">✕</span> <span
|
|
748
|
+
data-i18n="ft_harv3">Harvester v3 (80+ tokens)</span>
|
|
749
|
+
</li>
|
|
750
|
+
<li class="flex gap-2.5 text-zinc-600"><span class="text-zinc-700 shrink-0">✕</span> <span
|
|
751
|
+
data-i18n="ft_mapper">Token Mapper</span></li>
|
|
752
|
+
<li class="flex gap-2.5 text-zinc-600"><span class="text-zinc-700 shrink-0">✕</span> <span
|
|
753
|
+
data-i18n="ft_docgen">Design Doc Generator</span></li>
|
|
754
|
+
<li class="flex gap-2.5 text-zinc-600"><span class="text-zinc-700 shrink-0">✕</span> <span
|
|
755
|
+
data-i18n="ft_registry">Multi-Project Registry</span>
|
|
756
|
+
</li>
|
|
757
|
+
</ul>
|
|
758
|
+
<a href="#start"
|
|
759
|
+
class="block text-center bg-white/5 hover:bg-white/10 text-zinc-300 font-semibold px-8 py-3.5 rounded-xl border border-white/10 transition-all cursor-pointer"><span
|
|
760
|
+
data-i18n="price_free_cta">Get
|
|
761
|
+
Started Free</span></a>
|
|
762
|
+
</div>
|
|
763
|
+
|
|
764
|
+
<!-- PRO TIER -->
|
|
765
|
+
<div class="rounded-2xl p-8 relative overflow-hidden"
|
|
766
|
+
style="background: rgba(124,58,237,0.06); border: 1px solid rgba(124,58,237,0.25);">
|
|
767
|
+
<div
|
|
768
|
+
class="absolute top-4 right-4 bg-gradient-to-r from-accent to-magic text-white text-[10px] font-bold px-3 py-1 rounded-full uppercase tracking-wider">
|
|
769
|
+
<span data-i18n="price_popular">Most Popular</span>
|
|
770
|
+
</div>
|
|
771
|
+
<div class="flex items-center gap-3 mb-6">
|
|
772
|
+
<div
|
|
773
|
+
class="w-11 h-11 rounded-xl bg-gradient-to-br from-accent/30 to-magic/20 flex items-center justify-center text-accent-light text-xl">
|
|
774
|
+
⚡</div>
|
|
775
|
+
<div>
|
|
776
|
+
<h3 class="font-heading font-bold text-xl">Pro</h3>
|
|
777
|
+
<p class="text-xs text-zinc-500">One-time payment. Yours <span data-i18n="price_free_dur">forever</span>.
|
|
778
|
+
</p>
|
|
779
|
+
</div>
|
|
780
|
+
</div>
|
|
781
|
+
<div class="mb-2">
|
|
782
|
+
<span class="text-3xl font-bold" id="proPrice">$39</span>
|
|
783
|
+
<span class="text-sm text-zinc-500 line-through ml-2">$99</span>
|
|
784
|
+
<span class="text-xs text-magic ml-2 font-medium" id="proDiscount"><span data-i18n="price_discount">61%
|
|
785
|
+
off</span></span>
|
|
786
|
+
</div>
|
|
787
|
+
<div class="mb-6">
|
|
788
|
+
<div class="flex items-center gap-2 text-xs text-zinc-400">
|
|
789
|
+
<div class="flex-1 bg-white/5 rounded-full h-2 overflow-hidden">
|
|
790
|
+
<div class="bg-gradient-to-r from-accent to-magic h-full rounded-full transition-all" id="slotBar"
|
|
791
|
+
style="width: 73%"></div>
|
|
792
|
+
</div>
|
|
793
|
+
<span id="slotCount" class="font-mono text-accent-light">73/100</span>
|
|
794
|
+
<span><span data-i18n="price_slots">slots left</span></span>
|
|
795
|
+
</div>
|
|
796
|
+
<p class="text-[10px] text-zinc-600 mt-1"><span data-i18n="price_increase">Price increases to $49 after 100
|
|
797
|
+
copies. Never this low again.</span></p>
|
|
798
|
+
</div>
|
|
799
|
+
<ul class="space-y-3 mb-8 text-sm">
|
|
800
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-accent-light shrink-0">✓</span> <span
|
|
801
|
+
data-i18n="pt_all">Everything in Free</span>
|
|
802
|
+
</li>
|
|
803
|
+
<li class="flex gap-2.5 text-white font-medium"><span class="text-accent-light shrink-0">✓</span> <span
|
|
804
|
+
data-i18n="pt_harv3">Harvester v3
|
|
805
|
+
— 80+ tokens 🔥</span></li>
|
|
806
|
+
<li class="flex gap-2.5 text-white font-medium"><span class="text-accent-light shrink-0">✓</span> <span
|
|
807
|
+
data-i18n="ft_mapper">Token Mapper</span>
|
|
808
|
+
→ CSS/Figma 🔥</li>
|
|
809
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-accent-light shrink-0">✓</span> <span
|
|
810
|
+
data-i18n="ft_docgen">Design Doc Generator</span>
|
|
811
|
+
</li>
|
|
812
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-accent-light shrink-0">✓</span> Multi-Project
|
|
813
|
+
Registry</li>
|
|
814
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-accent-light shrink-0">✓</span> <span
|
|
815
|
+
data-i18n="pt_merge">Multi-Harvest Merge +
|
|
816
|
+
Confidence</span></li>
|
|
817
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-accent-light shrink-0">✓</span> <span
|
|
818
|
+
data-i18n="pt_mcp">Semi MCP Bridge</span></li>
|
|
819
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-accent-light shrink-0">✓</span> <span
|
|
820
|
+
data-i18n="pt_updates">All future updates
|
|
821
|
+
included</span></li>
|
|
822
|
+
<li class="flex gap-2.5 text-zinc-300"><span class="text-accent-light shrink-0">✓</span> <span
|
|
823
|
+
data-i18n="pt_support">Priority support</span></li>
|
|
824
|
+
</ul>
|
|
825
|
+
<a href="https://ux-master.dev/pro" target="_blank"
|
|
826
|
+
class="block text-center cta-primary text-white font-semibold px-8 py-3.5 rounded-xl transition-all cursor-pointer glow-purple">🛒
|
|
827
|
+
<span data-i18n="price_pro_cta">Get UX Master Pro — $39</span></a>
|
|
828
|
+
</div>
|
|
829
|
+
</div>
|
|
830
|
+
|
|
831
|
+
<!-- FREE vs PRO COMPARISON TABLE -->
|
|
832
|
+
<div class="glass-card rounded-2xl p-8 mb-16 reveal">
|
|
833
|
+
<h3 class="font-heading font-bold text-xl mb-6 text-center"><span data-i18n="price_compare">Free vs Pro — Detailed
|
|
834
|
+
Comparison</span></h3>
|
|
835
|
+
<div class="overflow-x-auto">
|
|
836
|
+
<table class="w-full text-sm">
|
|
837
|
+
<thead>
|
|
838
|
+
<tr class="border-b border-white/10">
|
|
839
|
+
<th class="text-left py-3 px-4 text-zinc-400 font-medium"><span data-i18n="price_feat">Feature</span></th>
|
|
840
|
+
<th class="text-center py-3 px-4 text-zinc-400 font-medium w-28">Free</th>
|
|
841
|
+
<th class="text-center py-3 px-4 text-accent-light font-medium w-28">Pro</th>
|
|
842
|
+
</tr>
|
|
843
|
+
</thead>
|
|
844
|
+
<tbody class="text-zinc-300">
|
|
845
|
+
<tr class="border-b border-white/5">
|
|
846
|
+
<td class="py-2.5 px-4"><span data-i18n="pf_rules">Design Rules</span></td>
|
|
847
|
+
<td class="text-center">1032+ ✅</td>
|
|
848
|
+
<td class="text-center">1032+ ✅</td>
|
|
849
|
+
</tr>
|
|
850
|
+
<tr class="border-b border-white/5">
|
|
851
|
+
<td class="py-2.5 px-4"><span data-i18n="pf_ux">UX Laws</span></td>
|
|
852
|
+
<td class="text-center">48 ✅</td>
|
|
853
|
+
<td class="text-center">48 ✅</td>
|
|
854
|
+
</tr>
|
|
855
|
+
<tr class="border-b border-white/5">
|
|
856
|
+
<td class="py-2.5 px-4"><span data-i18n="pf_tests">Design Tests</span></td>
|
|
857
|
+
<td class="text-center">37 ✅</td>
|
|
858
|
+
<td class="text-center">37 ✅</td>
|
|
859
|
+
</tr>
|
|
860
|
+
<tr class="border-b border-white/5">
|
|
861
|
+
<td class="py-2.5 px-4"><span data-i18n="pf_styles">UI Styles</span></td>
|
|
862
|
+
<td class="text-center">67 ✅</td>
|
|
863
|
+
<td class="text-center">67 ✅</td>
|
|
864
|
+
</tr>
|
|
865
|
+
<tr class="border-b border-white/5">
|
|
866
|
+
<td class="py-2.5 px-4"><span data-i18n="pf_platform">Platform Support</span></td>
|
|
867
|
+
<td class="text-center">6 ✅</td>
|
|
868
|
+
<td class="text-center">6 ✅</td>
|
|
869
|
+
</tr>
|
|
870
|
+
<tr class="border-b border-white/10 bg-white/[0.02]">
|
|
871
|
+
<td class="py-2.5 px-4 font-medium text-white">Harvester</td>
|
|
872
|
+
<td class="text-center text-zinc-500">v1 (~15)</td>
|
|
873
|
+
<td class="text-center text-accent-light font-medium">v3 (80+) 🔥</td>
|
|
874
|
+
</tr>
|
|
875
|
+
<tr class="border-b border-white/5">
|
|
876
|
+
<td class="py-2.5 px-4"><span data-i18n="pf_histogram">Color Histogram</span></td>
|
|
877
|
+
<td class="text-center text-zinc-600">—</td>
|
|
878
|
+
<td class="text-center">✅</td>
|
|
879
|
+
</tr>
|
|
880
|
+
<tr class="border-b border-white/5">
|
|
881
|
+
<td class="py-2.5 px-4"><span data-i18n="pf_semantic">Semantic Colors</span></td>
|
|
882
|
+
<td class="text-center text-zinc-600">—</td>
|
|
883
|
+
<td class="text-center">✅</td>
|
|
884
|
+
</tr>
|
|
885
|
+
<tr class="border-b border-white/5">
|
|
886
|
+
<td class="py-2.5 px-4"><span data-i18n="pf_neutral">Neutral Scale</span></td>
|
|
887
|
+
<td class="text-center text-zinc-600">—</td>
|
|
888
|
+
<td class="text-center">✅</td>
|
|
889
|
+
</tr>
|
|
890
|
+
<tr class="border-b border-white/5">
|
|
891
|
+
<td class="py-2.5 px-4"><span data-i18n="pf_blueprint">Component Blueprints</span></td>
|
|
892
|
+
<td class="text-center text-zinc-600">—</td>
|
|
893
|
+
<td class="text-center">✅</td>
|
|
894
|
+
</tr>
|
|
895
|
+
<tr class="border-b border-white/5">
|
|
896
|
+
<td class="py-2.5 px-4"><span data-i18n="pf_typo">Typography Scale</span></td>
|
|
897
|
+
<td class="text-center text-zinc-600">—</td>
|
|
898
|
+
<td class="text-center">✅</td>
|
|
899
|
+
</tr>
|
|
900
|
+
<tr class="border-b border-white/5">
|
|
901
|
+
<td class="py-2.5 px-4"><span data-i18n="pf_shadow">Shadow/Border System</span></td>
|
|
902
|
+
<td class="text-center text-zinc-600">—</td>
|
|
903
|
+
<td class="text-center">✅</td>
|
|
904
|
+
</tr>
|
|
905
|
+
<tr class="border-b border-white/5">
|
|
906
|
+
<td class="py-2.5 px-4"><span data-i18n="pf_layout">Layout Metrics</span></td>
|
|
907
|
+
<td class="text-center text-zinc-600">—</td>
|
|
908
|
+
<td class="text-center">✅</td>
|
|
909
|
+
</tr>
|
|
910
|
+
<tr class="border-b border-white/10 bg-white/[0.02]">
|
|
911
|
+
<td class="py-2.5 px-4 font-medium text-white"><span data-i18n="ft_mapper">Token Mapper</span></td>
|
|
912
|
+
<td class="text-center text-zinc-600">—</td>
|
|
913
|
+
<td class="text-center text-accent-light font-medium">✅ 🔥</td>
|
|
914
|
+
</tr>
|
|
915
|
+
<tr class="border-b border-white/5">
|
|
916
|
+
<td class="py-2.5 px-4"><span data-i18n="ft_docgen">Design Doc Generator</span></td>
|
|
917
|
+
<td class="text-center text-zinc-600">—</td>
|
|
918
|
+
<td class="text-center">✅</td>
|
|
919
|
+
</tr>
|
|
920
|
+
<tr class="border-b border-white/5">
|
|
921
|
+
<td class="py-2.5 px-4">Project Registry</td>
|
|
922
|
+
<td class="text-center text-zinc-600">—</td>
|
|
923
|
+
<td class="text-center">✅</td>
|
|
924
|
+
</tr>
|
|
925
|
+
<tr class="border-b border-white/5">
|
|
926
|
+
<td class="py-2.5 px-4">Multi-Harvest Merge</td>
|
|
927
|
+
<td class="text-center text-zinc-600">—</td>
|
|
928
|
+
<td class="text-center">✅</td>
|
|
929
|
+
</tr>
|
|
930
|
+
<tr>
|
|
931
|
+
<td class="py-2.5 px-4"><span data-i18n="pt_mcp">Semi MCP Bridge</span></td>
|
|
932
|
+
<td class="text-center text-zinc-600">—</td>
|
|
933
|
+
<td class="text-center">✅</td>
|
|
934
|
+
</tr>
|
|
935
|
+
</tbody>
|
|
936
|
+
</table>
|
|
937
|
+
</div>
|
|
938
|
+
</div>
|
|
939
|
+
|
|
940
|
+
<!-- FAQ -->
|
|
941
|
+
<div class="max-w-3xl mx-auto reveal">
|
|
942
|
+
<h3 class="font-heading font-bold text-xl mb-8 text-center"><span data-i18n="faq_title">Frequently Asked
|
|
943
|
+
Questions</span></h3>
|
|
944
|
+
<div class="space-y-4">
|
|
945
|
+
<div class="glass-card rounded-xl p-5">
|
|
946
|
+
<h4 class="font-heading font-semibold text-base mb-2"><span data-i18n="faq_q1">Is it really lifetime
|
|
947
|
+
access?</span></h4>
|
|
948
|
+
<p class="text-zinc-400 text-sm">Yes. Pay once, yours <span data-i18n="price_free_dur">forever</span>. All
|
|
949
|
+
future updates included at no extra cost.
|
|
950
|
+
</p>
|
|
951
|
+
</div>
|
|
952
|
+
<div class="glass-card rounded-xl p-5">
|
|
953
|
+
<h4 class="font-heading font-semibold text-base mb-2"><span data-i18n="faq_q2">Will the price go up?</span>
|
|
954
|
+
</h4>
|
|
955
|
+
<p class="text-zinc-400 text-sm"><span data-i18n="faq_a2">Yes. Every 100 sales, the price increases
|
|
956
|
+
permanently. Current tier: $39.
|
|
957
|
+
Next tier: $49. It will never be this low again.</span></p>
|
|
958
|
+
</div>
|
|
959
|
+
<div class="glass-card rounded-xl p-5">
|
|
960
|
+
<h4 class="font-heading font-semibold text-base mb-2"><span data-i18n="faq_q3">What about refunds?</span></h4>
|
|
961
|
+
<p class="text-zinc-400 text-sm"><span data-i18n="faq_a3">14-day no-questions-asked refund. Try it
|
|
962
|
+
risk-free.</span></p>
|
|
963
|
+
</div>
|
|
964
|
+
<div class="glass-card rounded-xl p-5">
|
|
965
|
+
<h4 class="font-heading font-semibold text-base mb-2">Can I use it with any <span
|
|
966
|
+
data-i18n="magic_ai">AI</span> tool?</h4>
|
|
967
|
+
<p class="text-zinc-400 text-sm"><span data-i18n="faq_a4">Free tier works with Cursor, Claude, Gemini, Amp,
|
|
968
|
+
OpenCode, Antigravity. Pro
|
|
969
|
+
features work locally via CLI — no cloud dependency.</span></p>
|
|
970
|
+
</div>
|
|
971
|
+
<div class="glass-card rounded-xl p-5">
|
|
972
|
+
<h4 class="font-heading font-semibold text-base mb-2"><span data-i18n="faq_q5">Do I need coding skills?</span>
|
|
973
|
+
</h4>
|
|
974
|
+
<p class="text-zinc-400 text-sm">Free tier: No. Just install and use your <span data-i18n="magic_ai">AI</span>
|
|
975
|
+
tool normally. Pro features:
|
|
976
|
+
basic terminal knowledge (copy-paste commands).</p>
|
|
977
|
+
</div>
|
|
978
|
+
</div>
|
|
979
|
+
</div>
|
|
980
|
+
|
|
981
|
+
<!-- FINAL CTA -->
|
|
982
|
+
<div class="text-center mt-16 reveal">
|
|
983
|
+
<p class="text-zinc-500 text-sm mb-4"><span data-i18n="final_cta_msg">Price increases to <span
|
|
984
|
+
class="text-white font-medium">$49</span> in <span class="text-accent-light font-medium"
|
|
985
|
+
id="finalSlotCount">27</span> sales. This is the lowest it will ever be.</span>
|
|
986
|
+
</p>
|
|
987
|
+
<a href="https://ux-master.dev/pro" target="_blank"
|
|
988
|
+
class="inline-block cta-primary text-white font-semibold px-10 py-4 rounded-2xl transition-all cursor-pointer glow-purple text-base">🛒
|
|
989
|
+
<span data-i18n="price_pro_cta">Get UX Master Pro — $39</span></a>
|
|
990
|
+
</div>
|
|
991
|
+
</section>
|
|
992
|
+
<div class="glow-line max-w-4xl mx-auto"></div>
|
|
993
|
+
|
|
994
|
+
<!-- SHARE -->
|
|
995
|
+
<section class="max-w-4xl mx-auto px-4 py-24">
|
|
996
|
+
<div class="text-center reveal">
|
|
997
|
+
<div
|
|
998
|
+
class="w-16 h-16 rounded-2xl bg-gradient-to-br from-accent/20 to-magic/10 flex items-center justify-center mx-auto mb-6 text-3xl">
|
|
999
|
+
❤️</div>
|
|
1000
|
+
<h2 class="font-heading font-bold text-2xl sm:text-3xl tracking-tight mb-4"><span data-i18n="share_h2">Biết ai
|
|
1001
|
+
đang build sản phẩm?<br>Gửi
|
|
1002
|
+
cho họ.</span></h2>
|
|
1003
|
+
<p class="text-zinc-500 text-sm mb-8 max-w-md mx-auto"><span data-i18n="share_sub">Mỗi founder, PM, hay maker bạn
|
|
1004
|
+
giới thiệu là thêm một sản
|
|
1005
|
+
phẩm đẹp hơn ra đời.</span></p>
|
|
1006
|
+
<div class="flex flex-wrap items-center justify-center gap-3">
|
|
1007
|
+
<button onclick="shareTwitter()"
|
|
1008
|
+
class="share-btn px-6 py-3 rounded-xl text-sm font-medium text-zinc-300 cursor-pointer"><span
|
|
1009
|
+
data-i18n="share_x">Share on X</span></button>
|
|
1010
|
+
<button onclick="shareLinkedIn()"
|
|
1011
|
+
class="share-btn px-6 py-3 rounded-xl text-sm font-medium text-zinc-300 cursor-pointer"><span
|
|
1012
|
+
data-i18n="share_in">Share on
|
|
1013
|
+
LinkedIn</span></button>
|
|
1014
|
+
<button onclick="copyLink()"
|
|
1015
|
+
class="share-btn px-6 py-3 rounded-xl text-sm font-medium text-zinc-300 cursor-pointer" id="copyBtn"><span
|
|
1016
|
+
data-i18n="share_link">Copy
|
|
1017
|
+
Link</span></button>
|
|
1018
|
+
</div>
|
|
1019
|
+
</div>
|
|
1020
|
+
</section>
|
|
1021
|
+
<div class="glow-line max-w-4xl mx-auto"></div>
|
|
1022
|
+
|
|
1023
|
+
<!-- FOOTER -->
|
|
1024
|
+
<footer class="max-w-6xl mx-auto px-4 py-16">
|
|
1025
|
+
<div class="text-center">
|
|
1026
|
+
<div class="flex items-center justify-center gap-2.5 mb-6">
|
|
1027
|
+
<div
|
|
1028
|
+
class="w-8 h-8 rounded-xl bg-gradient-to-br from-accent to-magic flex items-center justify-center text-sm font-bold text-white">
|
|
1029
|
+
✦</div>
|
|
1030
|
+
<span class="font-heading font-bold text-lg tracking-tight">UX Master</span>
|
|
1031
|
+
</div>
|
|
1032
|
+
<p class="text-zinc-600 text-sm mb-6">Biến <span data-i18n="magic_ai">AI</span> thành design studio của bạn.</p>
|
|
1033
|
+
<div class="flex flex-wrap items-center justify-center gap-x-6 gap-y-2 text-xs text-zinc-700 mb-8">
|
|
1034
|
+
<a href="README.md" class="hover:text-zinc-300 transition-colors cursor-pointer"><span
|
|
1035
|
+
data-i18n="footer_guide">Hướng dẫn</span></a><span>·</span>
|
|
1036
|
+
<a href="https://github.com/relukdev/ux-master" target="_blank" rel="noopener"
|
|
1037
|
+
class="hover:text-zinc-300 transition-colors cursor-pointer">GitHub</a><span>·</span>
|
|
1038
|
+
<span><span data-i18n="footer_f1">Miễn phí mãi mãi</span></span><span>·</span><span>6 nền tảng <span
|
|
1039
|
+
data-i18n="magic_ai">AI</span></span><span>·</span><span><span data-i18n="footer_f3">1032+ quy tắc
|
|
1040
|
+
design</span></span>
|
|
1041
|
+
</div>
|
|
1042
|
+
<p class="text-zinc-800 text-xs"><span data-i18n="magic_you">Bạn</span> mơ nó. <span
|
|
1043
|
+
data-i18n="magic_ai">AI</span> xây nó. UX Master làm nó đẹp.</p>
|
|
1044
|
+
</div>
|
|
1045
|
+
</footer>
|
|
1046
|
+
|
|
1047
|
+
<script src="js/i18n.js"></script>
|
|
1048
|
+
<script src="js/lang/en.js"></script>
|
|
1049
|
+
<script src="js/lang/vi.js"></script>
|
|
1050
|
+
<script src="js/lang/zh.js"></script>
|
|
1051
|
+
<script src="js/lang/ja.js"></script>
|
|
1052
|
+
<script src="js/lang/ko.js"></script>
|
|
1053
|
+
<script src="js/lang/ru.js"></script>
|
|
1054
|
+
<script src="js/lang/de.js"></script>
|
|
1055
|
+
<script src="js/lang/fr.js"></script>
|
|
1056
|
+
<script src="js/lang/id.js"></script>
|
|
1057
|
+
<script src="js/lang/hi.js"></script>
|
|
1058
|
+
<script src="js/main.js"></script>
|
|
1059
|
+
<script>initI18n();</script>
|
|
1060
|
+
</body>
|
|
1061
|
+
|
|
1062
|
+
</html>
|