moai-adk 0.35.1__py3-none-any.whl
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.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +10 -0
- moai_adk/__main__.py +199 -0
- moai_adk/cli/__init__.py +6 -0
- moai_adk/cli/commands/__init__.py +17 -0
- moai_adk/cli/commands/analyze.py +116 -0
- moai_adk/cli/commands/doctor.py +272 -0
- moai_adk/cli/commands/init.py +372 -0
- moai_adk/cli/commands/language.py +248 -0
- moai_adk/cli/commands/status.py +104 -0
- moai_adk/cli/commands/update.py +2686 -0
- moai_adk/cli/main.py +13 -0
- moai_adk/cli/prompts/__init__.py +5 -0
- moai_adk/cli/prompts/init_prompts.py +219 -0
- moai_adk/cli/spec_status.py +263 -0
- moai_adk/cli/ui/__init__.py +44 -0
- moai_adk/cli/ui/progress.py +422 -0
- moai_adk/cli/ui/prompts.py +389 -0
- moai_adk/cli/ui/theme.py +129 -0
- moai_adk/cli/worktree/__init__.py +27 -0
- moai_adk/cli/worktree/__main__.py +31 -0
- moai_adk/cli/worktree/cli.py +683 -0
- moai_adk/cli/worktree/exceptions.py +89 -0
- moai_adk/cli/worktree/manager.py +493 -0
- moai_adk/cli/worktree/models.py +65 -0
- moai_adk/cli/worktree/registry.py +422 -0
- moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
- moai_adk/core/__init__.py +1 -0
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +400 -0
- moai_adk/core/claude_integration.py +393 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/comprehensive_monitoring_system.py +1183 -0
- moai_adk/core/config/__init__.py +19 -0
- moai_adk/core/config/auto_spec_config.py +340 -0
- moai_adk/core/config/migration.py +244 -0
- moai_adk/core/config/unified.py +436 -0
- moai_adk/core/context_manager.py +273 -0
- moai_adk/core/diagnostics/__init__.py +19 -0
- moai_adk/core/diagnostics/slash_commands.py +159 -0
- moai_adk/core/enterprise_features.py +1404 -0
- moai_adk/core/error_recovery_system.py +1902 -0
- moai_adk/core/event_driven_hook_system.py +1371 -0
- moai_adk/core/git/__init__.py +31 -0
- moai_adk/core/git/branch.py +25 -0
- moai_adk/core/git/branch_manager.py +129 -0
- moai_adk/core/git/checkpoint.py +134 -0
- moai_adk/core/git/commit.py +67 -0
- moai_adk/core/git/conflict_detector.py +413 -0
- moai_adk/core/git/event_detector.py +79 -0
- moai_adk/core/git/manager.py +216 -0
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
- moai_adk/core/input_validation_middleware.py +1006 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +157 -0
- moai_adk/core/integration/integration_tester.py +226 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +305 -0
- moai_adk/core/jit_context_loader.py +956 -0
- moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
- moai_adk/core/language_config.py +202 -0
- moai_adk/core/language_config_resolver.py +572 -0
- moai_adk/core/language_validator.py +543 -0
- moai_adk/core/mcp/setup.py +116 -0
- moai_adk/core/merge/__init__.py +9 -0
- moai_adk/core/merge/analyzer.py +605 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
- moai_adk/core/migration/backup_manager.py +277 -0
- moai_adk/core/migration/custom_element_scanner.py +358 -0
- moai_adk/core/migration/file_migrator.py +209 -0
- moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
- moai_adk/core/migration/selective_restorer.py +470 -0
- moai_adk/core/migration/template_utils.py +74 -0
- moai_adk/core/migration/user_selection_ui.py +338 -0
- moai_adk/core/migration/version_detector.py +139 -0
- moai_adk/core/migration/version_migrator.py +228 -0
- moai_adk/core/performance/__init__.py +6 -0
- moai_adk/core/performance/cache_system.py +316 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
- moai_adk/core/project/__init__.py +1 -0
- moai_adk/core/project/backup_utils.py +70 -0
- moai_adk/core/project/checker.py +300 -0
- moai_adk/core/project/detector.py +293 -0
- moai_adk/core/project/initializer.py +387 -0
- moai_adk/core/project/phase_executor.py +716 -0
- moai_adk/core/project/validator.py +139 -0
- moai_adk/core/quality/__init__.py +6 -0
- moai_adk/core/quality/trust_checker.py +377 -0
- moai_adk/core/quality/validators/__init__.py +6 -0
- moai_adk/core/quality/validators/base_validator.py +19 -0
- moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
- moai_adk/core/robust_json_parser.py +611 -0
- moai_adk/core/rollback_manager.py +918 -0
- moai_adk/core/session_manager.py +651 -0
- moai_adk/core/skill_loading_system.py +579 -0
- moai_adk/core/spec/confidence_scoring.py +680 -0
- moai_adk/core/spec/ears_template_engine.py +1247 -0
- moai_adk/core/spec/quality_validator.py +687 -0
- moai_adk/core/spec_status_manager.py +478 -0
- moai_adk/core/template/__init__.py +7 -0
- moai_adk/core/template/backup.py +174 -0
- moai_adk/core/template/config.py +191 -0
- moai_adk/core/template/languages.py +43 -0
- moai_adk/core/template/merger.py +233 -0
- moai_adk/core/template/processor.py +1200 -0
- moai_adk/core/template_engine.py +310 -0
- moai_adk/core/template_variable_synchronizer.py +417 -0
- moai_adk/core/unified_permission_manager.py +745 -0
- moai_adk/core/user_behavior_analytics.py +851 -0
- moai_adk/core/version_sync.py +429 -0
- moai_adk/foundation/__init__.py +56 -0
- moai_adk/foundation/backend.py +1027 -0
- moai_adk/foundation/database.py +1115 -0
- moai_adk/foundation/devops.py +1585 -0
- moai_adk/foundation/ears.py +431 -0
- moai_adk/foundation/frontend.py +870 -0
- moai_adk/foundation/git/commit_templates.py +557 -0
- moai_adk/foundation/git.py +376 -0
- moai_adk/foundation/langs.py +484 -0
- moai_adk/foundation/ml_ops.py +1162 -0
- moai_adk/foundation/testing.py +1524 -0
- moai_adk/foundation/trust/trust_principles.py +676 -0
- moai_adk/foundation/trust/validation_checklist.py +1573 -0
- moai_adk/project/__init__.py +0 -0
- moai_adk/project/configuration.py +1084 -0
- moai_adk/project/documentation.py +566 -0
- moai_adk/project/schema.py +447 -0
- moai_adk/statusline/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +105 -0
- moai_adk/statusline/config.py +376 -0
- moai_adk/statusline/enhanced_output_style_detector.py +372 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +322 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +343 -0
- moai_adk/statusline/update_checker.py +129 -0
- moai_adk/statusline/version_reader.py +741 -0
- moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +714 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
- moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
- moai_adk/templates/.claude/agents/moai/builder-plugin.md +637 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
- moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
- moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
- moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
- moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
- moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +513 -0
- moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
- moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
- moai_adk/templates/.claude/agents/moai/manager-git.md +1060 -0
- moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
- moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
- moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
- moai_adk/templates/.claude/commands/moai/0-project.md +1386 -0
- moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
- moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
- moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -0
- moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
- moai_adk/templates/.claude/hooks/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
- moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
- moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
- moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
- moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
- moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
- moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
- moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
- moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1083 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
- moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
- moai_adk/templates/.claude/settings.json +172 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +307 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +328 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +320 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +323 -0
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +545 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +492 -0
- moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
- moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +649 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +478 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +376 -0
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +385 -0
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +382 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +644 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +481 -0
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +579 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +687 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +372 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +368 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +319 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
- moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +402 -0
- moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
- moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
- moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +291 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +474 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/migration.md +341 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +463 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/validation.md +373 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/SKILL.md +275 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/adaptive-mfa.md +233 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/akamai-integration.md +215 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/application-credentials.md +280 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-log-events.md +225 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-overview.md +140 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/bot-detection.md +144 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/breached-password-detection.md +187 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/brute-force-protection.md +189 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/certifications.md +282 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/compliance-overview.md +263 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/continuous-session-protection.md +307 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/customize-mfa.md +178 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/dpop-implementation.md +283 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/fapi-implementation.md +259 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/gdpr-compliance.md +313 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/guardian-configuration.md +269 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/highly-regulated-identity.md +272 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/jwt-fundamentals.md +248 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mdl-verification.md +211 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-api-management.md +278 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-factors.md +226 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-overview.md +174 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mtls-sender-constraining.md +316 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/ropg-flow-mfa.md +217 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-center.md +325 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-guidance.md +277 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/state-parameters.md +178 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/step-up-authentication.md +251 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/suspicious-ip-throttling.md +240 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/tenant-access-control.md +180 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/webauthn-fido.md +235 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +175 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1434 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +534 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
- moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +411 -0
- moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
- moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
- moai_adk/templates/.git-hooks/pre-commit +128 -0
- moai_adk/templates/.git-hooks/pre-push +365 -0
- moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
- moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +337 -0
- moai_adk/templates/.gitignore +222 -0
- moai_adk/templates/.mcp.json +13 -0
- moai_adk/templates/.moai/config/config.yaml +58 -0
- moai_adk/templates/.moai/config/questions/_schema.yaml +174 -0
- moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +107 -0
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +79 -0
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +632 -0
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +182 -0
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +96 -0
- moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
- moai_adk/templates/.moai/config/sections/language.yaml +11 -0
- moai_adk/templates/.moai/config/sections/project.yaml +13 -0
- moai_adk/templates/.moai/config/sections/quality.yaml +17 -0
- moai_adk/templates/.moai/config/sections/system.yaml +24 -0
- moai_adk/templates/.moai/config/sections/user.yaml +5 -0
- moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
- moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
- moai_adk/templates/CLAUDE.md +642 -0
- moai_adk/utils/__init__.py +30 -0
- moai_adk/utils/banner.py +38 -0
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +241 -0
- moai_adk/utils/logger.py +147 -0
- moai_adk/utils/safe_file_reader.py +206 -0
- moai_adk/utils/timeout.py +160 -0
- moai_adk/utils/toon_utils.py +256 -0
- moai_adk/version.py +22 -0
- moai_adk-0.35.1.dist-info/METADATA +3018 -0
- moai_adk-0.35.1.dist-info/RECORD +502 -0
- moai_adk-0.35.1.dist-info/WHEEL +4 -0
- moai_adk-0.35.1.dist-info/entry_points.txt +3 -0
- moai_adk-0.35.1.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-platform-auth0
|
|
3
|
+
description: Auth0 enterprise authentication specialist covering SSO, SAML, OIDC, organizations, and B2B multi-tenancy. Use when implementing enterprise identity federation or complex auth workflows.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
category: platform
|
|
6
|
+
tags: [auth0, sso, saml, oidc, enterprise, identity]
|
|
7
|
+
context7-libraries: [/auth0/auth0-docs]
|
|
8
|
+
related-skills: [moai-platform-clerk, moai-domain-backend, moai-security-auth0]
|
|
9
|
+
updated: 2025-12-07
|
|
10
|
+
status: active
|
|
11
|
+
allowed-tools: Read, Write, Bash, Grep, Glob
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Auth0 Enterprise Authentication Specialist
|
|
15
|
+
|
|
16
|
+
Enterprise identity federation platform for B2B SaaS applications with SSO, SAML, OIDC, ADFS, Organizations, Actions, and Universal Login customization.
|
|
17
|
+
|
|
18
|
+
## Quick Reference (30 seconds)
|
|
19
|
+
|
|
20
|
+
Auth0 Core Capabilities:
|
|
21
|
+
|
|
22
|
+
- Enterprise SSO: SAML, OIDC, ADFS with 50+ pre-built connections
|
|
23
|
+
- Organizations: B2B multi-tenancy with isolated authentication contexts
|
|
24
|
+
- Actions: Serverless extensibility for custom auth logic
|
|
25
|
+
- Universal Login: Customizable branded login experience
|
|
26
|
+
- Management API: Comprehensive user and tenant management
|
|
27
|
+
|
|
28
|
+
When to Use Auth0:
|
|
29
|
+
|
|
30
|
+
- Enterprise SSO with SAML, OIDC, or ADFS required
|
|
31
|
+
- B2B SaaS with organization-level isolation
|
|
32
|
+
- 50+ enterprise identity provider integrations needed
|
|
33
|
+
- Complex authentication workflows with custom logic
|
|
34
|
+
- SOC2, HIPAA, or enterprise compliance requirements
|
|
35
|
+
|
|
36
|
+
Context7 Access:
|
|
37
|
+
|
|
38
|
+
Use resolve-library-id with "auth0" then get-library-docs for latest API documentation.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Implementation Guide
|
|
43
|
+
|
|
44
|
+
### Enterprise SSO Configuration
|
|
45
|
+
|
|
46
|
+
SAML Identity Provider Integration:
|
|
47
|
+
|
|
48
|
+
Step 1: Navigate to Auth0 Dashboard, select Authentication, then Enterprise
|
|
49
|
+
Step 2: Select SAML and click Create Connection
|
|
50
|
+
Step 3: Provide connection name and IdP metadata URL or upload XML
|
|
51
|
+
Step 4: Configure attribute mappings for user profile synchronization
|
|
52
|
+
Step 5: Map SAML attributes to Auth0 user profile fields
|
|
53
|
+
Step 6: Enable connection for target applications
|
|
54
|
+
|
|
55
|
+
SAML Attribute Mapping Configuration:
|
|
56
|
+
|
|
57
|
+
Common attribute mappings include email from http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress, given_name from http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname, family_name from http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname, and groups from http://schemas.xmlsoap.org/claims/Group.
|
|
58
|
+
|
|
59
|
+
OIDC Connection Setup:
|
|
60
|
+
|
|
61
|
+
Step 1: Select OpenID Connect in enterprise connections
|
|
62
|
+
Step 2: Provide discovery URL from identity provider
|
|
63
|
+
Step 3: Configure client ID and client secret from IdP
|
|
64
|
+
Step 4: Define required scopes (openid, profile, email)
|
|
65
|
+
Step 5: Map OIDC claims to Auth0 user profile attributes
|
|
66
|
+
Step 6: Configure token validation settings
|
|
67
|
+
|
|
68
|
+
ADFS Integration:
|
|
69
|
+
|
|
70
|
+
Step 1: Configure ADFS as SAML identity provider in ADFS console
|
|
71
|
+
Step 2: Add Auth0 as relying party trust
|
|
72
|
+
Step 3: Export ADFS federation metadata XML
|
|
73
|
+
Step 4: Create SAML connection in Auth0 with ADFS metadata
|
|
74
|
+
Step 5: Configure claim rules in ADFS for required attributes
|
|
75
|
+
Step 6: Test connection with ADFS sign-in flow
|
|
76
|
+
|
|
77
|
+
### Organizations for B2B Multi-Tenancy
|
|
78
|
+
|
|
79
|
+
Organization Feature Overview:
|
|
80
|
+
|
|
81
|
+
Auth0 Organizations enable multi-tenant B2B SaaS applications with isolated authentication contexts per customer organization.
|
|
82
|
+
|
|
83
|
+
Organization Core Features:
|
|
84
|
+
|
|
85
|
+
- Isolated user pools per organization
|
|
86
|
+
- Organization-specific identity providers
|
|
87
|
+
- Role-based access control per organization
|
|
88
|
+
- Invitation and membership management
|
|
89
|
+
- Custom branding per organization
|
|
90
|
+
- Connection-level organization restrictions
|
|
91
|
+
|
|
92
|
+
Creating Organizations Programmatically:
|
|
93
|
+
|
|
94
|
+
Use Management API to create organizations with name, display_name, branding configuration (logo_url, colors), metadata for custom attributes, and enabled_connections for allowed identity providers.
|
|
95
|
+
|
|
96
|
+
Organization Membership Management:
|
|
97
|
+
|
|
98
|
+
Invite users via email with customizable invitation templates, assign roles during invitation, support multiple organization memberships per user, and implement domain-based auto-enrollment.
|
|
99
|
+
|
|
100
|
+
Organization RBAC Configuration:
|
|
101
|
+
|
|
102
|
+
Step 1: Enable Organizations in tenant settings
|
|
103
|
+
Step 2: Define organization roles (org_admin, org_member, org_viewer)
|
|
104
|
+
Step 3: Assign permissions to roles at organization level
|
|
105
|
+
Step 4: Configure organization login experience
|
|
106
|
+
Step 5: Implement role checks in application using organization claims
|
|
107
|
+
|
|
108
|
+
Organization-Specific Connections:
|
|
109
|
+
|
|
110
|
+
Enable different identity providers per organization, allowing Enterprise customers to use SAML SSO while standard customers use email/password.
|
|
111
|
+
|
|
112
|
+
### Actions and Rules
|
|
113
|
+
|
|
114
|
+
Actions Overview:
|
|
115
|
+
|
|
116
|
+
Auth0 Actions replace deprecated Rules and Hooks with a modern serverless extensibility system.
|
|
117
|
+
|
|
118
|
+
Action Triggers:
|
|
119
|
+
|
|
120
|
+
- post-login: Execute after successful authentication
|
|
121
|
+
- post-user-registration: Execute after user signs up
|
|
122
|
+
- pre-user-registration: Validate user before registration
|
|
123
|
+
- post-change-password: Execute after password change
|
|
124
|
+
- send-phone-message: Custom phone message providers
|
|
125
|
+
|
|
126
|
+
Post-Login Action Patterns:
|
|
127
|
+
|
|
128
|
+
Add custom claims to tokens based on user metadata, enforce organization membership requirements, implement progressive profiling, log authentication events to external systems, and block users based on custom conditions.
|
|
129
|
+
|
|
130
|
+
Post-Login Action Structure:
|
|
131
|
+
|
|
132
|
+
The exports.onExecutePostLogin function receives event and api parameters. Access user information via event.user, organization via event.organization, and modify tokens using api.idToken.setCustomClaim and api.accessToken.setCustomClaim methods.
|
|
133
|
+
|
|
134
|
+
Pre-User-Registration Actions:
|
|
135
|
+
|
|
136
|
+
Validate email domains before allowing registration, check against external systems for user approval, populate initial user metadata, and enforce custom registration requirements.
|
|
137
|
+
|
|
138
|
+
Action Secrets Management:
|
|
139
|
+
|
|
140
|
+
Store sensitive values like API keys in Action secrets, access via event.secrets object, rotate secrets without redeploying actions, and audit secret access in logs.
|
|
141
|
+
|
|
142
|
+
### Universal Login Customization
|
|
143
|
+
|
|
144
|
+
Universal Login Overview:
|
|
145
|
+
|
|
146
|
+
Auth0 Universal Login provides a centralized, secure authentication experience hosted on Auth0 infrastructure.
|
|
147
|
+
|
|
148
|
+
New Universal Login Features:
|
|
149
|
+
|
|
150
|
+
- Built-in customization without code
|
|
151
|
+
- Passwordless authentication support
|
|
152
|
+
- WebAuthn and passkeys integration
|
|
153
|
+
- Organization login picker
|
|
154
|
+
- Identifier-first authentication flow
|
|
155
|
+
|
|
156
|
+
Branding Configuration:
|
|
157
|
+
|
|
158
|
+
Configure logo, colors, and fonts in Dashboard under Branding. Set primary_color for buttons and links, page_background_color for login page, and upload logo images in recommended dimensions.
|
|
159
|
+
|
|
160
|
+
Custom Universal Login:
|
|
161
|
+
|
|
162
|
+
For advanced customization, use Auth0 Lock widget or custom HTML pages. Implement custom CSS, JavaScript logic, and integrate with design systems while maintaining security.
|
|
163
|
+
|
|
164
|
+
Page Templates:
|
|
165
|
+
|
|
166
|
+
Customize login, signup, password reset, and MFA pages. Support multiple languages with template variables. Implement A/B testing for conversion optimization.
|
|
167
|
+
|
|
168
|
+
### Management API
|
|
169
|
+
|
|
170
|
+
Management API Overview:
|
|
171
|
+
|
|
172
|
+
Auth0 Management API provides comprehensive programmatic access for user management, application configuration, and tenant administration.
|
|
173
|
+
|
|
174
|
+
Authentication for Management API:
|
|
175
|
+
|
|
176
|
+
Obtain Machine-to-Machine access tokens with appropriate scopes. Use client credentials flow with application client_id and client_secret targeting the Management API audience.
|
|
177
|
+
|
|
178
|
+
User Management Operations:
|
|
179
|
+
|
|
180
|
+
Create users with connection, email, password, and metadata. Search users with Lucene query syntax. Update user metadata (user_metadata for user-editable, app_metadata for application-controlled). Delete users and revoke sessions.
|
|
181
|
+
|
|
182
|
+
Application Management:
|
|
183
|
+
|
|
184
|
+
Create and configure applications programmatically. Manage allowed callbacks, logout URLs, and web origins. Configure JWT settings including token lifetime and signing algorithm.
|
|
185
|
+
|
|
186
|
+
Connection Management:
|
|
187
|
+
|
|
188
|
+
Create enterprise connections via API. Configure connection options and attribute mappings. Enable connections for specific applications. Manage connection-level settings.
|
|
189
|
+
|
|
190
|
+
Rate Limiting Considerations:
|
|
191
|
+
|
|
192
|
+
Management API enforces rate limits per endpoint. Implement exponential backoff for retry logic. Cache frequently accessed data. Use bulk operations where available.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Advanced Patterns
|
|
197
|
+
|
|
198
|
+
### Enterprise Connection Patterns
|
|
199
|
+
|
|
200
|
+
Connection Selector for Multiple IdPs:
|
|
201
|
+
|
|
202
|
+
Implement Home Realm Discovery using email domain to route users to appropriate identity provider automatically.
|
|
203
|
+
|
|
204
|
+
Connection Configuration per Environment:
|
|
205
|
+
|
|
206
|
+
Maintain separate connections for development, staging, and production environments. Use environment-specific metadata for connection configuration.
|
|
207
|
+
|
|
208
|
+
Fallback Authentication Strategy:
|
|
209
|
+
|
|
210
|
+
Configure primary enterprise connection with database connection fallback. Allow password reset for users locked out of SSO.
|
|
211
|
+
|
|
212
|
+
### Token Customization
|
|
213
|
+
|
|
214
|
+
Custom Claims in Access Tokens:
|
|
215
|
+
|
|
216
|
+
Add organization_id, roles, and permissions as custom claims. Use namespaced claims following JWT best practices (e.g., https://myapp.com/claims/role).
|
|
217
|
+
|
|
218
|
+
Refresh Token Rotation:
|
|
219
|
+
|
|
220
|
+
Enable refresh token rotation for enhanced security. Configure absolute and inactivity expiration. Implement reuse detection for compromised tokens.
|
|
221
|
+
|
|
222
|
+
Token Lifetime Configuration:
|
|
223
|
+
|
|
224
|
+
Set appropriate lifetimes based on security requirements: access_token (15 minutes default), id_token (36000 seconds default), refresh_token (absolute and inactivity expiration).
|
|
225
|
+
|
|
226
|
+
### Migration Strategies
|
|
227
|
+
|
|
228
|
+
Lazy Migration from Legacy Database:
|
|
229
|
+
|
|
230
|
+
Step 1: Create custom database connection
|
|
231
|
+
Step 2: Implement Login script to validate against legacy DB
|
|
232
|
+
Step 3: Implement GetUser script for profile retrieval
|
|
233
|
+
Step 4: Auth0 creates user on successful legacy authentication
|
|
234
|
+
Step 5: Monitor migration progress via logs
|
|
235
|
+
|
|
236
|
+
Bulk User Import:
|
|
237
|
+
|
|
238
|
+
Export users from legacy system with password hashes. Format as Auth0 bulk import JSON with supported hash algorithms (bcrypt, argon2, pbkdf2). Submit import job via Management API. Monitor job status and handle errors.
|
|
239
|
+
|
|
240
|
+
Organization Migration:
|
|
241
|
+
|
|
242
|
+
Map legacy tenant structure to Auth0 Organizations. Migrate users with organization memberships. Configure organization-specific connections. Update application to use organization context.
|
|
243
|
+
|
|
244
|
+
### Security Best Practices
|
|
245
|
+
|
|
246
|
+
Anomaly Detection:
|
|
247
|
+
|
|
248
|
+
Enable brute-force protection with configurable thresholds. Configure breached password detection. Set up suspicious IP throttling. Monitor authentication anomalies in logs.
|
|
249
|
+
|
|
250
|
+
Adaptive MFA:
|
|
251
|
+
|
|
252
|
+
Configure risk-based MFA challenges. Require MFA for sensitive operations. Support multiple factors (TOTP, SMS, WebAuthn, push). Implement step-up authentication for high-risk actions.
|
|
253
|
+
|
|
254
|
+
Token Security:
|
|
255
|
+
|
|
256
|
+
Use httpOnly cookies for token storage when possible. Implement token binding for enhanced security. Configure audience restrictions on access tokens. Validate tokens server-side before granting access.
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## Resources
|
|
261
|
+
|
|
262
|
+
Context7 Documentation Access:
|
|
263
|
+
|
|
264
|
+
Use resolve-library-id with "auth0" then get-library-docs for comprehensive API reference and implementation guides.
|
|
265
|
+
|
|
266
|
+
Works Well With:
|
|
267
|
+
|
|
268
|
+
- moai-security-auth0: Auth0-specific security (Attack Protection, MFA, Token Security, Compliance)
|
|
269
|
+
- moai-platform-clerk: Alternative for WebAuthn-first authentication
|
|
270
|
+
- moai-platform-supabase: Supabase authentication integration
|
|
271
|
+
- moai-platform-firebase-auth: Firebase authentication comparison
|
|
272
|
+
- moai-platform-vercel: Vercel deployment with Auth0
|
|
273
|
+
- moai-domain-backend: API development and token validation
|
|
274
|
+
- moai-quality-security: OWASP compliance and security validation
|
|
275
|
+
|
|
276
|
+
Auth0 Deployment Models:
|
|
277
|
+
|
|
278
|
+
- Public Cloud: Multi-tenant SaaS deployment
|
|
279
|
+
- Private Cloud: Dedicated tenant with enhanced isolation
|
|
280
|
+
- Managed Private Cloud: Customer-controlled infrastructure
|
|
281
|
+
|
|
282
|
+
Compliance Certifications:
|
|
283
|
+
|
|
284
|
+
SOC 2 Type II, ISO 27001, ISO 27018, HIPAA BAA available, GDPR compliant, PCI DSS for applicable services.
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
Status: Production Ready
|
|
289
|
+
Generated with: MoAI-ADK Skill Factory v1.0
|
|
290
|
+
Last Updated: 2025-12-07
|
|
291
|
+
Platform: Auth0 Enterprise Authentication
|
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-platform-clerk
|
|
3
|
+
description: Clerk modern authentication specialist covering WebAuthn, passkeys, passwordless, and beautiful UI components. Use when implementing modern auth with great UX.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
category: platform
|
|
6
|
+
tags: [clerk, webauthn, passkeys, passwordless, authentication]
|
|
7
|
+
context7-libraries: [/clerk/clerk-docs]
|
|
8
|
+
related-skills: [moai-platform-auth0, moai-lang-typescript]
|
|
9
|
+
updated: 2025-12-07
|
|
10
|
+
status: active
|
|
11
|
+
allowed-tools: Read, Write, Bash, Grep, Glob
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Clerk Modern Authentication Specialist
|
|
15
|
+
|
|
16
|
+
Modern authentication platform with WebAuthn, passkeys, passwordless flows, beautiful pre-built UI components, and multi-tenant organization support.
|
|
17
|
+
|
|
18
|
+
## Quick Reference (30 seconds)
|
|
19
|
+
|
|
20
|
+
Clerk Core Capabilities:
|
|
21
|
+
|
|
22
|
+
- WebAuthn and Passkeys: First-class biometric and hardware key support
|
|
23
|
+
- Passwordless: Email magic links, SMS OTP, email OTP
|
|
24
|
+
- Pre-built UI: SignIn, SignUp, UserButton, OrganizationSwitcher components
|
|
25
|
+
- Organizations: Multi-tenant team management with RBAC
|
|
26
|
+
- Multi-Platform: React, Next.js, Vue, React Native, Node.js SDKs
|
|
27
|
+
|
|
28
|
+
Context7 Access:
|
|
29
|
+
|
|
30
|
+
- Library: /clerk/clerk-docs
|
|
31
|
+
- Resolution: Use resolve-library-id with "clerk" then get-library-docs
|
|
32
|
+
|
|
33
|
+
Quick Decision Criteria:
|
|
34
|
+
|
|
35
|
+
- Need WebAuthn and passkeys? Clerk is ideal
|
|
36
|
+
- Need beautiful pre-built auth UI? Clerk provides ready components
|
|
37
|
+
- Need passwordless authentication? Clerk supports all methods
|
|
38
|
+
- Need multi-tenant organizations? Clerk Organizations feature
|
|
39
|
+
- Need React/Next.js integration? Clerk has first-class support
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Implementation Guide
|
|
44
|
+
|
|
45
|
+
### WebAuthn and Passkey Implementation
|
|
46
|
+
|
|
47
|
+
WebAuthn Configuration:
|
|
48
|
+
|
|
49
|
+
Clerk provides first-class WebAuthn support enabling passwordless authentication with biometrics and hardware security keys.
|
|
50
|
+
|
|
51
|
+
Step 1: Enable WebAuthn in Clerk Dashboard under User and Authentication
|
|
52
|
+
Step 2: Configure passkey requirements (required, optional, or disabled)
|
|
53
|
+
Step 3: Set verification requirements for passkey registration
|
|
54
|
+
Step 4: Implement passkey UI using Clerk components or custom flow
|
|
55
|
+
|
|
56
|
+
Passkey User Experience:
|
|
57
|
+
|
|
58
|
+
- Registration flow prompts for biometric or security key
|
|
59
|
+
- Login flow automatically detects available passkeys
|
|
60
|
+
- Fallback to password if passkeys unavailable
|
|
61
|
+
- Cross-device passkey support with FIDO Alliance standards
|
|
62
|
+
|
|
63
|
+
Passkey Registration Flow:
|
|
64
|
+
|
|
65
|
+
User clicks "Add Passkey" button in account settings
|
|
66
|
+
Clerk prompts for device biometric or security key
|
|
67
|
+
Browser WebAuthn API handles credential creation
|
|
68
|
+
Passkey stored securely in Clerk backend
|
|
69
|
+
User can manage multiple passkeys per account
|
|
70
|
+
|
|
71
|
+
Passkey Login Flow:
|
|
72
|
+
|
|
73
|
+
User navigates to sign-in page
|
|
74
|
+
Clerk detects available passkeys for user
|
|
75
|
+
User authenticates with biometric or security key
|
|
76
|
+
Session created automatically upon successful verification
|
|
77
|
+
|
|
78
|
+
### Passwordless Authentication
|
|
79
|
+
|
|
80
|
+
Email Magic Links:
|
|
81
|
+
|
|
82
|
+
Clerk sends secure magic links for passwordless sign-in with customizable email templates.
|
|
83
|
+
|
|
84
|
+
Configuration Steps:
|
|
85
|
+
|
|
86
|
+
Step 1: Enable Email magic link in Clerk Dashboard
|
|
87
|
+
Step 2: Customize email template with branding
|
|
88
|
+
Step 3: Configure link expiration time
|
|
89
|
+
Step 4: Set redirect URL after successful authentication
|
|
90
|
+
|
|
91
|
+
Magic Link Features:
|
|
92
|
+
|
|
93
|
+
- Customizable email templates with branding
|
|
94
|
+
- Configurable expiration times
|
|
95
|
+
- Secure one-time use tokens
|
|
96
|
+
- Automatic session creation on click
|
|
97
|
+
|
|
98
|
+
SMS One-Time Passwords:
|
|
99
|
+
|
|
100
|
+
Step 1: Enable SMS authentication in Dashboard
|
|
101
|
+
Step 2: Configure phone number verification requirements
|
|
102
|
+
Step 3: Set OTP expiration and retry limits
|
|
103
|
+
Step 4: Customize SMS message template
|
|
104
|
+
|
|
105
|
+
Email One-Time Passwords:
|
|
106
|
+
|
|
107
|
+
Step 1: Enable Email OTP in authentication settings
|
|
108
|
+
Step 2: Configure code length (6 or 8 digits)
|
|
109
|
+
Step 3: Set code expiration time
|
|
110
|
+
Step 4: Customize email template
|
|
111
|
+
|
|
112
|
+
### Pre-built UI Components
|
|
113
|
+
|
|
114
|
+
Available Components:
|
|
115
|
+
|
|
116
|
+
SignIn Component: Complete sign-in form with social and email options
|
|
117
|
+
SignUp Component: Registration form with verification
|
|
118
|
+
UserButton Component: User avatar dropdown with profile management
|
|
119
|
+
OrganizationSwitcher Component: Organization selection dropdown
|
|
120
|
+
UserProfile Component: Full user profile management
|
|
121
|
+
CreateOrganization Component: Organization creation flow
|
|
122
|
+
|
|
123
|
+
React Integration:
|
|
124
|
+
|
|
125
|
+
Install @clerk/clerk-react package
|
|
126
|
+
Wrap application with ClerkProvider
|
|
127
|
+
Use components directly in JSX
|
|
128
|
+
Customize appearance via theme prop
|
|
129
|
+
|
|
130
|
+
Next.js Integration:
|
|
131
|
+
|
|
132
|
+
Install @clerk/nextjs package
|
|
133
|
+
Add Clerk middleware for route protection
|
|
134
|
+
Use components in pages and layouts
|
|
135
|
+
Configure environment variables for API keys
|
|
136
|
+
|
|
137
|
+
Component Customization:
|
|
138
|
+
|
|
139
|
+
- Theme customization via appearance prop
|
|
140
|
+
- Custom CSS with provided class names
|
|
141
|
+
- Override individual elements
|
|
142
|
+
- Dark mode support built-in
|
|
143
|
+
|
|
144
|
+
### Organization Management (Multi-Tenancy)
|
|
145
|
+
|
|
146
|
+
Organization Features:
|
|
147
|
+
|
|
148
|
+
- Create and manage organizations programmatically
|
|
149
|
+
- Invite users via email with customizable invitations
|
|
150
|
+
- Role-based permissions (admin, member, custom roles)
|
|
151
|
+
- Organization switching for users with multiple memberships
|
|
152
|
+
- Domain verification for automatic organization membership
|
|
153
|
+
|
|
154
|
+
Creating Organizations:
|
|
155
|
+
|
|
156
|
+
Step 1: Enable Organizations feature in Dashboard
|
|
157
|
+
Step 2: Configure default roles and permissions
|
|
158
|
+
Step 3: Set invitation email templates
|
|
159
|
+
Step 4: Implement CreateOrganization component
|
|
160
|
+
|
|
161
|
+
Invitation System:
|
|
162
|
+
|
|
163
|
+
Step 1: Admin initiates invitation via dashboard or API
|
|
164
|
+
Step 2: Invitee receives customizable email invitation
|
|
165
|
+
Step 3: Invitee clicks link and completes signup or signin
|
|
166
|
+
Step 4: Automatic organization membership upon completion
|
|
167
|
+
|
|
168
|
+
Role-Based Access Control:
|
|
169
|
+
|
|
170
|
+
Default Roles:
|
|
171
|
+
- org:admin: Full organization management
|
|
172
|
+
- org:member: Standard member access
|
|
173
|
+
|
|
174
|
+
Custom Roles:
|
|
175
|
+
- Define custom roles in Dashboard
|
|
176
|
+
- Assign permissions to roles
|
|
177
|
+
- Check permissions in application code
|
|
178
|
+
|
|
179
|
+
Domain Verification:
|
|
180
|
+
|
|
181
|
+
Organizations can claim domains for automatic membership
|
|
182
|
+
Users with verified email from claimed domain auto-join
|
|
183
|
+
Reduces friction for enterprise onboarding
|
|
184
|
+
|
|
185
|
+
### Session Management
|
|
186
|
+
|
|
187
|
+
Session Features:
|
|
188
|
+
|
|
189
|
+
- Automatic token refresh
|
|
190
|
+
- Multi-device session tracking
|
|
191
|
+
- Session revocation capability
|
|
192
|
+
- Configurable session duration
|
|
193
|
+
|
|
194
|
+
Session Configuration:
|
|
195
|
+
|
|
196
|
+
Step 1: Configure session lifetime in Dashboard
|
|
197
|
+
Step 2: Set multi-session or single-session mode
|
|
198
|
+
Step 3: Configure token refresh behavior
|
|
199
|
+
Step 4: Enable session activity tracking
|
|
200
|
+
|
|
201
|
+
Token Management:
|
|
202
|
+
|
|
203
|
+
- Access tokens for API authentication
|
|
204
|
+
- Session tokens for frontend state
|
|
205
|
+
- Automatic refresh before expiration
|
|
206
|
+
- Secure httpOnly cookie storage option
|
|
207
|
+
|
|
208
|
+
### Multi-Platform SDK Support
|
|
209
|
+
|
|
210
|
+
Supported Platforms:
|
|
211
|
+
|
|
212
|
+
React: @clerk/clerk-react
|
|
213
|
+
Next.js: @clerk/nextjs with middleware support
|
|
214
|
+
Vue: @clerk/vue (community maintained)
|
|
215
|
+
React Native: @clerk/clerk-expo
|
|
216
|
+
Node.js: @clerk/clerk-sdk-node
|
|
217
|
+
Express: @clerk/express
|
|
218
|
+
Fastify: @clerk/fastify
|
|
219
|
+
|
|
220
|
+
Next.js Middleware:
|
|
221
|
+
|
|
222
|
+
Clerk middleware protects routes at Edge
|
|
223
|
+
Configure public and protected route patterns
|
|
224
|
+
Automatic redirect to sign-in for unauthenticated users
|
|
225
|
+
Access user session in middleware for custom logic
|
|
226
|
+
|
|
227
|
+
Backend Verification:
|
|
228
|
+
|
|
229
|
+
Node.js SDK verifies session tokens
|
|
230
|
+
Extract user ID and organization from token
|
|
231
|
+
Implement authorization logic in API routes
|
|
232
|
+
Webhook signature verification for events
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Advanced Patterns
|
|
237
|
+
|
|
238
|
+
### Custom Authentication Flows
|
|
239
|
+
|
|
240
|
+
Building Custom Sign-In:
|
|
241
|
+
|
|
242
|
+
Use useSignIn hook for programmatic control
|
|
243
|
+
Implement multi-step verification flows
|
|
244
|
+
Handle errors with custom UI
|
|
245
|
+
Support social OAuth alongside email
|
|
246
|
+
|
|
247
|
+
Building Custom Sign-Up:
|
|
248
|
+
|
|
249
|
+
Use useSignUp hook for registration logic
|
|
250
|
+
Implement progressive profiling
|
|
251
|
+
Custom verification code entry UI
|
|
252
|
+
Handle optional vs required fields
|
|
253
|
+
|
|
254
|
+
Headless Mode:
|
|
255
|
+
|
|
256
|
+
Full control over UI while using Clerk backend
|
|
257
|
+
Access all functionality via hooks
|
|
258
|
+
Implement completely custom designs
|
|
259
|
+
Maintain security without pre-built components
|
|
260
|
+
|
|
261
|
+
### Webhook Integration
|
|
262
|
+
|
|
263
|
+
Available Webhook Events:
|
|
264
|
+
|
|
265
|
+
user.created: New user registration completed
|
|
266
|
+
user.updated: User profile changes
|
|
267
|
+
user.deleted: User account deleted
|
|
268
|
+
session.created: New session started
|
|
269
|
+
session.ended: Session terminated
|
|
270
|
+
organization.created: New organization created
|
|
271
|
+
organization.membership.created: User joined organization
|
|
272
|
+
|
|
273
|
+
Webhook Configuration:
|
|
274
|
+
|
|
275
|
+
Step 1: Add webhook endpoint URL in Dashboard
|
|
276
|
+
Step 2: Select events to subscribe
|
|
277
|
+
Step 3: Copy signing secret for verification
|
|
278
|
+
Step 4: Implement signature verification in endpoint
|
|
279
|
+
|
|
280
|
+
Webhook Security:
|
|
281
|
+
|
|
282
|
+
Verify webhook signatures using svix library
|
|
283
|
+
Check timestamp to prevent replay attacks
|
|
284
|
+
Return 200 status for successful processing
|
|
285
|
+
Implement idempotency for duplicate handling
|
|
286
|
+
|
|
287
|
+
### JWT Customization
|
|
288
|
+
|
|
289
|
+
Custom Claims:
|
|
290
|
+
|
|
291
|
+
Add custom claims to session tokens
|
|
292
|
+
Include organization metadata
|
|
293
|
+
Add user roles and permissions
|
|
294
|
+
Configure claim templates in Dashboard
|
|
295
|
+
|
|
296
|
+
JWT Templates:
|
|
297
|
+
|
|
298
|
+
Create multiple JWT templates for different services
|
|
299
|
+
Configure issuer and audience
|
|
300
|
+
Set expiration times
|
|
301
|
+
Add conditional claims based on user attributes
|
|
302
|
+
|
|
303
|
+
### Integration Patterns
|
|
304
|
+
|
|
305
|
+
Clerk with Database Providers:
|
|
306
|
+
|
|
307
|
+
Clerk with Convex:
|
|
308
|
+
- Use Clerk JWT verification in Convex functions
|
|
309
|
+
- Sync user data via webhooks
|
|
310
|
+
- Implement organization-based access control
|
|
311
|
+
|
|
312
|
+
Clerk with Supabase:
|
|
313
|
+
- Configure Clerk JWT in Supabase settings
|
|
314
|
+
- Map Clerk claims to RLS policies
|
|
315
|
+
- Use organization ID for multi-tenant isolation
|
|
316
|
+
|
|
317
|
+
Clerk with Prisma:
|
|
318
|
+
- Sync user ID from Clerk to database
|
|
319
|
+
- Store additional user data with Clerk user ID as foreign key
|
|
320
|
+
- Handle user lifecycle via webhooks
|
|
321
|
+
|
|
322
|
+
Deployment Platforms:
|
|
323
|
+
|
|
324
|
+
Vercel: Native integration with Edge Middleware
|
|
325
|
+
Railway: Environment variable configuration
|
|
326
|
+
Netlify: Serverless function integration
|
|
327
|
+
AWS Lambda: SDK support for serverless
|
|
328
|
+
|
|
329
|
+
### Security Best Practices
|
|
330
|
+
|
|
331
|
+
Token Security:
|
|
332
|
+
|
|
333
|
+
- Use short-lived access tokens
|
|
334
|
+
- Enable automatic token refresh
|
|
335
|
+
- Store tokens securely in httpOnly cookies
|
|
336
|
+
- Validate tokens on backend for all requests
|
|
337
|
+
|
|
338
|
+
Rate Limiting:
|
|
339
|
+
|
|
340
|
+
- Clerk implements built-in rate limiting
|
|
341
|
+
- Configure custom limits per organization
|
|
342
|
+
- Monitor authentication attempts
|
|
343
|
+
- Alert on suspicious patterns
|
|
344
|
+
|
|
345
|
+
Multi-Factor Authentication:
|
|
346
|
+
|
|
347
|
+
Enable MFA in Dashboard settings
|
|
348
|
+
Support authenticator apps (TOTP)
|
|
349
|
+
Backup codes for account recovery
|
|
350
|
+
SMS as secondary verification option
|
|
351
|
+
|
|
352
|
+
Account Protection:
|
|
353
|
+
|
|
354
|
+
- Enable device verification for new logins
|
|
355
|
+
- Configure suspicious activity detection
|
|
356
|
+
- Implement session activity monitoring
|
|
357
|
+
- Provide users with security notifications
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
## Resources
|
|
362
|
+
|
|
363
|
+
Context7 Documentation Access:
|
|
364
|
+
|
|
365
|
+
Library Resolution: Use resolve-library-id with "clerk"
|
|
366
|
+
Documentation Fetch: Use get-library-docs with resolved ID
|
|
367
|
+
|
|
368
|
+
API Documentation:
|
|
369
|
+
|
|
370
|
+
Backend API: https://clerk.com/docs/reference/backend-api
|
|
371
|
+
Frontend SDK: https://clerk.com/docs/references/react/overview
|
|
372
|
+
Next.js SDK: https://clerk.com/docs/references/nextjs/overview
|
|
373
|
+
Webhooks: https://clerk.com/docs/integrations/webhooks
|
|
374
|
+
|
|
375
|
+
Works Well With:
|
|
376
|
+
|
|
377
|
+
- moai-platform-auth0: Alternative enterprise SSO solution
|
|
378
|
+
- moai-platform-supabase: Supabase authentication integration
|
|
379
|
+
- moai-platform-vercel: Vercel deployment with Clerk
|
|
380
|
+
- moai-platform-firebase-auth: Firebase authentication comparison
|
|
381
|
+
- moai-lang-typescript: TypeScript development patterns
|
|
382
|
+
- moai-domain-frontend: React and Next.js integration
|
|
383
|
+
- moai-quality-security: Security validation and OWASP compliance
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
Status: Production Ready
|
|
388
|
+
Generated with: MoAI-ADK Skill Factory v1.0
|
|
389
|
+
Last Updated: 2025-12-07
|
|
390
|
+
Provider Coverage: Clerk Authentication Platform
|