gobby 0.2.5__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.
- gobby/__init__.py +3 -0
- gobby/adapters/__init__.py +30 -0
- gobby/adapters/base.py +93 -0
- gobby/adapters/claude_code.py +276 -0
- gobby/adapters/codex.py +1292 -0
- gobby/adapters/gemini.py +343 -0
- gobby/agents/__init__.py +37 -0
- gobby/agents/codex_session.py +120 -0
- gobby/agents/constants.py +112 -0
- gobby/agents/context.py +362 -0
- gobby/agents/definitions.py +133 -0
- gobby/agents/gemini_session.py +111 -0
- gobby/agents/registry.py +618 -0
- gobby/agents/runner.py +968 -0
- gobby/agents/session.py +259 -0
- gobby/agents/spawn.py +916 -0
- gobby/agents/spawners/__init__.py +77 -0
- gobby/agents/spawners/base.py +142 -0
- gobby/agents/spawners/cross_platform.py +266 -0
- gobby/agents/spawners/embedded.py +225 -0
- gobby/agents/spawners/headless.py +226 -0
- gobby/agents/spawners/linux.py +125 -0
- gobby/agents/spawners/macos.py +277 -0
- gobby/agents/spawners/windows.py +308 -0
- gobby/agents/tty_config.py +319 -0
- gobby/autonomous/__init__.py +32 -0
- gobby/autonomous/progress_tracker.py +447 -0
- gobby/autonomous/stop_registry.py +269 -0
- gobby/autonomous/stuck_detector.py +383 -0
- gobby/cli/__init__.py +67 -0
- gobby/cli/__main__.py +8 -0
- gobby/cli/agents.py +529 -0
- gobby/cli/artifacts.py +266 -0
- gobby/cli/daemon.py +329 -0
- gobby/cli/extensions.py +526 -0
- gobby/cli/github.py +263 -0
- gobby/cli/init.py +53 -0
- gobby/cli/install.py +614 -0
- gobby/cli/installers/__init__.py +37 -0
- gobby/cli/installers/antigravity.py +65 -0
- gobby/cli/installers/claude.py +363 -0
- gobby/cli/installers/codex.py +192 -0
- gobby/cli/installers/gemini.py +294 -0
- gobby/cli/installers/git_hooks.py +377 -0
- gobby/cli/installers/shared.py +737 -0
- gobby/cli/linear.py +250 -0
- gobby/cli/mcp.py +30 -0
- gobby/cli/mcp_proxy.py +698 -0
- gobby/cli/memory.py +304 -0
- gobby/cli/merge.py +384 -0
- gobby/cli/projects.py +79 -0
- gobby/cli/sessions.py +622 -0
- gobby/cli/tasks/__init__.py +30 -0
- gobby/cli/tasks/_utils.py +658 -0
- gobby/cli/tasks/ai.py +1025 -0
- gobby/cli/tasks/commits.py +169 -0
- gobby/cli/tasks/crud.py +685 -0
- gobby/cli/tasks/deps.py +135 -0
- gobby/cli/tasks/labels.py +63 -0
- gobby/cli/tasks/main.py +273 -0
- gobby/cli/tasks/search.py +178 -0
- gobby/cli/tui.py +34 -0
- gobby/cli/utils.py +513 -0
- gobby/cli/workflows.py +927 -0
- gobby/cli/worktrees.py +481 -0
- gobby/config/__init__.py +129 -0
- gobby/config/app.py +551 -0
- gobby/config/extensions.py +167 -0
- gobby/config/features.py +472 -0
- gobby/config/llm_providers.py +98 -0
- gobby/config/logging.py +66 -0
- gobby/config/mcp.py +346 -0
- gobby/config/persistence.py +247 -0
- gobby/config/servers.py +141 -0
- gobby/config/sessions.py +250 -0
- gobby/config/tasks.py +784 -0
- gobby/hooks/__init__.py +104 -0
- gobby/hooks/artifact_capture.py +213 -0
- gobby/hooks/broadcaster.py +243 -0
- gobby/hooks/event_handlers.py +723 -0
- gobby/hooks/events.py +218 -0
- gobby/hooks/git.py +169 -0
- gobby/hooks/health_monitor.py +171 -0
- gobby/hooks/hook_manager.py +856 -0
- gobby/hooks/hook_types.py +575 -0
- gobby/hooks/plugins.py +813 -0
- gobby/hooks/session_coordinator.py +396 -0
- gobby/hooks/verification_runner.py +268 -0
- gobby/hooks/webhooks.py +339 -0
- gobby/install/claude/commands/gobby/bug.md +51 -0
- gobby/install/claude/commands/gobby/chore.md +51 -0
- gobby/install/claude/commands/gobby/epic.md +52 -0
- gobby/install/claude/commands/gobby/eval.md +235 -0
- gobby/install/claude/commands/gobby/feat.md +49 -0
- gobby/install/claude/commands/gobby/nit.md +52 -0
- gobby/install/claude/commands/gobby/ref.md +52 -0
- gobby/install/claude/hooks/HOOK_SCHEMAS.md +632 -0
- gobby/install/claude/hooks/hook_dispatcher.py +364 -0
- gobby/install/claude/hooks/validate_settings.py +102 -0
- gobby/install/claude/hooks-template.json +118 -0
- gobby/install/codex/hooks/hook_dispatcher.py +153 -0
- gobby/install/codex/prompts/forget.md +7 -0
- gobby/install/codex/prompts/memories.md +7 -0
- gobby/install/codex/prompts/recall.md +7 -0
- gobby/install/codex/prompts/remember.md +13 -0
- gobby/install/gemini/hooks/hook_dispatcher.py +268 -0
- gobby/install/gemini/hooks-template.json +138 -0
- gobby/install/shared/plugins/code_guardian.py +456 -0
- gobby/install/shared/plugins/example_notify.py +331 -0
- gobby/integrations/__init__.py +10 -0
- gobby/integrations/github.py +145 -0
- gobby/integrations/linear.py +145 -0
- gobby/llm/__init__.py +40 -0
- gobby/llm/base.py +120 -0
- gobby/llm/claude.py +578 -0
- gobby/llm/claude_executor.py +503 -0
- gobby/llm/codex.py +322 -0
- gobby/llm/codex_executor.py +513 -0
- gobby/llm/executor.py +316 -0
- gobby/llm/factory.py +34 -0
- gobby/llm/gemini.py +258 -0
- gobby/llm/gemini_executor.py +339 -0
- gobby/llm/litellm.py +287 -0
- gobby/llm/litellm_executor.py +303 -0
- gobby/llm/resolver.py +499 -0
- gobby/llm/service.py +236 -0
- gobby/mcp_proxy/__init__.py +29 -0
- gobby/mcp_proxy/actions.py +175 -0
- gobby/mcp_proxy/daemon_control.py +198 -0
- gobby/mcp_proxy/importer.py +436 -0
- gobby/mcp_proxy/lazy.py +325 -0
- gobby/mcp_proxy/manager.py +798 -0
- gobby/mcp_proxy/metrics.py +609 -0
- gobby/mcp_proxy/models.py +139 -0
- gobby/mcp_proxy/registries.py +215 -0
- gobby/mcp_proxy/schema_hash.py +381 -0
- gobby/mcp_proxy/semantic_search.py +706 -0
- gobby/mcp_proxy/server.py +549 -0
- gobby/mcp_proxy/services/__init__.py +0 -0
- gobby/mcp_proxy/services/fallback.py +306 -0
- gobby/mcp_proxy/services/recommendation.py +224 -0
- gobby/mcp_proxy/services/server_mgmt.py +214 -0
- gobby/mcp_proxy/services/system.py +72 -0
- gobby/mcp_proxy/services/tool_filter.py +231 -0
- gobby/mcp_proxy/services/tool_proxy.py +309 -0
- gobby/mcp_proxy/stdio.py +565 -0
- gobby/mcp_proxy/tools/__init__.py +27 -0
- gobby/mcp_proxy/tools/agents.py +1103 -0
- gobby/mcp_proxy/tools/artifacts.py +207 -0
- gobby/mcp_proxy/tools/hub.py +335 -0
- gobby/mcp_proxy/tools/internal.py +337 -0
- gobby/mcp_proxy/tools/memory.py +543 -0
- gobby/mcp_proxy/tools/merge.py +422 -0
- gobby/mcp_proxy/tools/metrics.py +283 -0
- gobby/mcp_proxy/tools/orchestration/__init__.py +23 -0
- gobby/mcp_proxy/tools/orchestration/cleanup.py +619 -0
- gobby/mcp_proxy/tools/orchestration/monitor.py +380 -0
- gobby/mcp_proxy/tools/orchestration/orchestrate.py +746 -0
- gobby/mcp_proxy/tools/orchestration/review.py +736 -0
- gobby/mcp_proxy/tools/orchestration/utils.py +16 -0
- gobby/mcp_proxy/tools/session_messages.py +1056 -0
- gobby/mcp_proxy/tools/task_dependencies.py +219 -0
- gobby/mcp_proxy/tools/task_expansion.py +591 -0
- gobby/mcp_proxy/tools/task_github.py +393 -0
- gobby/mcp_proxy/tools/task_linear.py +379 -0
- gobby/mcp_proxy/tools/task_orchestration.py +77 -0
- gobby/mcp_proxy/tools/task_readiness.py +522 -0
- gobby/mcp_proxy/tools/task_sync.py +351 -0
- gobby/mcp_proxy/tools/task_validation.py +843 -0
- gobby/mcp_proxy/tools/tasks/__init__.py +25 -0
- gobby/mcp_proxy/tools/tasks/_context.py +112 -0
- gobby/mcp_proxy/tools/tasks/_crud.py +516 -0
- gobby/mcp_proxy/tools/tasks/_factory.py +176 -0
- gobby/mcp_proxy/tools/tasks/_helpers.py +129 -0
- gobby/mcp_proxy/tools/tasks/_lifecycle.py +517 -0
- gobby/mcp_proxy/tools/tasks/_lifecycle_validation.py +301 -0
- gobby/mcp_proxy/tools/tasks/_resolution.py +55 -0
- gobby/mcp_proxy/tools/tasks/_search.py +215 -0
- gobby/mcp_proxy/tools/tasks/_session.py +125 -0
- gobby/mcp_proxy/tools/workflows.py +973 -0
- gobby/mcp_proxy/tools/worktrees.py +1264 -0
- gobby/mcp_proxy/transports/__init__.py +0 -0
- gobby/mcp_proxy/transports/base.py +95 -0
- gobby/mcp_proxy/transports/factory.py +44 -0
- gobby/mcp_proxy/transports/http.py +139 -0
- gobby/mcp_proxy/transports/stdio.py +213 -0
- gobby/mcp_proxy/transports/websocket.py +136 -0
- gobby/memory/backends/__init__.py +116 -0
- gobby/memory/backends/mem0.py +408 -0
- gobby/memory/backends/memu.py +485 -0
- gobby/memory/backends/null.py +111 -0
- gobby/memory/backends/openmemory.py +537 -0
- gobby/memory/backends/sqlite.py +304 -0
- gobby/memory/context.py +87 -0
- gobby/memory/manager.py +1001 -0
- gobby/memory/protocol.py +451 -0
- gobby/memory/search/__init__.py +66 -0
- gobby/memory/search/text.py +127 -0
- gobby/memory/viz.py +258 -0
- gobby/prompts/__init__.py +13 -0
- gobby/prompts/defaults/expansion/system.md +119 -0
- gobby/prompts/defaults/expansion/user.md +48 -0
- gobby/prompts/defaults/external_validation/agent.md +72 -0
- gobby/prompts/defaults/external_validation/external.md +63 -0
- gobby/prompts/defaults/external_validation/spawn.md +83 -0
- gobby/prompts/defaults/external_validation/system.md +6 -0
- gobby/prompts/defaults/features/import_mcp.md +22 -0
- gobby/prompts/defaults/features/import_mcp_github.md +17 -0
- gobby/prompts/defaults/features/import_mcp_search.md +16 -0
- gobby/prompts/defaults/features/recommend_tools.md +32 -0
- gobby/prompts/defaults/features/recommend_tools_hybrid.md +35 -0
- gobby/prompts/defaults/features/recommend_tools_llm.md +30 -0
- gobby/prompts/defaults/features/server_description.md +20 -0
- gobby/prompts/defaults/features/server_description_system.md +6 -0
- gobby/prompts/defaults/features/task_description.md +31 -0
- gobby/prompts/defaults/features/task_description_system.md +6 -0
- gobby/prompts/defaults/features/tool_summary.md +17 -0
- gobby/prompts/defaults/features/tool_summary_system.md +6 -0
- gobby/prompts/defaults/research/step.md +58 -0
- gobby/prompts/defaults/validation/criteria.md +47 -0
- gobby/prompts/defaults/validation/validate.md +38 -0
- gobby/prompts/loader.py +346 -0
- gobby/prompts/models.py +113 -0
- gobby/py.typed +0 -0
- gobby/runner.py +488 -0
- gobby/search/__init__.py +23 -0
- gobby/search/protocol.py +104 -0
- gobby/search/tfidf.py +232 -0
- gobby/servers/__init__.py +7 -0
- gobby/servers/http.py +636 -0
- gobby/servers/models.py +31 -0
- gobby/servers/routes/__init__.py +23 -0
- gobby/servers/routes/admin.py +416 -0
- gobby/servers/routes/dependencies.py +118 -0
- gobby/servers/routes/mcp/__init__.py +24 -0
- gobby/servers/routes/mcp/hooks.py +135 -0
- gobby/servers/routes/mcp/plugins.py +121 -0
- gobby/servers/routes/mcp/tools.py +1337 -0
- gobby/servers/routes/mcp/webhooks.py +159 -0
- gobby/servers/routes/sessions.py +582 -0
- gobby/servers/websocket.py +766 -0
- gobby/sessions/__init__.py +13 -0
- gobby/sessions/analyzer.py +322 -0
- gobby/sessions/lifecycle.py +240 -0
- gobby/sessions/manager.py +563 -0
- gobby/sessions/processor.py +225 -0
- gobby/sessions/summary.py +532 -0
- gobby/sessions/transcripts/__init__.py +41 -0
- gobby/sessions/transcripts/base.py +125 -0
- gobby/sessions/transcripts/claude.py +386 -0
- gobby/sessions/transcripts/codex.py +143 -0
- gobby/sessions/transcripts/gemini.py +195 -0
- gobby/storage/__init__.py +21 -0
- gobby/storage/agents.py +409 -0
- gobby/storage/artifact_classifier.py +341 -0
- gobby/storage/artifacts.py +285 -0
- gobby/storage/compaction.py +67 -0
- gobby/storage/database.py +357 -0
- gobby/storage/inter_session_messages.py +194 -0
- gobby/storage/mcp.py +680 -0
- gobby/storage/memories.py +562 -0
- gobby/storage/merge_resolutions.py +550 -0
- gobby/storage/migrations.py +860 -0
- gobby/storage/migrations_legacy.py +1359 -0
- gobby/storage/projects.py +166 -0
- gobby/storage/session_messages.py +251 -0
- gobby/storage/session_tasks.py +97 -0
- gobby/storage/sessions.py +817 -0
- gobby/storage/task_dependencies.py +223 -0
- gobby/storage/tasks/__init__.py +42 -0
- gobby/storage/tasks/_aggregates.py +180 -0
- gobby/storage/tasks/_crud.py +449 -0
- gobby/storage/tasks/_id.py +104 -0
- gobby/storage/tasks/_lifecycle.py +311 -0
- gobby/storage/tasks/_manager.py +889 -0
- gobby/storage/tasks/_models.py +300 -0
- gobby/storage/tasks/_ordering.py +119 -0
- gobby/storage/tasks/_path_cache.py +110 -0
- gobby/storage/tasks/_queries.py +343 -0
- gobby/storage/tasks/_search.py +143 -0
- gobby/storage/workflow_audit.py +393 -0
- gobby/storage/worktrees.py +547 -0
- gobby/sync/__init__.py +29 -0
- gobby/sync/github.py +333 -0
- gobby/sync/linear.py +304 -0
- gobby/sync/memories.py +284 -0
- gobby/sync/tasks.py +641 -0
- gobby/tasks/__init__.py +8 -0
- gobby/tasks/build_verification.py +193 -0
- gobby/tasks/commits.py +633 -0
- gobby/tasks/context.py +747 -0
- gobby/tasks/criteria.py +342 -0
- gobby/tasks/enhanced_validator.py +226 -0
- gobby/tasks/escalation.py +263 -0
- gobby/tasks/expansion.py +626 -0
- gobby/tasks/external_validator.py +764 -0
- gobby/tasks/issue_extraction.py +171 -0
- gobby/tasks/prompts/expand.py +327 -0
- gobby/tasks/research.py +421 -0
- gobby/tasks/tdd.py +352 -0
- gobby/tasks/tree_builder.py +263 -0
- gobby/tasks/validation.py +712 -0
- gobby/tasks/validation_history.py +357 -0
- gobby/tasks/validation_models.py +89 -0
- gobby/tools/__init__.py +0 -0
- gobby/tools/summarizer.py +170 -0
- gobby/tui/__init__.py +5 -0
- gobby/tui/api_client.py +281 -0
- gobby/tui/app.py +327 -0
- gobby/tui/screens/__init__.py +25 -0
- gobby/tui/screens/agents.py +333 -0
- gobby/tui/screens/chat.py +450 -0
- gobby/tui/screens/dashboard.py +377 -0
- gobby/tui/screens/memory.py +305 -0
- gobby/tui/screens/metrics.py +231 -0
- gobby/tui/screens/orchestrator.py +904 -0
- gobby/tui/screens/sessions.py +412 -0
- gobby/tui/screens/tasks.py +442 -0
- gobby/tui/screens/workflows.py +289 -0
- gobby/tui/screens/worktrees.py +174 -0
- gobby/tui/widgets/__init__.py +21 -0
- gobby/tui/widgets/chat.py +210 -0
- gobby/tui/widgets/conductor.py +104 -0
- gobby/tui/widgets/menu.py +132 -0
- gobby/tui/widgets/message_panel.py +160 -0
- gobby/tui/widgets/review_gate.py +224 -0
- gobby/tui/widgets/task_tree.py +99 -0
- gobby/tui/widgets/token_budget.py +166 -0
- gobby/tui/ws_client.py +258 -0
- gobby/utils/__init__.py +3 -0
- gobby/utils/daemon_client.py +235 -0
- gobby/utils/git.py +222 -0
- gobby/utils/id.py +38 -0
- gobby/utils/json_helpers.py +161 -0
- gobby/utils/logging.py +376 -0
- gobby/utils/machine_id.py +135 -0
- gobby/utils/metrics.py +589 -0
- gobby/utils/project_context.py +182 -0
- gobby/utils/project_init.py +263 -0
- gobby/utils/status.py +256 -0
- gobby/utils/validation.py +80 -0
- gobby/utils/version.py +23 -0
- gobby/workflows/__init__.py +4 -0
- gobby/workflows/actions.py +1310 -0
- gobby/workflows/approval_flow.py +138 -0
- gobby/workflows/artifact_actions.py +103 -0
- gobby/workflows/audit_helpers.py +110 -0
- gobby/workflows/autonomous_actions.py +286 -0
- gobby/workflows/context_actions.py +394 -0
- gobby/workflows/definitions.py +130 -0
- gobby/workflows/detection_helpers.py +208 -0
- gobby/workflows/engine.py +485 -0
- gobby/workflows/evaluator.py +669 -0
- gobby/workflows/git_utils.py +96 -0
- gobby/workflows/hooks.py +169 -0
- gobby/workflows/lifecycle_evaluator.py +613 -0
- gobby/workflows/llm_actions.py +70 -0
- gobby/workflows/loader.py +333 -0
- gobby/workflows/mcp_actions.py +60 -0
- gobby/workflows/memory_actions.py +272 -0
- gobby/workflows/premature_stop.py +164 -0
- gobby/workflows/session_actions.py +139 -0
- gobby/workflows/state_actions.py +123 -0
- gobby/workflows/state_manager.py +104 -0
- gobby/workflows/stop_signal_actions.py +163 -0
- gobby/workflows/summary_actions.py +344 -0
- gobby/workflows/task_actions.py +249 -0
- gobby/workflows/task_enforcement_actions.py +901 -0
- gobby/workflows/templates.py +52 -0
- gobby/workflows/todo_actions.py +84 -0
- gobby/workflows/webhook.py +223 -0
- gobby/workflows/webhook_executor.py +399 -0
- gobby/worktrees/__init__.py +5 -0
- gobby/worktrees/git.py +690 -0
- gobby/worktrees/merge/__init__.py +20 -0
- gobby/worktrees/merge/conflict_parser.py +177 -0
- gobby/worktrees/merge/resolver.py +485 -0
- gobby-0.2.5.dist-info/METADATA +351 -0
- gobby-0.2.5.dist-info/RECORD +383 -0
- gobby-0.2.5.dist-info/WHEEL +5 -0
- gobby-0.2.5.dist-info/entry_points.txt +2 -0
- gobby-0.2.5.dist-info/licenses/LICENSE.md +193 -0
- gobby-0.2.5.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: features-import-mcp-github
|
|
3
|
+
description: User prompt for GitHub-based MCP server import
|
|
4
|
+
version: "1.0"
|
|
5
|
+
variables:
|
|
6
|
+
github_url:
|
|
7
|
+
type: str
|
|
8
|
+
required: true
|
|
9
|
+
description: The GitHub repository URL
|
|
10
|
+
---
|
|
11
|
+
Fetch the README from this GitHub repository and extract MCP server configuration:
|
|
12
|
+
|
|
13
|
+
{{ github_url }}
|
|
14
|
+
|
|
15
|
+
If the URL doesn't point directly to a README, try to find and fetch the README.md file.
|
|
16
|
+
|
|
17
|
+
After reading the documentation, extract the MCP server configuration as a JSON object.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: features-import-mcp-search
|
|
3
|
+
description: User prompt for search-based MCP server import
|
|
4
|
+
version: "1.0"
|
|
5
|
+
variables:
|
|
6
|
+
search_query:
|
|
7
|
+
type: str
|
|
8
|
+
required: true
|
|
9
|
+
description: The search query for finding the MCP server
|
|
10
|
+
---
|
|
11
|
+
Search for MCP server: {{ search_query }}
|
|
12
|
+
|
|
13
|
+
Find the official documentation or GitHub repository for this MCP server.
|
|
14
|
+
Then fetch and read the README or installation docs.
|
|
15
|
+
|
|
16
|
+
After reading the documentation, extract the MCP server configuration as a JSON object.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: features-recommend-tools
|
|
3
|
+
description: System prompt for MCP server tool recommendations
|
|
4
|
+
version: "1.0"
|
|
5
|
+
---
|
|
6
|
+
You are a tool recommendation assistant for Claude Code with access to MCP servers.
|
|
7
|
+
|
|
8
|
+
CRITICAL PRIORITIZATION RULES:
|
|
9
|
+
1. Analyze the task type (code navigation, docs lookup, database query, planning, data processing, etc.)
|
|
10
|
+
2. Check available MCP server DESCRIPTIONS for capability matches
|
|
11
|
+
3. If ANY MCP server's description matches the task type -> recommend those tools FIRST
|
|
12
|
+
4. Only recommend built-in Claude Code tools (Grep, Read, Bash, WebSearch) if NO suitable MCP server exists
|
|
13
|
+
|
|
14
|
+
TASK TYPE MATCHING GUIDELINES:
|
|
15
|
+
- Task needs library/framework documentation -> Look for MCP servers describing "documentation", "library docs", "API reference"
|
|
16
|
+
- Task needs code navigation/architecture understanding -> Look for MCP servers describing "code analysis", "symbols", "semantic search"
|
|
17
|
+
- Task needs database operations -> Look for MCP servers describing "database", "PostgreSQL", "SQL"
|
|
18
|
+
- Task needs complex reasoning/planning -> Look for MCP servers describing "problem-solving", "thinking", "reasoning"
|
|
19
|
+
- Task needs data processing/large datasets -> Look for MCP servers describing "code execution", "data processing", "token optimization"
|
|
20
|
+
|
|
21
|
+
ANTI-PATTERNS (What NOT to recommend):
|
|
22
|
+
- Don't recommend WebSearch when an MCP server provides library/framework documentation
|
|
23
|
+
- Don't recommend Grep/Read for code architecture questions when an MCP server does semantic code analysis
|
|
24
|
+
- Don't recommend Bash for database queries when an MCP server provides database tools
|
|
25
|
+
- Don't recommend direct implementation when an MCP server provides structured reasoning
|
|
26
|
+
|
|
27
|
+
OUTPUT FORMAT:
|
|
28
|
+
Be concise and specific. Recommend 1-3 tools maximum with:
|
|
29
|
+
1. Which MCP server and tools to use (if applicable)
|
|
30
|
+
2. Brief rationale based on server description matching task type
|
|
31
|
+
3. Suggested workflow (e.g., "First call X, then use result with Y")
|
|
32
|
+
4. Only mention built-in tools if no MCP server is suitable
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: features-recommend-tools-hybrid
|
|
3
|
+
description: Prompt for hybrid mode re-ranking of semantic search results
|
|
4
|
+
version: "1.0"
|
|
5
|
+
variables:
|
|
6
|
+
task_description:
|
|
7
|
+
type: str
|
|
8
|
+
required: true
|
|
9
|
+
description: The task description to match tools for
|
|
10
|
+
candidate_list:
|
|
11
|
+
type: str
|
|
12
|
+
required: true
|
|
13
|
+
description: Formatted list of candidate tools from semantic search
|
|
14
|
+
top_k:
|
|
15
|
+
type: int
|
|
16
|
+
default: 5
|
|
17
|
+
description: Number of top recommendations to return
|
|
18
|
+
---
|
|
19
|
+
You are an expert at selecting tools for tasks.
|
|
20
|
+
Task: {{ task_description }}
|
|
21
|
+
|
|
22
|
+
Candidate tools (ranked by semantic similarity):
|
|
23
|
+
{{ candidate_list }}
|
|
24
|
+
|
|
25
|
+
Re-rank these tools by relevance to the task and provide reasoning.
|
|
26
|
+
Return the top {{ top_k }} most relevant as JSON:
|
|
27
|
+
{
|
|
28
|
+
"recommendations": [
|
|
29
|
+
{
|
|
30
|
+
"server": "server_name",
|
|
31
|
+
"tool": "tool_name",
|
|
32
|
+
"reason": "Why this tool is the best choice"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: features-recommend-tools-llm
|
|
3
|
+
description: Prompt for pure LLM-based tool recommendations
|
|
4
|
+
version: "1.0"
|
|
5
|
+
variables:
|
|
6
|
+
task_description:
|
|
7
|
+
type: str
|
|
8
|
+
required: true
|
|
9
|
+
description: The task description to match tools for
|
|
10
|
+
available_servers:
|
|
11
|
+
type: str
|
|
12
|
+
required: true
|
|
13
|
+
description: Formatted list of available MCP servers with descriptions
|
|
14
|
+
---
|
|
15
|
+
You are an expert at selecting the right tools for a given task.
|
|
16
|
+
Task: {{ task_description }}
|
|
17
|
+
|
|
18
|
+
Available Servers: {{ available_servers }}
|
|
19
|
+
|
|
20
|
+
Please recommend which tools from these servers would be most useful for this task.
|
|
21
|
+
Return a JSON object with this structure:
|
|
22
|
+
{
|
|
23
|
+
"recommendations": [
|
|
24
|
+
{
|
|
25
|
+
"server": "server_name",
|
|
26
|
+
"tool": "tool_name",
|
|
27
|
+
"reason": "Why this tool is useful"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: features-server-description
|
|
3
|
+
description: Prompt for generating MCP server descriptions from tools
|
|
4
|
+
version: "1.0"
|
|
5
|
+
variables:
|
|
6
|
+
server_name:
|
|
7
|
+
type: str
|
|
8
|
+
required: true
|
|
9
|
+
description: The MCP server name
|
|
10
|
+
tools_list:
|
|
11
|
+
type: str
|
|
12
|
+
required: true
|
|
13
|
+
description: Formatted list of tools on the server
|
|
14
|
+
---
|
|
15
|
+
Write a single concise sentence describing what the '{{ server_name }}' MCP server does based on its tools.
|
|
16
|
+
|
|
17
|
+
Tools:
|
|
18
|
+
{{ tools_list }}
|
|
19
|
+
|
|
20
|
+
Description (1 sentence, try to keep under 100 characters):
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: features-task-description
|
|
3
|
+
description: Prompt for generating task descriptions from spec sections
|
|
4
|
+
version: "1.0"
|
|
5
|
+
variables:
|
|
6
|
+
task_title:
|
|
7
|
+
type: str
|
|
8
|
+
required: true
|
|
9
|
+
description: The task title
|
|
10
|
+
section_title:
|
|
11
|
+
type: str
|
|
12
|
+
default: ""
|
|
13
|
+
description: The spec section title
|
|
14
|
+
section_content:
|
|
15
|
+
type: str
|
|
16
|
+
default: ""
|
|
17
|
+
description: The spec section content
|
|
18
|
+
existing_context:
|
|
19
|
+
type: str
|
|
20
|
+
default: ""
|
|
21
|
+
description: Any existing context about the task
|
|
22
|
+
---
|
|
23
|
+
Generate a concise task description for this task from a spec document.
|
|
24
|
+
|
|
25
|
+
Task title: {{ task_title }}
|
|
26
|
+
Section: {{ section_title }}
|
|
27
|
+
Section content: {{ section_content }}
|
|
28
|
+
Existing context: {{ existing_context }}
|
|
29
|
+
|
|
30
|
+
Write a 1-2 sentence description focusing on the goal and deliverable.
|
|
31
|
+
Do not add quotes, extra formatting, or implementation details.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: features-tool-summary
|
|
3
|
+
description: Prompt for summarizing MCP tool descriptions
|
|
4
|
+
version: "1.0"
|
|
5
|
+
variables:
|
|
6
|
+
description:
|
|
7
|
+
type: str
|
|
8
|
+
required: true
|
|
9
|
+
description: The tool description to summarize
|
|
10
|
+
---
|
|
11
|
+
Summarize this MCP tool description in 180 characters or less.
|
|
12
|
+
Keep it to three sentences or less. Be concise and preserve the key functionality.
|
|
13
|
+
Do not add quotes, extra formatting, or code examples.
|
|
14
|
+
|
|
15
|
+
Description: {{ description }}
|
|
16
|
+
|
|
17
|
+
Summary:
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research-step
|
|
3
|
+
description: ReAct loop prompt for codebase research
|
|
4
|
+
version: "1.0"
|
|
5
|
+
variables:
|
|
6
|
+
task_title:
|
|
7
|
+
type: str
|
|
8
|
+
required: true
|
|
9
|
+
description: Task title being researched
|
|
10
|
+
task_description:
|
|
11
|
+
type: str
|
|
12
|
+
default: ""
|
|
13
|
+
description: Task description
|
|
14
|
+
found_files:
|
|
15
|
+
type: list
|
|
16
|
+
default: []
|
|
17
|
+
description: List of files found so far
|
|
18
|
+
snippets_keys:
|
|
19
|
+
type: list
|
|
20
|
+
default: []
|
|
21
|
+
description: List of snippet keys/paths found
|
|
22
|
+
history:
|
|
23
|
+
type: str
|
|
24
|
+
default: ""
|
|
25
|
+
description: Formatted history of recent agent turns
|
|
26
|
+
step:
|
|
27
|
+
type: int
|
|
28
|
+
required: true
|
|
29
|
+
description: Current step number (1-indexed)
|
|
30
|
+
max_steps:
|
|
31
|
+
type: int
|
|
32
|
+
default: 10
|
|
33
|
+
description: Maximum number of steps
|
|
34
|
+
search_tool_section:
|
|
35
|
+
type: str
|
|
36
|
+
default: ""
|
|
37
|
+
description: Optional web search tool description if available
|
|
38
|
+
---
|
|
39
|
+
Task: {{ task_title }}
|
|
40
|
+
Description: {{ task_description }}
|
|
41
|
+
|
|
42
|
+
You are researching this task to identify relevant files and implementation details.
|
|
43
|
+
You have access to the following tools:
|
|
44
|
+
|
|
45
|
+
1. glob(pattern): Find files matching a pattern (e.g. "src/**/*.py")
|
|
46
|
+
2. grep(pattern, path): Search for text in files (e.g. "def login", "src/")
|
|
47
|
+
3. read_file(path): Read the content of a file
|
|
48
|
+
4. done(reason): Finish research
|
|
49
|
+
{{ search_tool_section }}
|
|
50
|
+
|
|
51
|
+
Current Context:
|
|
52
|
+
Found Files: {{ found_files }}
|
|
53
|
+
Snippets: {{ snippets_keys }}
|
|
54
|
+
|
|
55
|
+
History:
|
|
56
|
+
{{ history }}
|
|
57
|
+
|
|
58
|
+
Step {{ step }}/{{ max_steps }}. What is your next move? Respond with THOUGHT followed by ACTION.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: validation-criteria
|
|
3
|
+
description: Prompt for generating validation criteria from task description
|
|
4
|
+
version: "1.0"
|
|
5
|
+
variables:
|
|
6
|
+
title:
|
|
7
|
+
type: str
|
|
8
|
+
required: true
|
|
9
|
+
description: Task title
|
|
10
|
+
description:
|
|
11
|
+
type: str
|
|
12
|
+
default: "(no description)"
|
|
13
|
+
description: Task description
|
|
14
|
+
---
|
|
15
|
+
Generate validation criteria for this task.
|
|
16
|
+
|
|
17
|
+
Task: {{ title }}
|
|
18
|
+
Description: {{ description }}
|
|
19
|
+
|
|
20
|
+
CRITICAL RULES - You MUST follow these:
|
|
21
|
+
1. **Only stated requirements** - Include ONLY requirements explicitly written in the title or description
|
|
22
|
+
2. **No invented values** - Do NOT invent specific numbers, timeouts, thresholds, or limits unless they appear in the task
|
|
23
|
+
3. **No invented edge cases** - Do NOT add edge cases, error scenarios, or boundary conditions beyond what's described
|
|
24
|
+
4. **Proportional detail** - Vague tasks get vague criteria; detailed tasks get detailed criteria
|
|
25
|
+
5. **When in doubt, leave it out** - If something isn't mentioned, don't include it
|
|
26
|
+
|
|
27
|
+
For vague requirements like "fix X" or "add Y", use criteria like:
|
|
28
|
+
- "X no longer produces the reported error/warning"
|
|
29
|
+
- "Y functionality works as expected"
|
|
30
|
+
- "Existing tests continue to pass"
|
|
31
|
+
- "No regressions introduced"
|
|
32
|
+
|
|
33
|
+
DO NOT generate criteria like:
|
|
34
|
+
- "timeout defaults to 30 seconds" (unless 30 seconds is in the task description)
|
|
35
|
+
- "handles edge case Z" (unless Z is mentioned in the task)
|
|
36
|
+
- "logs with format X" (unless that format is specified)
|
|
37
|
+
|
|
38
|
+
Format as markdown checkboxes:
|
|
39
|
+
## Deliverable
|
|
40
|
+
- [ ] What the task explicitly asks for
|
|
41
|
+
|
|
42
|
+
## Functional Requirements
|
|
43
|
+
- [ ] Only requirements stated in the description
|
|
44
|
+
|
|
45
|
+
## Verification
|
|
46
|
+
- [ ] Tests pass (if applicable)
|
|
47
|
+
- [ ] No regressions
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: validation-validate
|
|
3
|
+
description: Base prompt for validating task completion against criteria
|
|
4
|
+
version: "1.0"
|
|
5
|
+
variables:
|
|
6
|
+
title:
|
|
7
|
+
type: str
|
|
8
|
+
required: true
|
|
9
|
+
description: Task title
|
|
10
|
+
category_section:
|
|
11
|
+
type: str
|
|
12
|
+
default: ""
|
|
13
|
+
description: Optional category/test strategy section
|
|
14
|
+
criteria_text:
|
|
15
|
+
type: str
|
|
16
|
+
required: true
|
|
17
|
+
description: Validation criteria or task description
|
|
18
|
+
changes_section:
|
|
19
|
+
type: str
|
|
20
|
+
required: true
|
|
21
|
+
description: Summary of changes made (files, diffs, etc.)
|
|
22
|
+
file_context:
|
|
23
|
+
type: str
|
|
24
|
+
default: ""
|
|
25
|
+
description: Optional file content context
|
|
26
|
+
---
|
|
27
|
+
Validate if the following changes satisfy the requirements.
|
|
28
|
+
|
|
29
|
+
Task: {{ title }}
|
|
30
|
+
{{ category_section }}{{ criteria_text }}
|
|
31
|
+
|
|
32
|
+
{{ changes_section }}
|
|
33
|
+
IMPORTANT: Return ONLY a JSON object, nothing else. No explanation, no preamble.
|
|
34
|
+
Format: {"status": "valid", "feedback": "..."} or {"status": "invalid", "feedback": "..."}
|
|
35
|
+
{% if file_context %}
|
|
36
|
+
File Context:
|
|
37
|
+
{{ file_context }}
|
|
38
|
+
{% endif %}
|