mcp-ticketer 0.1.7__tar.gz → 0.1.11__tar.gz

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 mcp-ticketer might be problematic. Click here for more details.

Files changed (169) hide show
  1. mcp_ticketer-0.1.11/.claude/agents/.dependency_cache +34 -0
  2. mcp_ticketer-0.1.11/.claude/agents/.mpm_deployment_state +16 -0
  3. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/clerk-ops.md +49 -2
  4. mcp_ticketer-0.1.11/.claude/agents/data_engineer.md +595 -0
  5. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/documentation.md +75 -26
  6. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/engineer.md +1 -1
  7. mcp_ticketer-0.1.11/.claude/agents/php-engineer.md +132 -0
  8. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/research.md +8 -2
  9. mcp_ticketer-0.1.11/.claude/agents/typescript_engineer.md +529 -0
  10. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/web_qa.md +169 -10
  11. mcp_ticketer-0.1.11/.claude-mpm/memories/ops_memories.md +3 -0
  12. mcp_ticketer-0.1.11/.claude-mpm/memories/version-control_memories.md +3 -0
  13. mcp_ticketer-0.1.11/.claude.json +9 -0
  14. mcp_ticketer-0.1.11/.mcp/config.json +12 -0
  15. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/CHANGELOG.md +30 -0
  16. mcp_ticketer-0.1.11/CLAUDE_DESKTOP_SETUP.md +55 -0
  17. {mcp_ticketer-0.1.7/src/mcp_ticketer.egg-info → mcp_ticketer-0.1.11}/PKG-INFO +6 -5
  18. mcp_ticketer-0.1.11/claude-desktop-config.json +8 -0
  19. mcp_ticketer-0.1.11/docs/PR_INTEGRATION.md +223 -0
  20. mcp_ticketer-0.1.11/mcp_server.sh +34 -0
  21. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/pyproject.toml +5 -4
  22. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/__version__.py +1 -1
  23. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/adapters/github.py +263 -0
  24. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/adapters/linear.py +220 -0
  25. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/cli/main.py +26 -0
  26. mcp_ticketer-0.1.11/src/mcp_ticketer/mcp/server.py +898 -0
  27. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11/src/mcp_ticketer.egg-info}/PKG-INFO +6 -5
  28. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer.egg-info/SOURCES.txt +12 -0
  29. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer.egg-info/requires.txt +5 -4
  30. mcp_ticketer-0.1.11/test_mcp_server_qa.py +589 -0
  31. mcp_ticketer-0.1.11/test_pr_functionality.py +224 -0
  32. mcp_ticketer-0.1.7/.claude/agents/.dependency_cache +0 -13
  33. mcp_ticketer-0.1.7/.claude/agents/.mpm_deployment_state +0 -11
  34. mcp_ticketer-0.1.7/.claude/agents/data_engineer.md +0 -419
  35. mcp_ticketer-0.1.7/src/mcp_ticketer/mcp/server.py +0 -492
  36. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/agent-manager.md +0 -0
  37. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/agentic-coder-optimizer.md +0 -0
  38. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/api_qa.md +0 -0
  39. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/code_analyzer.md +0 -0
  40. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/gcp_ops_agent.md +0 -0
  41. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/imagemagick.md +0 -0
  42. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/memory_manager.md +0 -0
  43. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/nextjs_engineer.md +0 -0
  44. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/ops.md +0 -0
  45. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/project_organizer.md +0 -0
  46. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/prompt-engineer.md +0 -0
  47. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/python_engineer.md +0 -0
  48. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/qa.md +0 -0
  49. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/react_engineer.md +0 -0
  50. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/refactoring_engineer.md +0 -0
  51. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/security.md +0 -0
  52. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/ticketing.md +0 -0
  53. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/vercel_ops_agent.md +0 -0
  54. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/version_control.md +0 -0
  55. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude/agents/web_ui.md +0 -0
  56. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude-mpm/config/project.json +0 -0
  57. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude-mpm/memories/README.md +0 -0
  58. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude-mpm/memories/documentation_memories.md +0 -0
  59. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude-mpm/memories/engineer_memories.md +0 -0
  60. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude-mpm/memories/qa_memories.md +0 -0
  61. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.claude-mpm/memories/research_memories.md +0 -0
  62. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.coveragerc +0 -0
  63. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.env.example +0 -0
  64. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.github/workflows/docs.yml +0 -0
  65. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.github/workflows/publish.yml +0 -0
  66. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.github/workflows/test.yml +0 -0
  67. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.pre-commit-config.yaml +0 -0
  68. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.python-version +0 -0
  69. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/.readthedocs.yaml +0 -0
  70. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/CONTRIBUTING.md +0 -0
  71. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/JIRA_SETUP.md +0 -0
  72. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/LICENSE +0 -0
  73. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/LINEAR_SETUP.md +0 -0
  74. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/MANIFEST.in +0 -0
  75. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/OPTIMIZATION_SUMMARY.md +0 -0
  76. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/QUEUE_SYSTEM.md +0 -0
  77. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/README.md +0 -0
  78. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/RELEASING.md +0 -0
  79. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/TEST_REPORT.md +0 -0
  80. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/TEST_RESULTS_SUMMARY.md +0 -0
  81. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/debug_search.py +0 -0
  82. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/debug_test.py +0 -0
  83. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/ADAPTERS.md +0 -0
  84. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/API_REFERENCE.md +0 -0
  85. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/CONFIGURATION.md +0 -0
  86. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/DEVELOPER_GUIDE.md +0 -0
  87. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/MCP_INTEGRATION.md +0 -0
  88. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/MIGRATION_GUIDE.md +0 -0
  89. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/USER_GUIDE.md +0 -0
  90. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/ADAPTERS.md.txt +0 -0
  91. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/API_REFERENCE.md.txt +0 -0
  92. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/CONFIGURATION.md.txt +0 -0
  93. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/DEVELOPER_GUIDE.md.txt +0 -0
  94. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/MCP_INTEGRATION.md.txt +0 -0
  95. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/MIGRATION_GUIDE.md.txt +0 -0
  96. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/USER_GUIDE.md.txt +0 -0
  97. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/adapters/github.md.txt +0 -0
  98. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/adapters.rst.txt +0 -0
  99. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/api.rst.txt +0 -0
  100. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/cli.rst.txt +0 -0
  101. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/development.rst.txt +0 -0
  102. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/examples.rst.txt +0 -0
  103. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/index.rst.txt +0 -0
  104. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/installation.rst.txt +0 -0
  105. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/_build/_sources/prd/mcp-ticketer-prd.md.txt +0 -0
  106. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/adapters/github.md +0 -0
  107. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/adapters.rst +0 -0
  108. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/api.rst +0 -0
  109. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/cli.rst +0 -0
  110. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/conf.py +0 -0
  111. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/development.rst +0 -0
  112. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/examples.rst +0 -0
  113. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/index.rst +0 -0
  114. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/installation.rst +0 -0
  115. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/prd/mcp-ticketer-prd.md +0 -0
  116. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/docs/requirements.txt +0 -0
  117. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/install.sh +0 -0
  118. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/mcp-ticketer +0 -0
  119. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/mcp-ticketer-server +0 -0
  120. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/pytest.ini +0 -0
  121. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/requirements-dev.txt +0 -0
  122. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/requirements.txt +0 -0
  123. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/setup.cfg +0 -0
  124. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/setup.py +0 -0
  125. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/__init__.py +0 -0
  126. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/adapters/__init__.py +0 -0
  127. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/adapters/aitrackdown.py +0 -0
  128. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/adapters/jira.py +0 -0
  129. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/cache/__init__.py +0 -0
  130. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/cache/memory.py +0 -0
  131. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/cli/__init__.py +0 -0
  132. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/cli/queue_commands.py +0 -0
  133. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/cli/utils.py +0 -0
  134. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/core/__init__.py +0 -0
  135. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/core/adapter.py +0 -0
  136. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/core/config.py +0 -0
  137. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/core/http_client.py +0 -0
  138. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/core/mappers.py +0 -0
  139. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/core/models.py +0 -0
  140. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/core/registry.py +0 -0
  141. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/mcp/__init__.py +0 -0
  142. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/py.typed +0 -0
  143. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/queue/__init__.py +0 -0
  144. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/queue/__main__.py +0 -0
  145. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/queue/manager.py +0 -0
  146. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/queue/queue.py +0 -0
  147. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/queue/run_worker.py +0 -0
  148. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer/queue/worker.py +0 -0
  149. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer.egg-info/dependency_links.txt +0 -0
  150. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer.egg-info/entry_points.txt +0 -0
  151. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer.egg-info/not-zip-safe +0 -0
  152. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/src/mcp_ticketer.egg-info/top_level.txt +0 -0
  153. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test-tickets/tickets/task-20250924002724.json +0 -0
  154. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_all_adapters.py +0 -0
  155. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_api_usage.py +0 -0
  156. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_basic.py +0 -0
  157. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_comprehensive.py +0 -0
  158. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_error_handling.py +0 -0
  159. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_github.py +0 -0
  160. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_github_token.py +0 -0
  161. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_jira.py +0 -0
  162. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_linear.py +0 -0
  163. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_linear_native.py +0 -0
  164. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_linear_teams.py +0 -0
  165. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_optimizations.py +0 -0
  166. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_performance.py +0 -0
  167. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_queue_system.py +0 -0
  168. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/test_set_command.sh +0 -0
  169. {mcp_ticketer-0.1.7 → mcp_ticketer-0.1.11}/tox.ini +0 -0
@@ -0,0 +1,34 @@
1
+ {
2
+ "4dbc8c55f67f6d3be20defca64a7fd59": {
3
+ "timestamp": 1759151482.154937,
4
+ "results": {
5
+ "agents": {},
6
+ "summary": {
7
+ "total_agents": 28,
8
+ "agents_with_deps": 0,
9
+ "missing_python": [],
10
+ "missing_system": [],
11
+ "satisfied_python": [],
12
+ "satisfied_system": []
13
+ }
14
+ },
15
+ "deployment_hash": "2b97d2f945e90eeb72728aae57c97307129de6f2ed28aa2ebb4c5b77be654b57",
16
+ "context": {}
17
+ },
18
+ "c5091e71c46663085bb4b8322fd43cfe": {
19
+ "timestamp": 1759169008.0461519,
20
+ "results": {
21
+ "agents": {},
22
+ "summary": {
23
+ "total_agents": 29,
24
+ "agents_with_deps": 0,
25
+ "missing_python": [],
26
+ "missing_system": [],
27
+ "satisfied_python": [],
28
+ "satisfied_system": []
29
+ }
30
+ },
31
+ "deployment_hash": "540cc5fa79e85053d3acd4db2f7f44c3375bd72a620e8f7b8b63ab00ce653fc7",
32
+ "context": {}
33
+ }
34
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "deployment_hash": "540cc5fa79e85053d3acd4db2f7f44c3375bd72a620e8f7b8b63ab00ce653fc7",
3
+ "last_check_time": 1759169008.046635,
4
+ "last_check_results": {
5
+ "agents": {},
6
+ "summary": {
7
+ "total_agents": 29,
8
+ "agents_with_deps": 0,
9
+ "missing_python": [],
10
+ "missing_system": [],
11
+ "satisfied_python": [],
12
+ "satisfied_system": []
13
+ }
14
+ },
15
+ "agent_count": 29
16
+ }
@@ -5,10 +5,10 @@ model: sonnet
5
5
  type: ops
6
6
  color: blue
7
7
  category: operations
8
- version: "1.0.0"
8
+ version: "1.1.0"
9
9
  author: "Claude MPM Team"
10
10
  created_at: 2025-09-21T17:00:00.000000Z
11
- updated_at: 2025-09-21T17:00:00.000000Z
11
+ updated_at: 2025-09-25T12:00:00.000000Z
12
12
  tags: clerk,authentication,oauth,next.js,react,webhooks,middleware,localhost,development,production,dynamic-ports,ngrok,satellite-domains,troubleshooting
13
13
  ---
14
14
  # BASE OPS Agent Instructions
@@ -332,6 +332,53 @@ NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL=/dashboard
332
332
 
333
333
  ### Next.js Integration Patterns
334
334
 
335
+ **CRITICAL: ClerkProvider Configuration Requirements**:
336
+
337
+ ⚠️ **Essential Configuration Insight**: The ClerkProvider must be at the root level and cannot be dynamically imported - it needs to wrap the entire app before any hooks are used. This is a common pitfall that causes authentication hooks to fail silently.
338
+
339
+ **Correct Implementation Pattern**:
340
+ ```typescript
341
+ // app/layout.tsx or _app.tsx - MUST be at root level
342
+ import { ClerkProvider } from '@clerk/nextjs'
343
+
344
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
345
+ return (
346
+ <ClerkProvider>
347
+ <html lang="en">
348
+ <body>{children}</body>
349
+ </html>
350
+ </ClerkProvider>
351
+ )
352
+ }
353
+ ```
354
+
355
+ **Common Mistakes to Avoid**:
356
+ - ❌ Never dynamically import ClerkProvider
357
+ - ❌ Don't conditionally render ClerkProvider based on feature flags
358
+ - ❌ Avoid wrapping only parts of your app with ClerkProvider
359
+ - ✅ Always place ClerkProvider at the root level
360
+ - ✅ The solution properly handles both auth-enabled and auth-disabled modes while supporting internationalization
361
+
362
+ **Supporting Both Auth Modes with i18n**:
363
+ ```typescript
364
+ // Proper pattern for conditional auth with internationalization
365
+ import { ClerkProvider } from '@clerk/nextjs'
366
+ import { getLocale } from 'next-intl/server'
367
+
368
+ export default async function RootLayout({ children }: { children: React.ReactNode }) {
369
+ const locale = await getLocale()
370
+
371
+ // ClerkProvider at root - works with both auth-enabled and disabled modes
372
+ return (
373
+ <ClerkProvider>
374
+ <html lang={locale}>
375
+ <body>{children}</body>
376
+ </html>
377
+ </ClerkProvider>
378
+ )
379
+ }
380
+ ```
381
+
335
382
  **App Router Server Component Pattern**:
336
383
  ```typescript
337
384
  // app/dashboard/page.tsx