@aria_asi/cli 0.2.39 → 0.2.41
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/bin/aria.js +236 -34
- package/dist/aria-connector/src/action-ledger-core.d.ts +387 -0
- package/dist/aria-connector/src/action-ledger-core.d.ts.map +1 -0
- package/dist/aria-connector/src/action-ledger-core.js +638 -0
- package/dist/aria-connector/src/action-ledger-core.js.map +1 -0
- package/dist/aria-connector/src/chat.d.ts.map +1 -1
- package/dist/aria-connector/src/chat.js +5 -6
- package/dist/aria-connector/src/chat.js.map +1 -1
- package/dist/aria-connector/src/codebase-scanner.d.ts +1 -1
- package/dist/aria-connector/src/codebase-scanner.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.d.ts +1 -0
- package/dist/aria-connector/src/connectors/claude-code.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.js +152 -14
- package/dist/aria-connector/src/connectors/claude-code.js.map +1 -1
- package/dist/aria-connector/src/connectors/codebase-awareness.d.ts +10 -0
- package/dist/aria-connector/src/connectors/codebase-awareness.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/codebase-awareness.js +276 -27
- package/dist/aria-connector/src/connectors/codebase-awareness.js.map +1 -1
- package/dist/aria-connector/src/connectors/codex.d.ts +3 -1
- package/dist/aria-connector/src/connectors/codex.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/codex.js +1271 -40
- package/dist/aria-connector/src/connectors/codex.js.map +1 -1
- package/dist/aria-connector/src/connectors/cursor.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/cursor.js +7 -0
- package/dist/aria-connector/src/connectors/cursor.js.map +1 -1
- package/dist/aria-connector/src/connectors/governed-adapter.d.ts +30 -0
- package/dist/aria-connector/src/connectors/governed-adapter.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/governed-adapter.js +132 -0
- package/dist/aria-connector/src/connectors/governed-adapter.js.map +1 -0
- package/dist/aria-connector/src/connectors/opencode.d.ts +3 -1
- package/dist/aria-connector/src/connectors/opencode.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/opencode.js +18 -2
- package/dist/aria-connector/src/connectors/opencode.js.map +1 -1
- package/dist/aria-connector/src/connectors/repo-guard.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/repo-guard.js +25 -14
- package/dist/aria-connector/src/connectors/repo-guard.js.map +1 -1
- package/dist/aria-connector/src/connectors/runtime.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/runtime.js +92 -2
- package/dist/aria-connector/src/connectors/runtime.js.map +1 -1
- package/dist/aria-connector/src/connectors/shell.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/shell.js +123 -7
- package/dist/aria-connector/src/connectors/shell.js.map +1 -1
- package/dist/aria-connector/src/cross-cli-hive-binding.d.ts +63 -0
- package/dist/aria-connector/src/cross-cli-hive-binding.d.ts.map +1 -0
- package/dist/aria-connector/src/cross-cli-hive-binding.js +205 -0
- package/dist/aria-connector/src/cross-cli-hive-binding.js.map +1 -0
- package/dist/aria-connector/src/garden-control-plane.d.ts +6 -1
- package/dist/aria-connector/src/garden-control-plane.d.ts.map +1 -1
- package/dist/aria-connector/src/garden-control-plane.js +8 -2
- package/dist/aria-connector/src/garden-control-plane.js.map +1 -1
- package/dist/aria-connector/src/governed-surface-runner.d.ts +189 -0
- package/dist/aria-connector/src/governed-surface-runner.d.ts.map +1 -0
- package/dist/aria-connector/src/governed-surface-runner.js +1022 -0
- package/dist/aria-connector/src/governed-surface-runner.js.map +1 -0
- package/dist/aria-connector/src/index.d.ts +10 -1
- package/dist/aria-connector/src/index.d.ts.map +1 -1
- package/dist/aria-connector/src/index.js +5 -0
- package/dist/aria-connector/src/index.js.map +1 -1
- package/dist/aria-connector/src/task-runner.d.ts +3 -0
- package/dist/aria-connector/src/task-runner.d.ts.map +1 -0
- package/dist/aria-connector/src/task-runner.js +3526 -0
- package/dist/aria-connector/src/task-runner.js.map +1 -0
- package/dist/aria-web/src/lib/codebase-scanner.d.ts +21 -2
- package/dist/aria-web/src/lib/codebase-scanner.d.ts.map +1 -1
- package/dist/aria-web/src/lib/codebase-scanner.js +59 -14
- package/dist/aria-web/src/lib/codebase-scanner.js.map +1 -1
- package/dist/assets/hooks/README.md +58 -0
- package/dist/assets/hooks/aria-agent-handoff.mjs +147 -2
- package/dist/assets/hooks/aria-agent-ledger-merge.mjs +31 -7
- package/dist/assets/hooks/aria-architect-fallback.mjs +10 -2
- package/dist/assets/hooks/aria-claim-evidence-stop-gate.mjs +240 -0
- package/dist/assets/hooks/aria-cognition-substrate-binding.mjs +84 -10
- package/dist/assets/hooks/aria-first-class-coach.mjs +305 -10
- package/dist/assets/hooks/aria-harness-via-sdk.mjs +93 -16
- package/dist/assets/hooks/aria-import-resolution-gate.mjs +106 -20
- package/dist/assets/hooks/aria-outcome-record.mjs +56 -20
- package/dist/assets/hooks/aria-pre-emit-autoload.mjs +1809 -0
- package/dist/assets/hooks/aria-pre-emit-autoload.mjs.before-orchestration-redesign +1400 -0
- package/dist/assets/hooks/aria-pre-emit-dryrun.mjs +22 -3
- package/dist/assets/hooks/aria-pre-text-gate.mjs +11 -2
- package/dist/assets/hooks/aria-pre-tool-gate.mjs +516 -92
- package/dist/assets/hooks/aria-pre-tool-use.mjs +70 -6
- package/dist/assets/hooks/aria-preprompt-consult.mjs +23 -4
- package/dist/assets/hooks/aria-repo-doctrine-gate.mjs +29 -3
- package/dist/assets/hooks/aria-stop-gate.mjs +585 -76
- package/dist/assets/hooks/aria-trigger-autolearn.mjs +17 -3
- package/dist/assets/hooks/aria-universal-turn-packet.mjs +1165 -0
- package/dist/assets/hooks/aria-userprompt-abandon-detect.mjs +9 -1
- package/dist/assets/hooks/canonical-settings-block.json +172 -0
- package/dist/assets/hooks/codex-native/aria-harness-ticker-sidecar.mjs +92 -0
- package/dist/assets/hooks/codex-native/aria-hive-wal-consumer.mjs +86 -0
- package/dist/assets/hooks/codex-native/aria-live-ticker.mjs +38 -0
- package/dist/assets/hooks/codex-native/aria-post-tool-use.mjs +236 -0
- package/dist/assets/hooks/codex-native/aria-pre-tool-use.mjs +362 -0
- package/dist/assets/hooks/codex-native/aria-stop.mjs +691 -0
- package/dist/assets/hooks/codex-native/aria-userprompt-submit.mjs +623 -0
- package/dist/assets/hooks/codex-native/atlas-session-context.mjs +121 -0
- package/dist/assets/hooks/codex-native/lib/evaluate-with-kernel.mjs +257 -0
- package/dist/assets/hooks/codex-native/lib/hive-wal-consumer.mjs +452 -0
- package/dist/assets/hooks/codex-native/lib/kernel/deterministic-cognitive-kernel.mjs +914 -0
- package/dist/assets/hooks/codex-native/lib/project-boundary-cognition.mjs +143 -0
- package/dist/assets/hooks/codex-native/lib/runtime-client.mjs +3567 -0
- package/dist/assets/hooks/codex-native/lib/task-project-ledger.mjs +294 -0
- package/dist/assets/hooks/doctrine_trigger_map.json +236 -25
- package/dist/assets/hooks/doctrine_trigger_map.schema.json +46 -0
- package/dist/assets/hooks/install.sh +84 -0
- package/dist/assets/hooks/lib/action-ledger-core.mjs +269 -0
- package/dist/assets/hooks/lib/aria-gate-ledger.mjs +143 -0
- package/dist/assets/hooks/lib/ast-stub-shape-detector.mjs +107 -0
- package/dist/assets/hooks/lib/atlas-dossier-client.mjs +151 -0
- package/dist/assets/hooks/lib/atlas-orchestrator-postwire.mjs +221 -0
- package/dist/assets/hooks/lib/canonical-lenses.mjs +83 -6
- package/dist/assets/hooks/lib/coach-intent-classifier.mjs +248 -0
- package/dist/assets/hooks/lib/cognitive-block-parser.mjs +111 -0
- package/dist/assets/hooks/lib/doctrine-trigger-map-loader.mjs +137 -0
- package/dist/assets/hooks/lib/domain-output-quality.mjs +132 -3
- package/dist/assets/hooks/lib/empty-catch-scanner.mjs +91 -0
- package/dist/assets/hooks/lib/end-phase-qa-autofire.mjs +426 -0
- package/dist/assets/hooks/lib/evaluate-with-kernel.mjs +133 -0
- package/dist/assets/hooks/lib/first-class-coach.mjs +454 -19
- package/dist/assets/hooks/lib/gate-audit.mjs +12 -2
- package/dist/assets/hooks/lib/gate-loop-state.mjs +11 -2
- package/dist/assets/hooks/lib/goal-contract-quality.mjs +302 -0
- package/dist/assets/hooks/lib/hook-message-window.mjs +101 -9
- package/dist/assets/hooks/lib/invocation-required-verifier.mjs +184 -0
- package/dist/assets/hooks/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/dist/assets/hooks/lib/obligation-ledger.mjs +147 -0
- package/dist/assets/hooks/lib/orchestration-manifest-extract.mjs +217 -0
- package/dist/assets/hooks/lib/owner-authorizations.mjs +269 -0
- package/dist/assets/hooks/lib/probe-discipline-scanner.mjs +142 -0
- package/dist/assets/hooks/lib/project-boundary-cognition.mjs +143 -0
- package/dist/assets/hooks/lib/recovery-context.mjs +151 -0
- package/dist/assets/hooks/lib/recovery-template-loader.mjs +154 -0
- package/dist/assets/hooks/lib/self-doctrine-check.mjs +321 -0
- package/dist/assets/hooks/lib/sensitive-shape-detector.mjs +64 -0
- package/dist/assets/hooks/lib/skill-autoload-gate-impl.mjs +226 -1
- package/dist/assets/hooks/lib/stop-hook-protocol.mjs +166 -0
- package/dist/assets/hooks/lib/surface-caught.mjs +94 -0
- package/dist/assets/hooks/recovery-templates/force-reauthor.md +67 -0
- package/dist/assets/hooks/recovery-templates/handoff-recovery.md +25 -0
- package/dist/assets/hooks/scripts/check-hard-risk-prefix.mjs +99 -0
- package/dist/assets/hooks/skills/aria-conversational-doctrine-discipline/SKILL.md +101 -0
- package/dist/assets/hooks/test-aria-preturn-memory-gate.mjs +2 -2
- package/dist/assets/hooks/test-tier-lens-labeling.mjs +14 -3
- package/dist/assets/opencode-plugins/harness-context/index.js +39 -6
- package/dist/assets/opencode-plugins/harness-context/task-project-ledger.mjs +5 -1
- package/dist/assets/opencode-plugins/harness-gate/index.js +36 -0
- package/dist/assets/opencode-plugins/harness-gate/lib/atlas-dossier-client.js +1 -0
- package/dist/assets/opencode-plugins/harness-gate/lib/recovery-grants.js +79 -0
- package/dist/assets/opencode-plugins/harness-outcome/index.js +12 -0
- package/dist/assets/opencode-plugins/harness-stop/index.js +97 -2
- package/dist/assets/opencode-plugins/harness-stop/lib/atlas-dossier-client.js +1 -0
- package/dist/assets/opencode-plugins/harness-stop/lib/domain-output-quality.js +15 -2
- package/dist/assets/opencode-plugins/lib/coach.js +148 -0
- package/dist/runtime/coach-kernel.mjs +144 -7
- package/dist/runtime/codex-bridge.mjs +254 -8
- package/dist/runtime/discipline/doctrine_trigger_map.json +236 -25
- package/dist/runtime/discipline/skills/aria-cognition/34-frameworks-unified/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-cognitives/SKILL.md +128 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-intra-phase/SKILL.md +99 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-post-phase/SKILL.md +118 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-pre-phase/SKILL.md +117 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-axioms-first-principles/SKILL.md +202 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-axioms-first-principles/agents/openai.yaml +4 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-axioms-first-principles/references/source-map.md +130 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-backend-architect/SKILL.md +124 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-backend-architect/references/backend-cookbook.md +417 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-business-audit/SKILL.md +133 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-business-audit/references/audit-cookbook.md +247 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-business-frame/SKILL.md +138 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-business-frame/references/business-cookbook.md +154 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-chat/SKILL.md +84 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-chat/scripts/aria-chat.sh +57 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-cognition-autofire/SKILL.md +137 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-cognition-batch/SKILL.md +264 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-decision-mizan/SKILL.md +136 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-decision-mizan/references/decision-frameworks.md +287 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-first-class-operating-contract/SKILL.md +104 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-frontend-architect/SKILL.md +123 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-frontend-architect/references/frontend-cookbook.md +358 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-fullstack-orchestrator/SKILL.md +127 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-fullstack-orchestrator/references/fullstack-cookbook.md +383 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-gtm-architect/SKILL.md +126 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-gtm-architect/references/gtm-cookbook.md +235 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-deploy/SKILL.md +145 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-no-stripping/SKILL.md +135 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-onboarding/SKILL.md +130 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-output-discipline/SKILL.md +120 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-substrate-binding/SKILL.md +139 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-http-harness-client/SKILL.md +85 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-http-harness-client/scripts/smoke.mjs +47 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-k8s-deploy/SKILL.md +174 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-k8s-deploy/agents/openai.yaml +3 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-ladduniframe/SKILL.md +60 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-ledger-fleet-execution/SKILL.md +126 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-live-ops/SKILL.md +54 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-mac-ssh-ops/SKILL.md +100 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-memory-index/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-noor-cognitives/SKILL.md +120 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-ops/SKILL.md +60 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-ops/references/live-endpoints.md +59 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-quality-audit/SKILL.md +133 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-readable-output/SKILL.md +239 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-readable-output/references/layout-cookbook.md +366 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-reasoning/SKILL.md +67 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-reasoning/references/core-principles.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-repo-audit/SKILL.md +135 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-repo-audit/references/repo-audit-cookbook.md +375 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-research-orchestrator/SKILL.md +138 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-research-orchestrator/references/research-patterns.md +270 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-retention-engine/SKILL.md +120 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-retention-engine/references/retention-cookbook.md +271 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-revenue-engine/SKILL.md +128 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-revenue-engine/references/revenue-cookbook.md +227 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-audit/SKILL.md +233 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-audit/references/audit-checklist.md +369 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-cookbook/SKILL.md +288 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-cookbook/references/engineering-cookbook.md +489 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-soul-principles/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-task-codex-executor/SKILL.md +86 -0
- package/dist/runtime/discipline/skills/aria-cognition/aristotle-engine/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/cross-domain-24/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/deepsoul-emotional/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/fitrah-guard/SKILL.md +78 -0
- package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/SKILL.md +227 -29
- package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/references/ghazali-8lens-cookbook.md +797 -0
- package/dist/runtime/discipline/skills/aria-cognition/ijtihad-novel/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/ilham-intuition/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/never-guess/SKILL.md +77 -0
- package/dist/runtime/discipline/skills/aria-cognition/noor-recognition/SKILL.md +45 -0
- package/dist/runtime/discipline/skills/aria-cognition/qiyas-analogy/SKILL.md +174 -14
- package/dist/runtime/discipline/skills/aria-cognition/ruh-basis/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/tadabbur/SKILL.md +506 -0
- package/dist/runtime/discipline/skills/aria-cognition/tadabbur/references/tadabbur-cookbook.md +921 -0
- package/dist/runtime/discipline/skills/aria-cognition/tadabbur-ops/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/tafakkur/SKILL.md +104 -0
- package/dist/runtime/doctrine_trigger_map.json +236 -25
- package/dist/runtime/embedded-public-key.mjs +27 -0
- package/dist/runtime/gated-ledger.mjs +41 -14
- package/dist/runtime/harness-daemon.mjs +85 -10
- package/dist/runtime/hive-wal-publisher.mjs +292 -0
- package/dist/runtime/hooks/README.md +58 -0
- package/dist/runtime/hooks/aria-agent-handoff.mjs +147 -2
- package/dist/runtime/hooks/aria-agent-ledger-merge.mjs +31 -7
- package/dist/runtime/hooks/aria-architect-fallback.mjs +10 -2
- package/dist/runtime/hooks/aria-claim-evidence-stop-gate.mjs +240 -0
- package/dist/runtime/hooks/aria-cognition-substrate-binding.mjs +84 -10
- package/dist/runtime/hooks/aria-first-class-coach.mjs +305 -10
- package/dist/runtime/hooks/aria-harness-via-sdk.mjs +93 -16
- package/dist/runtime/hooks/aria-import-resolution-gate.mjs +106 -20
- package/dist/runtime/hooks/aria-outcome-record.mjs +56 -20
- package/dist/runtime/hooks/aria-pre-emit-autoload.mjs +1809 -0
- package/dist/runtime/hooks/aria-pre-emit-autoload.mjs.before-orchestration-redesign +1400 -0
- package/dist/runtime/hooks/aria-pre-emit-dryrun.mjs +22 -3
- package/dist/runtime/hooks/aria-pre-text-gate.mjs +11 -2
- package/dist/runtime/hooks/aria-pre-tool-gate.mjs +516 -92
- package/dist/runtime/hooks/aria-pre-tool-use.mjs +70 -6
- package/dist/runtime/hooks/aria-preprompt-consult.mjs +23 -4
- package/dist/runtime/hooks/aria-repo-doctrine-gate.mjs +29 -3
- package/dist/runtime/hooks/aria-stop-gate.mjs +585 -76
- package/dist/runtime/hooks/aria-trigger-autolearn.mjs +17 -3
- package/dist/runtime/hooks/aria-universal-turn-packet.mjs +1165 -0
- package/dist/runtime/hooks/aria-userprompt-abandon-detect.mjs +9 -1
- package/dist/runtime/hooks/canonical-settings-block.json +172 -0
- package/dist/runtime/hooks/codex-native/aria-harness-ticker-sidecar.mjs +92 -0
- package/dist/runtime/hooks/codex-native/aria-hive-wal-consumer.mjs +86 -0
- package/dist/runtime/hooks/codex-native/aria-live-ticker.mjs +38 -0
- package/dist/runtime/hooks/codex-native/aria-post-tool-use.mjs +236 -0
- package/dist/runtime/hooks/codex-native/aria-pre-tool-use.mjs +362 -0
- package/dist/runtime/hooks/codex-native/aria-stop.mjs +691 -0
- package/dist/runtime/hooks/codex-native/aria-userprompt-submit.mjs +623 -0
- package/dist/runtime/hooks/codex-native/atlas-session-context.mjs +121 -0
- package/dist/runtime/hooks/codex-native/lib/evaluate-with-kernel.mjs +257 -0
- package/dist/runtime/hooks/codex-native/lib/hive-wal-consumer.mjs +452 -0
- package/dist/runtime/hooks/codex-native/lib/kernel/deterministic-cognitive-kernel.mjs +914 -0
- package/dist/runtime/hooks/codex-native/lib/project-boundary-cognition.mjs +143 -0
- package/dist/runtime/hooks/codex-native/lib/runtime-client.mjs +3567 -0
- package/dist/runtime/hooks/codex-native/lib/task-project-ledger.mjs +294 -0
- package/dist/runtime/hooks/doctrine_trigger_map.json +236 -25
- package/dist/runtime/hooks/doctrine_trigger_map.schema.json +46 -0
- package/dist/runtime/hooks/install.sh +84 -0
- package/dist/runtime/hooks/lib/action-ledger-core.mjs +269 -0
- package/dist/runtime/hooks/lib/aria-gate-ledger.mjs +143 -0
- package/dist/runtime/hooks/lib/ast-stub-shape-detector.mjs +107 -0
- package/dist/runtime/hooks/lib/atlas-dossier-client.mjs +151 -0
- package/dist/runtime/hooks/lib/atlas-orchestrator-postwire.mjs +221 -0
- package/dist/runtime/hooks/lib/canonical-lenses.mjs +83 -6
- package/dist/runtime/hooks/lib/coach-intent-classifier.mjs +248 -0
- package/dist/runtime/hooks/lib/cognitive-block-parser.mjs +111 -0
- package/dist/runtime/hooks/lib/doctrine-trigger-map-loader.mjs +137 -0
- package/dist/runtime/hooks/lib/domain-output-quality.mjs +132 -3
- package/dist/runtime/hooks/lib/empty-catch-scanner.mjs +91 -0
- package/dist/runtime/hooks/lib/end-phase-qa-autofire.mjs +426 -0
- package/dist/runtime/hooks/lib/evaluate-with-kernel.mjs +133 -0
- package/dist/runtime/hooks/lib/first-class-coach.mjs +454 -19
- package/dist/runtime/hooks/lib/gate-audit.mjs +12 -2
- package/dist/runtime/hooks/lib/gate-loop-state.mjs +11 -2
- package/dist/runtime/hooks/lib/goal-contract-quality.mjs +302 -0
- package/dist/runtime/hooks/lib/hook-message-window.mjs +101 -9
- package/dist/runtime/hooks/lib/invocation-required-verifier.mjs +184 -0
- package/dist/runtime/hooks/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/dist/runtime/hooks/lib/obligation-ledger.mjs +147 -0
- package/dist/runtime/hooks/lib/orchestration-manifest-extract.mjs +217 -0
- package/dist/runtime/hooks/lib/owner-authorizations.mjs +269 -0
- package/dist/runtime/hooks/lib/probe-discipline-scanner.mjs +142 -0
- package/dist/runtime/hooks/lib/project-boundary-cognition.mjs +143 -0
- package/dist/runtime/hooks/lib/recovery-context.mjs +151 -0
- package/dist/runtime/hooks/lib/recovery-template-loader.mjs +154 -0
- package/dist/runtime/hooks/lib/self-doctrine-check.mjs +321 -0
- package/dist/runtime/hooks/lib/sensitive-shape-detector.mjs +64 -0
- package/dist/runtime/hooks/lib/skill-autoload-gate-impl.mjs +226 -1
- package/dist/runtime/hooks/lib/stop-hook-protocol.mjs +166 -0
- package/dist/runtime/hooks/lib/surface-caught.mjs +94 -0
- package/dist/runtime/hooks/recovery-templates/force-reauthor.md +67 -0
- package/dist/runtime/hooks/recovery-templates/handoff-recovery.md +25 -0
- package/dist/runtime/hooks/scripts/check-hard-risk-prefix.mjs +99 -0
- package/dist/runtime/hooks/skills/aria-conversational-doctrine-discipline/SKILL.md +101 -0
- package/dist/runtime/hooks/test-aria-preturn-memory-gate.mjs +2 -2
- package/dist/runtime/hooks/test-tier-lens-labeling.mjs +14 -3
- package/dist/runtime/lib/evaluate-with-kernel.mjs +133 -0
- package/dist/runtime/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/dist/runtime/local-phase.mjs +10 -5
- package/dist/runtime/manifest.json +8 -8
- package/dist/runtime/packet-verifier.mjs +166 -0
- package/dist/runtime/provider-proxy.mjs +13 -0
- package/dist/runtime/quality-enforcer.mjs +40 -23
- package/dist/runtime/runtime-rails/registry.mjs +252 -0
- package/dist/runtime/sdk/BUNDLED.json +2 -2
- package/dist/runtime/sdk/index.d.ts +119 -4
- package/dist/runtime/sdk/index.js +138 -12
- package/dist/runtime/sdk/index.js.map +1 -1
- package/dist/runtime/service.mjs +8036 -764
- package/dist/runtime/sub-agent-enforcer.mjs +201 -0
- package/dist/runtime/task-project-ledger.mjs +5 -1
- package/dist/sdk/BUNDLED.json +2 -2
- package/dist/sdk/index.d.ts +119 -4
- package/dist/sdk/index.js +138 -12
- package/dist/sdk/index.js.map +1 -1
- package/hooks/README.md +58 -0
- package/hooks/aria-agent-handoff.mjs +147 -2
- package/hooks/aria-agent-ledger-merge.mjs +31 -7
- package/hooks/aria-architect-fallback.mjs +10 -2
- package/hooks/aria-claim-evidence-stop-gate.mjs +240 -0
- package/hooks/aria-cognition-substrate-binding.mjs +84 -10
- package/hooks/aria-first-class-coach.mjs +305 -10
- package/hooks/aria-harness-via-sdk.mjs +93 -16
- package/hooks/aria-import-resolution-gate.mjs +106 -20
- package/hooks/aria-outcome-record.mjs +56 -20
- package/hooks/aria-pre-emit-autoload.mjs +1809 -0
- package/hooks/aria-pre-emit-autoload.mjs.before-orchestration-redesign +1400 -0
- package/hooks/aria-pre-emit-dryrun.mjs +22 -3
- package/hooks/aria-pre-text-gate.mjs +11 -2
- package/hooks/aria-pre-tool-gate.mjs +516 -92
- package/hooks/aria-pre-tool-use.mjs +70 -6
- package/hooks/aria-preprompt-consult.mjs +23 -4
- package/hooks/aria-repo-doctrine-gate.mjs +29 -3
- package/hooks/aria-stop-gate.mjs +585 -76
- package/hooks/aria-trigger-autolearn.mjs +17 -3
- package/hooks/aria-universal-turn-packet.mjs +1165 -0
- package/hooks/aria-userprompt-abandon-detect.mjs +9 -1
- package/hooks/canonical-settings-block.json +172 -0
- package/hooks/codex-native/aria-harness-ticker-sidecar.mjs +92 -0
- package/hooks/codex-native/aria-hive-wal-consumer.mjs +86 -0
- package/hooks/codex-native/aria-live-ticker.mjs +38 -0
- package/hooks/codex-native/aria-post-tool-use.mjs +236 -0
- package/hooks/codex-native/aria-pre-tool-use.mjs +362 -0
- package/hooks/codex-native/aria-stop.mjs +691 -0
- package/hooks/codex-native/aria-userprompt-submit.mjs +623 -0
- package/hooks/codex-native/atlas-session-context.mjs +121 -0
- package/hooks/codex-native/lib/evaluate-with-kernel.mjs +257 -0
- package/hooks/codex-native/lib/hive-wal-consumer.mjs +452 -0
- package/hooks/codex-native/lib/kernel/deterministic-cognitive-kernel.mjs +914 -0
- package/hooks/codex-native/lib/project-boundary-cognition.mjs +143 -0
- package/hooks/codex-native/lib/runtime-client.mjs +3567 -0
- package/hooks/codex-native/lib/task-project-ledger.mjs +294 -0
- package/hooks/doctrine_trigger_map.json +236 -25
- package/hooks/doctrine_trigger_map.schema.json +46 -0
- package/hooks/install.sh +84 -0
- package/hooks/lib/action-ledger-core.mjs +269 -0
- package/hooks/lib/aria-gate-ledger.mjs +143 -0
- package/hooks/lib/ast-stub-shape-detector.mjs +107 -0
- package/hooks/lib/atlas-dossier-client.mjs +151 -0
- package/hooks/lib/atlas-orchestrator-postwire.mjs +221 -0
- package/hooks/lib/canonical-lenses.mjs +83 -6
- package/hooks/lib/coach-intent-classifier.mjs +248 -0
- package/hooks/lib/cognitive-block-parser.mjs +111 -0
- package/hooks/lib/doctrine-trigger-map-loader.mjs +137 -0
- package/hooks/lib/domain-output-quality.mjs +132 -3
- package/hooks/lib/empty-catch-scanner.mjs +91 -0
- package/hooks/lib/end-phase-qa-autofire.mjs +426 -0
- package/hooks/lib/evaluate-with-kernel.mjs +133 -0
- package/hooks/lib/first-class-coach.mjs +454 -19
- package/hooks/lib/gate-audit.mjs +12 -2
- package/hooks/lib/gate-loop-state.mjs +11 -2
- package/hooks/lib/goal-contract-quality.mjs +302 -0
- package/hooks/lib/hook-message-window.mjs +101 -9
- package/hooks/lib/invocation-required-verifier.mjs +184 -0
- package/hooks/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/hooks/lib/obligation-ledger.mjs +147 -0
- package/hooks/lib/orchestration-manifest-extract.mjs +217 -0
- package/hooks/lib/owner-authorizations.mjs +269 -0
- package/hooks/lib/probe-discipline-scanner.mjs +142 -0
- package/hooks/lib/project-boundary-cognition.mjs +143 -0
- package/hooks/lib/recovery-context.mjs +151 -0
- package/hooks/lib/recovery-template-loader.mjs +154 -0
- package/hooks/lib/self-doctrine-check.mjs +321 -0
- package/hooks/lib/sensitive-shape-detector.mjs +64 -0
- package/hooks/lib/skill-autoload-gate-impl.mjs +226 -1
- package/hooks/lib/stop-hook-protocol.mjs +166 -0
- package/hooks/lib/surface-caught.mjs +94 -0
- package/hooks/recovery-templates/force-reauthor.md +67 -0
- package/hooks/recovery-templates/handoff-recovery.md +25 -0
- package/hooks/scripts/check-hard-risk-prefix.mjs +99 -0
- package/hooks/skills/aria-conversational-doctrine-discipline/SKILL.md +101 -0
- package/hooks/test-aria-preturn-memory-gate.mjs +2 -2
- package/hooks/test-tier-lens-labeling.mjs +14 -3
- package/opencode-plugins/harness-context/index.js +39 -6
- package/opencode-plugins/harness-context/task-project-ledger.mjs +5 -1
- package/opencode-plugins/harness-gate/index.js +36 -0
- package/opencode-plugins/harness-gate/lib/atlas-dossier-client.js +1 -0
- package/opencode-plugins/harness-gate/lib/recovery-grants.js +79 -0
- package/opencode-plugins/harness-outcome/index.js +12 -0
- package/opencode-plugins/harness-stop/index.js +97 -2
- package/opencode-plugins/harness-stop/lib/atlas-dossier-client.js +1 -0
- package/opencode-plugins/harness-stop/lib/domain-output-quality.js +15 -2
- package/opencode-plugins/lib/coach.js +148 -0
- package/package.json +71 -5
- package/runtime-src/coach-kernel.mjs +144 -7
- package/runtime-src/codex-bridge.mjs +254 -8
- package/runtime-src/embedded-public-key.mjs +27 -0
- package/runtime-src/gated-ledger.mjs +41 -14
- package/runtime-src/harness-daemon.mjs +85 -10
- package/runtime-src/hive-wal-publisher.mjs +292 -0
- package/runtime-src/lib/evaluate-with-kernel.mjs +133 -0
- package/runtime-src/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/runtime-src/local-phase.mjs +10 -5
- package/runtime-src/packet-verifier.mjs +166 -0
- package/runtime-src/provider-proxy.mjs +13 -0
- package/runtime-src/quality-enforcer.mjs +40 -23
- package/runtime-src/runtime-rails/registry.mjs +252 -0
- package/runtime-src/service.mjs +8036 -764
- package/runtime-src/sub-agent-enforcer.mjs +201 -0
- package/scripts/aria-ledger-append.mjs +337 -0
- package/scripts/aria-task-cheap-worker-dispatch.mjs +234 -0
- package/scripts/audit-of-audit-prior-tasks.mjs +194 -0
- package/scripts/audit-of-audit-this-turn.mjs +116 -0
- package/scripts/bundle-sdk.mjs +31 -5
- package/scripts/check-cli-wrapper-provider-contract.mjs +160 -0
- package/scripts/check-client-compatibility.mjs +15 -5
- package/scripts/check-client-smoke.mjs +297 -0
- package/scripts/check-codex-orchestrator-adoption.mjs +150 -0
- package/scripts/check-glm-env-wired.mjs +131 -0
- package/scripts/check-hive-local-storage-contract.mjs +91 -0
- package/scripts/check-hook-mirror.mjs +150 -0
- package/scripts/check-install-sh-drift.mjs +152 -0
- package/scripts/check-kernel-sync.mjs +101 -0
- package/scripts/check-package-artifact.mjs +152 -0
- package/scripts/check-registry-mirror.mjs +71 -0
- package/scripts/drain-owner-airtable-sync-queue.mjs +287 -0
- package/scripts/export-owner-status-sheets.mjs +589 -0
- package/scripts/live-sidecar-receipt-canary.mjs +347 -0
- package/scripts/qiyas-tadabbur-model-matrix.mjs +970 -0
- package/scripts/quality-ab-live-provider.mjs +913 -0
- package/scripts/self-test-action-ledger-core.mjs +190 -0
- package/scripts/self-test-approval-receipt-binding.mjs +122 -0
- package/scripts/self-test-autofire-quality-output.mjs +110 -0
- package/scripts/self-test-claude-code-action-ledger.mjs +132 -0
- package/scripts/self-test-claude-code-mechanical-autofire-hive.mjs +138 -0
- package/scripts/self-test-claude-code-mechanical-autofire.mjs +234 -0
- package/scripts/self-test-codebase-awareness-atlas-delta.mjs +159 -0
- package/scripts/self-test-codebase-awareness-delta-ingest.mjs +179 -0
- package/scripts/self-test-codex-live-hook-parity.mjs +84 -0
- package/scripts/self-test-codex-native-action-ledger.mjs +167 -0
- package/scripts/self-test-codex-native-hook-json-contract.mjs +74 -0
- package/scripts/self-test-codex-orchestrator-continuity.mjs +113 -0
- package/scripts/self-test-codex-readable-recovery.mjs +94 -0
- package/scripts/self-test-codex-self-harness.mjs +538 -0
- package/scripts/self-test-compiled-workunit.mjs +214 -0
- package/scripts/self-test-continuation-output-smoke.mjs +101 -0
- package/scripts/self-test-cross-cli-fleet-ticker.mjs +85 -0
- package/scripts/self-test-cross-cli-hive-adoption.mjs +125 -0
- package/scripts/self-test-cross-cli-hive-learning.mjs +146 -0
- package/scripts/self-test-cross-phase-tool-failure.mjs +110 -0
- package/scripts/self-test-cross-surface-action-ledger.mjs +149 -0
- package/scripts/self-test-end-of-phase-qa-court.mjs +616 -0
- package/scripts/self-test-evaluate-with-kernel.mjs +111 -0
- package/scripts/self-test-first-class-output-delta-proof.mjs +307 -0
- package/scripts/self-test-goal-contract-output-qa.mjs +73 -0
- package/scripts/self-test-goal-contract.mjs +35 -0
- package/scripts/self-test-governed-adapters.mjs +105 -0
- package/scripts/self-test-governed-surface-runner.mjs +198 -0
- package/scripts/self-test-harness-gates.mjs +15 -12
- package/scripts/self-test-harness-ticker-sidecar.mjs +153 -0
- package/scripts/self-test-hive-org-kernel.mjs +233 -0
- package/scripts/self-test-hive-session-coordination.mjs +156 -0
- package/scripts/self-test-hive-wal-consumer.mjs +111 -0
- package/scripts/self-test-kernel-a3-a4-selection.mjs +179 -0
- package/scripts/self-test-ledger-append.mjs +175 -0
- package/scripts/self-test-live-codex-posttool-packet-smoke.mjs +111 -0
- package/scripts/self-test-live-codex-pretool-packet-smoke.mjs +101 -0
- package/scripts/self-test-live-codex-stop-qa-kernel-smoke.mjs +43 -0
- package/scripts/self-test-live-wrapper-substrate-inventory.mjs +149 -0
- package/scripts/self-test-local-main-sync-script.mjs +47 -0
- package/scripts/self-test-mechanical-autofire-resolver.mjs +296 -0
- package/scripts/self-test-no-consult-cognitive-skills-output.mjs +135 -0
- package/scripts/self-test-owner-airtable-sync-queue.mjs +196 -0
- package/scripts/self-test-owner-airtable-sync.mjs +181 -0
- package/scripts/self-test-owner-sheets-action-ledger.mjs +100 -0
- package/scripts/self-test-production-preflight.mjs +78 -0
- package/scripts/self-test-project-boundary-cognition.mjs +79 -0
- package/scripts/self-test-qa-exec-kernel.mjs +34 -0
- package/scripts/self-test-qa-recovery-learning-loop.mjs +113 -0
- package/scripts/self-test-qiyas-label-alignment.mjs +94 -0
- package/scripts/self-test-recovery-context.mjs +110 -0
- package/scripts/self-test-repo-guard.mjs +10 -0
- package/scripts/self-test-runtime-health-self-heal.mjs +161 -0
- package/scripts/self-test-runtime-postcondition.mjs +70 -0
- package/scripts/self-test-soul-precommit-hook.mjs +39 -0
- package/scripts/self-test-stop-gate-kernel-guards.mjs +185 -0
- package/scripts/self-test-stop-gate.mjs +128 -0
- package/scripts/self-test-substrate-kernel-execution-receipt.mjs +130 -0
- package/scripts/self-test-substrate-open-skill-floor.mjs +87 -0
- package/scripts/self-test-substrate-output-quality-eval.mjs +171 -0
- package/scripts/self-test-task-closeout-drift.mjs +97 -0
- package/scripts/self-test-task-project-ledger-readiness.mjs +43 -0
- package/scripts/self-test-task-runner-phase-consumer.mjs +134 -0
- package/scripts/self-test-task-worker-lane.mjs +256 -0
- package/scripts/self-test-turn-substrate-qa-kernel.mjs +188 -0
- package/scripts/self-test-universal-action-capture.mjs +153 -0
- package/scripts/self-test-universal-turn-packet-entrypoints.mjs +252 -0
- package/scripts/self-test-universal-turn-packet.mjs +320 -0
- package/scripts/session-quality-backfill.mjs +253 -0
- package/scripts/smoke-autofire-100-prompts.mjs +481 -0
- package/scripts/sync-local-main-on-task-complete.mjs +278 -0
- package/scripts/sync-owner-status-airtable.mjs +1158 -0
- package/scripts/validate-skill-prompts.mjs +12 -1
- package/scripts/verify-codex-native-mirror.mjs +262 -0
- package/skills/34-frameworks-unified/SKILL.md +42 -0
- package/skills/api-design/SKILL.md +123 -0
- package/skills/architecture-decision/SKILL.md +105 -0
- package/skills/aria-aristotle-cognitives/SKILL.md +128 -0
- package/skills/aria-aristotle-intra-phase/SKILL.md +99 -0
- package/skills/aria-aristotle-post-phase/SKILL.md +116 -0
- package/skills/aria-aristotle-pre-phase/SKILL.md +117 -0
- package/skills/aria-axioms-first-principles/SKILL.md +202 -0
- package/skills/aria-axioms-first-principles/agents/openai.yaml +4 -0
- package/skills/aria-axioms-first-principles/references/source-map.md +130 -0
- package/skills/aria-chat/SKILL.md +84 -0
- package/skills/aria-chat/scripts/aria-chat.sh +57 -0
- package/skills/aria-cognition/34-frameworks-unified/SKILL.md +42 -0
- package/skills/aria-cognition/aria-aristotle-cognitives/SKILL.md +128 -0
- package/skills/aria-cognition/aria-aristotle-intra-phase/SKILL.md +99 -0
- package/skills/aria-cognition/aria-aristotle-post-phase/SKILL.md +118 -0
- package/skills/aria-cognition/aria-aristotle-pre-phase/SKILL.md +117 -0
- package/skills/aria-cognition/aria-axioms-first-principles/SKILL.md +202 -0
- package/skills/aria-cognition/aria-axioms-first-principles/agents/openai.yaml +4 -0
- package/skills/aria-cognition/aria-axioms-first-principles/references/source-map.md +130 -0
- package/skills/aria-cognition/aria-backend-architect/SKILL.md +124 -0
- package/skills/aria-cognition/aria-backend-architect/references/backend-cookbook.md +417 -0
- package/skills/aria-cognition/aria-business-audit/SKILL.md +133 -0
- package/skills/aria-cognition/aria-business-audit/references/audit-cookbook.md +247 -0
- package/skills/aria-cognition/aria-business-frame/SKILL.md +138 -0
- package/skills/aria-cognition/aria-business-frame/references/business-cookbook.md +154 -0
- package/skills/aria-cognition/aria-chat/SKILL.md +84 -0
- package/skills/aria-cognition/aria-chat/scripts/aria-chat.sh +57 -0
- package/skills/aria-cognition/aria-cognition-autofire/SKILL.md +137 -0
- package/skills/aria-cognition/aria-cognition-batch/SKILL.md +264 -0
- package/skills/aria-cognition/aria-decision-mizan/SKILL.md +136 -0
- package/skills/aria-cognition/aria-decision-mizan/references/decision-frameworks.md +287 -0
- package/skills/aria-cognition/aria-first-class-operating-contract/SKILL.md +104 -0
- package/skills/aria-cognition/aria-frontend-architect/SKILL.md +123 -0
- package/skills/aria-cognition/aria-frontend-architect/references/frontend-cookbook.md +358 -0
- package/skills/aria-cognition/aria-fullstack-orchestrator/SKILL.md +127 -0
- package/skills/aria-cognition/aria-fullstack-orchestrator/references/fullstack-cookbook.md +383 -0
- package/skills/aria-cognition/aria-gtm-architect/SKILL.md +126 -0
- package/skills/aria-cognition/aria-gtm-architect/references/gtm-cookbook.md +235 -0
- package/skills/aria-cognition/aria-harness-deploy/SKILL.md +145 -0
- package/skills/aria-cognition/aria-harness-no-stripping/SKILL.md +135 -0
- package/skills/aria-cognition/aria-harness-onboarding/SKILL.md +130 -0
- package/skills/aria-cognition/aria-harness-output-discipline/SKILL.md +120 -0
- package/skills/aria-cognition/aria-harness-substrate-binding/SKILL.md +139 -0
- package/skills/aria-cognition/aria-http-harness-client/SKILL.md +85 -0
- package/skills/aria-cognition/aria-http-harness-client/scripts/smoke.mjs +47 -0
- package/skills/aria-cognition/aria-k8s-deploy/SKILL.md +174 -0
- package/skills/aria-cognition/aria-k8s-deploy/agents/openai.yaml +3 -0
- package/skills/aria-cognition/aria-ladduniframe/SKILL.md +60 -0
- package/skills/aria-cognition/aria-ledger-fleet-execution/SKILL.md +126 -0
- package/skills/aria-cognition/aria-live-ops/SKILL.md +54 -0
- package/skills/aria-cognition/aria-mac-ssh-ops/SKILL.md +100 -0
- package/skills/aria-cognition/aria-memory-index/SKILL.md +42 -0
- package/skills/aria-cognition/aria-noor-cognitives/SKILL.md +120 -0
- package/skills/aria-cognition/aria-ops/SKILL.md +60 -0
- package/skills/aria-cognition/aria-ops/references/live-endpoints.md +59 -0
- package/skills/aria-cognition/aria-quality-audit/SKILL.md +133 -0
- package/skills/aria-cognition/aria-readable-output/SKILL.md +239 -0
- package/skills/aria-cognition/aria-readable-output/references/layout-cookbook.md +366 -0
- package/skills/aria-cognition/aria-reasoning/SKILL.md +67 -0
- package/skills/aria-cognition/aria-reasoning/references/core-principles.md +42 -0
- package/skills/aria-cognition/aria-repo-audit/SKILL.md +135 -0
- package/skills/aria-cognition/aria-repo-audit/references/repo-audit-cookbook.md +375 -0
- package/skills/aria-cognition/aria-research-orchestrator/SKILL.md +138 -0
- package/skills/aria-cognition/aria-research-orchestrator/references/research-patterns.md +270 -0
- package/skills/aria-cognition/aria-retention-engine/SKILL.md +120 -0
- package/skills/aria-cognition/aria-retention-engine/references/retention-cookbook.md +271 -0
- package/skills/aria-cognition/aria-revenue-engine/SKILL.md +128 -0
- package/skills/aria-cognition/aria-revenue-engine/references/revenue-cookbook.md +227 -0
- package/skills/aria-cognition/aria-senior-code-audit/SKILL.md +233 -0
- package/skills/aria-cognition/aria-senior-code-audit/references/audit-checklist.md +369 -0
- package/skills/aria-cognition/aria-senior-code-cookbook/SKILL.md +288 -0
- package/skills/aria-cognition/aria-senior-code-cookbook/references/engineering-cookbook.md +489 -0
- package/skills/aria-cognition/aria-soul-principles/SKILL.md +42 -0
- package/skills/aria-cognition/aria-task-codex-executor/SKILL.md +86 -0
- package/skills/aria-cognition/aristotle-engine/SKILL.md +42 -0
- package/skills/aria-cognition/cross-domain-24/SKILL.md +42 -0
- package/skills/aria-cognition/deepsoul-emotional/SKILL.md +42 -0
- package/skills/aria-cognition/fitrah-guard/SKILL.md +78 -0
- package/skills/aria-cognition/ghazali-8lens/SKILL.md +227 -29
- package/skills/aria-cognition/ghazali-8lens/references/ghazali-8lens-cookbook.md +797 -0
- package/skills/aria-cognition/ijtihad-novel/SKILL.md +42 -0
- package/skills/aria-cognition/ilham-intuition/SKILL.md +42 -0
- package/skills/aria-cognition/never-guess/SKILL.md +77 -0
- package/skills/aria-cognition/noor-recognition/SKILL.md +45 -0
- package/skills/aria-cognition/qiyas-analogy/SKILL.md +174 -14
- package/skills/aria-cognition/ruh-basis/SKILL.md +42 -0
- package/skills/aria-cognition/tadabbur/SKILL.md +506 -0
- package/skills/aria-cognition/tadabbur/references/tadabbur-cookbook.md +921 -0
- package/skills/aria-cognition/tadabbur-ops/SKILL.md +42 -0
- package/skills/aria-cognition/tafakkur/SKILL.md +104 -0
- package/skills/aria-cognition-autofire/SKILL.md +109 -0
- package/skills/aria-cognition-batch/SKILL.md +264 -0
- package/skills/aria-conversational-doctrine-discipline/SKILL.md +125 -0
- package/skills/aria-essence/SKILL.md +81 -0
- package/skills/aria-essence/references/domain-matrix.md +80 -0
- package/skills/aria-essence/references/evolution-loop.md +30 -0
- package/skills/aria-essence/references/readable-cognition.md +27 -0
- package/skills/aria-first-class-operating-contract/SKILL.md +104 -0
- package/skills/aria-forge-guardrails/SKILL.md +53 -0
- package/skills/aria-forge-guardrails/references/checklist.md +31 -0
- package/skills/aria-harness-deploy/SKILL.md +145 -0
- package/skills/aria-harness-no-stripping/SKILL.md +135 -0
- package/skills/aria-harness-onboarding/SKILL.md +130 -0
- package/skills/aria-harness-output-discipline/SKILL.md +120 -0
- package/skills/aria-harness-substrate-binding/SKILL.md +139 -0
- package/skills/aria-http-harness-client/SKILL.md +85 -0
- package/skills/aria-http-harness-client/scripts/smoke.mjs +47 -0
- package/skills/aria-k8s-deploy/SKILL.md +174 -0
- package/skills/aria-k8s-deploy/agents/openai.yaml +3 -0
- package/skills/aria-ladduniframe/SKILL.md +60 -0
- package/skills/aria-ledger-fleet-execution/SKILL.md +126 -0
- package/skills/aria-live-ops/SKILL.md +54 -0
- package/skills/aria-mac-ssh-ops/SKILL.md +100 -0
- package/skills/aria-memory-index/SKILL.md +42 -0
- package/skills/aria-noor-cognitives/SKILL.md +120 -0
- package/skills/aria-ops/SKILL.md +60 -0
- package/skills/aria-ops/references/live-endpoints.md +59 -0
- package/skills/aria-quality-audit/SKILL.md +133 -0
- package/skills/aria-reasoning/SKILL.md +67 -0
- package/skills/aria-reasoning/references/core-principles.md +42 -0
- package/skills/aria-repo-doctrine/SKILL.md +57 -0
- package/skills/aria-soul-principles/SKILL.md +42 -0
- package/skills/aria-task-codex-executor/SKILL.md +86 -0
- package/skills/aristotle-engine/SKILL.md +42 -0
- package/skills/ci-cd-pipeline/SKILL.md +116 -0
- package/skills/code-review/SKILL.md +131 -0
- package/skills/cross-domain-24/SKILL.md +42 -0
- package/skills/database-design/SKILL.md +124 -0
- package/skills/deepsoul-emotional/SKILL.md +42 -0
- package/skills/deno-kv-raft-pubsub/SKILL.md +561 -0
- package/skills/deno-kv-raft-pubsub/reference/maelstrom-integration.md +393 -0
- package/skills/deno-kv-raft-pubsub/reference/pubsub-api.md +376 -0
- package/skills/deno-kv-raft-pubsub/reference/raft-spec.md +402 -0
- package/skills/deno-kv-raft-pubsub/reference/state-machine.md +182 -0
- package/skills/error-handling/SKILL.md +159 -0
- package/skills/firecrawl/SKILL.md +165 -0
- package/skills/firecrawl/rules/install.md +82 -0
- package/skills/firecrawl/rules/security.md +26 -0
- package/skills/firecrawl-agent/SKILL.md +86 -0
- package/skills/firecrawl-build-interact/SKILL.md +96 -0
- package/skills/firecrawl-build-onboarding/SKILL.md +131 -0
- package/skills/firecrawl-build-onboarding/references/auth-flow.md +39 -0
- package/skills/firecrawl-build-onboarding/references/project-setup.md +20 -0
- package/skills/firecrawl-build-onboarding/references/sdk-installation.md +17 -0
- package/skills/firecrawl-build-scrape/SKILL.md +97 -0
- package/skills/firecrawl-build-search/SKILL.md +97 -0
- package/skills/firecrawl-clone/SKILL.md +419 -0
- package/skills/firecrawl-crawl/SKILL.md +87 -0
- package/skills/firecrawl-download/SKILL.md +98 -0
- package/skills/firecrawl-interact/SKILL.md +112 -0
- package/skills/firecrawl-map/SKILL.md +79 -0
- package/skills/firecrawl-scrape/SKILL.md +97 -0
- package/skills/firecrawl-search/SKILL.md +88 -0
- package/skills/fitrah-guard/SKILL.md +78 -0
- package/skills/forge-quality-rules/SKILL.md +61 -0
- package/skills/ghazali-8lens/SKILL.md +56 -0
- package/skills/ijtihad-novel/SKILL.md +42 -0
- package/skills/ilham-intuition/SKILL.md +42 -0
- package/skills/imagegen/LICENSE.txt +201 -0
- package/skills/imagegen/SKILL.md +374 -0
- package/skills/imagegen/agents/openai.yaml +6 -0
- package/skills/imagegen/assets/imagegen-small.svg +5 -0
- package/skills/imagegen/assets/imagegen.png +0 -0
- package/skills/imagegen/references/cli.md +242 -0
- package/skills/imagegen/references/codex-network.md +33 -0
- package/skills/imagegen/references/image-api.md +90 -0
- package/skills/imagegen/references/prompting.md +118 -0
- package/skills/imagegen/references/sample-prompts.md +433 -0
- package/skills/imagegen/scripts/image_gen.py +995 -0
- package/skills/imagegen/scripts/remove_chroma_key.py +440 -0
- package/skills/istiqra-induction/SKILL.md +44 -0
- package/skills/ladunni-22/SKILL.md +53 -0
- package/skills/mizan/SKILL.md +90 -0
- package/skills/nadia/SKILL.md +56 -0
- package/skills/nadia-psi/SKILL.md +56 -0
- package/skills/never-guess/SKILL.md +75 -0
- package/skills/noor-recognition/SKILL.md +45 -0
- package/skills/observability/SKILL.md +133 -0
- package/skills/openai-docs/LICENSE.txt +201 -0
- package/skills/openai-docs/SKILL.md +100 -0
- package/skills/openai-docs/agents/openai.yaml +14 -0
- package/skills/openai-docs/assets/openai-small.svg +3 -0
- package/skills/openai-docs/assets/openai.png +0 -0
- package/skills/openai-docs/references/latest-model.md +37 -0
- package/skills/openai-docs/references/prompting-guide.md +244 -0
- package/skills/openai-docs/references/upgrade-guide.md +181 -0
- package/skills/openai-docs/scripts/resolve-latest-model-info.js +147 -0
- package/skills/pdf/LICENSE.txt +201 -0
- package/skills/pdf/SKILL.md +85 -0
- package/skills/pdf/agents/openai.yaml +5 -0
- package/skills/pdf/assets/pdf.png +0 -0
- package/skills/playwright/LICENSE.txt +201 -0
- package/skills/playwright/NOTICE.txt +14 -0
- package/skills/playwright/SKILL.md +165 -0
- package/skills/playwright/agents/openai.yaml +6 -0
- package/skills/playwright/assets/playwright-small.svg +3 -0
- package/skills/playwright/assets/playwright.png +0 -0
- package/skills/playwright/references/cli.md +116 -0
- package/skills/playwright/references/workflows.md +95 -0
- package/skills/playwright/scripts/playwright_cli.sh +25 -0
- package/skills/plugin-creator/SKILL.md +178 -0
- package/skills/plugin-creator/agents/openai.yaml +6 -0
- package/skills/plugin-creator/assets/plugin-creator-small.svg +3 -0
- package/skills/plugin-creator/assets/plugin-creator.png +0 -0
- package/skills/plugin-creator/references/plugin-json-spec.md +170 -0
- package/skills/plugin-creator/scripts/create_basic_plugin.py +301 -0
- package/skills/predictor/SKILL.md +43 -0
- package/skills/qiyas-analogy/SKILL.md +204 -0
- package/skills/refactoring/SKILL.md +137 -0
- package/skills/ruh-basis/SKILL.md +42 -0
- package/skills/security-review/SKILL.md +129 -0
- package/skills/skill-creator/SKILL.md +434 -0
- package/skills/skill-creator/agents/openai.yaml +5 -0
- package/skills/skill-creator/assets/skill-creator-small.svg +3 -0
- package/skills/skill-creator/assets/skill-creator.png +0 -0
- package/skills/skill-creator/license.txt +202 -0
- package/skills/skill-creator/references/openai_yaml.md +49 -0
- package/skills/skill-creator/scripts/generate_openai_yaml.py +226 -0
- package/skills/skill-creator/scripts/init_skill.py +400 -0
- package/skills/skill-creator/scripts/quick_validate.py +101 -0
- package/skills/skill-installer/LICENSE.txt +202 -0
- package/skills/skill-installer/SKILL.md +76 -0
- package/skills/skill-installer/agents/openai.yaml +5 -0
- package/skills/skill-installer/assets/skill-installer-small.svg +3 -0
- package/skills/skill-installer/assets/skill-installer.png +0 -0
- package/skills/skill-installer/scripts/github_utils.py +21 -0
- package/skills/skill-installer/scripts/install-skill-from-github.py +308 -0
- package/skills/skill-installer/scripts/list-skills.py +107 -0
- package/skills/skills-and-hooks-reference/SKILL.md +196 -0
- package/skills/soul-domains/SKILL.md +43 -0
- package/skills/tadabbur/SKILL.md +232 -0
- package/skills/tadabbur-ops/SKILL.md +42 -0
- package/skills/tafakkur/SKILL.md +104 -0
- package/skills/testing-strategy/SKILL.md +122 -0
- package/src/action-ledger-core.ts +1054 -0
- package/src/chat.ts +5 -6
- package/src/codebase-scanner.ts +2 -0
- package/src/connectors/claude-code.ts +149 -12
- package/src/connectors/codebase-awareness.ts +325 -25
- package/src/connectors/codex.ts +1273 -40
- package/src/connectors/cursor.ts +8 -0
- package/src/connectors/governed-adapter.ts +174 -0
- package/src/connectors/opencode.ts +18 -2
- package/src/connectors/repo-guard.ts +24 -12
- package/src/connectors/runtime.ts +99 -2
- package/src/connectors/shell.ts +125 -7
- package/src/cross-cli-hive-binding.ts +290 -0
- package/src/garden-control-plane.ts +24 -1
- package/src/governed-surface-runner.ts +1227 -0
- package/src/index.ts +104 -1
- package/src/task-runner.ts +3794 -0
- package/dist/aria-connector/src/install-hooks.d.ts +0 -18
- package/dist/aria-connector/src/install-hooks.d.ts.map +0 -1
- package/dist/aria-connector/src/install-hooks.js +0 -224
- package/dist/aria-connector/src/install-hooks.js.map +0 -1
- package/dist/aria-connector/src/onboarding-wizard.d.ts +0 -5
- package/dist/aria-connector/src/onboarding-wizard.d.ts.map +0 -1
- package/dist/aria-connector/src/onboarding-wizard.js +0 -188
- package/dist/aria-connector/src/onboarding-wizard.js.map +0 -1
- package/dist/cli-0.2.38.tgz +0 -0
- package/dist/install.sh +0 -13
- package/src/__tests__/anthropic-oauth.test.ts +0 -186
- package/src/__tests__/auth-commands.test.ts +0 -132
- package/src/__tests__/owner-login.test.ts +0 -311
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: firecrawl-clone
|
|
3
|
+
description: |
|
|
4
|
+
Clone any website as-is — an exact replica preserving original design, layout, HTML structure, CSS, JavaScript, images, fonts, and all assets. Use this skill when the user wants to "clone a website", "copy a site as-is", "create an exact replica", "mirror a website", "rip a site", "make a local copy with design intact", or "download a website with all assets". Handles JS-rendered SPAs, multi-page sites, and rewrites all resource URLs to local relative paths. Do NOT use for content-only extraction (use firecrawl-download or firecrawl-scrape instead).
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Bash(firecrawl *)
|
|
7
|
+
- Bash(curl *)
|
|
8
|
+
- Bash(mkdir *)
|
|
9
|
+
- Bash(grep *)
|
|
10
|
+
- Bash(sed *)
|
|
11
|
+
- Bash(find *)
|
|
12
|
+
- Bash(ls *)
|
|
13
|
+
- Bash(wc *)
|
|
14
|
+
- Bash(cat *)
|
|
15
|
+
- Bash(cp *)
|
|
16
|
+
- Bash(mv *)
|
|
17
|
+
- Bash(rm *)
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# firecrawl-clone
|
|
21
|
+
|
|
22
|
+
Create an exact replica of any website — HTML structure, CSS, JavaScript, images, fonts, and all assets — locally organized as a fully functional static copy.
|
|
23
|
+
|
|
24
|
+
## What I Do
|
|
25
|
+
|
|
26
|
+
- Extract the complete raw HTML of every page (including JS-rendered SPAs)
|
|
27
|
+
- Discover and download every external resource: stylesheets, scripts, images, fonts, favicons, and media
|
|
28
|
+
- Parse CSS files for nested `url()` references (background images, font files)
|
|
29
|
+
- Rewrite all remote URLs to local relative paths so the clone works offline
|
|
30
|
+
- Recreate the site's directory structure with proper asset organization
|
|
31
|
+
- Handle multi-page sites by mapping all URLs and deduplicating shared assets
|
|
32
|
+
|
|
33
|
+
## When to Use Me
|
|
34
|
+
|
|
35
|
+
Trigger phrases:
|
|
36
|
+
- "clone this website"
|
|
37
|
+
- "copy this site as-is"
|
|
38
|
+
- "create an exact replica of"
|
|
39
|
+
- "mirror this website"
|
|
40
|
+
- "rip this site"
|
|
41
|
+
- "download with all assets"
|
|
42
|
+
- "make a local copy with design intact"
|
|
43
|
+
- "save this website locally with CSS and images"
|
|
44
|
+
- "create an offline copy of"
|
|
45
|
+
|
|
46
|
+
## When NOT to Use Me
|
|
47
|
+
|
|
48
|
+
- **Content-only extraction** — use `firecrawl-scrape` or `firecrawl-download` for markdown/content
|
|
49
|
+
- **Single-page markdown** — use `firecrawl-scrape` for clean text extraction
|
|
50
|
+
- **Bulk markdown extraction** — use `firecrawl-crawl` for structured content extraction
|
|
51
|
+
- **Just discovering URLs** — use `firecrawl-map` for URL discovery only
|
|
52
|
+
- **Interacting with pages** — use `firecrawl-interact` for clicks, forms, login flows
|
|
53
|
+
- **Structured data extraction** — use `firecrawl-agent` for JSON schema extraction
|
|
54
|
+
|
|
55
|
+
## Architecture
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
┌─────────────────────────────────────────────────────────┐
|
|
59
|
+
│ CLONE PIPELINE │
|
|
60
|
+
├───────────┬───────────┬────────────┬────────────────────┤
|
|
61
|
+
│ DISCOVER │ EXTRACT │ HARVEST │ REWRITE & ASSEMBLE │
|
|
62
|
+
│ (map) │ (scrape) │ (parse + │ (path rewriting + │
|
|
63
|
+
│ │ rawHtml │ curl) │ dir structure) │
|
|
64
|
+
└───────────┴───────────┴────────────┴────────────────────┘
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Phase 1 — DISCOVER: Map all pages
|
|
68
|
+
|
|
69
|
+
For multi-page sites, use `firecrawl map` to discover every URL on the target domain. For single-page clones, skip to Phase 2.
|
|
70
|
+
|
|
71
|
+
### Phase 2 — EXTRACT: Get raw HTML per page
|
|
72
|
+
|
|
73
|
+
Use `firecrawl scrape --format rawHtml` on every page to get the complete, unmodified HTML source. This captures JS-rendered content that `wget --mirror` misses.
|
|
74
|
+
|
|
75
|
+
### Phase 3 — HARVEST: Discover and download all assets
|
|
76
|
+
|
|
77
|
+
Parse each HTML file for external resource references:
|
|
78
|
+
- `<link href="...">` — stylesheets, favicons, preloads
|
|
79
|
+
- `<script src="...">` — JavaScript files
|
|
80
|
+
- `<img src="...">` and `<source srcset="...">` — images
|
|
81
|
+
- `<video src="...">`, `<audio src="...">` — media
|
|
82
|
+
- CSS `url(...)` — background images, fonts, SVGs inside stylesheets
|
|
83
|
+
|
|
84
|
+
Download every discovered asset with `curl`, preserving the original filename and organizing by type.
|
|
85
|
+
|
|
86
|
+
### Phase 4 — REWRITE & ASSEMBLE: Local paths + directory structure
|
|
87
|
+
|
|
88
|
+
Replace every remote URL in the HTML with a local relative path. Recreate the site's directory tree under `firecrawl-clone/<domain>/`:
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
firecrawl-clone/<domain>/
|
|
92
|
+
├── index.html
|
|
93
|
+
├── about/
|
|
94
|
+
│ └── index.html
|
|
95
|
+
├── assets/
|
|
96
|
+
│ ├── css/
|
|
97
|
+
│ │ ├── main.a1b2c3.css
|
|
98
|
+
│ │ └── vendor.d4e5f6.css
|
|
99
|
+
│ ├── js/
|
|
100
|
+
│ │ ├── app.g7h8i9.js
|
|
101
|
+
│ │ └── vendor.j0k1l2.js
|
|
102
|
+
│ ├── images/
|
|
103
|
+
│ │ ├── hero.webp
|
|
104
|
+
│ │ └── logo.svg
|
|
105
|
+
│ ├── fonts/
|
|
106
|
+
│ │ ├── inter-regular.woff2
|
|
107
|
+
│ │ └── inter-bold.woff2
|
|
108
|
+
│ └── media/
|
|
109
|
+
│ └── intro.mp4
|
|
110
|
+
└── other-pages/
|
|
111
|
+
└── ...
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Single-Page Clone Workflow
|
|
115
|
+
|
|
116
|
+
### Step 1: Create the output directory
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
mkdir -p firecrawl-clone/<domain>/assets/{css,js,images,fonts,media}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Step 2: Scrape the raw HTML
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
firecrawl scrape "https://<target-url>" --format rawHtml -o firecrawl-clone/<domain>/index.html
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
If the page is JS-rendered, add `--wait-for <ms>`:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
firecrawl scrape "https://<target-url>" --format rawHtml --wait-for 3000 -o firecrawl-clone/<domain>/index.html
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Step 3: Parse and download all external resources
|
|
135
|
+
|
|
136
|
+
Extract every resource URL from the HTML. Run these discovery commands:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
# Discover all external resource URLs
|
|
140
|
+
grep -oP '(src|href)=["'\''](https?://[^"'\''\s>]+)["'\'']' firecrawl-clone/<domain>/index.html | grep -oP 'https?://[^"'\''\s>]+' | sort -u > firecrawl-clone/<domain>/_resource-urls.txt
|
|
141
|
+
|
|
142
|
+
# Also find srcset, poster, data-src, and other lazy-loaded attributes
|
|
143
|
+
grep -oP '(srcset|poster|data-src|data-bg|content)=["'\''](https?://[^"'\''\s>]+)["'\'']' firecrawl-clone/<domain>/index.html | grep -oP 'https?://[^"'\''\s>]+' | sort -u >> firecrawl-clone/<domain>/_resource-urls.txt
|
|
144
|
+
|
|
145
|
+
# Deduplicate
|
|
146
|
+
sort -u firecrawl-clone/<domain>/_resource-urls.txt -o firecrawl-clone/<domain>/_resource-urls.txt
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Download each resource, classifying by type:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
while IFS= read -r url; do
|
|
153
|
+
# Skip non-asset URLs (other HTML pages, anchors, mailto, etc.)
|
|
154
|
+
ext="${url##*.}"
|
|
155
|
+
ext="${ext%%\?*}" # strip query params
|
|
156
|
+
|
|
157
|
+
case "$ext" in
|
|
158
|
+
css)
|
|
159
|
+
curl -sL "$url" -o "firecrawl-clone/<domain>/assets/css/$(basename "$url")"
|
|
160
|
+
;;
|
|
161
|
+
js|mjs)
|
|
162
|
+
curl -sL "$url" -o "firecrawl-clone/<domain>/assets/js/$(basename "$url")"
|
|
163
|
+
;;
|
|
164
|
+
png|jpg|jpeg|gif|svg|webp|ico|avif|bmp|tiff)
|
|
165
|
+
curl -sL "$url" -o "firecrawl-clone/<domain>/assets/images/$(basename "$url")"
|
|
166
|
+
;;
|
|
167
|
+
woff|woff2|ttf|otf|eot)
|
|
168
|
+
curl -sL "$url" -o "firecrawl-clone/<domain>/assets/fonts/$(basename "$url")"
|
|
169
|
+
;;
|
|
170
|
+
mp4|webm|ogg|mp3|wav|mov|avi)
|
|
171
|
+
curl -sL "$url" -o "firecrawl-clone/<domain>/assets/media/$(basename "$url")"
|
|
172
|
+
;;
|
|
173
|
+
*)
|
|
174
|
+
# Unknown type — save by original path structure
|
|
175
|
+
mkdir -p "firecrawl-clone/<domain>/$(dirname "${url#https://}")"
|
|
176
|
+
curl -sL "$url" -o "firecrawl-clone/<domain>/${url#https://}"
|
|
177
|
+
;;
|
|
178
|
+
esac
|
|
179
|
+
done < firecrawl-clone/<domain>/_resource-urls.txt
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Step 4: Rewrite URLs in HTML to local paths
|
|
183
|
+
|
|
184
|
+
Replace every remote asset URL with its local equivalent. Work through each asset URL found:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
while IFS= read -r url; do
|
|
188
|
+
ext="${url##*.}"
|
|
189
|
+
ext="${ext%%\?*}"
|
|
190
|
+
local_path=""
|
|
191
|
+
|
|
192
|
+
case "$ext" in
|
|
193
|
+
css) local_path="assets/css/$(basename "$url")" ;;
|
|
194
|
+
js|mjs) local_path="assets/js/$(basename "$url")" ;;
|
|
195
|
+
png|jpg|jpeg|gif|svg|webp|ico|avif|bmp|tiff)
|
|
196
|
+
local_path="assets/images/$(basename "$url")" ;;
|
|
197
|
+
woff|woff2|ttf|otf|eot)
|
|
198
|
+
local_path="assets/fonts/$(basename "$url")" ;;
|
|
199
|
+
mp4|webm|ogg|mp3|wav|mov|avi)
|
|
200
|
+
local_path="assets/media/$(basename "$url")" ;;
|
|
201
|
+
esac
|
|
202
|
+
|
|
203
|
+
if [ -n "$local_path" ]; then
|
|
204
|
+
# Escape URL for sed
|
|
205
|
+
escaped_url=$(echo "$url" | sed 's/[\/&]/\\&/g')
|
|
206
|
+
sed -i "s|$escaped_url|$local_path|g" firecrawl-clone/<domain>/index.html
|
|
207
|
+
fi
|
|
208
|
+
done < firecrawl-clone/<domain>/_resource-urls.txt
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Step 5: Parse downloaded CSS for additional url() references
|
|
212
|
+
|
|
213
|
+
CSS files often reference fonts, background images, and other assets via `url()`. Process every downloaded CSS:
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
for css_file in firecrawl-clone/<domain>/assets/css/*.css; do
|
|
217
|
+
[ -f "$css_file" ] || continue
|
|
218
|
+
|
|
219
|
+
# Extract url() references
|
|
220
|
+
grep -oP 'url\(["'\''"]?(https?://[^"'\''\)]+)["'\''"]?\)' "$css_file" | \
|
|
221
|
+
grep -oP 'https?://[^"'\''\)]+' | sort -u | \
|
|
222
|
+
while IFS= read -r asset_url; do
|
|
223
|
+
# Download the CSS-referenced asset
|
|
224
|
+
asset_ext="${asset_url##*.}"
|
|
225
|
+
asset_ext="${asset_ext%%\?*}"
|
|
226
|
+
|
|
227
|
+
case "$asset_ext" in
|
|
228
|
+
woff|woff2|ttf|otf|eot)
|
|
229
|
+
curl -sL "$asset_url" -o "firecrawl-clone/<domain>/assets/fonts/$(basename "$asset_url")"
|
|
230
|
+
# Rewrite url() in CSS
|
|
231
|
+
escaped_url=$(echo "$asset_url" | sed 's/[\/&]/\\&/g')
|
|
232
|
+
sed -i "s|$escaped_url|../fonts/$(basename "$asset_url")|g" "$css_file"
|
|
233
|
+
;;
|
|
234
|
+
png|jpg|jpeg|gif|svg|webp|ico|avif)
|
|
235
|
+
curl -sL "$asset_url" -o "firecrawl-clone/<domain>/assets/images/$(basename "$asset_url")"
|
|
236
|
+
escaped_url=$(echo "$asset_url" | sed 's/[\/&]/\\&/g')
|
|
237
|
+
sed -i "s|$escaped_url|../images/$(basename "$asset_url")|g" "$css_file"
|
|
238
|
+
;;
|
|
239
|
+
esac
|
|
240
|
+
done
|
|
241
|
+
done
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Step 6: Clean up temporary files
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
rm -f firecrawl-clone/<domain>/_resource-urls.txt
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Step 7: Verify the clone
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
echo "=== Clone Summary ==="
|
|
254
|
+
echo "Pages: $(find firecrawl-clone/<domain> -name '*.html' | wc -l)"
|
|
255
|
+
echo "CSS: $(find firecrawl-clone/<domain>/assets/css -type f 2>/dev/null | wc -l)"
|
|
256
|
+
echo "JS: $(find firecrawl-clone/<domain>/assets/js -type f 2>/dev/null | wc -l)"
|
|
257
|
+
echo "Images: $(find firecrawl-clone/<domain>/assets/images -type f 2>/dev/null | wc -l)"
|
|
258
|
+
echo "Fonts: $(find firecrawl-clone/<domain>/assets/fonts -type f 2>/dev/null | wc -l)"
|
|
259
|
+
echo "Output: firecrawl-clone/<domain>/"
|
|
260
|
+
echo ""
|
|
261
|
+
echo "Open in browser: file://$(pwd)/firecrawl-clone/<domain>/index.html"
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
## Multi-Page Clone Workflow
|
|
265
|
+
|
|
266
|
+
For cloning an entire site (not just one page):
|
|
267
|
+
|
|
268
|
+
### Step 1: Map the entire site
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
firecrawl map "https://<domain>" --limit 100 -o firecrawl-clone/<domain>/_urls.json
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Extract URLs from the map output:
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
jq -r '.links[]' firecrawl-clone/<domain>/_urls.json > firecrawl-clone/<domain>/_page-urls.txt
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Step 2: Scrape every page
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
mkdir -p firecrawl-clone/<domain>/assets/{css,js,images,fonts,media}
|
|
284
|
+
|
|
285
|
+
while IFS= read -r page_url; do
|
|
286
|
+
# Determine local file path from URL structure
|
|
287
|
+
local_path="${page_url#https://}"
|
|
288
|
+
local_path="${local_path#http://}"
|
|
289
|
+
[ -z "$local_path" ] && local_path="index.html"
|
|
290
|
+
[[ "$local_path" != *"."* ]] && local_path="${local_path%/}/index.html"
|
|
291
|
+
|
|
292
|
+
mkdir -p "firecrawl-clone/<domain>/$(dirname "$local_path")"
|
|
293
|
+
firecrawl scrape "$page_url" --format rawHtml -o "firecrawl-clone/<domain>/$local_path"
|
|
294
|
+
done < firecrawl-clone/<domain>/_page-urls.txt
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### Step 3: Harvest assets globally (deduplicated across all pages)
|
|
298
|
+
|
|
299
|
+
Parse all HTML files to build a unified list of resource URLs:
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
cat firecrawl-clone/<domain>/**/*.html 2>/dev/null | \
|
|
303
|
+
grep -oP '(src|href)=["'\''](https?://[^"'\''\s>]+)["'\'']' | \
|
|
304
|
+
grep -oP 'https?://[^"'\''\s>]+' | \
|
|
305
|
+
grep -v "$domain" | \
|
|
306
|
+
sort -u > firecrawl-clone/<domain>/_all-resources.txt
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
Download and rewrite as in the single-page workflow, but apply rewrites across all HTML files.
|
|
310
|
+
|
|
311
|
+
### Step 4: Clean up and verify
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
rm -f firecrawl-clone/<domain>/_*.txt firecrawl-clone/<domain>/_*.json
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## Edge Cases & Handling
|
|
318
|
+
|
|
319
|
+
### JS-Rendered SPAs (React, Vue, Angular, Next.js, Svelte)
|
|
320
|
+
Add `--wait-for <ms>` to the scrape command. For heavily dynamic pages, increase to 5000+ ms:
|
|
321
|
+
```bash
|
|
322
|
+
firecrawl scrape "<url>" --format rawHtml --wait-for 5000 -o <output>
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### CDN-hosted assets (cdn.example.com, cloudfront, etc.)
|
|
326
|
+
CDN URLs are treated like any other external URL — downloaded and rewritten locally. The `grep` pattern captures ALL `https?://` URLs regardless of domain.
|
|
327
|
+
|
|
328
|
+
### Inline SVGs and data: URIs
|
|
329
|
+
Data URIs (`data:image/svg+xml;base64,...`) are already self-contained in the HTML. No download needed. They pass through untouched.
|
|
330
|
+
|
|
331
|
+
### Lazy-loaded images (data-src, data-bg, loading="lazy")
|
|
332
|
+
The Phase 3 discovery step includes `data-src`, `data-bg`, `poster`, and `srcset` attributes to catch lazy-loaded and art-directed images.
|
|
333
|
+
|
|
334
|
+
### Web fonts (Google Fonts, Adobe Fonts, etc.)
|
|
335
|
+
Google Fonts CSS includes `@font-face` with `url()` references to actual font files. Phase 5 (CSS parsing) catches these. For Google Fonts specifically, the CSS file itself is downloaded as a stylesheet, and its `url()` references to `.woff2` files are downloaded as fonts.
|
|
336
|
+
|
|
337
|
+
### Relative URLs in the original HTML
|
|
338
|
+
Relative URLs that point to same-domain resources (e.g., `/images/logo.png`) need to be resolved to absolute URLs before downloading. Prepend the base domain:
|
|
339
|
+
|
|
340
|
+
```bash
|
|
341
|
+
# For relative URLs starting with /
|
|
342
|
+
if [[ "$url" == /* ]]; then
|
|
343
|
+
url="https://<domain>$url"
|
|
344
|
+
fi
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Authentication-required pages
|
|
348
|
+
For sites requiring login, use `firecrawl-interact` first to authenticate, then use the resulting session for cloning. See [firecrawl-interact](../firecrawl-interact/SKILL.md).
|
|
349
|
+
|
|
350
|
+
### Failed asset downloads
|
|
351
|
+
Assets that return 404 or are blocked should be logged but not cause the pipeline to fail:
|
|
352
|
+
|
|
353
|
+
```bash
|
|
354
|
+
curl -sL --max-time 10 "$url" -o "$local_path" || echo "FAILED: $url" >> firecrawl-clone/<domain>/_failed.txt
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
Review `_failed.txt` after cloning to identify missing assets.
|
|
358
|
+
|
|
359
|
+
### Very large sites
|
|
360
|
+
Set a page limit with `firecrawl map --limit <n>` and warn the user about credit usage before beginning:
|
|
361
|
+
```bash
|
|
362
|
+
firecrawl credit-usage
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
## Credits Consideration
|
|
366
|
+
|
|
367
|
+
Each `firecrawl scrape` call with `rawHtml` costs 1 credit. Multi-page clones multiply this:
|
|
368
|
+
- Single page: ~1 credit + curl bandwidth
|
|
369
|
+
- 10-page site: ~10 credits
|
|
370
|
+
- 100-page site: ~100 credits
|
|
371
|
+
|
|
372
|
+
Check credit balance before large clones:
|
|
373
|
+
```bash
|
|
374
|
+
firecrawl credit-usage
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
## Comparison with wget --mirror
|
|
378
|
+
|
|
379
|
+
| Concern | `wget --mirror` | `firecrawl-clone` |
|
|
380
|
+
|---------|----------------|-------------------|
|
|
381
|
+
| JS-rendered SPAs | ❌ Gets empty `<div id="root">` | ✅ `--wait-for` renders JS first |
|
|
382
|
+
| Authentication | ❌ Basic auth only | ✅ Use `firecrawl-interact` for login flows |
|
|
383
|
+
| CORS-blocked assets | ❌ Blocked | ✅ Server-side fetch bypasses CORS |
|
|
384
|
+
| Rate limiting | ❌ Can trigger blocks | ✅ Firecrawl handles rate limits |
|
|
385
|
+
| Asset deduplication | ✅ Built-in | ✅ Manual dedup via sort -u |
|
|
386
|
+
| CSS url() parsing | ❌ Not handled | ✅ Phase 5 parses and downloads |
|
|
387
|
+
|
|
388
|
+
## See Also
|
|
389
|
+
|
|
390
|
+
- [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — extract raw HTML from individual pages
|
|
391
|
+
- [firecrawl-map](../firecrawl-map/SKILL.md) — discover all URLs on a domain
|
|
392
|
+
- [firecrawl-interact](../firecrawl-interact/SKILL.md) — authenticate and interact with pages before cloning
|
|
393
|
+
- [firecrawl-download](../firecrawl-download/SKILL.md) — download site content as markdown (not a replica)
|
|
394
|
+
- [firecrawl-crawl](../firecrawl-crawl/SKILL.md) — bulk content extraction as JSON
|
|
395
|
+
## Workflow
|
|
396
|
+
|
|
397
|
+
1. Classify the request as search, scrape, crawl, map, download, interact, clone, or product integration before taking action.
|
|
398
|
+
2. Preserve the owner goal and scope: target URL/query, depth, output format, auth/profile needs, and what must not be touched.
|
|
399
|
+
3. Use the real Firecrawl runtime/CLI/API path for the selected capability; do not fabricate page content, screenshots, links, or structured fields.
|
|
400
|
+
4. Validate the result against the requested shape: markdown/content quality, URL coverage, schema fields, pagination/auth interaction, local files, or product integration behavior.
|
|
401
|
+
5. If the result is incomplete, emit a redo contract: missing data, next Firecrawl action, re-test command/probe, and architect/ARIA console escalation if the same failure repeats.
|
|
402
|
+
|
|
403
|
+
## First-Class Production Contract
|
|
404
|
+
|
|
405
|
+
This skill must deepen the work, not decorate it. When loaded, apply it as a production requirement:
|
|
406
|
+
|
|
407
|
+
- no placeholders, no fake fallbacks, no vague future wiring, and no cosmetic compliance
|
|
408
|
+
- real proof from the repo, runtime, tests, logs, endpoint, or owner instruction before any completion claim
|
|
409
|
+
- a redo contract whenever the skill blocks or finds a gap: what failed, what to change, how to re-test, and when to re-submit
|
|
410
|
+
- architect/ARIA console escalation when the same failure repeats twice, crosses system boundaries, or cannot be verified locally
|
|
411
|
+
- owner-visible output that states the exact state of the work: changed, verified, blocked, or needing a decision
|
|
412
|
+
## Self-Executing Recovery Contract
|
|
413
|
+
|
|
414
|
+
When this skill blocks, fails verification, or finds a gap, the agent must execute recovery rather than hand work back as a user-only decision.
|
|
415
|
+
|
|
416
|
+
- Make exactly one self-executed recovery attempt using the strongest safe local, repository, runtime, test, log, endpoint, or owner-provided evidence available.
|
|
417
|
+
- If the same failure repeats after that one recovery attempt, switch to architect execution mode: operate under the architect/ARIA harness to diagnose, choose the next action, execute the repair path, and verify the result.
|
|
418
|
+
- If Aria or the architect service is unavailable, fall back to the strongest available client LLM under the architect harness or strongest available local harness substrate; mark the fallback explicitly and continue recovery instead of stopping.
|
|
419
|
+
- Do not end with user-handoff-only behavior. If blocked after the recovery path, report the executed recovery attempt, evidence, remaining blocker, and the next concrete action or owner decision needed; do not merely ask the user to take over.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: firecrawl-crawl
|
|
3
|
+
description: |
|
|
4
|
+
Bulk extract content from an entire website or site section. Use this skill when the user wants to crawl a site, extract all pages from a docs section, bulk-scrape multiple pages following links, or says "crawl", "get all the pages", "extract everything under /docs", "bulk extract", or needs content from many pages on the same site. Handles depth limits, path filtering, and concurrent extraction.
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Bash(firecrawl *)
|
|
7
|
+
- Bash(npx firecrawl *)
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# firecrawl crawl
|
|
11
|
+
|
|
12
|
+
Bulk extract content from a website. Crawls pages following links up to a depth/limit.
|
|
13
|
+
|
|
14
|
+
## When to use
|
|
15
|
+
|
|
16
|
+
- You need content from many pages on a site (e.g., all `/docs/`)
|
|
17
|
+
- You want to extract an entire site section
|
|
18
|
+
- Step 4 in the [workflow escalation pattern](firecrawl-cli): search → scrape → map → **crawl** → interact
|
|
19
|
+
|
|
20
|
+
## Quick start
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Crawl a docs section
|
|
24
|
+
firecrawl crawl "<url>" --include-paths /docs --limit 50 --wait -o .firecrawl/crawl.json
|
|
25
|
+
|
|
26
|
+
# Full crawl with depth limit
|
|
27
|
+
firecrawl crawl "<url>" --max-depth 3 --wait --progress -o .firecrawl/crawl.json
|
|
28
|
+
|
|
29
|
+
# Check status of a running crawl
|
|
30
|
+
firecrawl crawl <job-id>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Options
|
|
34
|
+
|
|
35
|
+
| Option | Description |
|
|
36
|
+
| ------------------------- | ------------------------------------------- |
|
|
37
|
+
| `--wait` | Wait for crawl to complete before returning |
|
|
38
|
+
| `--progress` | Show progress while waiting |
|
|
39
|
+
| `--limit <n>` | Max pages to crawl |
|
|
40
|
+
| `--max-depth <n>` | Max link depth to follow |
|
|
41
|
+
| `--include-paths <paths>` | Only crawl URLs matching these paths |
|
|
42
|
+
| `--exclude-paths <paths>` | Skip URLs matching these paths |
|
|
43
|
+
| `--delay <ms>` | Delay between requests |
|
|
44
|
+
| `--max-concurrency <n>` | Max parallel crawl workers |
|
|
45
|
+
| `--pretty` | Pretty print JSON output |
|
|
46
|
+
| `-o, --output <path>` | Output file path |
|
|
47
|
+
|
|
48
|
+
## Tips
|
|
49
|
+
|
|
50
|
+
- Always use `--wait` when you need the results immediately. Without it, crawl returns a job ID for async polling.
|
|
51
|
+
- Use `--include-paths` to scope the crawl — don't crawl an entire site when you only need one section.
|
|
52
|
+
- Crawl consumes credits per page. Check `firecrawl credit-usage` before large crawls.
|
|
53
|
+
|
|
54
|
+
## See also
|
|
55
|
+
|
|
56
|
+
- [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — scrape individual pages
|
|
57
|
+
- [firecrawl-map](../firecrawl-map/SKILL.md) — discover URLs before deciding to crawl
|
|
58
|
+
- [firecrawl-download](../firecrawl-download/SKILL.md) — download site to local files (uses map + scrape)
|
|
59
|
+
## Trigger
|
|
60
|
+
|
|
61
|
+
Use when the owner asks for this skill's described Firecrawl capability, when the current task needs web discovery/extraction/interaction beyond local files, or when a URL/query/data-extraction flow would otherwise be guessed from memory. Do not use for local repo edits unless the product code is explicitly integrating Firecrawl.
|
|
62
|
+
|
|
63
|
+
## Workflow
|
|
64
|
+
|
|
65
|
+
1. Classify the request as search, scrape, crawl, map, download, interact, clone, or product integration before taking action.
|
|
66
|
+
2. Preserve the owner goal and scope: target URL/query, depth, output format, auth/profile needs, and what must not be touched.
|
|
67
|
+
3. Use the real Firecrawl runtime/CLI/API path for the selected capability; do not fabricate page content, screenshots, links, or structured fields.
|
|
68
|
+
4. Validate the result against the requested shape: markdown/content quality, URL coverage, schema fields, pagination/auth interaction, local files, or product integration behavior.
|
|
69
|
+
5. If the result is incomplete, emit a redo contract: missing data, next Firecrawl action, re-test command/probe, and architect/ARIA console escalation if the same failure repeats.
|
|
70
|
+
|
|
71
|
+
## First-Class Production Contract
|
|
72
|
+
|
|
73
|
+
This skill must deepen the work, not decorate it. When loaded, apply it as a production requirement:
|
|
74
|
+
|
|
75
|
+
- no placeholders, no fake fallbacks, no vague future wiring, and no cosmetic compliance
|
|
76
|
+
- real proof from the repo, runtime, tests, logs, endpoint, or owner instruction before any completion claim
|
|
77
|
+
- a redo contract whenever the skill blocks or finds a gap: what failed, what to change, how to re-test, and when to re-submit
|
|
78
|
+
- architect/ARIA console escalation when the same failure repeats twice, crosses system boundaries, or cannot be verified locally
|
|
79
|
+
- owner-visible output that states the exact state of the work: changed, verified, blocked, or needing a decision
|
|
80
|
+
## Self-Executing Recovery Contract
|
|
81
|
+
|
|
82
|
+
When this skill blocks, fails verification, or finds a gap, the agent must execute recovery rather than hand work back as a user-only decision.
|
|
83
|
+
|
|
84
|
+
- Make exactly one self-executed recovery attempt using the strongest safe local, repository, runtime, test, log, endpoint, or owner-provided evidence available.
|
|
85
|
+
- If the same failure repeats after that one recovery attempt, switch to architect execution mode: operate under the architect/ARIA harness to diagnose, choose the next action, execute the repair path, and verify the result.
|
|
86
|
+
- If Aria or the architect service is unavailable, fall back to the strongest available client LLM under the architect harness or strongest available local harness substrate; mark the fallback explicitly and continue recovery instead of stopping.
|
|
87
|
+
- Do not end with user-handoff-only behavior. If blocked after the recovery path, report the executed recovery attempt, evidence, remaining blocker, and the next concrete action or owner decision needed; do not merely ask the user to take over.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: firecrawl-download
|
|
3
|
+
description: |
|
|
4
|
+
Download an entire website as local files — markdown, screenshots, or multiple formats per page. Use this skill when the user wants to save a site locally, download documentation for offline use, bulk-save pages as files, or says "download the site", "save as local files", "offline copy", "download all the docs", or "save for reference". Combines site mapping and scraping into organized local directories.
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Bash(firecrawl *)
|
|
7
|
+
- Bash(npx firecrawl *)
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# firecrawl download
|
|
11
|
+
|
|
12
|
+
> **Experimental.** Convenience command that combines `map` + `scrape` to save an entire site as local files.
|
|
13
|
+
|
|
14
|
+
Maps the site first to discover pages, then scrapes each one into nested directories under `.firecrawl/`. All scrape options work with download. Always pass `-y` to skip the confirmation prompt.
|
|
15
|
+
|
|
16
|
+
## When to use
|
|
17
|
+
|
|
18
|
+
- You want to save an entire site (or section) to local files
|
|
19
|
+
- You need offline access to documentation or content
|
|
20
|
+
- Bulk content extraction with organized file structure
|
|
21
|
+
|
|
22
|
+
## Quick start
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Interactive wizard (picks format, screenshots, paths for you)
|
|
26
|
+
firecrawl download https://docs.example.com
|
|
27
|
+
|
|
28
|
+
# With screenshots
|
|
29
|
+
firecrawl download https://docs.example.com --screenshot --limit 20 -y
|
|
30
|
+
|
|
31
|
+
# Multiple formats (each saved as its own file per page)
|
|
32
|
+
firecrawl download https://docs.example.com --format markdown,links --screenshot --limit 20 -y
|
|
33
|
+
# Creates per page: index.md + links.txt + screenshot.png
|
|
34
|
+
|
|
35
|
+
# Filter to specific sections
|
|
36
|
+
firecrawl download https://docs.example.com --include-paths "/features,/sdks"
|
|
37
|
+
|
|
38
|
+
# Skip translations
|
|
39
|
+
firecrawl download https://docs.example.com --exclude-paths "/zh,/ja,/fr,/es,/pt-BR"
|
|
40
|
+
|
|
41
|
+
# Full combo
|
|
42
|
+
firecrawl download https://docs.example.com \
|
|
43
|
+
--include-paths "/features,/sdks" \
|
|
44
|
+
--exclude-paths "/zh,/ja" \
|
|
45
|
+
--only-main-content \
|
|
46
|
+
--screenshot \
|
|
47
|
+
-y
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Download options
|
|
51
|
+
|
|
52
|
+
| Option | Description |
|
|
53
|
+
| ------------------------- | -------------------------------------------------------- |
|
|
54
|
+
| `--limit <n>` | Max pages to download |
|
|
55
|
+
| `--search <query>` | Filter URLs by search query |
|
|
56
|
+
| `--include-paths <paths>` | Only download matching paths |
|
|
57
|
+
| `--exclude-paths <paths>` | Skip matching paths |
|
|
58
|
+
| `--allow-subdomains` | Include subdomain pages |
|
|
59
|
+
| `-y` | Skip confirmation prompt (always use in automated flows) |
|
|
60
|
+
|
|
61
|
+
## Scrape options (all work with download)
|
|
62
|
+
|
|
63
|
+
`-f <formats>`, `-H`, `-S`, `--screenshot`, `--full-page-screenshot`, `--only-main-content`, `--include-tags`, `--exclude-tags`, `--wait-for`, `--max-age`, `--country`, `--languages`
|
|
64
|
+
|
|
65
|
+
## See also
|
|
66
|
+
|
|
67
|
+
- [firecrawl-map](../firecrawl-map/SKILL.md) — just discover URLs without downloading
|
|
68
|
+
- [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — scrape individual pages
|
|
69
|
+
- [firecrawl-crawl](../firecrawl-crawl/SKILL.md) — bulk extract as JSON (not local files)
|
|
70
|
+
## Trigger
|
|
71
|
+
|
|
72
|
+
Use when the owner asks for this skill's described Firecrawl capability, when the current task needs web discovery/extraction/interaction beyond local files, or when a URL/query/data-extraction flow would otherwise be guessed from memory. Do not use for local repo edits unless the product code is explicitly integrating Firecrawl.
|
|
73
|
+
|
|
74
|
+
## Workflow
|
|
75
|
+
|
|
76
|
+
1. Classify the request as search, scrape, crawl, map, download, interact, clone, or product integration before taking action.
|
|
77
|
+
2. Preserve the owner goal and scope: target URL/query, depth, output format, auth/profile needs, and what must not be touched.
|
|
78
|
+
3. Use the real Firecrawl runtime/CLI/API path for the selected capability; do not fabricate page content, screenshots, links, or structured fields.
|
|
79
|
+
4. Validate the result against the requested shape: markdown/content quality, URL coverage, schema fields, pagination/auth interaction, local files, or product integration behavior.
|
|
80
|
+
5. If the result is incomplete, emit a redo contract: missing data, next Firecrawl action, re-test command/probe, and architect/ARIA console escalation if the same failure repeats.
|
|
81
|
+
|
|
82
|
+
## First-Class Production Contract
|
|
83
|
+
|
|
84
|
+
This skill must deepen the work, not decorate it. When loaded, apply it as a production requirement:
|
|
85
|
+
|
|
86
|
+
- no placeholders, no fake fallbacks, no vague future wiring, and no cosmetic compliance
|
|
87
|
+
- real proof from the repo, runtime, tests, logs, endpoint, or owner instruction before any completion claim
|
|
88
|
+
- a redo contract whenever the skill blocks or finds a gap: what failed, what to change, how to re-test, and when to re-submit
|
|
89
|
+
- architect/ARIA console escalation when the same failure repeats twice, crosses system boundaries, or cannot be verified locally
|
|
90
|
+
- owner-visible output that states the exact state of the work: changed, verified, blocked, or needing a decision
|
|
91
|
+
## Self-Executing Recovery Contract
|
|
92
|
+
|
|
93
|
+
When this skill blocks, fails verification, or finds a gap, the agent must execute recovery rather than hand work back as a user-only decision.
|
|
94
|
+
|
|
95
|
+
- Make exactly one self-executed recovery attempt using the strongest safe local, repository, runtime, test, log, endpoint, or owner-provided evidence available.
|
|
96
|
+
- If the same failure repeats after that one recovery attempt, switch to architect execution mode: operate under the architect/ARIA harness to diagnose, choose the next action, execute the repair path, and verify the result.
|
|
97
|
+
- If Aria or the architect service is unavailable, fall back to the strongest available client LLM under the architect harness or strongest available local harness substrate; mark the fallback explicitly and continue recovery instead of stopping.
|
|
98
|
+
- Do not end with user-handoff-only behavior. If blocked after the recovery path, report the executed recovery attempt, evidence, remaining blocker, and the next concrete action or owner decision needed; do not merely ask the user to take over.
|