@caoscompanybr/merlin 3.5.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/.claude/CLAUDE.md +216 -0
- package/.claude/hooks/README-license-gate.md +45 -0
- package/.claude/hooks/auto-summarize.js +47 -0
- package/.claude/hooks/context-monitor.js +60 -0
- package/.claude/hooks/doc-sync.js +111 -0
- package/.claude/hooks/license-gate.cjs +59 -0
- package/.claude/hooks/session-reset.js +27 -0
- package/.claude/hooks/thoughts-indexer.js +80 -0
- package/.claude/rules/merlin-constitution.md +27 -0
- package/.merlin-core/commands/README.md +19 -0
- package/.merlin-core/commands/founder-mode.md +51 -0
- package/.merlin-core/commands/git/commit.md +35 -0
- package/.merlin-core/commands/git/describe-pr.md +43 -0
- package/.merlin-core/commands/git/safe-commit.md +182 -0
- package/.merlin-core/commands/implementation/implement-plan.md +129 -0
- package/.merlin-core/commands/implementation/oneshot.md +63 -0
- package/.merlin-core/commands/implementation/tdd.md +152 -0
- package/.merlin-core/commands/planning/create-plan.md +184 -0
- package/.merlin-core/commands/planning/iterate-plan.md +45 -0
- package/.merlin-core/commands/planning/validate-plan.md +48 -0
- package/.merlin-core/commands/research/analyze-issue.md +155 -0
- package/.merlin-core/commands/research/research-codebase.md +157 -0
- package/.merlin-core/commands/review/adversarial-review.md +112 -0
- package/.merlin-core/commands/review/check.md +91 -0
- package/.merlin-core/commands/review/debug.md +135 -0
- package/.merlin-core/commands/review/doubts.md +178 -0
- package/.merlin-core/commands/review/engineering-audit.md +87 -0
- package/.merlin-core/commands/review/local-review.md +48 -0
- package/.merlin-core/commands/review/verify-goals.md +83 -0
- package/.merlin-core/commands/session/capture-feedback.md +74 -0
- package/.merlin-core/commands/session/capture-learning.md +155 -0
- package/.merlin-core/commands/session/check-objectives.md +85 -0
- package/.merlin-core/commands/session/conclude.md +125 -0
- package/.merlin-core/commands/session/create-handoff.md +88 -0
- package/.merlin-core/commands/session/create-objective.md +111 -0
- package/.merlin-core/commands/session/create-process.md +105 -0
- package/.merlin-core/commands/session/create-reminder.md +86 -0
- package/.merlin-core/commands/session/fast-start.md +261 -0
- package/.merlin-core/commands/session/recall-learnings.md +79 -0
- package/.merlin-core/commands/session/recall-processes.md +74 -0
- package/.merlin-core/commands/session/resume-handoff.md +51 -0
- package/.merlin-core/commands/session/run-process.md +53 -0
- package/.merlin-core/commands/special/beauty.md +89 -0
- package/.merlin-core/commands/special/common-ground.md +114 -0
- package/.merlin-core/commands/special/elicit.md +98 -0
- package/.merlin-core/commands/special/party.md +66 -0
- package/.merlin-core/commands/special/scrape.md +78 -0
- package/.merlin-core/commands/special/skill-audit.md +128 -0
- package/.merlin-core/commands/special/start-here.md +132 -0
- package/.merlin-core/constitution.md +442 -0
- package/.merlin-core/core/README.md +19 -0
- package/.merlin-core/core/alkimia/README.md +20 -0
- package/.merlin-core/core/alkimia/context/context-tracker.js +209 -0
- package/.merlin-core/core/alkimia/domain/domain-loader.js +215 -0
- package/.merlin-core/core/alkimia/engine.js +284 -0
- package/.merlin-core/core/alkimia/layers/l0-constitution.js +47 -0
- package/.merlin-core/core/alkimia/layers/l1-global.js +58 -0
- package/.merlin-core/core/alkimia/layers/l2-agent.js +58 -0
- package/.merlin-core/core/alkimia/layers/l3-workflow.js +54 -0
- package/.merlin-core/core/alkimia/layers/l4-task.js +45 -0
- package/.merlin-core/core/alkimia/layers/l5-squad.js +161 -0
- package/.merlin-core/core/alkimia/layers/l6-skill.js +520 -0
- package/.merlin-core/core/alkimia/layers/l7-star-command.js +87 -0
- package/.merlin-core/core/alkimia/layers/layer-processor.js +78 -0
- package/.merlin-core/core/alkimia/mandate.js +46 -0
- package/.merlin-core/core/alkimia/memory/doc-sync.js +201 -0
- package/.merlin-core/core/alkimia/memory/document-sharder.js +272 -0
- package/.merlin-core/core/alkimia/memory/git-history-retriever.js +225 -0
- package/.merlin-core/core/alkimia/memory/memory-bridge.js +97 -0
- package/.merlin-core/core/alkimia/memory/session-analyzer.js +400 -0
- package/.merlin-core/core/alkimia/memory/thoughts-indexer.js +477 -0
- package/.merlin-core/core/alkimia/memory/thoughts-provider.js +603 -0
- package/.merlin-core/core/alkimia/output/formatter.js +464 -0
- package/.merlin-core/core/alkimia/security/content-sanitizer.js +140 -0
- package/.merlin-core/core/alkimia/skill-importer.js +440 -0
- package/.merlin-core/core/alkimia/squads/default/.synapse/manifest +17 -0
- package/.merlin-core/core/alkimia/utils/frontmatter.js +321 -0
- package/.merlin-core/core/alkimia/utils/tokens.js +24 -0
- package/.merlin-core/core/approval/README.md +16 -0
- package/.merlin-core/core/approval/approval-engine.js +380 -0
- package/.merlin-core/core/approval/channels/cli-channel.js +50 -0
- package/.merlin-core/core/config/README.md +17 -0
- package/.merlin-core/core/config/config-cache.js +182 -0
- package/.merlin-core/core/config/config-loader.js +279 -0
- package/.merlin-core/core/config/config-resolver.js +411 -0
- package/.merlin-core/core/config/env-interpolator.js +123 -0
- package/.merlin-core/core/config/merge-utils.js +102 -0
- package/.merlin-core/core/config/schemas/core-config.schema.json +41 -0
- package/.merlin-core/core/config/schemas/framework-config.schema.json +24 -0
- package/.merlin-core/core/config/schemas/local-config.schema.json +23 -0
- package/.merlin-core/core/config/schemas/project-config.schema.json +189 -0
- package/.merlin-core/core/docs-consistency.js +140 -0
- package/.merlin-core/core/events/event-bus.js +344 -0
- package/.merlin-core/core/events/hook-handler.js +419 -0
- package/.merlin-core/core/execution/README.md +17 -0
- package/.merlin-core/core/execution/attempt-journal.js +380 -0
- package/.merlin-core/core/execution/autonomous-build-loop.js +637 -0
- package/.merlin-core/core/execution/build-orchestrator.js +296 -0
- package/.merlin-core/core/execution/build-state-manager.js +196 -0
- package/.merlin-core/core/execution/context-injector.js +204 -0
- package/.merlin-core/core/execution/cron-engine.js +247 -0
- package/.merlin-core/core/execution/cron-expression.js +148 -0
- package/.merlin-core/core/execution/env-preflight.js +423 -0
- package/.merlin-core/core/execution/guardrail-engine.js +745 -0
- package/.merlin-core/core/execution/heartbeat-engine.js +198 -0
- package/.merlin-core/core/execution/model-router.js +282 -0
- package/.merlin-core/core/execution/parallel-executor.js +378 -0
- package/.merlin-core/core/execution/parallel-monitor.js +201 -0
- package/.merlin-core/core/execution/party-session.js +311 -0
- package/.merlin-core/core/execution/rate-limit-manager.js +152 -0
- package/.merlin-core/core/execution/result-aggregator.js +215 -0
- package/.merlin-core/core/execution/semantic-merge-engine.js +320 -0
- package/.merlin-core/core/execution/subagent-dispatcher.js +721 -0
- package/.merlin-core/core/execution/success-verifier.js +227 -0
- package/.merlin-core/core/execution/task-metadata.js +105 -0
- package/.merlin-core/core/execution/team-executor.js +195 -0
- package/.merlin-core/core/execution/two-tier-editor.js +290 -0
- package/.merlin-core/core/execution/version-snapshot.js +294 -0
- package/.merlin-core/core/execution/wave-executor.js +224 -0
- package/.merlin-core/core/health-check/health-engine.js +415 -0
- package/.merlin-core/core/licensing/activation.js +281 -0
- package/.merlin-core/core/licensing/crc.js +103 -0
- package/.merlin-core/core/licensing/entitlement.js +99 -0
- package/.merlin-core/core/licensing/fingerprint.js +104 -0
- package/.merlin-core/core/licensing/gate.js +133 -0
- package/.merlin-core/core/licensing/hmac.js +42 -0
- package/.merlin-core/core/licensing/key.js +144 -0
- package/.merlin-core/core/licensing/license.js +212 -0
- package/.merlin-core/core/mcp/README.md +16 -0
- package/.merlin-core/core/mcp/browser-capability.js +191 -0
- package/.merlin-core/core/mcp/capability-mapper.js +92 -0
- package/.merlin-core/core/mcp/mcp-connector.js +278 -0
- package/.merlin-core/core/mcp/mcp-registry.js +101 -0
- package/.merlin-core/core/orchestration/README.md +17 -0
- package/.merlin-core/core/orchestration/agent-invoker.js +456 -0
- package/.merlin-core/core/orchestration/condition-evaluator.js +250 -0
- package/.merlin-core/core/orchestration/decision-tree.js +192 -0
- package/.merlin-core/core/orchestration/executor-assignment.js +372 -0
- package/.merlin-core/core/orchestration/gate-evaluator.js +653 -0
- package/.merlin-core/core/orchestration/intent-classifier.js +579 -0
- package/.merlin-core/core/orchestration/lock-manager.js +308 -0
- package/.merlin-core/core/orchestration/master-orchestrator.js +363 -0
- package/.merlin-core/core/orchestration/phase-tool-masks.js +194 -0
- package/.merlin-core/core/orchestration/recovery-handler.js +402 -0
- package/.merlin-core/core/orchestration/reflect-checkpoint.js +431 -0
- package/.merlin-core/core/orchestration/session-state.js +430 -0
- package/.merlin-core/core/orchestration/skill-dispatcher.js +255 -0
- package/.merlin-core/core/orchestration/step-loader.js +226 -0
- package/.merlin-core/core/orchestration/workflow-executor.js +864 -0
- package/.merlin-core/core/process/executor.js +231 -0
- package/.merlin-core/core/process/process-file.js +50 -0
- package/.merlin-core/core/process/secret-scan.js +86 -0
- package/.merlin-core/core/process/signature.js +77 -0
- package/.merlin-core/core/quality-gates/README.md +17 -0
- package/.merlin-core/core/quality-gates/layer1-precommit.js +110 -0
- package/.merlin-core/core/quality-gates/layer2-pr-automation.js +116 -0
- package/.merlin-core/core/quality-gates/layer3-human-review.js +133 -0
- package/.merlin-core/core/registry/service-registry.js +140 -0
- package/.merlin-core/core-config.yaml +159 -0
- package/.merlin-core/development/README.md +17 -0
- package/.merlin-core/development/agents/README.md +16 -0
- package/.merlin-core/development/agents/analyst.md +214 -0
- package/.merlin-core/development/agents/architect.md +166 -0
- package/.merlin-core/development/agents/data-engineer.md +154 -0
- package/.merlin-core/development/agents/dev.md +203 -0
- package/.merlin-core/development/agents/devops.md +236 -0
- package/.merlin-core/development/agents/grimorio.md +125 -0
- package/.merlin-core/development/agents/merlin-master.md +173 -0
- package/.merlin-core/development/agents/meta.md +190 -0
- package/.merlin-core/development/agents/pm.md +145 -0
- package/.merlin-core/development/agents/po.md +172 -0
- package/.merlin-core/development/agents/qa.md +275 -0
- package/.merlin-core/development/agents/researcher.md +218 -0
- package/.merlin-core/development/agents/scout.md +179 -0
- package/.merlin-core/development/agents/sm.md +148 -0
- package/.merlin-core/development/agents/ux.md +169 -0
- package/.merlin-core/development/agents/web-researcher.md +203 -0
- package/.merlin-core/development/checklists/adversarial-review-checklist.md +70 -0
- package/.merlin-core/development/checklists/operations-ci-checklist.md +40 -0
- package/.merlin-core/development/checklists/operations-deploy-checklist.md +54 -0
- package/.merlin-core/development/checklists/operations-publish-checklist.md +47 -0
- package/.merlin-core/development/checklists/source-verification-checklist.md +38 -0
- package/.merlin-core/development/templates/HEARTBEAT-template.md +46 -0
- package/.merlin-core/development/templates/ears-requirements-template.md +93 -0
- package/.merlin-core/development/templates/handoff-template.md +50 -0
- package/.merlin-core/development/templates/prd-template.md +62 -0
- package/.merlin-core/development/templates/research-template.md +53 -0
- package/.merlin-core/development/templates/spec-template.md +84 -0
- package/.merlin-core/development/workflows/brownfield-discovery.yaml +166 -0
- package/.merlin-core/development/workflows/brownfield-service.yaml +52 -0
- package/.merlin-core/development/workflows/development-cycle.yaml +57 -0
- package/.merlin-core/development/workflows/epic-orchestration.yaml +47 -0
- package/.merlin-core/development/workflows/folloni-funnel.yaml +177 -0
- package/.merlin-core/development/workflows/greenfield-fullstack.yaml +167 -0
- package/.merlin-core/development/workflows/greenfield-service.yaml +56 -0
- package/.merlin-core/development/workflows/qa-loop.yaml +115 -0
- package/.merlin-core/development/workflows/spec-pipeline.yaml +185 -0
- package/.merlin-core/development/workflows/steps/folloni-01-research.yaml +35 -0
- package/.merlin-core/development/workflows/steps/folloni-02-architecture.yaml +41 -0
- package/.merlin-core/development/workflows/steps/folloni-03-implementation.yaml +52 -0
- package/.merlin-core/development/workflows/story-development-cycle.yaml +67 -0
- package/.merlin-core/docs/GUIDE.md +413 -0
- package/.merlin-core/docs/merlin-commands-guide-pt.md +183 -0
- package/.merlin-core/framework-config.yaml +148 -0
- package/.merlin-core/hooks/README.md +16 -0
- package/.merlin-core/hooks/precompact-memory-flush.js +69 -0
- package/.merlin-core/hooks/pretooluse-remote-approve.js +113 -0
- package/.merlin-core/hooks/spikes/spike-b-hook.js +70 -0
- package/.merlin-core/hooks/spikes/spike-b-stub.js +70 -0
- package/.merlin-core/index.js +91 -0
- package/.merlin-core/local-config.yaml.template +31 -0
- package/.merlin-core/mcp-servers/lsp-bridge/index.js +397 -0
- package/.merlin-core/modules/scraping/module.json +23 -0
- package/.merlin-core/project-config.yaml +89 -0
- package/.merlin-core/schemas/README.md +18 -0
- package/.merlin-core/schemas/agent-hook-schema.json +152 -0
- package/.merlin-core/schemas/agent-schema.json +31 -0
- package/.merlin-core/schemas/command-schema.json +18 -0
- package/.merlin-core/schemas/feedback-schema.json +36 -0
- package/.merlin-core/schemas/handoff-schema.json +19 -0
- package/.merlin-core/schemas/learning-schema.json +51 -0
- package/.merlin-core/schemas/module.schema.json +124 -0
- package/.merlin-core/schemas/must-haves-schema.json +95 -0
- package/.merlin-core/schemas/objective-schema.json +23 -0
- package/.merlin-core/schemas/plan-schema.json +20 -0
- package/.merlin-core/schemas/process-schema.json +82 -0
- package/.merlin-core/schemas/reminder-schema.json +20 -0
- package/.merlin-core/schemas/skill-eval-schema.json +92 -0
- package/.merlin-core/schemas/skill-schema.json +77 -0
- package/.merlin-core/schemas/workflow-schema.json +38 -0
- package/.merlin-core/skills/README.md +16 -0
- package/.merlin-core/skills/domain/azure-cloud/SKILL.md +211 -0
- package/.merlin-core/skills/domain/azure-cloud/references/appinsights-instrumentation.md +63 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-compliance.md +99 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-cost-optimization.md +419 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-deploy.md +82 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-diagnostics.md +130 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-prepare.md +134 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-quotas.md +290 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-rbac.md +11 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-resource-lookup.md +97 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-resource-visualizer.md +178 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-storage.md +91 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-validate.md +58 -0
- package/.merlin-core/skills/domain/azure-cloud/references/entra-app-registration.md +192 -0
- package/.merlin-core/skills/domain/browser-automation/SKILL.md +311 -0
- package/.merlin-core/skills/domain/browser-automation/references/agent-browser-skill.md +632 -0
- package/.merlin-core/skills/domain/browser-automation/references/authentication.md +308 -0
- package/.merlin-core/skills/domain/browser-automation/references/commands.md +266 -0
- package/.merlin-core/skills/domain/browser-automation/references/profiling.md +120 -0
- package/.merlin-core/skills/domain/browser-automation/references/proxy-support.md +194 -0
- package/.merlin-core/skills/domain/browser-automation/references/session-management.md +194 -0
- package/.merlin-core/skills/domain/browser-automation/references/snapshot-refs.md +196 -0
- package/.merlin-core/skills/domain/browser-automation/references/video-recording.md +173 -0
- package/.merlin-core/skills/domain/browser-automation/templates/authenticated-session.sh +105 -0
- package/.merlin-core/skills/domain/browser-automation/templates/capture-workflow.sh +69 -0
- package/.merlin-core/skills/domain/browser-automation/templates/form-automation.sh +62 -0
- package/.merlin-core/skills/domain/digital-marketing/SKILL.md +292 -0
- package/.merlin-core/skills/domain/digital-marketing/references/content-strategy.md +320 -0
- package/.merlin-core/skills/domain/digital-marketing/references/copy-formats.md +298 -0
- package/.merlin-core/skills/domain/digital-marketing/references/copy-methodology.md +180 -0
- package/.merlin-core/skills/domain/digital-marketing/references/email-sequences.md +135 -0
- package/.merlin-core/skills/domain/digital-marketing/references/launch-strategy.md +213 -0
- package/.merlin-core/skills/domain/digital-marketing/references/pricing-strategy.md +160 -0
- package/.merlin-core/skills/domain/digital-marketing/references/programmatic-seo.md +237 -0
- package/.merlin-core/skills/domain/digital-marketing/references/revops-lifecycle.md +170 -0
- package/.merlin-core/skills/domain/digital-marketing/references/revops-operations.md +167 -0
- package/.merlin-core/skills/domain/digital-marketing/references/schema-markup.md +190 -0
- package/.merlin-core/skills/domain/digital-marketing/references/strategy-frameworks.md +324 -0
- package/.merlin-core/skills/domain/digital-marketing/references/traffic-management.md +350 -0
- package/.merlin-core/skills/domain/expo-native-ui/SKILL.md +348 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/animations.md +220 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/api-routes.md +361 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/cicd-workflows.md +84 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/controls.md +266 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/data-fetching.md +553 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/deployment-stores.md +1353 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/deployment.md +183 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/dev-client.md +166 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/dom-components.md +410 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/form-sheet.md +253 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/gradients.md +117 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/icons.md +218 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/media.md +245 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/platform-native.md +75 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/route-structure.md +229 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/search.md +249 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/storage.md +121 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/tabs.md +433 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/tailwind-native.md +473 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/toolbar-and-headers.md +284 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/upgrading-guides.md +674 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/upgrading.md +127 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/visual-effects.md +199 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/webgpu-three.md +605 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/zoom-transitions.md +161 -0
- package/.merlin-core/skills/domain/marketing-ops/SKILL.md +117 -0
- package/.merlin-core/skills/domain/marketing-ops/references/_index.md +78 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ad-creative/references/generative-tools.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ad-creative/references/platform-specs.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ad-creative.md +251 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/ad-copy-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/audience-targeting.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/conversion-tracking.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/platform-setup-checklists.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads.md +322 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo/references/content-patterns.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo/references/content-types.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo/references/platform-ranking-factors.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo.md +388 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/apple-specs.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/benchmarks.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/google-play-specs.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/report-template.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/scoring-criteria.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso.md +316 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/co-marketing.md +305 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/community-marketing.md +169 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitor-profiling/references/templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitor-profiling/references/tool-reference.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitor-profiling.md +442 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitors/references/content-architecture.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitors/references/templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitors.md +281 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/content-strategy.md +16 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions/references/directory-list.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions/references/positioning-variations.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions/references/submission-tracker-template.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions.md +396 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/free-tools/references/tool-types.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/free-tools.md +196 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/image/references/ai-image-prompting.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/image.md +352 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/launch.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/lead-magnets/references/benchmarks.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/lead-magnets/references/format-guide.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/lead-magnets.md +333 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/programmatic-seo.md +16 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/schema.md +16 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/seo-audit/references/ai-writing-detection.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/seo-audit/references/international-seo.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/seo-audit.md +546 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture/references/mermaid-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture/references/navigation-patterns.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture/references/site-type-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture.md +371 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/platform-limits.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/platforms.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/post-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/reverse-engineering.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/short-form-video.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social.md +431 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/video/references/ai-video-prompting.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/video.md +353 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/ab-testing/references/sample-size-guide.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/ab-testing/references/test-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/ab-testing.md +379 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics/references/event-library.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics/references/ga4-implementation.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics/references/gtm-implementation.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics.md +323 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/copy-editing.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/copywriting.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/cro/references/experiments.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/cro/references/form.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/cro.md +211 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/emails.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/paywalls/references/experiments.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/paywalls.md +255 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/popups.md +518 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/pricing.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/deck-frameworks.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/demo-scripts.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/objection-library.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/one-pager-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement.md +371 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/signup.md +406 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/co-marketing.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/community-marketing.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/referrals/references/affiliate-programs.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/referrals/references/program-examples.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/referrals.md +278 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/customer-research/references/source-guides.md +425 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/customer-research.md +284 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/marketing-ideas/references/ideas-by-category.md +216 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/marketing-ideas.md +188 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/marketing-psychology.md +532 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/product-marketing.md +276 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/churn-prevention/references/cancel-flow-patterns.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/churn-prevention/references/dunning-playbook.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/churn-prevention.md +442 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/onboarding/references/experiments.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/onboarding.md +243 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/revops-lifecycle.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/revops-operations.md +18 -0
- package/.merlin-core/skills/domain/n8n-automation/SKILL.md +149 -0
- package/.merlin-core/skills/domain/n8n-automation/references/code-javascript.md +3744 -0
- package/.merlin-core/skills/domain/n8n-automation/references/code-python.md +3293 -0
- package/.merlin-core/skills/domain/n8n-automation/references/expression-syntax.md +1662 -0
- package/.merlin-core/skills/domain/n8n-automation/references/mcp-tools-expert.md +2111 -0
- package/.merlin-core/skills/domain/n8n-automation/references/node-configuration.md +2523 -0
- package/.merlin-core/skills/domain/n8n-automation/references/validation-expert.md +2491 -0
- package/.merlin-core/skills/domain/n8n-automation/references/workflow-patterns.md +4624 -0
- package/.merlin-core/skills/domain/ops-manual/SKILL.md +225 -0
- package/.merlin-core/skills/domain/ops-manual/references/elicitation-questions.md +141 -0
- package/.merlin-core/skills/domain/ops-manual/references/external-skills-registry.md +63 -0
- package/.merlin-core/skills/domain/ops-manual/references/operations-template.yaml +132 -0
- package/.merlin-core/skills/domain/remotion-best-practices/SKILL.md +99 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/3d.md +86 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/animations.md +27 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/assets.md +78 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/audio.md +172 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/calculate-metadata.md +131 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/can-decode.md +75 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/charts.md +68 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/compositions.md +154 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/display-captions.md +126 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/extract-frames.md +229 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/fonts.md +152 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/gifs.md +144 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/images.md +134 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/lottie.md +70 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/maps.md +414 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/measuring-text.md +143 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/parameters.md +109 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/sequencing.md +118 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/tailwind.md +11 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/text-animations.md +20 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/timing.md +179 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/transitions.md +137 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/transparent-videos.md +106 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/trimming.md +51 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/videos.md +171 -0
- package/.merlin-core/skills/domain/resend-email/SKILL.md +377 -0
- package/.merlin-core/skills/general/adversarial-review/SKILL.md +144 -0
- package/.merlin-core/skills/general/api-design/SKILL.md +513 -0
- package/.merlin-core/skills/general/apify-scrape/SKILL.md +137 -0
- package/.merlin-core/skills/general/apify-scrape/scripts/apify-scrape.sh +68 -0
- package/.merlin-core/skills/general/backup/SKILL.md +87 -0
- package/.merlin-core/skills/general/blkskrn/SKILL.md +392 -0
- package/.merlin-core/skills/general/blkskrn/references/animation-patterns.md +521 -0
- package/.merlin-core/skills/general/blkskrn/references/design-system.md +637 -0
- package/.merlin-core/skills/general/blkskrn/references/html-templates.md +440 -0
- package/.merlin-core/skills/general/blkskrn/references/presenter-template.md +45 -0
- package/.merlin-core/skills/general/blkskrn/references/slide-types.md +424 -0
- package/.merlin-core/skills/general/blkskrn/scripts/canvas-manager.js +502 -0
- package/.merlin-core/skills/general/blkskrn/scripts/presenter.js +90 -0
- package/.merlin-core/skills/general/blkskrn/templates/presenter.html +273 -0
- package/.merlin-core/skills/general/blkskrn/templates/slide-base.html +277 -0
- package/.merlin-core/skills/general/blkskrn/templates/viewer.html +165 -0
- package/.merlin-core/skills/general/browser-takeover/SKILL.md +53 -0
- package/.merlin-core/skills/general/claude-api/SKILL.md +90 -0
- package/.merlin-core/skills/general/code-javascript/SKILL.md +268 -0
- package/.merlin-core/skills/general/code-python/SKILL.md +424 -0
- package/.merlin-core/skills/general/code-style/SKILL.md +97 -0
- package/.merlin-core/skills/general/code-typescript/SKILL.md +361 -0
- package/.merlin-core/skills/general/cold-email/SKILL.md +164 -0
- package/.merlin-core/skills/general/cold-email/references/benchmarks.md +18 -0
- package/.merlin-core/skills/general/cold-email/references/follow-up-sequences.md +18 -0
- package/.merlin-core/skills/general/cold-email/references/frameworks.md +18 -0
- package/.merlin-core/skills/general/cold-email/references/personalization.md +18 -0
- package/.merlin-core/skills/general/cold-email/references/subject-lines.md +18 -0
- package/.merlin-core/skills/general/container-security/SKILL.md +462 -0
- package/.merlin-core/skills/general/context-management/SKILL.md +79 -0
- package/.merlin-core/skills/general/copy-editing/SKILL.md +501 -0
- package/.merlin-core/skills/general/copy-editing/references/checklist.md +18 -0
- package/.merlin-core/skills/general/copy-editing/references/content-refresh.md +18 -0
- package/.merlin-core/skills/general/copy-editing/references/plain-english-alternatives.md +18 -0
- package/.merlin-core/skills/general/copywriting/SKILL.md +294 -0
- package/.merlin-core/skills/general/copywriting/references/copy-frameworks.md +392 -0
- package/.merlin-core/skills/general/copywriting/references/natural-transitions.md +276 -0
- package/.merlin-core/skills/general/database/SKILL.md +561 -0
- package/.merlin-core/skills/general/database/references/postgres-concurrency.md +182 -0
- package/.merlin-core/skills/general/database/references/postgres-connections.md +97 -0
- package/.merlin-core/skills/general/database/references/postgres-data-patterns.md +159 -0
- package/.merlin-core/skills/general/database/references/postgres-monitoring.md +136 -0
- package/.merlin-core/skills/general/database/references/postgres-rls.md +140 -0
- package/.merlin-core/skills/general/database-provision/SKILL.md +56 -0
- package/.merlin-core/skills/general/deploy/SKILL.md +65 -0
- package/.merlin-core/skills/general/design-inspiration/SKILL.md +146 -0
- package/.merlin-core/skills/general/design-palette/SKILL.md +99 -0
- package/.merlin-core/skills/general/design-palette/references/full-palettes.md +144 -0
- package/.merlin-core/skills/general/design-system/SKILL.md +94 -0
- package/.merlin-core/skills/general/design-typography/SKILL.md +115 -0
- package/.merlin-core/skills/general/design-typography/references/full-pairings.md +144 -0
- package/.merlin-core/skills/general/design-ux-patterns/SKILL.md +155 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/charts-data-guidelines.md +197 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/landing-patterns.md +199 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/professional-ui-checklist.md +56 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/style-catalog.md +89 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/ux-guidelines.md +837 -0
- package/.merlin-core/skills/general/discover-cloud/SKILL.md +108 -0
- package/.merlin-core/skills/general/doc-sync/SKILL.md +52 -0
- package/.merlin-core/skills/general/document-sharding/SKILL.md +53 -0
- package/.merlin-core/skills/general/docx/SKILL.md +418 -0
- package/.merlin-core/skills/general/docx/references/windows-setup.md +27 -0
- package/.merlin-core/skills/general/docx/scripts/__init__.py +1 -0
- package/.merlin-core/skills/general/docx/scripts/accept_changes.py +135 -0
- package/.merlin-core/skills/general/docx/scripts/comment.py +318 -0
- package/.merlin-core/skills/general/docx/scripts/office/__init__.py +0 -0
- package/.merlin-core/skills/general/docx/scripts/office/helpers/__init__.py +0 -0
- package/.merlin-core/skills/general/docx/scripts/office/helpers/merge_runs.py +199 -0
- package/.merlin-core/skills/general/docx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/.merlin-core/skills/general/docx/scripts/office/pack.py +159 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.merlin-core/skills/general/docx/scripts/office/soffice.py +183 -0
- package/.merlin-core/skills/general/docx/scripts/office/unpack.py +132 -0
- package/.merlin-core/skills/general/docx/scripts/office/validate.py +111 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/__init__.py +15 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/base.py +847 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/docx.py +446 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/pptx.py +275 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/redlining.py +247 -0
- package/.merlin-core/skills/general/docx/scripts/templates/comments.xml +3 -0
- package/.merlin-core/skills/general/docx/scripts/templates/commentsExtended.xml +3 -0
- package/.merlin-core/skills/general/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/.merlin-core/skills/general/docx/scripts/templates/commentsIds.xml +3 -0
- package/.merlin-core/skills/general/docx/scripts/templates/people.xml +3 -0
- package/.merlin-core/skills/general/elicitation/SKILL.md +188 -0
- package/.merlin-core/skills/general/engineering-audit/SKILL.md +122 -0
- package/.merlin-core/skills/general/find-and-edit/SKILL.md +102 -0
- package/.merlin-core/skills/general/first-party-docs/SKILL.md +51 -0
- package/.merlin-core/skills/general/frontend-design/SKILL.md +204 -0
- package/.merlin-core/skills/general/guardrails/SKILL.md +144 -0
- package/.merlin-core/skills/general/image-gen/SKILL.md +49 -0
- package/.merlin-core/skills/general/learning-capture/SKILL.md +192 -0
- package/.merlin-core/skills/general/lgpd-compliance-audit/SKILL.md +448 -0
- package/.merlin-core/skills/general/load-testing/SKILL.md +114 -0
- package/.merlin-core/skills/general/load-testing/docker/Dockerfile.dashboard +21 -0
- package/.merlin-core/skills/general/load-testing/docker/docker-compose.locust.yml +39 -0
- package/.merlin-core/skills/general/load-testing/requirements.txt +1 -0
- package/.merlin-core/skills/general/load-testing/scripts/compare_baseline.py +172 -0
- package/.merlin-core/skills/general/load-testing/scripts/run_local.py +245 -0
- package/.merlin-core/skills/general/load-testing/templates/load_shape_stepped.py +35 -0
- package/.merlin-core/skills/general/load-testing/templates/locustfile_dashboard.py +47 -0
- package/.merlin-core/skills/general/load-testing/templates/threshold_hook.py +36 -0
- package/.merlin-core/skills/general/mage-beauty/SKILL.md +89 -0
- package/.merlin-core/skills/general/mage-beauty/references/anti-patterns.md +148 -0
- package/.merlin-core/skills/general/mage-beauty/references/color-and-contrast.md +87 -0
- package/.merlin-core/skills/general/mage-beauty/references/interaction-design.md +99 -0
- package/.merlin-core/skills/general/mage-beauty/references/motion-design.md +90 -0
- package/.merlin-core/skills/general/mage-beauty/references/remotion-bridge.md +187 -0
- package/.merlin-core/skills/general/mage-beauty/references/responsive-and-multi-format.md +98 -0
- package/.merlin-core/skills/general/mage-beauty/references/spatial-design.md +88 -0
- package/.merlin-core/skills/general/mage-beauty/references/typography.md +60 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-adapt.md +102 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-animate.md +97 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-audit.md +99 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-bolder.md +94 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-cinematic.md +128 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-clarify.md +107 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-colorize.md +106 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-critique.md +88 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-delight.md +98 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-distill.md +97 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-harden.md +79 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-layout.md +104 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-onboard.md +98 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-optimize.md +124 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-overdrive.md +105 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-polish.md +91 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-quieter.md +95 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-rebrand.md +127 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-shape.md +160 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-typeset.md +109 -0
- package/.merlin-core/skills/general/mage-beauty/references/voice-and-microcopy.md +137 -0
- package/.merlin-core/skills/general/mcp-builder/SKILL.md +92 -0
- package/.merlin-core/skills/general/network-debug/SKILL.md +51 -0
- package/.merlin-core/skills/general/next-best-practices/SKILL.md +177 -0
- package/.merlin-core/skills/general/next-best-practices/references/async-patterns.md +87 -0
- package/.merlin-core/skills/general/next-best-practices/references/bundling.md +182 -0
- package/.merlin-core/skills/general/next-best-practices/references/data-patterns.md +306 -0
- package/.merlin-core/skills/general/next-best-practices/references/debug-tricks.md +125 -0
- package/.merlin-core/skills/general/next-best-practices/references/directives.md +74 -0
- package/.merlin-core/skills/general/next-best-practices/references/error-handling.md +232 -0
- package/.merlin-core/skills/general/next-best-practices/references/file-conventions.md +141 -0
- package/.merlin-core/skills/general/next-best-practices/references/font.md +257 -0
- package/.merlin-core/skills/general/next-best-practices/references/functions.md +108 -0
- package/.merlin-core/skills/general/next-best-practices/references/hydration-error.md +88 -0
- package/.merlin-core/skills/general/next-best-practices/references/image.md +179 -0
- package/.merlin-core/skills/general/next-best-practices/references/metadata.md +296 -0
- package/.merlin-core/skills/general/next-best-practices/references/parallel-routes.md +298 -0
- package/.merlin-core/skills/general/next-best-practices/references/route-handlers.md +146 -0
- package/.merlin-core/skills/general/next-best-practices/references/rsc-boundaries.md +164 -0
- package/.merlin-core/skills/general/next-best-practices/references/runtime-selection.md +40 -0
- package/.merlin-core/skills/general/next-best-practices/references/scripts.md +141 -0
- package/.merlin-core/skills/general/next-best-practices/references/self-hosting.md +384 -0
- package/.merlin-core/skills/general/next-best-practices/references/suspense-boundaries.md +67 -0
- package/.merlin-core/skills/general/next-steps/SKILL.md +43 -0
- package/.merlin-core/skills/general/party-mode/SKILL.md +57 -0
- package/.merlin-core/skills/general/pdf/SKILL.md +298 -0
- package/.merlin-core/skills/general/pdf/references/forms.md +312 -0
- package/.merlin-core/skills/general/pdf/references/reference.md +640 -0
- package/.merlin-core/skills/general/pdf/references/windows-setup.md +40 -0
- package/.merlin-core/skills/general/pdf/scripts/check_bounding_boxes.py +65 -0
- package/.merlin-core/skills/general/pdf/scripts/check_fillable_fields.py +11 -0
- package/.merlin-core/skills/general/pdf/scripts/convert_pdf_to_images.py +33 -0
- package/.merlin-core/skills/general/pdf/scripts/create_validation_image.py +37 -0
- package/.merlin-core/skills/general/pdf/scripts/extract_form_field_info.py +122 -0
- package/.merlin-core/skills/general/pdf/scripts/extract_form_structure.py +115 -0
- package/.merlin-core/skills/general/pdf/scripts/fill_fillable_fields.py +98 -0
- package/.merlin-core/skills/general/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
- package/.merlin-core/skills/general/pptx/SKILL.md +133 -0
- package/.merlin-core/skills/general/pptx/references/editing.md +213 -0
- package/.merlin-core/skills/general/pptx/references/pptxgenjs.md +581 -0
- package/.merlin-core/skills/general/pptx/references/windows-setup.md +27 -0
- package/.merlin-core/skills/general/pptx/scripts/__init__.py +0 -0
- package/.merlin-core/skills/general/pptx/scripts/add_slide.py +195 -0
- package/.merlin-core/skills/general/pptx/scripts/clean.py +286 -0
- package/.merlin-core/skills/general/pptx/scripts/thumbnail.py +289 -0
- package/.merlin-core/skills/general/property-testing/SKILL.md +214 -0
- package/.merlin-core/skills/general/purge-leaked-secret/SKILL.md +383 -0
- package/.merlin-core/skills/general/reflection/SKILL.md +100 -0
- package/.merlin-core/skills/general/secret-safe-commit/SKILL.md +246 -0
- package/.merlin-core/skills/general/secret-safe-commit/templates/.gitleaks.toml +91 -0
- package/.merlin-core/skills/general/secret-safe-commit/templates/.pre-commit-config.yaml +57 -0
- package/.merlin-core/skills/general/secret-safe-commit/templates/secret-scan.yml +48 -0
- package/.merlin-core/skills/general/semantic-search/SKILL.md +79 -0
- package/.merlin-core/skills/general/skill-creator/SKILL.md +342 -0
- package/.merlin-core/skills/general/skill-creator/agents/analyzer.md +283 -0
- package/.merlin-core/skills/general/skill-creator/agents/comparator.md +211 -0
- package/.merlin-core/skills/general/skill-creator/agents/grader.md +227 -0
- package/.merlin-core/skills/general/skill-creator/assets/eval_review.html +146 -0
- package/.merlin-core/skills/general/skill-creator/eval-viewer/generate_review.py +471 -0
- package/.merlin-core/skills/general/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.merlin-core/skills/general/skill-creator/references/schemas.md +439 -0
- package/.merlin-core/skills/general/skill-creator/scripts/__init__.py +0 -0
- package/.merlin-core/skills/general/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/.merlin-core/skills/general/skill-creator/scripts/generate_report.py +326 -0
- package/.merlin-core/skills/general/skill-creator/scripts/improve_description.py +247 -0
- package/.merlin-core/skills/general/skill-creator/scripts/package_skill.py +136 -0
- package/.merlin-core/skills/general/skill-creator/scripts/quick_validate.py +103 -0
- package/.merlin-core/skills/general/skill-creator/scripts/run_eval.py +310 -0
- package/.merlin-core/skills/general/skill-creator/scripts/run_loop.py +328 -0
- package/.merlin-core/skills/general/skill-creator/scripts/utils.py +47 -0
- package/.merlin-core/skills/general/start-here/SKILL.md +63 -0
- package/.merlin-core/skills/general/start-here/recipes.json +758 -0
- package/.merlin-core/skills/general/start-here/recipes.schema.json +57 -0
- package/.merlin-core/skills/general/static-analysis/SKILL.md +151 -0
- package/.merlin-core/skills/general/tailwind-design-system/SKILL.md +201 -0
- package/.merlin-core/skills/general/tailwind-design-system/references/advanced-v4.md +152 -0
- package/.merlin-core/skills/general/tailwind-design-system/references/component-patterns.md +353 -0
- package/.merlin-core/skills/general/teach-method/SKILL.md +86 -0
- package/.merlin-core/skills/general/team-execution/SKILL.md +67 -0
- package/.merlin-core/skills/general/testing/SKILL.md +412 -0
- package/.merlin-core/skills/general/token-economy/SKILL.md +55 -0
- package/.merlin-core/skills/general/vps-security-hardening/SKILL.md +406 -0
- package/.merlin-core/skills/general/web-quality/SKILL.md +180 -0
- package/.merlin-core/skills/general/webapp-testing/SKILL.md +153 -0
- package/.merlin-core/skills/general/webapp-testing/scripts/screenshot_compare.py +72 -0
- package/.merlin-core/skills/general/webapp-testing/scripts/with_server.py +103 -0
- package/.merlin-core/skills/general/xlsx/SKILL.md +167 -0
- package/.merlin-core/skills/general/xlsx/references/nodejs-sheetjs-styled-reports.md +141 -0
- package/.merlin-core/skills/general/xlsx/references/windows-setup.md +17 -0
- package/.merlin-core/skills/general/xlsx/scripts/recalc.py +184 -0
- package/.merlin-core/skills/general/xlsx/scripts/styled-report.js +130 -0
- package/.merlin-core/skills/general/yolo-mode/SKILL.md +60 -0
- package/.merlin-core/skills/general/youtube-transcript/SKILL.md +177 -0
- package/.merlin-core/skills/general/youtube-transcript/scripts/fetch_transcript.py +188 -0
- package/.merlin-core/skills/general/youtube-transcript/scripts/gladia_transcribe.mjs +230 -0
- package/.merlin-core/tools/commands/activate.js +72 -0
- package/.merlin-core/tools/commands/archive-thoughts.js +181 -0
- package/.merlin-core/tools/commands/backup.js +156 -0
- package/.merlin-core/tools/commands/certify-process.js +196 -0
- package/.merlin-core/tools/commands/convert.js +87 -0
- package/.merlin-core/tools/commands/cron.js +147 -0
- package/.merlin-core/tools/commands/disable.js +73 -0
- package/.merlin-core/tools/commands/doc-sync.js +127 -0
- package/.merlin-core/tools/commands/eval-skill.js +193 -0
- package/.merlin-core/tools/commands/frontmatter.js +49 -0
- package/.merlin-core/tools/commands/heartbeat.js +43 -0
- package/.merlin-core/tools/commands/index-thoughts.js +35 -0
- package/.merlin-core/tools/commands/install-remote-approve.js +184 -0
- package/.merlin-core/tools/commands/install.js +81 -0
- package/.merlin-core/tools/commands/lib/__verify__/diff-reports.js +170 -0
- package/.merlin-core/tools/commands/lib/fs-safe.js +186 -0
- package/.merlin-core/tools/commands/lib/preflight.js +607 -0
- package/.merlin-core/tools/commands/lib/preserve.js +232 -0
- package/.merlin-core/tools/commands/lib/project-config.template.yaml +69 -0
- package/.merlin-core/tools/commands/lib/report.js +231 -0
- package/.merlin-core/tools/commands/lib/settings-merge.js +134 -0
- package/.merlin-core/tools/commands/license.js +52 -0
- package/.merlin-core/tools/commands/list.js +125 -0
- package/.merlin-core/tools/commands/migrate-alkimia.js +271 -0
- package/.merlin-core/tools/commands/modules.js +68 -0
- package/.merlin-core/tools/commands/provision.js +83 -0
- package/.merlin-core/tools/commands/prune-feedback.js +114 -0
- package/.merlin-core/tools/commands/run-process.js +28 -0
- package/.merlin-core/tools/commands/state.js +79 -0
- package/.merlin-core/tools/commands/sync-bridges.js +197 -0
- package/.merlin-core/tools/commands/upgrade.js +1135 -0
- package/.merlin-core/tools/commands/validate-recipes.js +218 -0
- package/.merlin-core/tools/commands/validate.js +159 -0
- package/.merlin-core/tools/commands/yolo.js +82 -0
- package/.merlin-core/tools/compose-rules.mjs +179 -0
- package/.merlin-core/tools/disable-module.mjs +150 -0
- package/.merlin-core/tools/lib/deployer.mjs +131 -0
- package/.merlin-core/tools/lib/modules-activation.mjs +225 -0
- package/.merlin-core/tools/merlin-tools.js +153 -0
- package/.merlin-core/tools/migrate-frontmatter-v3.js +192 -0
- package/.merlin-core/tools/modules-catalog.mjs +174 -0
- package/.merlin-core/tools/provision-module.mjs +191 -0
- package/.merlin-core/tools/verify-module.mjs +99 -0
- package/.merlin-core/tools/vps-security-audit.sh +234 -0
- package/INSTALL.md +312 -0
- package/LICENSE +118 -0
- package/PRIVACY-LICENSING.md +65 -0
- package/README.md +391 -0
- package/bin/README.md +15 -0
- package/bin/convert-to-merlin.sh +109 -0
- package/bin/fleet-patch-hooks.sh +144 -0
- package/bin/fleet-patch-v3-fixes.sh +127 -0
- package/bin/merlin-init.js +232 -0
- package/bin/merlin.js +321 -0
- package/package.json +127 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Aviso de Privacidade — Licenciamento do Merlin
|
|
2
|
+
|
|
3
|
+
> Parte integrante do contrato de licença (`LICENSE`). Descreve **exatamente**
|
|
4
|
+
> os dados pessoais que o sistema de licenciamento do Merlin trata para ativar e
|
|
5
|
+
> verificar a sua licença. Regido pela Lei nº 13.709/2018 (LGPD).
|
|
6
|
+
|
|
7
|
+
## 1. Quem trata os dados
|
|
8
|
+
|
|
9
|
+
**Controlador:** Matteus Rodrigues Eugenio (Empresário Individual, CNPJ 39.315.802/0001-26), sob a marca Merlin Company — Licenciante (ver `LICENSE`).
|
|
10
|
+
**Contato / Encarregado (DPO):** support@merlincompany.com.br.
|
|
11
|
+
|
|
12
|
+
## 2. Quais dados são tratados (e quando)
|
|
13
|
+
|
|
14
|
+
O sistema transmite ao servidor de licenças **apenas** os campos abaixo —
|
|
15
|
+
verificável no código-fonte (`.merlin-core/core/licensing/activation.js`):
|
|
16
|
+
|
|
17
|
+
| Dado | O que é | Quando é enviado |
|
|
18
|
+
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
|
|
19
|
+
| `fingerprint_hash` | **Hash SHA-256** de `machine-id ‖ serial do disco ‖ hostname` da sua Máquina. É um identificador derivado e irreversível — **não** é o seu hardware em claro. | Na ativação e em cada verificação (heartbeat) |
|
|
20
|
+
| `client_email` | O e-mail informado por você na ativação (`merlin activate --email`), normalmente o e-mail da compra. | Apenas na ativação |
|
|
21
|
+
| `serial` | O número de série da sua licença (da chave `MRL-#N`). | Ativação e heartbeat |
|
|
22
|
+
| `version` | A versão do Merlin instalada. | No heartbeat |
|
|
23
|
+
| `ts_signed` | Carimbo de tempo (timestamp) do heartbeat. | No heartbeat |
|
|
24
|
+
| `hmac` | Código de integridade derivado dos campos acima (antifraude). O segredo local que o gera (`api_key_local`) **fica na sua máquina e nunca é transmitido**. | No heartbeat |
|
|
25
|
+
|
|
26
|
+
## 3. Finalidade
|
|
27
|
+
|
|
28
|
+
- **Ativação** da licença e **vínculo** a uma Máquina;
|
|
29
|
+
- **Antifraude** (detectar cópia/compartilhamento indevido da licença);
|
|
30
|
+
- **Suporte** técnico e administração do contrato (renovação, suspensão,
|
|
31
|
+
revogação).
|
|
32
|
+
|
|
33
|
+
## 4. Base legal
|
|
34
|
+
|
|
35
|
+
**Execução de contrato** (LGPD, art. 7º, V) — o tratamento é necessário para
|
|
36
|
+
fornecer e proteger a licença que você contratou. O antifraude apoia-se também no
|
|
37
|
+
**legítimo interesse** (art. 7º, IX) de coibir uso não autorizado.
|
|
38
|
+
|
|
39
|
+
## 5. Compartilhamento
|
|
40
|
+
|
|
41
|
+
Os dados são processados na infraestrutura do servidor de licenças
|
|
42
|
+
(Cloudflare Workers/D1), atuando como **operador** por conta do Controlador. Não
|
|
43
|
+
há venda nem compartilhamento dos dados para fins de marketing de terceiros.
|
|
44
|
+
|
|
45
|
+
## 6. Retenção
|
|
46
|
+
|
|
47
|
+
Os registros de licença e auditoria (ativações, heartbeats, emissões, revogações)
|
|
48
|
+
são mantidos enquanto durar a relação contratual e pelos prazos legais aplicáveis
|
|
49
|
+
(p. ex. prescrição civil), após o que são eliminados ou anonimizados.
|
|
50
|
+
|
|
51
|
+
## 7. O que NÃO é coletado
|
|
52
|
+
|
|
53
|
+
O licenciamento **não** lê, transmite ou armazena: o conteúdo dos seus arquivos
|
|
54
|
+
ou código, os prompts/sessões do Claude Code, telemetria de uso de skills/agentes,
|
|
55
|
+
ou qualquer dado do seu projeto. O gate de sessão (`license-gate.cjs`) roda
|
|
56
|
+
**offline** — lê a licença em cache local (`~/.merlin/license.mlic`), verifica
|
|
57
|
+
assinatura/expiração/Máquina e **não faz chamada de rede**.
|
|
58
|
+
|
|
59
|
+
## 8. Direitos do titular (LGPD, art. 18)
|
|
60
|
+
|
|
61
|
+
Você pode solicitar confirmação de tratamento, acesso, correção, anonimização,
|
|
62
|
+
portabilidade, informação sobre compartilhamento e — observadas as obrigações
|
|
63
|
+
legais e contratuais — eliminação dos seus dados, pelo contato da seção 1. Para
|
|
64
|
+
diagnóstico/suporte você pode obter o seu `fingerprint_hash` localmente com
|
|
65
|
+
`merlin fingerprint`.
|
package/README.md
ADDED
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="Merlin deitado.png" alt="Merlin Logo" width="140" />
|
|
3
|
+
<h1>Gestao Merlin</h1>
|
|
4
|
+
<p><strong>The Mage of Management</strong> — AI Orchestration Framework</p>
|
|
5
|
+
<p>Turn Claude Code into a managed software development operation.</p>
|
|
6
|
+
|
|
7
|
+
<br />
|
|
8
|
+
|
|
9
|
+
[]()
|
|
10
|
+
[]()
|
|
11
|
+
[]()
|
|
12
|
+
[]()
|
|
13
|
+
[]()
|
|
14
|
+
[]()
|
|
15
|
+
[](https://github.com/EuGenio1FreeLa/gestao-merlin/actions/workflows/ci.yml)
|
|
16
|
+
[](LICENSE)
|
|
17
|
+
[](https://www.npmjs.com/package/gestao-merlin)
|
|
18
|
+
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
<br />
|
|
22
|
+
|
|
23
|
+
Instead of a single AI assistant, you get **16 specialized agents**, **74 auto-activating skills** (65 built-in + 9 domain), and **38 slash commands** governed by a constitution, quality gates, and structured workflows.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Why Merlin Exists
|
|
28
|
+
|
|
29
|
+
AI coding assistants are powerful but chaotic. They forget context between sessions, skip quality checks, hallucinate features, and can't coordinate multi-agent work. Merlin solves this by layering an **operating system abstraction** over Claude Code:
|
|
30
|
+
|
|
31
|
+
| Problem | Merlin's Solution |
|
|
32
|
+
| -------------------------------------- | -------------------------------------------------------- |
|
|
33
|
+
| AI forgets everything between sessions | RAG memory via ThoughtsProvider + auto-summarize hooks |
|
|
34
|
+
| No quality enforcement | 3-layer gates (pre-commit, PR automation, human review) |
|
|
35
|
+
| Context window exhausts mid-task | 8-layer Alkimia engine with bracket-aware token budgets |
|
|
36
|
+
| Single-agent bottleneck | Team execution (coordinate/route/broadcast) + party mode |
|
|
37
|
+
| Unsafe autonomous actions | 3-tier approval (LOW/MEDIUM/HIGH) + 3-point guardrails |
|
|
38
|
+
| Documentation goes stale | Self-updating doc-sync detection |
|
|
39
|
+
| No structured methodology | Spec-Driven Development with the Folloni Funnel |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Quick Start
|
|
44
|
+
|
|
45
|
+
### 1. Install Merlin
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npm install -g @caoscompanybr/merlin
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. Initialize your project
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
mkdir my-project && cd my-project
|
|
55
|
+
merlin init
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
This scaffolds `.merlin-core/`, the `.claude/` hooks and rules, and a starter
|
|
59
|
+
config. For full prerequisites and per-OS steps, see [INSTALL.md](INSTALL.md).
|
|
60
|
+
|
|
61
|
+
> Merlin is **commercial, licensed software**: see [LICENSE](LICENSE) (a B2B
|
|
62
|
+
> EULA under Brazilian law) and [PRIVACY-LICENSING.md](PRIVACY-LICENSING.md)
|
|
63
|
+
> (LGPD). `merlin init` requires a valid, activated license — run
|
|
64
|
+
> `merlin activate <key> --email <you@example.com>` first.
|
|
65
|
+
|
|
66
|
+
### 3. Configure your project
|
|
67
|
+
|
|
68
|
+
Edit `.merlin-core/project-config.yaml` with your project name, description, and active agents.
|
|
69
|
+
|
|
70
|
+
### 4. Start developing
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
claude # Open Claude Code
|
|
74
|
+
/research # Understand the codebase
|
|
75
|
+
/plan "what to build" # Design the implementation
|
|
76
|
+
/implement # Build it
|
|
77
|
+
/adversarial-review # Attack it
|
|
78
|
+
/commit # Ship it
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
For the full guide and command reference, see [docs/GUIDE.md](.merlin-core/docs/GUIDE.md).
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Architecture
|
|
86
|
+
|
|
87
|
+
```mermaid
|
|
88
|
+
graph TB
|
|
89
|
+
subgraph core[".merlin-core/"]
|
|
90
|
+
CONST["Constitution<br/>13 Principles"]
|
|
91
|
+
|
|
92
|
+
subgraph runtime["Core Runtime — 78 modules across 19 subsystems"]
|
|
93
|
+
subgraph engines["Principal Engines (6)"]
|
|
94
|
+
ALK["Alkimia<br/>L0-L7 Context Injection"]
|
|
95
|
+
EXEC["Execution<br/>Parallel · Team · Wave · Party"]
|
|
96
|
+
ORCH["Orchestration<br/>Master · Gates · Workflows"]
|
|
97
|
+
QG["Quality Gates<br/>3 Layers"]
|
|
98
|
+
APPR["Approval<br/>3 Tiers + YOLO"]
|
|
99
|
+
MCP["MCP<br/>Server Integration"]
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
subgraph state["Memory & State (5)"]
|
|
103
|
+
MEM["memory"]
|
|
104
|
+
EVT["events"]
|
|
105
|
+
REG["registry"]
|
|
106
|
+
MAN["manifest"]
|
|
107
|
+
SES["session"]
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
subgraph policy["Policy & Lifecycle (4)"]
|
|
111
|
+
CFG["config"]
|
|
112
|
+
PERM["permissions"]
|
|
113
|
+
HC["health-check"]
|
|
114
|
+
ELI["elicitation"]
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
subgraph internals["Internals (4)"]
|
|
118
|
+
IDS["ids"]
|
|
119
|
+
UI["ui"]
|
|
120
|
+
UTIL["utils"]
|
|
121
|
+
DOC["docs"]
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
subgraph dev["Development"]
|
|
126
|
+
AGENTS["15 Agents"]
|
|
127
|
+
SKILLS["73 Skills"]
|
|
128
|
+
CMDS["37 Commands"]
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
subgraph knowledge["Knowledge Persistence"]
|
|
132
|
+
PLANS["Plans"]
|
|
133
|
+
RESEARCH["Research"]
|
|
134
|
+
HANDOFFS["Handoffs"]
|
|
135
|
+
DECISIONS["ADRs"]
|
|
136
|
+
LEARN["Learnings"]
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
CONST --> ALK
|
|
141
|
+
ALK --> EXEC
|
|
142
|
+
ORCH --> EXEC
|
|
143
|
+
EXEC --> QG
|
|
144
|
+
QG --> APPR
|
|
145
|
+
AGENTS --> ORCH
|
|
146
|
+
SKILLS --> AGENTS
|
|
147
|
+
CMDS --> ORCH
|
|
148
|
+
ALK -.-> MEM
|
|
149
|
+
ORCH -.-> EVT
|
|
150
|
+
EXEC -.-> PERM
|
|
151
|
+
CFG --> CONST
|
|
152
|
+
|
|
153
|
+
style CONST fill:#1a1a2e,color:#fff
|
|
154
|
+
style ALK fill:#533483,color:#fff
|
|
155
|
+
style EXEC fill:#e94560,color:#fff
|
|
156
|
+
style ORCH fill:#0f3460,color:#fff
|
|
157
|
+
style QG fill:#27ae60,color:#fff
|
|
158
|
+
style APPR fill:#f39c12,color:#000
|
|
159
|
+
style MCP fill:#16213e,color:#fff
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Directory Layout
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
your-project/
|
|
166
|
+
├── .merlin-core/ Framework core (committed)
|
|
167
|
+
│ ├── constitution.md 13 governing principles
|
|
168
|
+
│ ├── core/ 78 production modules across 19 subsystems
|
|
169
|
+
│ │ ├── alkimia/ 8-layer context injection (L0-L7) + RAG memory
|
|
170
|
+
│ │ ├── execution/ ParallelExecutor, TeamExecutor, PartySession
|
|
171
|
+
│ │ ├── orchestration/ MasterOrchestrator, GateEvaluator, workflows
|
|
172
|
+
│ │ ├── approval/ 3-tier ApprovalEngine with YOLO mode
|
|
173
|
+
│ │ ├── quality-gates/ 3-layer quality enforcement
|
|
174
|
+
│ │ ├── mcp/ MCP server integration + capability mapper
|
|
175
|
+
│ │ ├── memory/ ThoughtsProvider RAG store
|
|
176
|
+
│ │ ├── events/ EventBus for cross-agent signals
|
|
177
|
+
│ │ ├── registry/ Artifact + skill registry
|
|
178
|
+
│ │ ├── manifest/ Project manifest reader/writer
|
|
179
|
+
│ │ ├── session/ Session state + transcripts
|
|
180
|
+
│ │ ├── config/ 4-level config resolution (L0-L3)
|
|
181
|
+
│ │ ├── permissions/ Per-agent file restriction enforcement
|
|
182
|
+
│ │ ├── health-check/ Subsystem readiness probes
|
|
183
|
+
│ │ ├── elicitation/ 20+ structured techniques
|
|
184
|
+
│ │ └── ids, ui, utils, docs/ Internals + shared helpers
|
|
185
|
+
│ ├── development/
|
|
186
|
+
│ │ ├── agents/ 15 agent definitions
|
|
187
|
+
│ │ ├── workflows/ Folloni Funnel + step files
|
|
188
|
+
│ │ └── templates/ Spec, PRD, research, handoff
|
|
189
|
+
│ ├── commands/ 37 slash commands by phase
|
|
190
|
+
│ ├── skills/ 64 built-in + 9 domain (user-extensible)
|
|
191
|
+
│ ├── tools/ Merlin-Tools CLI (19 subcommands)
|
|
192
|
+
│ ├── schemas/ 12 JSON validation schemas
|
|
193
|
+
│ └── thoughts/shared/ Plans, research, handoffs, decisions, learnings
|
|
194
|
+
├── .claude/
|
|
195
|
+
│ ├── CLAUDE.md Project instructions
|
|
196
|
+
│ ├── hooks/ 4 lifecycle hooks
|
|
197
|
+
│ └── rules/ Constitution enforcement
|
|
198
|
+
└── .merlin/ Runtime state (gitignored)
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## The Alkimia Context Engine
|
|
204
|
+
|
|
205
|
+
Every agent interaction passes through 8 layers that inject the right context at the right time:
|
|
206
|
+
|
|
207
|
+
```mermaid
|
|
208
|
+
graph LR
|
|
209
|
+
L0["L0<br/>Constitution"] --> L1["L1<br/>Global"]
|
|
210
|
+
L1 --> L2["L2<br/>Agent"]
|
|
211
|
+
L2 --> L3["L3<br/>Workflow"]
|
|
212
|
+
L3 --> L4["L4<br/>Task"]
|
|
213
|
+
L4 --> L5["L5<br/>Squad"]
|
|
214
|
+
L5 --> L6["L6<br/>Skill"]
|
|
215
|
+
L6 --> L7["L7<br/>Star Command"]
|
|
216
|
+
|
|
217
|
+
style L0 fill:#1a1a2e,color:#fff
|
|
218
|
+
style L1 fill:#16213e,color:#fff
|
|
219
|
+
style L2 fill:#0f3460,color:#fff
|
|
220
|
+
style L3 fill:#533483,color:#fff
|
|
221
|
+
style L4 fill:#e94560,color:#fff
|
|
222
|
+
style L5 fill:#f39c12,color:#000
|
|
223
|
+
style L6 fill:#27ae60,color:#fff
|
|
224
|
+
style L7 fill:#3498db,color:#fff
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**Token Brackets** manage context pressure as the conversation grows:
|
|
228
|
+
|
|
229
|
+
| Bracket | Usage | Behavior |
|
|
230
|
+
| ------------ | ------ | ------------------------------------------- |
|
|
231
|
+
| **FRESH** | 0-25% | All layers, full detail |
|
|
232
|
+
| **MODERATE** | 25-50% | Standard detail, optional layers trimmed |
|
|
233
|
+
| **DEPLETED** | 50-75% | Essential only, aggressive trimming |
|
|
234
|
+
| **CRITICAL** | 75%+ | Constitution + active task, recommend reset |
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## The Folloni Funnel
|
|
239
|
+
|
|
240
|
+
Primary development workflow with context resets between phases:
|
|
241
|
+
|
|
242
|
+
```mermaid
|
|
243
|
+
graph LR
|
|
244
|
+
R["Phase 1<br/>Research<br/>Sage + Scout"] -->|prd.md| RST1["CONTEXT<br/>RESET"]
|
|
245
|
+
RST1 --> P["Phase 2<br/>Architecture<br/>Aria"] -->|spec.md| RST2["CONTEXT<br/>RESET"]
|
|
246
|
+
RST2 --> B["Phase 3<br/>Implementation<br/>Dex → Quinn → Gage"]
|
|
247
|
+
|
|
248
|
+
style R fill:#3498db,color:#fff
|
|
249
|
+
style P fill:#9b59b6,color:#fff
|
|
250
|
+
style B fill:#e74c3c,color:#fff
|
|
251
|
+
style RST1 fill:#95a5a6,color:#fff,stroke-dasharray: 5 5
|
|
252
|
+
style RST2 fill:#95a5a6,color:#fff,stroke-dasharray: 5 5
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Each phase operates with a **fresh context window**, loading only the output document from the previous phase. This prevents context exhaustion on complex tasks.
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Agent Roster
|
|
260
|
+
|
|
261
|
+
| ID | Name | Role | Auto-Activates On |
|
|
262
|
+
| -------------- | ------ | ------------------------ | -------------------------------------------- |
|
|
263
|
+
| merlin-master | Orion | Master Orchestrator | orchestrate, dispatch, workflow |
|
|
264
|
+
| analyst | Atlas | Business Analyst | requirements, stakeholder, gap-analysis |
|
|
265
|
+
| architect | Aria | Software Architect | design, architecture, spec, system-design |
|
|
266
|
+
| dev | Dex | Full Stack Developer | implement, code, build, fix, refactor |
|
|
267
|
+
| devops | Gage | DevOps Engineer | push, deploy, pr, ci, pipeline, git |
|
|
268
|
+
| pm | Morgan | Project Manager | status, sprint, risk, timeline, milestone |
|
|
269
|
+
| po | Pax | Product Owner | story, backlog, prioritize, product, feature |
|
|
270
|
+
| qa | Quinn | QA Specialist | test, quality, verify, adversarial, break |
|
|
271
|
+
| sm | River | Scrum Master | standup, retro, impediment, velocity |
|
|
272
|
+
| ux | Uma | UX Designer | ux, accessibility, wireframe, usability |
|
|
273
|
+
| data-engineer | Dara | Data Engineer | schema, database, migration, sql, etl |
|
|
274
|
+
| researcher | Sage | Deep Codebase Researcher | research, analyze, trace, explain-code |
|
|
275
|
+
| scout | Scout | Fast File Locator | find, locate, search, grep, list-files |
|
|
276
|
+
| web-researcher | Iris | Web Research Specialist | web-research, competitive-analysis |
|
|
277
|
+
| meta | Mira | System Optimizer | optimize, improve-system, analyze-sessions |
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## Command Reference
|
|
282
|
+
|
|
283
|
+
| Phase | Command | Purpose |
|
|
284
|
+
| -------------- | --------------------- | -------------------------------------------- |
|
|
285
|
+
| Research | `/research` | Deep codebase analysis with Sage + Scout |
|
|
286
|
+
| Planning | `/plan` | Create implementation spec |
|
|
287
|
+
| | `/iterate-plan` | Refine an existing plan |
|
|
288
|
+
| | `/validate-plan` | Verify plan meets requirements + must_haves |
|
|
289
|
+
| Implementation | `/implement` | Execute a plan from thoughts/shared/plans/ |
|
|
290
|
+
| | `/oneshot` | Quick implementation without full spec |
|
|
291
|
+
| Git | `/commit` | Stage and commit with conventional message |
|
|
292
|
+
| | `/describe-pr` | Create PR with structured description |
|
|
293
|
+
| Session | `/handoff` | Create handoff for context continuity |
|
|
294
|
+
| | `/resume-handoff` | Resume from prior handoff |
|
|
295
|
+
| | `/create-reminder` | Create persistent cross-session reminder |
|
|
296
|
+
| | `/create-objective` | Create goal with success criteria |
|
|
297
|
+
| | `/check-objectives` | Review progress on active objectives |
|
|
298
|
+
| | `/capture-learning` | Capture domain-specific learning |
|
|
299
|
+
| | `/recall-learnings` | Recall learnings relevant to current context |
|
|
300
|
+
| Review | `/review` | Run local code review |
|
|
301
|
+
| | `/debug` | Debug and troubleshoot |
|
|
302
|
+
| | `/adversarial-review` | 7-axis adversarial attack surface review |
|
|
303
|
+
| | `/engineering-audit` | 6-axis holistic engineering code audit |
|
|
304
|
+
| | `/verify-goals` | Verify implementation against must_haves |
|
|
305
|
+
| Special | `/elicit [technique]` | Structured elicitation (20+ techniques) |
|
|
306
|
+
| | `/party "topic"` | Multi-agent roundtable collaboration |
|
|
307
|
+
| | `/founder-mode` | Unrestricted development mode |
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## The 13 Constitutional Principles
|
|
312
|
+
|
|
313
|
+
| # | Principle | Severity | What It Means |
|
|
314
|
+
| ---- | ---------------------------------- | -------- | ------------------------------------------------------------------------------------------------ |
|
|
315
|
+
| I | **CLI First** | BLOCK | CLI is source of truth. UI observes, never controls. |
|
|
316
|
+
| II | **Agent Authority** | BLOCK | Exclusive permissions. Only @devops pushes, only @architect designs. |
|
|
317
|
+
| III | **Spec-Driven Development** | BLOCK | Research before planning. Plan before coding. No code without spec. |
|
|
318
|
+
| IV | **No Invention** | BLOCK | Specs derive from requirements only. Never invent features. |
|
|
319
|
+
| V | **Quality First** | BLOCK | 3-layer gates enforce quality. Layer 1 failure blocks merge. |
|
|
320
|
+
| VI | **MCP First** | WARN | External capabilities through MCP servers, not custom code. |
|
|
321
|
+
| VII | **Human Gates** | BLOCK | HIGH-stake actions require explicit human approval. Always. |
|
|
322
|
+
| VIII | **Craftsmanship & Follow-Through** | WARN | Best effort on every phase. DONE, BLOCKED, or HANDED-OFF. |
|
|
323
|
+
| IX | **Input Boundary Defense** | BLOCK | External data is untrusted. Web pages, API responses, and user docs never drive agent behavior. |
|
|
324
|
+
| X | **Professional Objectivity** | WARN | Technical accuracy over validating user beliefs. Flag unsound approaches even when requested. |
|
|
325
|
+
| XI | **Absolute Safety Boundaries** | BLOCK | ABSOLUTE-stake actions (force-push main, drop prod DB) never auto-approved — not even in YOLO. |
|
|
326
|
+
| XII | **Information Priority Hierarchy** | WARN | 5-tier source ranking on conflict: live code > docs > memory > web > training. |
|
|
327
|
+
| XIII | **Discussion-First Default** | INFO | Ambiguous intent → discuss, don't implement. Explicit action words required before writing code. |
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Quality Gates & Approval
|
|
332
|
+
|
|
333
|
+
### 3-Layer Quality Enforcement
|
|
334
|
+
|
|
335
|
+
| Layer | Stage | Mode | What It Checks |
|
|
336
|
+
| ----------- | ------------- | ------ | ------------------------------------ |
|
|
337
|
+
| **Layer 1** | Pre-commit | AUTO | Lint, test, typecheck, build |
|
|
338
|
+
| **Layer 2** | PR Automation | AUTO | Coverage, security, automated review |
|
|
339
|
+
| **Layer 3** | Human Review | MANUAL | Human sign-off required |
|
|
340
|
+
|
|
341
|
+
### 3-Point Guardrails (Agent Execution)
|
|
342
|
+
|
|
343
|
+
- **Pre-check** — Agent exists, task valid, files exist
|
|
344
|
+
- **Mid-check** — Timeout monitoring, output size, error detection
|
|
345
|
+
- **Post-check** — Success validation, file matching, secret scanning
|
|
346
|
+
|
|
347
|
+
### Approval Tiers
|
|
348
|
+
|
|
349
|
+
| Tier | Behavior | Examples | YOLO Mode |
|
|
350
|
+
| ---------- | ------------------------------- | ----------------------------- | ------------- |
|
|
351
|
+
| **LOW** | Auto-approved, logged | commit, file changes, tests | Same |
|
|
352
|
+
| **MEDIUM** | Confirmation (5min timeout) | push, PR, package install | Auto-approved |
|
|
353
|
+
| **HIGH** | Blocked until explicit approval | production deploy, force push | Still blocked |
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
## CLI Tools
|
|
358
|
+
|
|
359
|
+
```bash
|
|
360
|
+
node .merlin-core/tools/merlin-tools.js <command>
|
|
361
|
+
|
|
362
|
+
index Rebuild thoughts INDEX.json and INDEX.md
|
|
363
|
+
archive Archive terminal thoughts to .archive/
|
|
364
|
+
state [k] [v] Read/write context bridge state
|
|
365
|
+
frontmatter <f> Extract YAML frontmatter from markdown
|
|
366
|
+
list-agents List all registered agents
|
|
367
|
+
list-skills List all skills with activation keywords
|
|
368
|
+
validate <t> <f> Validate file against schema
|
|
369
|
+
yolo [on|off] Toggle YOLO mode
|
|
370
|
+
doc-sync Detect stale documentation
|
|
371
|
+
migrate-alkimia Migrate .synapse/ dirs to .alkimia/
|
|
372
|
+
upgrade <path> Upgrade a satellite project to current version
|
|
373
|
+
backup [path] Backup project-owned data to .merlin-backups/latest/
|
|
374
|
+
eval-skill <name> Evaluate a skill against its evals
|
|
375
|
+
sync-bridges Regenerate .claude/commands bridge files
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
## License
|
|
381
|
+
|
|
382
|
+
Commercial software under a paid EULA — see [LICENSE](LICENSE). All rights
|
|
383
|
+
reserved. Use requires a valid license activated with `merlin activate`.
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
<div align="center">
|
|
388
|
+
<sub>Built with the Folloni Funnel methodology across 3 waves of systematic evolution.</sub>
|
|
389
|
+
<br />
|
|
390
|
+
<sub>Powered by Claude Code + the Merlin Constitution.</sub>
|
|
391
|
+
</div>
|
package/bin/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# CLI Entry Points
|
|
2
|
+
|
|
3
|
+
The bin directory contains the executable entry points for Merlin. The main CLI is provided by merlin.js, with specialized variants including an initialization wizard, intrusion detection system tool, and lightweight minimal version for resource-constrained environments.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
|
|
7
|
+
- **merlin.js** - Main CLI entry point with full Merlin capabilities
|
|
8
|
+
- **merlin-init.js** - Interactive initialization wizard for new projects
|
|
9
|
+
- **merlin-ids.js** - Intrusion Detection System for security monitoring
|
|
10
|
+
- **merlin-minimal.js** - Lightweight CLI variant with essential features only
|
|
11
|
+
|
|
12
|
+
## Related
|
|
13
|
+
|
|
14
|
+
- [Packages](../packages/README.md)
|
|
15
|
+
- [Core](../.merlin-core/core/README.md)
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
# convert-to-merlin.sh — Thin wrapper around the JS install/upgrade engine.
|
|
4
|
+
#
|
|
5
|
+
# As of 2026-05-17 (Phase 8 of plan-a-shared-install-engine), the actual work
|
|
6
|
+
# is performed by .merlin-core/tools/commands/upgrade.js (via merlin-tools CLI).
|
|
7
|
+
# This script preserves the original CLI surface for backwards compatibility
|
|
8
|
+
# with operator workflows, scripts, and the /converterparamagos slash command.
|
|
9
|
+
#
|
|
10
|
+
# Backup model note: the JS engine writes a single rotated backup at
|
|
11
|
+
# .merlin-backups/latest/ (preserving project-owned data: thoughts, domain skills,
|
|
12
|
+
# project-config, claude-commands). The legacy timestamped .claude-backup-<TS>/
|
|
13
|
+
# and .merlin-core-backup-<TS>/ siblings are no longer created by this wrapper —
|
|
14
|
+
# rollback is supported via .merlin-backups/latest/ + the per-piece restore
|
|
15
|
+
# commands printed on error (formatRecoveryInstructions).
|
|
16
|
+
#
|
|
17
|
+
# USAGE:
|
|
18
|
+
# ./convert-to-merlin.sh <PROJECT_DIR> <MERLIN_SOURCE> [PROJECT_NAME] [--dry-run] [--yes] [--flatten-nesting]
|
|
19
|
+
#
|
|
20
|
+
# EXAMPLES:
|
|
21
|
+
# ./convert-to-merlin.sh "/path/to/project" "/path/to/gestao-merlin" --dry-run
|
|
22
|
+
# ./convert-to-merlin.sh "/path/to/project" "/path/to/gestao-merlin" --yes
|
|
23
|
+
# ./convert-to-merlin.sh "/path/to/project" "/path/to/gestao-merlin" "ProjectName" --yes --flatten-nesting
|
|
24
|
+
|
|
25
|
+
set -euo pipefail
|
|
26
|
+
|
|
27
|
+
# ============================================================================
|
|
28
|
+
# Early --help (before strict positional validation)
|
|
29
|
+
# ============================================================================
|
|
30
|
+
|
|
31
|
+
for arg in "$@"; do
|
|
32
|
+
case "$arg" in
|
|
33
|
+
--help|-h)
|
|
34
|
+
cat <<HELP
|
|
35
|
+
Usage: $(basename "$0") PROJECT_DIR MERLIN_SOURCE [PROJECT_NAME] [--dry-run] [--yes] [--flatten-nesting]
|
|
36
|
+
|
|
37
|
+
PROJECT_DIR Target project to convert or upgrade
|
|
38
|
+
MERLIN_SOURCE Path to Gestao Merlin framework source
|
|
39
|
+
PROJECT_NAME Display name (ignored — JS engine derives from PROJECT_DIR basename)
|
|
40
|
+
|
|
41
|
+
Flags:
|
|
42
|
+
--dry-run, -n Show what WOULD happen without writing anything
|
|
43
|
+
--yes, -y Non-interactive (silently accepted by JS engine — no-op)
|
|
44
|
+
--flatten-nesting Remove legacy domain/skill/skill/ nesting from preserved data
|
|
45
|
+
--help, -h Show this message
|
|
46
|
+
|
|
47
|
+
Examples:
|
|
48
|
+
$(basename "$0") /path/to/proj /path/to/gestao-merlin --dry-run
|
|
49
|
+
$(basename "$0") /path/to/proj /path/to/gestao-merlin --yes --flatten-nesting
|
|
50
|
+
|
|
51
|
+
This is a thin wrapper. Actual work is performed by:
|
|
52
|
+
node MERLIN_SOURCE/.merlin-core/tools/merlin-tools.js upgrade <PROJECT_DIR> [flags]
|
|
53
|
+
HELP
|
|
54
|
+
exit 0
|
|
55
|
+
;;
|
|
56
|
+
esac
|
|
57
|
+
done
|
|
58
|
+
|
|
59
|
+
# ============================================================================
|
|
60
|
+
# Positional + flag parsing (preserves original CLI surface)
|
|
61
|
+
# ============================================================================
|
|
62
|
+
|
|
63
|
+
PROJECT_DIR="${1:?Erro: Informe o caminho do projeto como primeiro argumento}"
|
|
64
|
+
MERLIN_SOURCE="${2:?Erro: Informe o caminho do Gestao Merlin como segundo argumento}"
|
|
65
|
+
shift 2
|
|
66
|
+
|
|
67
|
+
# Defaults
|
|
68
|
+
AUTO_CONFIRM=""
|
|
69
|
+
DRY_RUN=""
|
|
70
|
+
FLATTEN_NESTING=""
|
|
71
|
+
NAME_SET=false
|
|
72
|
+
|
|
73
|
+
while [ $# -gt 0 ]; do
|
|
74
|
+
case "$1" in
|
|
75
|
+
--yes|-y) AUTO_CONFIRM="--yes" ;;
|
|
76
|
+
--dry-run|-n) DRY_RUN="--dry-run" ;;
|
|
77
|
+
--flatten-nesting) FLATTEN_NESTING="--flatten-nesting" ;;
|
|
78
|
+
--*) echo " ⚠ Unknown flag (ignored, will not pass to JS): $1" >&2 ;;
|
|
79
|
+
*)
|
|
80
|
+
# First non-flag positional was PROJECT_NAME in the old bash CLI.
|
|
81
|
+
# JS engine derives name from PROJECT_DIR basename, so we just consume + warn.
|
|
82
|
+
if [ "$NAME_SET" = false ]; then
|
|
83
|
+
NAME_SET=true
|
|
84
|
+
else
|
|
85
|
+
echo " ⚠ Extra positional ignored: $1" >&2
|
|
86
|
+
fi
|
|
87
|
+
;;
|
|
88
|
+
esac
|
|
89
|
+
shift
|
|
90
|
+
done
|
|
91
|
+
|
|
92
|
+
# ============================================================================
|
|
93
|
+
# Validate source has the JS engine
|
|
94
|
+
# ============================================================================
|
|
95
|
+
|
|
96
|
+
JS_ENGINE="$MERLIN_SOURCE/.merlin-core/tools/merlin-tools.js"
|
|
97
|
+
if [ ! -f "$JS_ENGINE" ]; then
|
|
98
|
+
echo "Erro: JS engine not found at: $JS_ENGINE" >&2
|
|
99
|
+
echo " Is \$MERLIN_SOURCE pointing to a valid Gestao Merlin checkout?" >&2
|
|
100
|
+
exit 1
|
|
101
|
+
fi
|
|
102
|
+
|
|
103
|
+
# ============================================================================
|
|
104
|
+
# Forward to JS engine
|
|
105
|
+
# ============================================================================
|
|
106
|
+
|
|
107
|
+
# Build flag list (skip empty positionals via no quotes — bash unquoted expansion
|
|
108
|
+
# omits empties, which is exactly what we want here)
|
|
109
|
+
exec node "$JS_ENGINE" upgrade "$PROJECT_DIR" $DRY_RUN $AUTO_CONFIRM $FLATTEN_NESTING
|