iron-edge 1.2.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +114 -25
- package/agents/iron-3d.md +1 -1
- package/agents/iron-animations.md +3 -2
- package/agents/iron-auditor.md +175 -0
- package/agents/iron-brand.md +3 -2
- package/agents/iron-ceo.md +143 -0
- package/agents/iron-claude.md +54 -0
- package/agents/iron-clone.md +87 -0
- package/agents/iron-cloning.md +21 -3
- package/agents/iron-commercial.md +3 -2
- package/agents/iron-community.md +1 -1
- package/agents/iron-content.md +3 -2
- package/agents/iron-copy.md +3 -2
- package/agents/iron-council.md +3 -2
- package/agents/iron-courses.md +3 -2
- package/agents/iron-cyber.md +3 -2
- package/agents/iron-design.md +3 -2
- package/agents/iron-eng.md +138 -0
- package/agents/iron-finance.md +3 -2
- package/agents/iron-forge.md +147 -0
- package/agents/iron-growth.md +3 -2
- package/agents/iron-install.md +15 -13
- package/agents/iron-paidmedia.md +3 -2
- package/agents/iron-premium.md +146 -0
- package/agents/iron-product.md +3 -2
- package/agents/iron-research.md +3 -2
- package/agents/iron-search.md +82 -0
- package/agents/iron-shopify.md +80 -4
- package/agents/iron-spy.md +1 -1
- package/agents/iron-storytelling.md +3 -2
- package/agents/iron-video.md +1 -1
- package/agents/lp-cinematico.md +2 -2
- package/agents/xq-advisory.md +1 -1
- package/agents/xq-brand.md +1 -1
- package/agents/xq-clevel.md +1 -1
- package/agents/xq-codecore.md +19 -19
- package/agents/xq-copy.md +1 -1
- package/agents/xq-copymaster.md +1 -1
- package/agents/xq-cyber.md +1 -1
- package/agents/xq-data.md +1 -1
- package/agents/xq-design.md +1 -1
- package/agents/xq-hormozi.md +2 -2
- package/agents/xq-movement.md +1 -1
- package/agents/xq-storytelling.md +1 -1
- package/agents/xq-traffic.md +1 -1
- package/bin/iron-edge.js +74 -0
- package/docs/2026-08-21-como-pedir-software-ao-iron.md +62 -0
- package/docs/2026-08-21-skill-gate-fonte-unica.md +70 -0
- package/installer/install-mac.sh +52 -0
- package/installer/install-windows.ps1 +65 -0
- package/installer/install.js +518 -0
- package/iron-routing-map.md +276 -0
- package/package.json +14 -7
- package/skills/anotar/SKILL.md +50 -0
- package/skills/brandkit/SKILL.md +152 -0
- package/skills/clone-distill/SKILL.md +45 -0
- package/skills/clone-distill/scripts/distill.mjs +144 -0
- package/skills/clone-inventory/SKILL.md +51 -0
- package/skills/clone-inventory/package-lock.json +307 -0
- package/skills/clone-inventory/package.json +1 -0
- package/skills/clone-inventory/scripts/inventory.mjs +336 -0
- package/skills/clone-organize/SKILL.md +107 -0
- package/skills/clone-organize/package-lock.json +307 -0
- package/skills/clone-organize/package.json +1 -0
- package/skills/clone-organize/scripts/verify-visual.mjs +79 -0
- package/skills/clone-site/SKILL.md +104 -0
- package/skills/clone-site/package-lock.json +360 -0
- package/skills/clone-site/package.json +12 -0
- package/skills/clone-site/reference/lessons.md +131 -0
- package/skills/clone-site/reference/workflow.md +211 -0
- package/skills/clone-site/scripts/capture.mjs +507 -0
- package/skills/clone-site/scripts/clone.sh +166 -0
- package/skills/clone-site/scripts/fix_paths.py +118 -0
- package/skills/clone-site/scripts/serve.py +129 -0
- package/skills/clone-site/scripts/verify.mjs +126 -0
- package/skills/clone-site/scripts/wget_fallback.sh +38 -0
- package/skills/clone-transplant/SKILL.md +50 -0
- package/skills/clone-transplant/scripts/transplant.mjs +299 -0
- package/skills/conectar-mcp/SKILL.md +38 -0
- package/skills/escada/SKILL.md +62 -0
- package/skills/faxina/SKILL.md +34 -0
- package/skills/gate/SKILL.md +318 -0
- package/skills/gate/hooks/gate-dirty.sh +40 -0
- package/skills/gate/hooks/gate-stop.sh +31 -0
- package/skills/gate/preflight.py +132 -0
- package/skills/lp-cinematico/SKILL.md +5 -0
- package/skills/roteiro-video/SKILL.md +5 -0
- package/skills/salvar/SKILL.md +80 -0
- package/squads/squad-animations/README.md +18 -6
- package/squads/squad-animations/agents/animation-interpreter.md +9 -0
- package/squads/squad-animations/agents/animation-performance-engineer.md +9 -0
- package/squads/squad-animations/agents/animations-orqx.md +11 -2
- package/squads/squad-animations/agents/css-motion-artist.md +9 -0
- package/squads/squad-animations/agents/generative-particle-engineer.md +9 -0
- package/squads/squad-animations/agents/motion-choreographer.md +9 -0
- package/squads/squad-animations/agents/scroll-narrative-engineer.md +9 -0
- package/squads/squad-animations/agents/shader-artist.md +9 -0
- package/squads/squad-animations/agents/threejs-architect.md +9 -0
- package/squads/squad-animations/knowledge-base/chrome-brain-integration.md +17 -43
- package/squads/squad-animations/squad.yaml +21 -7
- package/squads/squad-brand/README.md +9 -3
- package/squads/squad-brand/agents/al-ries.md +9 -0
- package/squads/squad-brand/agents/alina-wheeler.md +9 -0
- package/squads/squad-brand/agents/archetype-consultant.md +9 -0
- package/squads/squad-brand/agents/brand-archetype-strategist.md +9 -0
- package/squads/squad-brand/agents/brand-auditor.md +9 -0
- package/squads/squad-brand/agents/brand-collateral-designer.md +9 -0
- package/squads/squad-brand/agents/brand-compiler.md +9 -0
- package/squads/squad-brand/agents/brand-creative-engineer.md +9 -0
- package/squads/squad-brand/agents/brand-culture-architect.md +9 -0
- package/squads/squad-brand/agents/brand-growth-strategist.md +9 -0
- package/squads/squad-brand/agents/brand-identity-designer.md +9 -0
- package/squads/squad-brand/agents/brand-motion-vfx.md +9 -0
- package/squads/squad-brand/agents/brand-naming-specialist.md +9 -0
- package/squads/squad-brand/agents/brand-orqx.md +12 -3
- package/squads/squad-brand/agents/brand-positioning-strategist.md +9 -0
- package/squads/squad-brand/agents/brand-sonic-designer.md +9 -0
- package/squads/squad-brand/agents/brand-strategist.md +9 -0
- package/squads/squad-brand/agents/brand-system-architect.md +9 -0
- package/squads/squad-brand/agents/byron-sharp.md +9 -0
- package/squads/squad-brand/agents/david-aaker.md +9 -0
- package/squads/squad-brand/agents/denise-yohn.md +9 -0
- package/squads/squad-brand/agents/domain-scout.md +9 -0
- package/squads/squad-brand/agents/donald-miller.md +9 -0
- package/squads/squad-brand/agents/emily-heyward.md +9 -0
- package/squads/squad-brand/agents/jean-noel-kapferer.md +9 -0
- package/squads/squad-brand/agents/kevin-keller.md +9 -0
- package/squads/squad-brand/agents/marty-neumeier.md +9 -0
- package/squads/squad-brand/agents/miller-sticky-brand.md +9 -0
- package/squads/squad-brand/agents/naming-strategist.md +9 -0
- package/squads/squad-brand/knowledge-base/chrome-brain-integration.md +17 -35
- package/squads/squad-brand/squad.yaml +43 -10
- package/squads/squad-brand/tasks/create-components.md +1 -1
- package/squads/squad-brand/tasks/create-dark-mode.md +1 -1
- package/squads/squad-brand/tasks/create-token-system.md +1 -1
- package/squads/squad-brand/tasks/define-grid-system.md +1 -1
- package/squads/squad-brand/tasks/design-dynamic-identity-system.md +1 -1
- package/squads/squad-brand/tasks/export-tokens.md +1 -1
- package/squads/squad-brand/templates/client-delivery-template.md +1 -1
- package/squads/squad-claude/README.md +19 -7
- package/squads/squad-claude/agents/claude-orqx.md +13 -4
- package/squads/squad-claude/agents/config-engineer.md +9 -0
- package/squads/squad-claude/agents/hooks-architect.md +9 -0
- package/squads/squad-claude/agents/mcp-integrator.md +9 -0
- package/squads/squad-claude/agents/project-integrator.md +9 -0
- package/squads/squad-claude/agents/roadmap-sentinel.md +9 -0
- package/squads/squad-claude/agents/skill-craftsman.md +9 -0
- package/squads/squad-claude/agents/swarm-orqx.md +9 -0
- package/squads/squad-claude/checklists/agent-readiness-checklist.md +1 -2
- package/squads/squad-claude/checklists/claude-setup-audit-checklist.md +1 -1
- package/squads/squad-claude/checklists/prompt-quality-checklist.md +0 -5
- package/squads/squad-claude/knowledge-base/chrome-brain-integration.md +17 -42
- package/squads/squad-claude/knowledge-base/claude-code-configuration-reference.md +6 -11
- package/squads/squad-claude/knowledge-base/claude-code-hooks-reference.md +28 -19
- package/squads/squad-claude/knowledge-base/claude-code-internals-deep.md +16 -2
- package/squads/squad-claude/knowledge-base/claude-code-tools-reference.md +2 -2
- package/squads/squad-claude/knowledge-base/context-window-optimization.md +3 -3
- package/squads/squad-claude/knowledge-base/knowledge-architecture-reference.md +3 -3
- package/squads/squad-claude/knowledge-base/mcp-integration-patterns.md +1 -1
- package/squads/squad-claude/knowledge-base/memory-systems-reference.md +6 -6
- package/squads/squad-claude/knowledge-base/obsidian-claude-integration.md +5 -5
- package/squads/squad-claude/knowledge-base/retrieval-augmented-generation.md +3 -3
- package/squads/squad-claude/knowledge-base/skill-creation-patterns.md +10 -10
- package/squads/squad-claude/knowledge-base/swarm-orchestration-patterns.md +10 -10
- package/squads/squad-claude/squad.yaml +20 -7
- package/squads/squad-claude/templates/agent-definition-template.md +1 -1
- package/squads/squad-cloning/README.md +22 -6
- package/squads/squad-cloning/agents/agent-forger.md +36 -3
- package/squads/squad-cloning/agents/cloning-orqx.md +39 -4
- package/squads/squad-cloning/agents/cognitive-extractor.md +33 -0
- package/squads/squad-cloning/agents/content-capturer.md +33 -0
- package/squads/squad-cloning/agents/kb-architect.md +33 -0
- package/squads/squad-cloning/agents/mind-synthesizer.md +33 -0
- package/squads/squad-cloning/agents/source-hunter.md +33 -0
- package/squads/squad-cloning/agents/squad-assembler.md +35 -2
- package/squads/squad-cloning/checklists/clone-completeness-checklist.md +1 -1
- package/squads/squad-cloning/checklists/pre-deploy-checklist.md +3 -3
- package/squads/squad-cloning/knowledge-base/agent-generation-guide.md +4 -4
- package/squads/squad-cloning/knowledge-base/chrome-brain-integration.md +17 -43
- package/squads/squad-cloning/knowledge-base/clone-tier-standards.md +1 -1
- package/squads/squad-cloning/knowledge-base/cross-squad-deployment.md +2 -2
- package/squads/squad-cloning/knowledge-base/ethical-guidelines.md +2 -2
- package/squads/squad-cloning/knowledge-base/multi-agent-deployment-patterns.md +1 -1
- package/squads/squad-cloning/knowledge-base/skill-standard-for-clones.md +5 -5
- package/squads/squad-cloning/squad.yaml +32 -11
- package/squads/squad-cloning/tasks/assign-content-class.md +33 -23
- package/squads/squad-cloning/tasks/build-cognitive-profile.md +38 -23
- package/squads/squad-cloning/tasks/calculate-confidence-score.md +36 -23
- package/squads/squad-cloning/tasks/capture-article-text.md +53 -23
- package/squads/squad-cloning/tasks/capture-social-posts.md +50 -23
- package/squads/squad-cloning/tasks/compile-source-catalog.md +37 -23
- package/squads/squad-cloning/tasks/cross-reference-kbs.md +67 -23
- package/squads/squad-cloning/tasks/deploy-cross-squad-kbs.md +43 -28
- package/squads/squad-cloning/tasks/design-kb-taxonomy.md +70 -23
- package/squads/squad-cloning/tasks/determine-clone-tier.md +45 -23
- package/squads/squad-cloning/tasks/discover-articles-interviews.md +36 -23
- package/squads/squad-cloning/tasks/discover-books-publications.md +36 -23
- package/squads/squad-cloning/tasks/discover-podcasts-appearances.md +36 -23
- package/squads/squad-cloning/tasks/discover-social-media-content.md +36 -23
- package/squads/squad-cloning/tasks/discover-youtube-channels.md +37 -23
- package/squads/squad-cloning/tasks/escalate-quality-issues.md +40 -23
- package/squads/squad-cloning/tasks/estimate-content-volume.md +37 -23
- package/squads/squad-cloning/tasks/extract-book-content.md +53 -23
- package/squads/squad-cloning/tasks/extract-decision-patterns.md +33 -23
- package/squads/squad-cloning/tasks/extract-heuristics.md +33 -23
- package/squads/squad-cloning/tasks/extract-mental-models.md +33 -23
- package/squads/squad-cloning/tasks/extract-vocabulary-tone.md +29 -23
- package/squads/squad-cloning/tasks/extract-workflows-processes.md +34 -23
- package/squads/squad-cloning/tasks/finalize-clone-delivery.md +37 -23
- package/squads/squad-cloning/tasks/generate-agent-commands.md +48 -23
- package/squads/squad-cloning/tasks/generate-agent-heuristics.md +44 -23
- package/squads/squad-cloning/tasks/generate-agent-persona.md +53 -23
- package/squads/squad-cloning/tasks/generate-agent-protocols.md +45 -23
- package/squads/squad-cloning/tasks/generate-checklist-files.md +43 -28
- package/squads/squad-cloning/tasks/generate-cross-squad-handoffs.md +53 -23
- package/squads/squad-cloning/tasks/generate-extraction-report.md +30 -23
- package/squads/squad-cloning/tasks/generate-framework-kbs.md +68 -23
- package/squads/squad-cloning/tasks/generate-methodology-kbs.md +68 -23
- package/squads/squad-cloning/tasks/generate-mind-map.md +36 -23
- package/squads/squad-cloning/tasks/generate-pattern-kbs.md +66 -23
- package/squads/squad-cloning/tasks/generate-reference-kbs.md +67 -23
- package/squads/squad-cloning/tasks/generate-squad-yaml.md +39 -27
- package/squads/squad-cloning/tasks/generate-task-files.md +45 -28
- package/squads/squad-cloning/tasks/generate-template-files.md +39 -28
- package/squads/squad-cloning/tasks/generate-workflow-files.md +44 -28
- package/squads/squad-cloning/tasks/identify-contradictions.md +32 -23
- package/squads/squad-cloning/tasks/identify-meta-patterns.md +42 -23
- package/squads/squad-cloning/tasks/initiate-clone-project.md +40 -23
- package/squads/squad-cloning/tasks/monitor-pipeline-progress.md +33 -23
- package/squads/squad-cloning/tasks/normalize-raw-content.md +43 -23
- package/squads/squad-cloning/tasks/package-squad-output.md +39 -28
- package/squads/squad-cloning/tasks/resolve-contradictions.md +47 -23
- package/squads/squad-cloning/tasks/run-pre-publish-checklist.md +39 -27
- package/squads/squad-cloning/tasks/tag-confidence-levels.md +30 -23
- package/squads/squad-cloning/tasks/transcribe-podcast-episodes.md +56 -23
- package/squads/squad-cloning/tasks/transcribe-youtube-videos.md +54 -23
- package/squads/squad-cloning/tasks/validate-agent-completeness.md +47 -23
- package/squads/squad-cloning/tasks/validate-kb-citations.md +62 -23
- package/squads/squad-cloning/tasks/validate-transcription-quality.md +39 -23
- package/squads/squad-cloning/workflows/full-clone-pipeline.yaml +17 -1
- package/squads/squad-cloning/workflows/tier2-consultant.yaml +1 -1
- package/squads/squad-commercial/README.md +18 -6
- package/squads/squad-commercial/agents/commercial-orqx.md +11 -2
- package/squads/squad-commercial/agents/cs-business-auditor.md +12 -3
- package/squads/squad-commercial/agents/cs-client-success.md +12 -3
- package/squads/squad-commercial/agents/cs-crm-specialist.md +12 -3
- package/squads/squad-commercial/agents/cs-funnel-architect.md +12 -3
- package/squads/squad-commercial/agents/cs-lead-generation-strategist.md +12 -3
- package/squads/squad-commercial/agents/cs-offer-designer.md +12 -3
- package/squads/squad-commercial/agents/cs-revops-analyst.md +12 -3
- package/squads/squad-commercial/agents/cs-sales-closer.md +12 -3
- package/squads/squad-commercial/agents/cs-sales-enablement.md +12 -3
- package/squads/squad-commercial/agents/legal-chief.md +19 -189
- package/squads/squad-commercial/knowledge-base/chrome-brain-integration.md +17 -34
- package/squads/squad-commercial/knowledge-base/prospecting-pipeline-generation.md +1 -1
- package/squads/squad-commercial/knowledge-base/sales-revenue-master-reference.md +2 -2
- package/squads/squad-commercial/squad.yaml +25 -16
- package/squads/squad-commercial/tasks/build-nurture-sequences.md +1 -1
- package/squads/squad-commercial/tasks/coordinate-revenue-cycle.md +5 -5
- package/squads/squad-commercial/tasks/define-icp-profile.md +1 -1
- package/squads/squad-commercial/tasks/design-advocacy-program.md +1 -1
- package/squads/squad-commercial/tasks/design-lead-magnet.md +1 -1
- package/squads/squad-commercial/tasks/design-lead-magnets.md +2 -2
- package/squads/squad-commercial/tasks/manage-commercial-handoffs.md +5 -5
- package/squads/squad-commercial/tasks/map-content-to-funnel.md +4 -4
- package/squads/squad-commercial/tasks/run-productization-sprint.md +2 -2
- package/squads/squad-content/README.md +18 -6
- package/squads/squad-content/agents/content-analyst.md +9 -0
- package/squads/squad-content/agents/content-engineer.md +10 -1
- package/squads/squad-content/agents/content-governor.md +10 -1
- package/squads/squad-content/agents/content-orqx.md +13 -4
- package/squads/squad-content/agents/editorial-strategist.md +11 -2
- package/squads/squad-content/agents/platform-specialist.md +14 -5
- package/squads/squad-content/agents/signal-intelligence.md +9 -0
- package/squads/squad-content/checklists/onboarding-setup-checklist.md +2 -2
- package/squads/squad-content/knowledge-base/chrome-brain-integration.md +17 -38
- package/squads/squad-content/knowledge-base/content-strategy-master-reference.md +1 -1
- package/squads/squad-content/knowledge-base/cross-squad-integration-protocol.md +24 -24
- package/squads/squad-content/knowledge-base/social-algorithms-master-reference.md +1 -1
- package/squads/squad-content/squad.yaml +22 -11
- package/squads/squad-content/tasks/check-brand-consistency.md +2 -2
- package/squads/squad-content/tasks/coordinate-cross-squad.md +2 -2
- package/squads/squad-content/tasks/define-big-idea.md +2 -2
- package/squads/squad-content/tasks/define-content-standards.md +1 -1
- package/squads/squad-content/tasks/define-editorial-pillars.md +1 -1
- package/squads/squad-content/tasks/integrate-brand-visual-assets.md +3 -3
- package/squads/squad-content/tasks/update-content-preferences.md +1 -1
- package/squads/squad-content/workflows/onboarding-content-cycle.yaml +1 -1
- package/squads/squad-copy/README.md +18 -6
- package/squads/squad-copy/agents/ad-copywriter.md +13 -4
- package/squads/squad-copy/agents/andre-chaperon.md +9 -0
- package/squads/squad-copy/agents/ben-settle.md +9 -0
- package/squads/squad-copy/agents/brand-voice-writer.md +14 -5
- package/squads/squad-copy/agents/claude-hopkins.md +9 -0
- package/squads/squad-copy/agents/clayton-makepeace.md +9 -0
- package/squads/squad-copy/agents/conversion-writer.md +13 -4
- package/squads/squad-copy/agents/copy-chief.md +24 -152
- package/squads/squad-copy/agents/copy-editor.md +11 -2
- package/squads/squad-copy/agents/copy-orqx.md +10 -1
- package/squads/squad-copy/agents/copy-strategist.md +16 -7
- package/squads/squad-copy/agents/dan-kennedy.md +9 -0
- package/squads/squad-copy/agents/dan-koe.md +9 -0
- package/squads/squad-copy/agents/david-deutsch.md +9 -0
- package/squads/squad-copy/agents/david-ogilvy.md +9 -0
- package/squads/squad-copy/agents/direct-response-writer.md +13 -4
- package/squads/squad-copy/agents/email-sequence-strategist.md +13 -4
- package/squads/squad-copy/agents/eugene-schwartz.md +9 -0
- package/squads/squad-copy/agents/frank-kern.md +9 -0
- package/squads/squad-copy/agents/funnel-copywriter.md +13 -4
- package/squads/squad-copy/agents/gary-bencivenga.md +9 -0
- package/squads/squad-copy/agents/gary-halbert.md +9 -0
- package/squads/squad-copy/agents/headline-specialist.md +10 -1
- package/squads/squad-copy/agents/jim-rutz.md +9 -0
- package/squads/squad-copy/agents/joe-sugarman.md +9 -0
- package/squads/squad-copy/agents/john-carlton.md +9 -0
- package/squads/squad-copy/agents/jon-benson.md +9 -0
- package/squads/squad-copy/agents/long-form-writer.md +13 -4
- package/squads/squad-copy/agents/parris-lampropoulos.md +9 -0
- package/squads/squad-copy/agents/persuasion-psychologist.md +12 -3
- package/squads/squad-copy/agents/proof-architect.md +13 -4
- package/squads/squad-copy/agents/robert-collier.md +9 -0
- package/squads/squad-copy/agents/russell-brunson.md +9 -0
- package/squads/squad-copy/agents/ry-schwartz.md +9 -0
- package/squads/squad-copy/agents/stefan-georgi.md +9 -0
- package/squads/squad-copy/agents/todd-brown.md +9 -0
- package/squads/squad-copy/knowledge-base/chrome-brain-integration.md +17 -37
- package/squads/squad-copy/squad.yaml +49 -16
- package/squads/squad-copy/tasks/align-copy-strategy-with-brand.md +6 -6
- package/squads/squad-copy/tasks/approve-copy-for-release.md +1 -1
- package/squads/squad-copy/tasks/build-headline-swipe-file.md +1 -1
- package/squads/squad-copy/tasks/build-message-hierarchy.md +2 -2
- package/squads/squad-copy/tasks/conduct-copy-audit.md +1 -1
- package/squads/squad-copy/tasks/coordinate-multi-channel-copy.md +1 -1
- package/squads/squad-copy/tasks/craft-social-media-hooks.md +1 -1
- package/squads/squad-copy/tasks/create-brand-manifesto.md +1 -1
- package/squads/squad-copy/tasks/create-case-study-framework.md +3 -3
- package/squads/squad-copy/tasks/create-copy-brief.md +3 -3
- package/squads/squad-copy/tasks/create-ugc-script.md +3 -3
- package/squads/squad-copy/tasks/define-market-awareness-level.md +1 -1
- package/squads/squad-copy/tasks/design-headline-ab-tests.md +2 -2
- package/squads/squad-copy/tasks/develop-brand-voice.md +1 -1
- package/squads/squad-copy/tasks/map-objection-landscape.md +2 -2
- package/squads/squad-copy/tasks/optimize-email-engagement.md +2 -2
- package/squads/squad-copy/tasks/optimize-funnel-conversion-copy.md +3 -3
- package/squads/squad-copy/tasks/plan-multi-channel-copy.md +1 -1
- package/squads/squad-copy/tasks/write-ad-copy-variations.md +2 -2
- package/squads/squad-copy/tasks/write-funnel-copy-sequence.md +1 -1
- package/squads/squad-copy/tasks/write-video-podcast-titles.md +1 -1
- package/squads/squad-copy/workflows/brand-voice-development.yaml +1 -1
- package/squads/squad-council/README.md +18 -6
- package/squads/squad-council/agents/brene-brown.md +9 -0
- package/squads/squad-council/agents/charlie-munger.md +9 -0
- package/squads/squad-council/agents/council-orqx.md +12 -3
- package/squads/squad-council/agents/derek-sivers.md +9 -0
- package/squads/squad-council/agents/naval-ravikant.md +9 -0
- package/squads/squad-council/agents/patrick-lencioni.md +9 -0
- package/squads/squad-council/agents/peter-thiel.md +9 -0
- package/squads/squad-council/agents/ray-dalio.md +9 -0
- package/squads/squad-council/agents/reid-hoffman.md +9 -0
- package/squads/squad-council/agents/simon-sinek.md +9 -0
- package/squads/squad-council/agents/yvon-chouinard.md +9 -0
- package/squads/squad-council/knowledge-base/brand-strategy-models.md +2 -2
- package/squads/squad-council/knowledge-base/innovation-disruption-frameworks.md +1 -1
- package/squads/squad-council/knowledge-base/market-analysis-frameworks.md +1 -1
- package/squads/squad-council/squad.yaml +25 -20
- package/squads/squad-courses/README.md +18 -6
- package/squads/squad-courses/agents/assessment-creator.md +9 -0
- package/squads/squad-courses/agents/content-writer.md +9 -0
- package/squads/squad-courses/agents/courses-orqx.md +11 -2
- package/squads/squad-courses/agents/curriculum-designer.md +9 -0
- package/squads/squad-courses/agents/launch-strategist.md +9 -0
- package/squads/squad-courses/agents/lesson-architect.md +9 -0
- package/squads/squad-courses/agents/production-director.md +9 -0
- package/squads/squad-courses/agents/slide-designer.md +9 -0
- package/squads/squad-courses/knowledge-base/domain-advocacia-curriculum.md +1 -1
- package/squads/squad-courses/knowledge-base/domain-contabilidade-curriculum.md +1 -1
- package/squads/squad-courses/squad.yaml +21 -10
- package/squads/squad-courses/tasks/adapt-content-for-level.md +30 -22
- package/squads/squad-courses/tasks/adapt-slides-for-format.md +41 -23
- package/squads/squad-courses/tasks/create-bonus-strategy.md +34 -17
- package/squads/squad-courses/tasks/create-final-project-brief.md +48 -22
- package/squads/squad-courses/tasks/create-lesson-outline.md +34 -22
- package/squads/squad-courses/tasks/create-presentation-outline.md +40 -23
- package/squads/squad-courses/tasks/create-production-checklist.md +43 -28
- package/squads/squad-courses/tasks/create-progress-milestones.md +40 -22
- package/squads/squad-courses/tasks/create-quiz-questions.md +47 -22
- package/squads/squad-courses/tasks/create-sales-page-brief.md +36 -17
- package/squads/squad-courses/tasks/create-self-evaluation.md +41 -22
- package/squads/squad-courses/tasks/create-shot-list.md +41 -28
- package/squads/squad-courses/tasks/create-speaker-notes.md +43 -23
- package/squads/squad-courses/tasks/create-syllabus-document.md +35 -23
- package/squads/squad-courses/tasks/create-teleprompter-script.md +42 -28
- package/squads/squad-courses/tasks/create-workshop-materials.md +40 -23
- package/squads/squad-courses/tasks/define-competency-framework.md +42 -23
- package/squads/squad-courses/tasks/define-course-scope.md +36 -23
- package/squads/squad-courses/tasks/define-learning-outcomes.md +41 -23
- package/squads/squad-courses/tasks/define-lesson-objectives.md +35 -22
- package/squads/squad-courses/tasks/design-certification-criteria.md +43 -22
- package/squads/squad-courses/tasks/design-email-sequence.md +33 -17
- package/squads/squad-courses/tasks/design-interactive-elements.md +45 -23
- package/squads/squad-courses/tasks/design-intro-outro.md +38 -27
- package/squads/squad-courses/tasks/design-knowledge-checkpoints.md +36 -22
- package/squads/squad-courses/tasks/design-learning-path.md +40 -23
- package/squads/squad-courses/tasks/design-lesson-flow.md +40 -22
- package/squads/squad-courses/tasks/design-module-structure.md +37 -22
- package/squads/squad-courses/tasks/design-peer-review-rubric.md +40 -22
- package/squads/squad-courses/tasks/design-practical-assessment.md +45 -22
- package/squads/squad-courses/tasks/design-pricing-model.md +34 -17
- package/squads/squad-courses/tasks/design-screen-recording-flow.md +41 -28
- package/squads/squad-courses/tasks/design-slide-structure.md +40 -23
- package/squads/squad-courses/tasks/design-student-onboarding.md +34 -17
- package/squads/squad-courses/tasks/design-visual-hierarchy.md +42 -23
- package/squads/squad-courses/tasks/estimate-lesson-duration.md +35 -22
- package/squads/squad-courses/tasks/finalize-course-delivery.md +34 -23
- package/squads/squad-courses/tasks/initiate-course-project.md +38 -23
- package/squads/squad-courses/tasks/map-prerequisite-chain.md +41 -23
- package/squads/squad-courses/tasks/monitor-course-progress.md +34 -23
- package/squads/squad-courses/tasks/plan-b-roll-sequences.md +41 -28
- package/squads/squad-courses/tasks/plan-enrollment-funnel.md +35 -17
- package/squads/squad-courses/tasks/plan-launch-sequence.md +36 -17
- package/squads/squad-courses/tasks/plan-practical-exercises.md +36 -22
- package/squads/squad-courses/tasks/plan-recording-session.md +48 -28
- package/squads/squad-courses/tasks/proofread-course-content.md +30 -22
- package/squads/squad-courses/tasks/review-course-quality.md +34 -23
- package/squads/squad-courses/tasks/select-platform-strategy.md +35 -17
- package/squads/squad-courses/tasks/sequence-difficulty-progression.md +36 -22
- package/squads/squad-courses/tasks/structure-module-sequence.md +40 -23
- package/squads/squad-courses/tasks/validate-pedagogical-coherence.md +43 -23
- package/squads/squad-courses/tasks/write-case-studies.md +30 -22
- package/squads/squad-courses/tasks/write-ebook-chapter.md +30 -22
- package/squads/squad-courses/tasks/write-handout-material.md +30 -22
- package/squads/squad-courses/tasks/write-lesson-content.md +33 -22
- package/squads/squad-courses/tasks/write-slide-content.md +43 -23
- package/squads/squad-courses/tasks/write-summary-sheets.md +30 -22
- package/squads/squad-courses/tasks/write-video-script.md +42 -27
- package/squads/squad-courses/tasks/write-workbook-exercises.md +31 -22
- package/squads/squad-courses/workflows/course-quality-review.yaml +3 -3
- package/squads/squad-courses/workflows/full-course-creation.yaml +2 -2
- package/squads/squad-cybersecurity/README.md +18 -6
- package/squads/squad-cybersecurity/agents/cloud-security-engineer.md +9 -0
- package/squads/squad-cybersecurity/agents/compliance-officer.md +9 -0
- package/squads/squad-cybersecurity/agents/cyber-chief.md +24 -159
- package/squads/squad-cybersecurity/agents/cyber-orqx.md +11 -2
- package/squads/squad-cybersecurity/agents/incident-responder.md +9 -0
- package/squads/squad-cybersecurity/agents/network-security-engineer.md +9 -0
- package/squads/squad-cybersecurity/agents/penetration-tester.md +9 -0
- package/squads/squad-cybersecurity/agents/soc-analyst.md +9 -0
- package/squads/squad-cybersecurity/agents/threat-analyst.md +9 -0
- package/squads/squad-cybersecurity/knowledge-base/chrome-brain-integration.md +17 -35
- package/squads/squad-cybersecurity/knowledge-base/routing-catalog.md +22 -22
- package/squads/squad-cybersecurity/squad.yaml +23 -9
- package/squads/squad-design/README.md +18 -6
- package/squads/squad-design/agents/brad-frost.md +14 -29
- package/squads/squad-design/agents/dan-mall.md +13 -26
- package/squads/squad-design/agents/dave-malouf.md +13 -26
- package/squads/squad-design/agents/design-chief.md +24 -216
- package/squads/squad-design/agents/design-orqx.md +11 -2
- package/squads/squad-design/agents/dx-accessibility-specialist.md +9 -0
- package/squads/squad-design/agents/dx-design-system-architect.md +9 -0
- package/squads/squad-design/agents/dx-frontend-engineer.md +9 -0
- package/squads/squad-design/agents/dx-interaction-designer.md +9 -0
- package/squads/squad-design/agents/dx-performance-engineer.md +9 -0
- package/squads/squad-design/agents/dx-ui-designer.md +9 -0
- package/squads/squad-design/agents/dx-ux-strategist.md +9 -0
- package/squads/squad-design/agents/nano-banana-generator.md +13 -25
- package/squads/squad-design/knowledge-base/brazilian-design-context.md +1 -1
- package/squads/squad-design/knowledge-base/chrome-brain-integration.md +17 -43
- package/squads/squad-design/knowledge-base/design-system-master-reference.md +1 -1
- package/squads/squad-design/knowledge-base/design-to-code-pipeline.md +1 -1
- package/squads/squad-design/knowledge-base/designops-maturity.md +1 -1
- package/squads/squad-design/knowledge-base/famous-design-systems-study.md +1 -1
- package/squads/squad-design/squad.yaml +26 -16
- package/squads/squad-engineering/README.md +82 -0
- package/squads/squad-engineering/agents/eng-architect.md +61 -0
- package/squads/squad-engineering/agents/eng-data.md +50 -0
- package/squads/squad-engineering/agents/eng-dev.md +64 -0
- package/squads/squad-engineering/agents/eng-devops.md +51 -0
- package/squads/squad-engineering/agents/eng-orqx.md +114 -0
- package/squads/squad-engineering/agents/eng-product.md +57 -0
- package/squads/squad-engineering/agents/eng-qa.md +49 -0
- package/squads/squad-engineering/agents/eng-sprint.md +57 -0
- package/squads/squad-engineering/checklists/dod.md +18 -0
- package/squads/squad-engineering/checklists/pre-publicacao.md +14 -0
- package/squads/squad-engineering/knowledge-base/doc-first-na-medida.md +46 -0
- package/squads/squad-engineering/knowledge-base/escada-e-cargos.md +61 -0
- package/squads/squad-engineering/knowledge-base/memoria-por-cargo.md +39 -0
- package/squads/squad-engineering/knowledge-base/seguranca-minima.md +30 -0
- package/squads/squad-engineering/knowledge-base/stack-por-tipo.md +30 -0
- package/squads/squad-engineering/knowledge-base/story-como-contrato.md +30 -0
- package/squads/squad-engineering/preferences/README.md +49 -0
- package/squads/squad-engineering/squad.yaml +202 -0
- package/squads/squad-engineering/tasks/classify-track.md +43 -0
- package/squads/squad-engineering/tasks/develop-story.md +43 -0
- package/squads/squad-engineering/tasks/draft-stories.md +46 -0
- package/squads/squad-engineering/tasks/initial-state-audit.md +55 -0
- package/squads/squad-engineering/tasks/operate-gate-code.md +52 -0
- package/squads/squad-engineering/tasks/plan-orchestration.md +35 -0
- package/squads/squad-engineering/tasks/prepare-environment.md +29 -0
- package/squads/squad-engineering/tasks/publish.md +32 -0
- package/squads/squad-engineering/tasks/run-retro.md +36 -0
- package/squads/squad-engineering/tasks/verify-dod.md +27 -0
- package/squads/squad-engineering/tasks/verify-track-after-diff.md +33 -0
- package/squads/squad-engineering/tasks/write-adr.md +29 -0
- package/squads/squad-engineering/tasks/write-architecture.md +44 -0
- package/squads/squad-engineering/tasks/write-brief.md +42 -0
- package/squads/squad-engineering/tasks/write-migration.md +31 -0
- package/squads/squad-engineering/tasks/write-prd.md +44 -0
- package/squads/squad-engineering/templates/adr-template.md +13 -0
- package/squads/squad-engineering/templates/arquitetura-template.md +43 -0
- package/squads/squad-engineering/templates/brief-template.md +34 -0
- package/squads/squad-engineering/templates/checklist-pre-publicacao-template.md +29 -0
- package/squads/squad-engineering/templates/estado-inicial-template.md +26 -0
- package/squads/squad-engineering/templates/memoria-do-cargo-template.md +32 -0
- package/squads/squad-engineering/templates/plano-de-orquestracao-template.md +20 -0
- package/squads/squad-engineering/templates/prd-template.md +41 -0
- package/squads/squad-engineering/templates/story-template.md +69 -0
- package/squads/squad-engineering/workflows/ajuste-cycle.yaml +75 -0
- package/squads/squad-engineering/workflows/feature-cycle.yaml +112 -0
- package/squads/squad-engineering/workflows/projeto-cycle.yaml +137 -0
- package/squads/squad-finance/README.md +18 -6
- package/squads/squad-finance/agents/budget-controller.md +9 -0
- package/squads/squad-finance/agents/finance-orqx.md +11 -2
- package/squads/squad-finance/agents/pricing-strategist.md +9 -0
- package/squads/squad-finance/agents/profitability-analyst.md +9 -0
- package/squads/squad-finance/agents/revenue-analyst.md +9 -0
- package/squads/squad-finance/knowledge-base/contabilidade-master-reference.md +1 -1
- package/squads/squad-finance/knowledge-base/finance-master-reference.md +1 -1
- package/squads/squad-finance/squad.yaml +18 -9
- package/squads/squad-growth/README.md +18 -6
- package/squads/squad-growth/agents/ga-analytics-engineer.md +9 -0
- package/squads/squad-growth/agents/ga-campaign-analyst.md +9 -0
- package/squads/squad-growth/agents/ga-cro-specialist.md +9 -0
- package/squads/squad-growth/agents/ga-data-analyst.md +9 -0
- package/squads/squad-growth/agents/ga-growth-hacker.md +9 -0
- package/squads/squad-growth/agents/ga-seo-strategist.md +9 -0
- package/squads/squad-growth/agents/growth-orqx.md +14 -5
- package/squads/squad-growth/knowledge-base/chrome-brain-integration.md +17 -38
- package/squads/squad-growth/squad.yaml +21 -16
- package/squads/squad-paidmedia/README.md +18 -6
- package/squads/squad-paidmedia/agents/campaign-analyst.md +9 -0
- package/squads/squad-paidmedia/agents/creative-strategist.md +9 -0
- package/squads/squad-paidmedia/agents/cro-specialist.md +9 -0
- package/squads/squad-paidmedia/agents/depesh-mandalia.md +9 -0
- package/squads/squad-paidmedia/agents/google-ads-specialist.md +9 -0
- package/squads/squad-paidmedia/agents/kasim-aslam.md +9 -0
- package/squads/squad-paidmedia/agents/meta-ads-specialist.md +9 -0
- package/squads/squad-paidmedia/agents/molly-pittman.md +9 -0
- package/squads/squad-paidmedia/agents/nicholas-kusmich.md +9 -0
- package/squads/squad-paidmedia/agents/paidmedia-orqx.md +11 -2
- package/squads/squad-paidmedia/agents/pedro-sobral.md +9 -0
- package/squads/squad-paidmedia/agents/performance-engineer.md +9 -0
- package/squads/squad-paidmedia/agents/pm-creative-performance-analyst.md +13 -4
- package/squads/squad-paidmedia/agents/pm-youtube-ads-specialist.md +12 -3
- package/squads/squad-paidmedia/agents/ralph-burns.md +9 -0
- package/squads/squad-paidmedia/agents/tom-breeze.md +9 -0
- package/squads/squad-paidmedia/agents/traffic-masters-chief.md +19 -201
- package/squads/squad-paidmedia/knowledge-base/chrome-brain-integration.md +17 -40
- package/squads/squad-paidmedia/squad.yaml +29 -7
- package/squads/squad-paidmedia/tasks/design-youtube-ad-campaign.md +2 -2
- package/squads/squad-product/README.md +18 -6
- package/squads/squad-product/agents/product-orqx.md +12 -4
- package/squads/squad-product/agents/ps-client-product-manager.md +9 -1
- package/squads/squad-product/agents/ps-delivery-manager.md +9 -1
- package/squads/squad-product/agents/ps-discovery-lead.md +9 -1
- package/squads/squad-product/agents/ps-product-analyst.md +9 -1
- package/squads/squad-product/agents/ps-product-ops-specialist.md +9 -1
- package/squads/squad-product/agents/ps-product-strategist.md +9 -1
- package/squads/squad-product/knowledge-base/chrome-brain-integration.md +17 -42
- package/squads/squad-product/squad.yaml +21 -16
- package/squads/squad-product/tasks/define-product-okrs.md +1 -1
- package/squads/squad-product/tasks/define-product-vision.md +1 -1
- package/squads/squad-research/README.md +18 -6
- package/squads/squad-research/agents/audience-intelligence.md +11 -2
- package/squads/squad-research/agents/competitive-intelligence.md +11 -2
- package/squads/squad-research/agents/data-chief.md +24 -188
- package/squads/squad-research/agents/data-synthesizer.md +9 -0
- package/squads/squad-research/agents/deep-researcher.md +9 -0
- package/squads/squad-research/agents/market-analyst.md +10 -1
- package/squads/squad-research/agents/research-orqx.md +13 -4
- package/squads/squad-research/agents/trend-forecaster.md +10 -1
- package/squads/squad-research/knowledge-base/agentic-second-brain-reference.md +2 -2
- package/squads/squad-research/knowledge-base/brazilian-market-research-sources.md +1 -1
- package/squads/squad-research/knowledge-base/chrome-brain-integration.md +17 -34
- package/squads/squad-research/knowledge-base/cross-squad-integration-protocol.md +7 -7
- package/squads/squad-research/knowledge-base/multi-agent-research-methodology.md +1 -1
- package/squads/squad-research/knowledge-base/research-synthesis-frameworks.md +1 -1
- package/squads/squad-research/preferences/README.md +7 -7
- package/squads/squad-research/squad.yaml +32 -20
- package/squads/squad-research/tasks/analyze-audience-psychographics.md +1 -1
- package/squads/squad-research/tasks/analyze-competitor-positioning.md +1 -1
- package/squads/squad-research/tasks/analyze-competitor-pricing.md +2 -2
- package/squads/squad-research/tasks/analyze-industry-trends.md +1 -1
- package/squads/squad-research/tasks/analyze-pricing-landscape.md +1 -1
- package/squads/squad-research/tasks/analyze-social-listening.md +1 -1
- package/squads/squad-research/tasks/analyze-value-chain.md +1 -1
- package/squads/squad-research/tasks/benchmark-competitor-digital.md +3 -3
- package/squads/squad-research/tasks/build-audience-persona.md +6 -6
- package/squads/squad-research/tasks/build-data-narrative.md +1 -1
- package/squads/squad-research/tasks/compile-competitive-dossier.md +4 -4
- package/squads/squad-research/tasks/conduct-jobs-to-be-done.md +5 -5
- package/squads/squad-research/tasks/coordinate-cross-squad-research.md +6 -6
- package/squads/squad-research/tasks/create-battle-card.md +3 -3
- package/squads/squad-research/tasks/create-executive-briefing.md +1 -1
- package/squads/squad-research/tasks/create-future-landscape.md +4 -4
- package/squads/squad-research/tasks/create-insight-deck.md +1 -1
- package/squads/squad-research/tasks/create-swot-analysis.md +4 -4
- package/squads/squad-research/tasks/detect-weak-signals.md +3 -3
- package/squads/squad-research/tasks/evaluate-market-entry.md +1 -1
- package/squads/squad-research/tasks/forecast-industry-trends.md +4 -4
- package/squads/squad-research/tasks/forecast-market-growth.md +1 -1
- package/squads/squad-research/tasks/generate-actionable-recommendations.md +3 -3
- package/squads/squad-research/tasks/identify-competitive-gaps.md +1 -1
- package/squads/squad-research/tasks/identify-inflection-points.md +3 -3
- package/squads/squad-research/tasks/identify-market-segments.md +1 -1
- package/squads/squad-research/tasks/manage-research-sprint.md +1 -1
- package/squads/squad-research/tasks/map-audience-ecosystem.md +1 -1
- package/squads/squad-research/tasks/map-audience-journey.md +4 -4
- package/squads/squad-research/tasks/map-competitive-landscape.md +3 -3
- package/squads/squad-research/tasks/map-strategic-implications.md +4 -4
- package/squads/squad-research/tasks/map-technology-adoption.md +3 -3
- package/squads/squad-research/tasks/orchestrate-research-pipeline.md +2 -2
- package/squads/squad-research/tasks/predict-market-shifts.md +1 -1
- package/squads/squad-research/tasks/profile-ideal-customer.md +4 -4
- package/squads/squad-research/tasks/run-porter-five-forces.md +1 -1
- package/squads/squad-research/tasks/run-scenario-planning.md +3 -3
- package/squads/squad-research/tasks/segment-audience.md +1 -1
- package/squads/squad-research/tasks/size-market-tam-sam-som.md +4 -4
- package/squads/squad-research/tasks/synthesize-research-report.md +4 -4
- package/squads/squad-research/tasks/track-emerging-technologies.md +3 -3
- package/squads/squad-research/tasks/visualize-research-data.md +1 -1
- package/squads/squad-research/workflows/audience-intelligence-cycle.yaml +4 -4
- package/squads/squad-research/workflows/competitive-intelligence-cycle.yaml +3 -3
- package/squads/squad-research/workflows/deep-research-cycle.yaml +3 -3
- package/squads/squad-research/workflows/full-research-sprint.yaml +7 -7
- package/squads/squad-research/workflows/market-analysis-cycle.yaml +3 -3
- package/squads/squad-research/workflows/trend-forecasting-cycle.yaml +3 -3
- package/squads/squad-storytelling/README.md +18 -6
- package/squads/squad-storytelling/agents/blake-snyder.md +9 -0
- package/squads/squad-storytelling/agents/dan-harmon.md +9 -0
- package/squads/squad-storytelling/agents/joseph-campbell.md +9 -0
- package/squads/squad-storytelling/agents/keith-johnstone.md +9 -0
- package/squads/squad-storytelling/agents/kindra-hall.md +9 -0
- package/squads/squad-storytelling/agents/marshall-ganz.md +9 -0
- package/squads/squad-storytelling/agents/matthew-dicks.md +9 -0
- package/squads/squad-storytelling/agents/nancy-duarte.md +9 -0
- package/squads/squad-storytelling/agents/oren-klaff.md +9 -0
- package/squads/squad-storytelling/agents/park-howell.md +9 -0
- package/squads/squad-storytelling/agents/shawn-coyne.md +9 -0
- package/squads/squad-storytelling/agents/story-chief.md +24 -170
- package/squads/squad-storytelling/agents/storytelling-orqx.md +12 -3
- package/squads/squad-storytelling/knowledge-base/chrome-brain-integration.md +17 -34
- package/squads/squad-storytelling/squad.yaml +28 -10
- package/agents/iron-orqx.md +0 -211
- package/bin/cli.js +0 -261
- package/squads/squad-claude/agents/db-sage.md +0 -152
- package/squads/squad-claude/agents/tools-orqx.md +0 -219
- package/squads/squad-cloning/agents/sop-extractor.md +0 -61
- package/squads/squad-design/agents/design-system.md +0 -210
- package/squads/squad-design/agents/ux-designer.md +0 -124
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "clone-organize",
|
|
3
|
+
"lockfileVersion": 3,
|
|
4
|
+
"requires": true,
|
|
5
|
+
"packages": {
|
|
6
|
+
"": {
|
|
7
|
+
"name": "clone-organize",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"cheerio": "^1.0.0",
|
|
10
|
+
"playwright": "^1.50.0"
|
|
11
|
+
},
|
|
12
|
+
"engines": {
|
|
13
|
+
"node": ">=18"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"node_modules/boolbase": {
|
|
17
|
+
"version": "1.0.0",
|
|
18
|
+
"license": "ISC"
|
|
19
|
+
},
|
|
20
|
+
"node_modules/cheerio": {
|
|
21
|
+
"version": "1.2.0",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"cheerio-select": "^2.1.0",
|
|
25
|
+
"dom-serializer": "^2.0.0",
|
|
26
|
+
"domhandler": "^5.0.3",
|
|
27
|
+
"domutils": "^3.2.2",
|
|
28
|
+
"encoding-sniffer": "^0.2.1",
|
|
29
|
+
"htmlparser2": "^10.1.0",
|
|
30
|
+
"parse5": "^7.3.0",
|
|
31
|
+
"parse5-htmlparser2-tree-adapter": "^7.1.0",
|
|
32
|
+
"parse5-parser-stream": "^7.1.2",
|
|
33
|
+
"undici": "^7.19.0",
|
|
34
|
+
"whatwg-mimetype": "^4.0.0"
|
|
35
|
+
},
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=20.18.1"
|
|
38
|
+
},
|
|
39
|
+
"funding": {
|
|
40
|
+
"url": "https://github.com/cheeriojs/cheerio?sponsor=1"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"node_modules/cheerio-select": {
|
|
44
|
+
"version": "2.1.0",
|
|
45
|
+
"license": "BSD-2-Clause",
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"boolbase": "^1.0.0",
|
|
48
|
+
"css-select": "^5.1.0",
|
|
49
|
+
"css-what": "^6.1.0",
|
|
50
|
+
"domelementtype": "^2.3.0",
|
|
51
|
+
"domhandler": "^5.0.3",
|
|
52
|
+
"domutils": "^3.0.1"
|
|
53
|
+
},
|
|
54
|
+
"funding": {
|
|
55
|
+
"url": "https://github.com/sponsors/fb55"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"node_modules/css-select": {
|
|
59
|
+
"version": "5.2.2",
|
|
60
|
+
"license": "BSD-2-Clause",
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"boolbase": "^1.0.0",
|
|
63
|
+
"css-what": "^6.1.0",
|
|
64
|
+
"domhandler": "^5.0.2",
|
|
65
|
+
"domutils": "^3.0.1",
|
|
66
|
+
"nth-check": "^2.0.1"
|
|
67
|
+
},
|
|
68
|
+
"funding": {
|
|
69
|
+
"url": "https://github.com/sponsors/fb55"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"node_modules/css-what": {
|
|
73
|
+
"version": "6.2.2",
|
|
74
|
+
"license": "BSD-2-Clause",
|
|
75
|
+
"engines": {
|
|
76
|
+
"node": ">= 6"
|
|
77
|
+
},
|
|
78
|
+
"funding": {
|
|
79
|
+
"url": "https://github.com/sponsors/fb55"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"node_modules/dom-serializer": {
|
|
83
|
+
"version": "2.0.0",
|
|
84
|
+
"license": "MIT",
|
|
85
|
+
"dependencies": {
|
|
86
|
+
"domelementtype": "^2.3.0",
|
|
87
|
+
"domhandler": "^5.0.2",
|
|
88
|
+
"entities": "^4.2.0"
|
|
89
|
+
},
|
|
90
|
+
"funding": {
|
|
91
|
+
"url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"node_modules/domelementtype": {
|
|
95
|
+
"version": "2.3.0",
|
|
96
|
+
"funding": [
|
|
97
|
+
{
|
|
98
|
+
"type": "github",
|
|
99
|
+
"url": "https://github.com/sponsors/fb55"
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"license": "BSD-2-Clause"
|
|
103
|
+
},
|
|
104
|
+
"node_modules/domhandler": {
|
|
105
|
+
"version": "5.0.3",
|
|
106
|
+
"license": "BSD-2-Clause",
|
|
107
|
+
"dependencies": {
|
|
108
|
+
"domelementtype": "^2.3.0"
|
|
109
|
+
},
|
|
110
|
+
"engines": {
|
|
111
|
+
"node": ">= 4"
|
|
112
|
+
},
|
|
113
|
+
"funding": {
|
|
114
|
+
"url": "https://github.com/fb55/domhandler?sponsor=1"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"node_modules/domutils": {
|
|
118
|
+
"version": "3.2.2",
|
|
119
|
+
"license": "BSD-2-Clause",
|
|
120
|
+
"dependencies": {
|
|
121
|
+
"dom-serializer": "^2.0.0",
|
|
122
|
+
"domelementtype": "^2.3.0",
|
|
123
|
+
"domhandler": "^5.0.3"
|
|
124
|
+
},
|
|
125
|
+
"funding": {
|
|
126
|
+
"url": "https://github.com/fb55/domutils?sponsor=1"
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"node_modules/encoding-sniffer": {
|
|
130
|
+
"version": "0.2.1",
|
|
131
|
+
"license": "MIT",
|
|
132
|
+
"dependencies": {
|
|
133
|
+
"iconv-lite": "^0.6.3",
|
|
134
|
+
"whatwg-encoding": "^3.1.1"
|
|
135
|
+
},
|
|
136
|
+
"funding": {
|
|
137
|
+
"url": "https://github.com/fb55/encoding-sniffer?sponsor=1"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"node_modules/entities": {
|
|
141
|
+
"version": "4.5.0",
|
|
142
|
+
"license": "BSD-2-Clause",
|
|
143
|
+
"engines": {
|
|
144
|
+
"node": ">=0.12"
|
|
145
|
+
},
|
|
146
|
+
"funding": {
|
|
147
|
+
"url": "https://github.com/fb55/entities?sponsor=1"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"node_modules/fsevents": {
|
|
151
|
+
"version": "2.3.2",
|
|
152
|
+
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
|
153
|
+
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
|
154
|
+
"hasInstallScript": true,
|
|
155
|
+
"license": "MIT",
|
|
156
|
+
"optional": true,
|
|
157
|
+
"os": [
|
|
158
|
+
"darwin"
|
|
159
|
+
],
|
|
160
|
+
"engines": {
|
|
161
|
+
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"node_modules/htmlparser2": {
|
|
165
|
+
"version": "10.1.0",
|
|
166
|
+
"funding": [
|
|
167
|
+
"https://github.com/fb55/htmlparser2?sponsor=1",
|
|
168
|
+
{
|
|
169
|
+
"type": "github",
|
|
170
|
+
"url": "https://github.com/sponsors/fb55"
|
|
171
|
+
}
|
|
172
|
+
],
|
|
173
|
+
"license": "MIT",
|
|
174
|
+
"dependencies": {
|
|
175
|
+
"domelementtype": "^2.3.0",
|
|
176
|
+
"domhandler": "^5.0.3",
|
|
177
|
+
"domutils": "^3.2.2",
|
|
178
|
+
"entities": "^7.0.1"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"node_modules/htmlparser2/node_modules/entities": {
|
|
182
|
+
"version": "7.0.1",
|
|
183
|
+
"license": "BSD-2-Clause",
|
|
184
|
+
"engines": {
|
|
185
|
+
"node": ">=0.12"
|
|
186
|
+
},
|
|
187
|
+
"funding": {
|
|
188
|
+
"url": "https://github.com/fb55/entities?sponsor=1"
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"node_modules/iconv-lite": {
|
|
192
|
+
"version": "0.6.3",
|
|
193
|
+
"license": "MIT",
|
|
194
|
+
"dependencies": {
|
|
195
|
+
"safer-buffer": ">= 2.1.2 < 3.0.0"
|
|
196
|
+
},
|
|
197
|
+
"engines": {
|
|
198
|
+
"node": ">=0.10.0"
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
"node_modules/nth-check": {
|
|
202
|
+
"version": "2.1.1",
|
|
203
|
+
"license": "BSD-2-Clause",
|
|
204
|
+
"dependencies": {
|
|
205
|
+
"boolbase": "^1.0.0"
|
|
206
|
+
},
|
|
207
|
+
"funding": {
|
|
208
|
+
"url": "https://github.com/fb55/nth-check?sponsor=1"
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
"node_modules/parse5": {
|
|
212
|
+
"version": "7.3.0",
|
|
213
|
+
"license": "MIT",
|
|
214
|
+
"dependencies": {
|
|
215
|
+
"entities": "^6.0.0"
|
|
216
|
+
},
|
|
217
|
+
"funding": {
|
|
218
|
+
"url": "https://github.com/inikulin/parse5?sponsor=1"
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"node_modules/parse5-htmlparser2-tree-adapter": {
|
|
222
|
+
"version": "7.1.0",
|
|
223
|
+
"license": "MIT",
|
|
224
|
+
"dependencies": {
|
|
225
|
+
"domhandler": "^5.0.3",
|
|
226
|
+
"parse5": "^7.0.0"
|
|
227
|
+
},
|
|
228
|
+
"funding": {
|
|
229
|
+
"url": "https://github.com/inikulin/parse5?sponsor=1"
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
"node_modules/parse5-parser-stream": {
|
|
233
|
+
"version": "7.1.2",
|
|
234
|
+
"license": "MIT",
|
|
235
|
+
"dependencies": {
|
|
236
|
+
"parse5": "^7.0.0"
|
|
237
|
+
},
|
|
238
|
+
"funding": {
|
|
239
|
+
"url": "https://github.com/inikulin/parse5?sponsor=1"
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
"node_modules/parse5/node_modules/entities": {
|
|
243
|
+
"version": "6.0.1",
|
|
244
|
+
"license": "BSD-2-Clause",
|
|
245
|
+
"engines": {
|
|
246
|
+
"node": ">=0.12"
|
|
247
|
+
},
|
|
248
|
+
"funding": {
|
|
249
|
+
"url": "https://github.com/fb55/entities?sponsor=1"
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
"node_modules/playwright": {
|
|
253
|
+
"version": "1.60.0",
|
|
254
|
+
"license": "Apache-2.0",
|
|
255
|
+
"dependencies": {
|
|
256
|
+
"playwright-core": "1.60.0"
|
|
257
|
+
},
|
|
258
|
+
"bin": {
|
|
259
|
+
"playwright": "cli.js"
|
|
260
|
+
},
|
|
261
|
+
"engines": {
|
|
262
|
+
"node": ">=18"
|
|
263
|
+
},
|
|
264
|
+
"optionalDependencies": {
|
|
265
|
+
"fsevents": "2.3.2"
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
"node_modules/playwright-core": {
|
|
269
|
+
"version": "1.60.0",
|
|
270
|
+
"license": "Apache-2.0",
|
|
271
|
+
"bin": {
|
|
272
|
+
"playwright-core": "cli.js"
|
|
273
|
+
},
|
|
274
|
+
"engines": {
|
|
275
|
+
"node": ">=18"
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
"node_modules/safer-buffer": {
|
|
279
|
+
"version": "2.1.2",
|
|
280
|
+
"license": "MIT"
|
|
281
|
+
},
|
|
282
|
+
"node_modules/undici": {
|
|
283
|
+
"version": "7.26.0",
|
|
284
|
+
"license": "MIT",
|
|
285
|
+
"engines": {
|
|
286
|
+
"node": ">=20.18.1"
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
"node_modules/whatwg-encoding": {
|
|
290
|
+
"version": "3.1.1",
|
|
291
|
+
"license": "MIT",
|
|
292
|
+
"dependencies": {
|
|
293
|
+
"iconv-lite": "0.6.3"
|
|
294
|
+
},
|
|
295
|
+
"engines": {
|
|
296
|
+
"node": ">=18"
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
"node_modules/whatwg-mimetype": {
|
|
300
|
+
"version": "4.0.0",
|
|
301
|
+
"license": "MIT",
|
|
302
|
+
"engines": {
|
|
303
|
+
"node": ">=18"
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "name": "clone-organize", "private": true, "type": "module", "engines": { "node": ">=18" }, "dependencies": { "playwright": "^1.50.0", "cheerio": "^1.0.0" } }
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* verify-visual.mjs — screenshot do original × do organizado, pra confirmar que
|
|
4
|
+
* clone-organize não mudou a aparência. Fecha o defeito de fundo (verificação
|
|
5
|
+
* auto-declarada): em vez de "ficou igual", um PNG lado a lado pra olhar.
|
|
6
|
+
*
|
|
7
|
+
* Serve a pasta de cada arquivo num http estático efêmero (file:// quebra caminho
|
|
8
|
+
* root-absoluto e módulos), tira screenshot full-page dos dois, e coleta erros de
|
|
9
|
+
* console do organizado.
|
|
10
|
+
*
|
|
11
|
+
* Uso: node verify-visual.mjs <original.html> <organizado.html> [--out pasta]
|
|
12
|
+
*/
|
|
13
|
+
import { chromium } from 'playwright';
|
|
14
|
+
import { createServer } from 'node:http';
|
|
15
|
+
import { readFile, mkdir, writeFile, stat } from 'node:fs/promises';
|
|
16
|
+
import path from 'node:path';
|
|
17
|
+
|
|
18
|
+
const [a, b] = process.argv.slice(2);
|
|
19
|
+
if (!a || !b) { console.error('uso: node verify-visual.mjs <original.html> <organizado.html> [--out pasta]'); process.exit(2); }
|
|
20
|
+
const outArg = (() => { const i = process.argv.indexOf('--out'); return i !== -1 ? process.argv[i + 1] : path.join(path.dirname(b), '_verify'); })();
|
|
21
|
+
|
|
22
|
+
const MIME = { '.html': 'text/html; charset=utf-8', '.css': 'text/css', '.js': 'application/javascript', '.mjs': 'application/javascript', '.json': 'application/json', '.svg': 'image/svg+xml', '.png': 'image/png', '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg', '.webp': 'image/webp', '.gif': 'image/gif', '.woff2': 'font/woff2', '.woff': 'font/woff', '.ttf': 'font/ttf', '.otf': 'font/otf', '.ico': 'image/x-icon' };
|
|
23
|
+
|
|
24
|
+
function serve(root) {
|
|
25
|
+
return new Promise(resolve => {
|
|
26
|
+
const srv = createServer(async (req, res) => {
|
|
27
|
+
try {
|
|
28
|
+
let p = decodeURIComponent(req.url.split('?')[0]);
|
|
29
|
+
let fp = path.join(root, p);
|
|
30
|
+
try { if ((await stat(fp)).isDirectory()) fp = path.join(fp, 'index.html'); } catch {}
|
|
31
|
+
const body = await readFile(fp);
|
|
32
|
+
res.setHeader('Content-Type', MIME[path.extname(fp).toLowerCase()] || 'application/octet-stream');
|
|
33
|
+
res.setHeader('Cache-Control', 'no-cache');
|
|
34
|
+
res.end(body);
|
|
35
|
+
} catch { res.statusCode = 404; res.end('not found'); }
|
|
36
|
+
});
|
|
37
|
+
srv.listen(0, '127.0.0.1', () => resolve({ srv, port: srv.address().port }));
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
async function shoot(ctx, url, file) {
|
|
42
|
+
const page = await ctx.newPage();
|
|
43
|
+
const errors = [];
|
|
44
|
+
page.on('console', m => { if (m.type() === 'error') errors.push(m.text().slice(0, 200)); });
|
|
45
|
+
page.on('pageerror', e => errors.push(e.message.slice(0, 200)));
|
|
46
|
+
try {
|
|
47
|
+
await page.goto(url, { waitUntil: 'load', timeout: 30000 });
|
|
48
|
+
await page.waitForLoadState('networkidle').catch(() => {});
|
|
49
|
+
await page.evaluate(async () => { await new Promise(r => { let t = 0; const s = setInterval(() => { scrollBy(0, 800); t += 800; if (t > document.body.scrollHeight) { clearInterval(s); scrollTo(0, 0); r(); } }, 90); setTimeout(() => { clearInterval(s); r(); }, 6000); }); }).catch(() => {});
|
|
50
|
+
await page.evaluate(() => document.fonts && document.fonts.ready).catch(() => {});
|
|
51
|
+
await page.waitForTimeout(800);
|
|
52
|
+
await page.screenshot({ path: file, fullPage: true });
|
|
53
|
+
} catch (e) { errors.push('goto falhou: ' + e.message); }
|
|
54
|
+
finally { await page.close().catch(() => {}); }
|
|
55
|
+
return errors;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
(async () => {
|
|
59
|
+
await mkdir(outArg, { recursive: true });
|
|
60
|
+
const A = await serve(path.dirname(path.resolve(a)));
|
|
61
|
+
const B = await serve(path.dirname(path.resolve(b)));
|
|
62
|
+
const urlA = `http://127.0.0.1:${A.port}/${path.basename(a)}`;
|
|
63
|
+
const urlB = `http://127.0.0.1:${B.port}/${path.basename(b)}`;
|
|
64
|
+
const browser = await chromium.launch({ headless: true }); // sandbox ON
|
|
65
|
+
try {
|
|
66
|
+
const ctx = await browser.newContext({ viewport: { width: 1440, height: 900 }, deviceScaleFactor: 1 });
|
|
67
|
+
const fa = path.join(outArg, 'original.png');
|
|
68
|
+
const fb = path.join(outArg, 'organizado.png');
|
|
69
|
+
const errA = await shoot(ctx, urlA, fa);
|
|
70
|
+
const errB = await shoot(ctx, urlB, fb);
|
|
71
|
+
const report = { original: a, organizado: b, screenshots: { original: fa, organizado: fb }, consoleErrosOriginal: errA, consoleErrosOrganizado: errB, novosErros: errB.filter(e => !errA.includes(e)) };
|
|
72
|
+
await writeFile(path.join(outArg, 'report.json'), JSON.stringify(report, null, 2));
|
|
73
|
+
console.log(`[verify-visual] screenshots: ${fa} × ${fb}`);
|
|
74
|
+
console.log(`[verify-visual] erros de console — original: ${errA.length}, organizado: ${errB.length}, NOVOS no organizado: ${report.novosErros.length}`);
|
|
75
|
+
report.novosErros.slice(0, 5).forEach(e => console.log(' novo erro:', e));
|
|
76
|
+
if (report.novosErros.length) console.log('[verify-visual] ⚠️ o organizado introduziu erro(s) que o original não tinha — a extração quebrou algo.');
|
|
77
|
+
await ctx.close();
|
|
78
|
+
} finally { await browser.close().catch(() => {}); A.srv.close(); B.srv.close(); }
|
|
79
|
+
})().catch(e => { console.error('[verify-visual] FALHA:', e.message); process.exit(1); });
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clone-site
|
|
3
|
+
description: Clona um site 1:1 (todas as páginas, imagens, fontes, CSS e animações) em um espelho offline fiel e deployável. Use sempre que o usuário mandar uma URL pedindo para clonar, espelhar, copiar, baixar ou "puxar" um site — ou quando mencionar clonar um site e fornecer um endereço.
|
|
4
|
+
argument-hint: [url] [--opções]
|
|
5
|
+
allowed-tools: Bash, Read, Write, Edit
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# clone-site — Clonagem 1:1 fiel e deployável
|
|
9
|
+
|
|
10
|
+
Clona qualquer site em um **espelho estático fiel** que roda em localhost e pode
|
|
11
|
+
subir direto no Vercel. Motor **híbrido auto-detectado**: usa um navegador headless
|
|
12
|
+
(Playwright) que renderiza o site AO VIVO e intercepta toda a rede — por isso captura
|
|
13
|
+
SPAs client-side, lazy assets, animações e, crucialmente, **fontes de CDN travadas por
|
|
14
|
+
domínio** (Adobe Typekit etc.) que o wget nunca consegue. wget é só o fallback rápido.
|
|
15
|
+
|
|
16
|
+
> Diretório da skill: `${CLAUDE_SKILL_DIR}` (todos os scripts ficam em `scripts/`).
|
|
17
|
+
|
|
18
|
+
> ⚠️ **Windows: esta skill NÃO roda nativamente** — o orquestrador é shell script e o
|
|
19
|
+
> bootstrap do Playwright pressupõe ambiente Unix. Em máquina Windows, diga isso ao
|
|
20
|
+
> usuário ANTES de tentar (nunca falhe em silêncio) e ofereça o caminho possível:
|
|
21
|
+
> WSL, ou rodar a clonagem numa máquina Mac/Linux e trazer a pasta pronta.
|
|
22
|
+
> Máquina corporativa gerenciada: confirmar com o usuário se navegador headless é
|
|
23
|
+
> permitido pela política antes de instalar qualquer coisa.
|
|
24
|
+
|
|
25
|
+
## Quando usar
|
|
26
|
+
- Usuário manda uma URL e pede para clonar / espelhar / copiar / baixar o site.
|
|
27
|
+
- Usuário quer uma cópia local navegável de um site (próprio ou de cliente).
|
|
28
|
+
- Reconstrução: precisa do site original fiel como referência antes de refazer.
|
|
29
|
+
|
|
30
|
+
## Fluxo (faça assim)
|
|
31
|
+
|
|
32
|
+
1. **Confirme a URL e a pasta de saída.** Default: `~/site-clones/<host>-<data>`.
|
|
33
|
+
Se o usuário deu uma pasta de projeto, use `--out <pasta>`.
|
|
34
|
+
|
|
35
|
+
2. **Rode o orquestrador.** Ele detecta o tipo, faz bootstrap do Playwright (1ª vez
|
|
36
|
+
baixa ~120MB de Chromium), clona, sobe o servidor e verifica:
|
|
37
|
+
```bash
|
|
38
|
+
bash ${CLAUDE_SKILL_DIR}/scripts/clone.sh "<URL>" --out "<PASTA>"
|
|
39
|
+
```
|
|
40
|
+
Rode em **background** se o site for grande (crawl de várias páginas demora):
|
|
41
|
+
use `run_in_background: true` no Bash e acompanhe com a saída da tarefa.
|
|
42
|
+
|
|
43
|
+
3. **Leia o resultado.** Ao final o script imprime: nº de arquivos, URL local
|
|
44
|
+
(`http://localhost:8765/`), `_clone-manifest.json` (páginas + fontes detectadas)
|
|
45
|
+
e `_verify/report.json` (erros de console, 404s, fontes faltando no clone, e
|
|
46
|
+
screenshots original×clone em `_verify/*.png`).
|
|
47
|
+
|
|
48
|
+
4. **Valide visualmente.** Leia 1-2 screenshots de `_verify/` com a ferramenta de
|
|
49
|
+
imagem e compare com o original. Confira `report.json`:
|
|
50
|
+
- `fontsMissingInClone` vazio → fontes OK.
|
|
51
|
+
- `cloneFailedRequests` só com domínios de tracking → OK (são esperados).
|
|
52
|
+
- `cloneConsoleErrors` vazio ou só ruído de analytics → OK.
|
|
53
|
+
|
|
54
|
+
5. **Conserte o que faltar** (raro com o motor de navegador). Veja o guia de
|
|
55
|
+
diagnóstico em [reference/lessons.md](reference/lessons.md) — cobre fontes,
|
|
56
|
+
scroll virtual (conteúdo que só aparece após rolar), chunks ausentes do Next.js,
|
|
57
|
+
imagens dinâmicas e o servidor.
|
|
58
|
+
|
|
59
|
+
6. **Entregue.** Diga ao usuário a pasta, a URL local e abra no navegador se ele
|
|
60
|
+
quiser (`open -a "Google Chrome" http://localhost:8765/`). Para deploy: a pasta
|
|
61
|
+
é estática e root-absoluta → `vercel deploy` direto, ou Chrome Brain.
|
|
62
|
+
|
|
63
|
+
## Opções do clone.sh
|
|
64
|
+
| Flag | Efeito |
|
|
65
|
+
|------|--------|
|
|
66
|
+
| `--out DIR` | pasta de saída (default `~/site-clones/<host>-<data>`) |
|
|
67
|
+
| `--engine auto\|browser\|wget` | motor; `auto`=browser (fallback wget) |
|
|
68
|
+
| `--max-pages N` | máx. de páginas no crawl (default 60) |
|
|
69
|
+
| `--no-crawl` | clona só a URL dada (sem seguir links) |
|
|
70
|
+
| `--mobile` | passada extra mobile (captura assets responsivos) |
|
|
71
|
+
| `--include "a,b"` / `--exclude "a,b"` | filtra caminhos do crawl |
|
|
72
|
+
| `--keep-trackers` | mantém GTM/Analytics/Pixel (default: remove p/ console limpo) |
|
|
73
|
+
| `--form-toast` | injeta aviso amigável em formulários (clone estático não tem backend) |
|
|
74
|
+
| `--storage-state F` | clonagem autenticada: usa um `storageState` do Playwright (cookies/sessão) |
|
|
75
|
+
| `--spa` | servidor faz fallback de rotas desconhecidas → `/index.html` |
|
|
76
|
+
| `--port N` | porta do servidor (default 8765) |
|
|
77
|
+
| `--no-serve` / `--no-verify` | pula o servidor / a verificação |
|
|
78
|
+
|
|
79
|
+
## Regras importantes
|
|
80
|
+
- **Motor padrão = navegador.** Só use `--engine wget` se o usuário pedir velocidade
|
|
81
|
+
e o site for estático simples; avise que fontes de CDN travadas (Typekit) não
|
|
82
|
+
carregam em localhost no modo wget.
|
|
83
|
+
- **"CSS quebrado" quase sempre é fonte travada por domínio.** O motor de navegador
|
|
84
|
+
resolve isso automaticamente capturando a fonte no domínio real. Se o usuário
|
|
85
|
+
reclamar de CSS, primeiro cheque `fontsMissingInClone` no report.
|
|
86
|
+
- **Conteúdo que "não aparece"** em sites com scroll virtual (GSAP ScrollSmoother:
|
|
87
|
+
`<main position:fixed; overflow:hidden>`) é comportamento do site, não bug — o
|
|
88
|
+
conteúdo surge ao rolar. Não "conserte" isso.
|
|
89
|
+
- **Não invente assets.** Se uma imagem é 404 no clone, verifique se também é 404 no
|
|
90
|
+
original antes de tratar como problema (vários sites referenciam assets removidos).
|
|
91
|
+
- **Crawl respeita a mesma origin.** Para incluir subdomínios use `--include`.
|
|
92
|
+
- O servidor roda em background; informe o PID para o usuário poder parar.
|
|
93
|
+
|
|
94
|
+
## Scripts (em `scripts/`)
|
|
95
|
+
- `clone.sh` — orquestrador (detecção → motor → servidor → verificação).
|
|
96
|
+
- `capture.mjs` — motor de navegador: captura toda a rede, reescreve refs,
|
|
97
|
+
localiza fontes Typekit/Google, gera espelho root-absoluto.
|
|
98
|
+
- `serve.py` — servidor estático (trailing-slash, MIME de fontes, no-cache, SPA).
|
|
99
|
+
- `verify.mjs` — screenshots original×clone + relatório de fontes/404/erros.
|
|
100
|
+
- `wget_fallback.sh` + `fix_paths.py` — caminho rápido sem navegador.
|
|
101
|
+
|
|
102
|
+
Workflow completo (Fases 0→5, de-para dos 11 problemas, QA, dicas, ferramentas):
|
|
103
|
+
[reference/workflow.md](reference/workflow.md).
|
|
104
|
+
Diagnóstico e decisões técnicas: [reference/lessons.md](reference/lessons.md).
|